/* v44 — Additional Campaign readability + responsive balance
   Standard: never let campaign copy get squeezed beside media on tablet/small desktop. */

.additional-campaign-panel,
.additional-campaign-copy,
.additional-campaign-media {
  min-width: 0;
}

.additional-campaign-copy {
  width: 100%;
  max-width: none;
  overflow: visible;
}

.additional-campaign-copy h6,
.additional-campaign-copy > p,
.additional-campaign-copy > small {
  max-width: 100%;
  overflow-wrap: normal;
  word-break: normal;
}

/* Full desktop: keep the editorial split, but give the copy a real column. */
@media (min-width: 1201px) {
  .additional-campaign-panel {
    grid-template-columns: minmax(360px, .88fr) minmax(420px, 1.12fr);
    gap: clamp(44px, 5vw, 76px);
    padding-inline: clamp(32px, 4vw, 58px);
  }

  .additional-campaign-copy h6 {
    font-size: clamp(38px, 3.55vw, 54px);
    line-height: 1.01;
    letter-spacing: -.042em;
  }

  .additional-campaign-copy > p {
    font-size: clamp(15px, 1.28vw, 18px);
    max-width: 56ch;
  }
}

/* iPad landscape + compact laptops: stack instead of squeezing the text. */
@media (min-width: 821px) and (max-width: 1200px) {
  .additional-campaign-shell {
    padding: 14px;
  }

  .additional-campaign-panel {
    grid-template-columns: 1fr;
    gap: 34px;
    min-height: 0;
    padding: clamp(30px, 5vw, 54px);
    align-items: start;
  }

  .additional-campaign-media {
    order: 1;
    width: 100%;
  }

  .additional-campaign-copy {
    order: 2;
    width: min(100%, 780px);
    margin-inline: auto;
  }

  .artist-lineup-slider,
  .takeover-slider,
  .clean-loop-video {
    width: min(58vw, 430px);
  }

  .additional-campaign-copy h6 {
    font-size: clamp(38px, 6.2vw, 52px);
    line-height: 1.01;
    margin-bottom: 18px;
  }

  .additional-campaign-copy > p {
    max-width: 62ch;
    font-size: 17px;
  }

  .campaign-role-chips {
    max-width: 720px;
  }
}

/* Mobile: preserve breathing room and prevent edge-to-edge copy. */
@media (max-width: 820px) {
  .additional-campaign-panel {
    padding-inline: clamp(16px, 5vw, 24px);
  }

  .additional-campaign-copy {
    padding-inline: 2px;
  }

  .additional-campaign-copy h6 {
    line-height: 1.02;
  }
}

/* Visual state when the looping NOW.HERE X video is auto-muted off-screen. */
.clean-loop-video.is-auto-muted .clean-loop-video-badge {
  opacity: .72;
}

.clean-loop-video.is-auto-muted .loop-sound-dot {
  background: rgba(255,255,255,.38);
  box-shadow: none;
}
