/* Podcast view styles are fully scoped so the Black Gurl Moves home page is unaffected. */
#podcastView {
  display: none;
  min-height: 100vh;
  padding-top: var(--nav-h);
  color: var(--ink);
  background: var(--ivory);
}
html[data-site-view="podcast"] #homeView { display: none; }
html[data-site-view="podcast"] #podcastView { display: block; }
#podcastView[hidden],
#homeView[hidden] { display: none !important; }

.podcast-view *,
.podcast-view *::before,
.podcast-view *::after { box-sizing: border-box; }

.podcast-view .container,
.podcast-view .hero-shell {
  width: min(1180px, 92%);
  margin-inline: auto;
}

.podcast-view section {
  padding: var(--section-y) 0;
  position: relative;
}

.podcast-view :where(section[id]) {
  scroll-margin-top: calc(var(--nav-h) + 24px);
}

.podcast-view h1,
.podcast-view h2,
.podcast-view h3,
.podcast-view .member-title {
  font-family: var(--serif);
  color: var(--espresso);
}

.podcast-view .sub,
.podcast-view .muted,
.podcast-view .member-copy,
.podcast-view .wellness-sub,
.podcast-view .small {
  color: #6c6258;
}

/* Hero → Featured → Membership: pale gold → muted gold → soft champagne. Solid full-width bands do
   the separating; content stays in the shared 1180px container and the shared section rhythm. */
/* Soft pale gold so the hero separates from the ivory nav; the nav gets a defined edge here. */
.podcast-hero {
  background-color: #E9DDC4;
  background-image: linear-gradient(135deg, #F3EADB 0%, #E3D2AF 100%);
}

/* Intro copy a shade deeper so it keeps ≥4.5:1 against the darkest corner of the pale gold. */
.podcast-view .podcast-hero .sub { color: #574c42; }

html[data-site-view="podcast"] nav {
  border-bottom-color: rgba(53,40,32,.12);
  box-shadow: 0 4px 16px rgba(53,40,32,.07);
}

.podcast-view .podcast-hero h1 { color: var(--espresso-mb); }

/* Terracotta accent rule above the headline. */
.podcast-view .tagline::before {
  content: "";
  display: block;
  width: 56px;
  height: 2px;
  margin-bottom: var(--s-4);
  background: var(--terracotta);
}

.podcast-view .hero-wrap {
  display: grid;
  grid-template-columns: minmax(280px, .86fr) minmax(360px, 1.14fr);
  align-items: center;
  gap: clamp(42px, 7vw, 92px);
}

.podcast-view .logo-box {
  width: min(100%, 470px);
  margin-inline: auto;
  padding: clamp(10px, 1.4vw, 16px);
  border-radius: 48% 48% 24px 24px / 24% 24% 4% 4%;
  background: linear-gradient(145deg, var(--gold), var(--clay-deep));
  box-shadow: 0 28px 60px rgba(42,33,26,.18);
}

.podcast-view .logo-inner {
  overflow: hidden;
  border-radius: inherit;
  background: var(--cream);
}

.podcast-view .logo-inner img {
  width: 100%;
  height: auto;
  object-fit: contain;
  object-position: center;
}

/* The copy column is a size container so the headline can be capped to it: the longer phrase
   ("Real Conversations") is ~11.6em wide, so 8.5% of the column keeps each phrase on one line. */
.podcast-view .hero-wrap > div:last-child { container-type: inline-size; }

.podcast-view .tagline {
  max-width: 720px;
  font-size: var(--fs-hero);
  font-size: min(var(--fs-hero), 8.5cqi);
  line-height: 1.04;
  letter-spacing: .01em;
  text-transform: uppercase;
  text-wrap: balance;
}

/* Deliberate breaks: "Real Conversations / That Move Us". Each phrase stays together when it fits
   and wraps inside itself only on narrow screens, so no single word is stranded. */
.podcast-view .tagline-line {
  display: inline-block;
}

.podcast-view .podcast-hero .sub {
  max-width: 640px;
  margin-top: var(--s-4);
  font-size: clamp(16px, .25vw + 15px, 18px);
  line-height: 1.7;
}

.podcast-view .hero-ctas {
  display: flex;
  gap: var(--s-2);
  margin-top: var(--s-5);
  flex-wrap: wrap;
}

/* Podcast actions use the site's primary button (same size, radius, type and terracotta fill as
   .btn.btn-clay); the class name is kept because podcast.js and the markup hook onto it. */
.podcast-view .btn-gold {
  display: inline-flex;
  min-height: var(--btn-h);
  align-items: center;
  justify-content: center;
  padding: 0 var(--btn-px);
  border: 1px solid transparent;
  border-radius: 999px;
  color: #fff;
  background: var(--terracotta-btn);
  box-shadow: 0 6px 16px rgba(173,93,61,.22);
  font-family: var(--sans);
  font-size: var(--fs-ui);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: .06em;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
  transition: transform .3s var(--fx-ease), box-shadow .3s, background-color .3s;
}

.podcast-view .btn-gold:hover {
  transform: translateY(-2px);
  background: var(--terracotta-deep);
  box-shadow: 0 10px 22px rgba(160,83,47,.26);
}

.podcast-view .btn-gold:focus-visible,
.podcast-view button:focus-visible,
.podcast-view a:focus-visible,
.podcast-view input:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: 4px;
}

.podcast-view .featured {
  background: var(--muted-gold);
}

.podcast-view .featured .featured-title { color: var(--espresso-mb); }

.podcast-view .featured-title,
.podcast-view .membership-title,
.podcast-view .section-title {
  margin-bottom: var(--s-5);
  font-size: var(--fs-section);
  line-height: 1.1;
  text-transform: uppercase;
}

.podcast-view .card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--s-4);
}

.podcast-view .media-card,
.podcast-view .member-card,
.podcast-view .wellness-card {
  overflow: hidden;
  border: 1px solid rgba(42,33,26,.12);
  border-radius: 22px;
  background: var(--cream);
  box-shadow: 0 18px 45px rgba(42,33,26,.11);
  transition: transform .3s var(--fx-ease), box-shadow .3s var(--fx-ease), border-color .3s var(--fx-ease);
}

@media (hover:hover) and (pointer:fine) {
  .podcast-view .media-card:hover,
  .podcast-view .member-card:hover,
  .podcast-view .wellness-card:hover {
    transform: translateY(-4px);
    border-color: rgba(168,84,47,.28);
    box-shadow: 0 24px 52px rgba(42,33,26,.15);
  }
}

.podcast-view .thumb,
.podcast-view .member-media {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: var(--sand);
}

.podcast-view .thumb > img,
.podcast-view .member-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.podcast-view .slides {
  position: absolute;
  inset: 0;
}

.podcast-view .slides img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity .8s var(--fx-ease);
}

.podcast-view .slides img.active { opacity: 1; }

/* Cards on the dark band: deeper, cooler shadow so they lift off the green. */
.podcast-view .featured .media-card {
  display: flex;
  flex-direction: column;
  border-color: rgba(247,241,231,.14);
  box-shadow: 0 2px 6px rgba(10,20,14,.18), 0 20px 44px rgba(10,20,14,.34);
}

@media (hover:hover) and (pointer:fine) {
  .podcast-view .featured .media-card:hover {
    border-color: rgba(201,162,39,.45);
    box-shadow: 0 4px 10px rgba(10,20,14,.22), 0 26px 54px rgba(10,20,14,.4);
  }
}

.podcast-view .card-grid > :nth-child(2),
.podcast-view .membership-grid > :nth-child(2) { --fx-d: .1s; }
.podcast-view .card-grid > :nth-child(3),
.podcast-view .membership-grid > :nth-child(3) { --fx-d: .2s; }

.podcast-view .meta,
.podcast-view .member-body {
  padding: 26px;
}

/* Equal-height cards: copy fills the card and the button sits on a shared baseline. */
.podcast-view .meta {
  display: flex;
  flex: 1;
  flex-direction: column;
}

.podcast-view .meta .btn-gold {
  margin-top: auto;
  align-self: flex-start;
}

.podcast-view .card-title,
.podcast-view .member-title {
  margin-bottom: var(--s-2);
  font-size: var(--fs-card);
  line-height: 1.12;
}

.podcast-view .meta p,
.podcast-view .member-copy {
  margin-bottom: 22px;
  line-height: 1.7;
}

.podcast-view #podcast-membership {
  background: var(--champagne);
}

.podcast-view #podcast-membership .membership-title { color: var(--espresso-mb); }

.podcast-view #podcast-membership .member-card {
  border-color: rgba(53,40,32,.14);
  background: var(--bgm-ivory);
  box-shadow: 0 2px 5px rgba(53,40,32,.06), 0 16px 36px rgba(53,40,32,.14);
}

/* The section-level reveal would fade/shift the coloured bands themselves (flashing gaps
   between them), so on these three sections the band stays put and its content reveals. */
.fx-ready .podcast-view :is(.podcast-hero, #podcast-shows, #podcast-membership).fx-up {
  opacity: 1;
  translate: none;
}

.fx-ready .podcast-view :is(.podcast-hero, #podcast-shows, #podcast-membership).fx-up > * {
  opacity: 0;
  translate: 0 34px;
  transition: opacity .9s var(--fx-ease), translate .9s var(--fx-ease);
}

.fx-ready .podcast-view :is(.podcast-hero, #podcast-shows, #podcast-membership).fx-up > .membership-grid { transition-delay: .1s; }

.fx-ready .podcast-view :is(.podcast-hero, #podcast-shows, #podcast-membership).fx-up.fx-in > * {
  opacity: 1;
  translate: 0 0;
}

.podcast-view .membership-title,
.podcast-view .membership-grid {
  width: min(1180px, 92%);
  margin-inline: auto;
}

.podcast-view .membership-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.podcast-view .member-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
}

.podcast-view .member-media {
  aspect-ratio: 4 / 3;
}

.podcast-view .member-body {
  display: flex;
  flex: 1;
  flex-direction: column;
}

.podcast-view .member-kicker,
.podcast-view .wellness-kicker {
  margin-bottom: 10px;
  color: var(--clay-deep);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.podcast-view .member-actions { margin-top: auto; }

.podcast-view #podcast-about {
  background: var(--ivory);
}

.podcast-view #podcast-subscribe {
  background: var(--cream);
}

.podcast-view .podcast-subscribe-form {
  display: flex;
  align-items: center;
  max-width: 760px;
  gap: 12px;
  flex-wrap: wrap;
}

.podcast-view .podcast-subscribe-form input {
  flex: 1;
  min-width: 240px;
  min-height: var(--btn-h);
  padding: 0 var(--s-3);
  border: 1px solid rgba(42,33,26,.2);
  border-radius: 12px;
  color: var(--espresso);
  background: #fff;
  font: inherit;
}

/* Clip the reveal's 1.25× starting scale — unclipped, the photo widened phone pages to ~404px. */
.podcast-view .image-block {
  max-width: 900px;
  margin-top: 42px;
  overflow: hidden;
  border-radius: 22px;
}

.podcast-view .rounded-image {
  width: 100%;
  border-radius: 22px;
  box-shadow: 0 20px 50px rgba(42,33,26,.13);
}

.podcast-view .section-wellness {
  background: var(--ivory);
}

.podcast-view .wellness-hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 42px;
  margin-bottom: 34px;
}

.podcast-view .wellness-title {
  margin: var(--s-1) 0 var(--s-3);
  font-size: var(--fs-section);
  line-height: 1.1;
  text-wrap: balance;
}

.podcast-view .wellness-media {
  overflow: hidden;
  min-height: 310px;
  border-radius: 22px;
  box-shadow: 0 20px 48px rgba(42,33,26,.13);
}

.podcast-view .background-video {
  width: 100%;
  height: 100%;
  min-height: 310px;
  object-fit: cover;
}

.podcast-view .wellness-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0,1fr));
  gap: 22px;
}

.podcast-view .wellness-card {
  padding: 28px;
}

.podcast-view .wellness-card.span-6 { grid-column: span 6; }
.podcast-view .wellness-card.span-8 { grid-column: span 8; }
.podcast-view .wellness-card.span-4 { grid-column: span 4; }
.podcast-view .wellness-card h3 { margin-bottom: var(--s-2); font-size: var(--fs-card); text-wrap: balance; }
.podcast-view .wellness-card p,
.podcast-view .wellness-card li { color: #6c6258; }
.podcast-view .wellness-card ul { padding-left: 20px; }
.podcast-view .wellness-divider { height: 1px; margin: 20px 0; background: rgba(42,33,26,.12); }
.podcast-view .wellness-pill {
  display: inline-flex;
  margin: 4px 5px 0 0;
  padding: 7px 12px;
  border-radius: 999px;
  color: var(--espresso);
  background: var(--sand);
  font-size: 12px;
}
.podcast-view .wellness-note { margin-top: 18px; color: #796d60; font-size: 14px; }
.podcast-view .wellness-links { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 16px; }
.podcast-view .wellness-links a { color: var(--clay-deep); }

.podcast-view .modal {
  position: fixed;
  inset: 0;
  z-index: 300;
  display: grid;
  place-items: center;
  padding: 24px;
  opacity: 0;
  visibility: hidden;
  transition: opacity .28s var(--fx-ease), visibility 0s linear .28s;
}

.podcast-view .modal.hidden { display: none; }
.podcast-view .modal.is-closing { display: grid; visibility: visible; }
.podcast-view .modal.is-open {
  display: grid;
  opacity: 1;
  visibility: visible;
  transition: opacity .28s var(--fx-ease), visibility 0s;
}

.podcast-view .modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(23,19,16,.68);
  backdrop-filter: blur(6px);
}

.podcast-view .modal-dialog {
  position: relative;
  z-index: 1;
  width: min(680px, 100%);
  max-height: min(82vh, 720px);
  overflow: auto;
  padding: 30px;
  border: 1px solid rgba(201,162,39,.35);
  border-radius: 20px;
  color: var(--ink);
  background: var(--cream);
  box-shadow: 0 28px 80px rgba(23,19,16,.35);
  transform: translateY(14px) scale(.98);
  transition: transform .28s var(--fx-ease);
}

.podcast-view .modal.is-open .modal-dialog { transform: none; }
.podcast-view .modal-dialog h3 { margin: 0 40px 18px 0; font-size: 32px; }
.podcast-view .modal-list { padding-left: 22px; }
.podcast-view .modal-list li { margin: 9px 0; }

.podcast-view .modal-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(42,33,26,.16);
  border-radius: 50%;
  color: var(--espresso);
  background: var(--ivory);
  cursor: pointer;
  font-size: 24px;
}

body.podcast-modal-open { overflow: hidden; }

#podcast-mh-help-btn {
  position: fixed;
  right: 20px;
  bottom: 18px;
  z-index: 210;
  padding: 13px 20px;
  border: 1px solid rgba(247,242,233,.3);
  border-radius: 999px;
  color: var(--ivory);
  background: var(--clay-deep);
  box-shadow: 0 12px 30px rgba(42,33,26,.25);
  font: 600 12px var(--sans);
  letter-spacing: .04em;
  text-transform: uppercase;
  cursor: pointer;
}

.podcast-view .mh-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 280;
  background: rgba(23,19,16,.64);
  opacity: 0;
  visibility: hidden;
  transition: opacity .28s var(--fx-ease), visibility 0s linear .28s;
}

.podcast-view .mh-modal {
  position: fixed;
  inset: 0;
  z-index: 290;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .28s var(--fx-ease), visibility 0s linear .28s;
}

.podcast-view .mh-modal-backdrop.is-open,
.podcast-view .mh-modal.is-open {
  opacity: 1;
  visibility: visible;
  transition: opacity .28s var(--fx-ease), visibility 0s;
}

.podcast-view .mh-modal.is-open { pointer-events: auto; }

.podcast-view .mh-card {
  width: min(860px, 100%);
  max-height: 82vh;
  overflow: auto;
  border: 1px solid rgba(201,162,39,.45);
  border-radius: 22px;
  color: var(--ivory);
  background: var(--espresso);
  box-shadow: 0 28px 80px rgba(23,19,16,.42);
  transform: translateY(14px) scale(.98);
  transition: transform .28s var(--fx-ease);
}

.podcast-view .mh-modal.is-open .mh-card { transform: none; }
.podcast-view .mh-header {
  position: sticky;
  top: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 20px 24px;
  border-bottom: 1px solid rgba(247,242,233,.12);
  background: var(--espresso);
}
.podcast-view .mh-title { font: 400 28px var(--serif); }
.podcast-view .mh-close,
.podcast-view .mh-chip {
  border: 1px solid rgba(247,242,233,.2);
  border-radius: 999px;
  color: var(--ivory);
  background: transparent;
  text-decoration: none;
}
.podcast-view .mh-close { padding: 9px 14px; cursor: pointer; }
.podcast-view .mh-body { padding: 24px; }
.podcast-view .mh-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.podcast-view .mh-item {
  padding: 18px;
  border: 1px solid rgba(247,242,233,.12);
  border-radius: 15px;
  background: rgba(247,242,233,.04);
}
.podcast-view .mh-item h3 { margin-bottom: 12px; color: var(--ivory); font: 400 19px var(--serif); }
.podcast-view .mh-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.podcast-view .mh-chip { display: inline-flex; padding: 7px 11px; font-size: 12px; }
.podcast-view .mh-chip:hover { background: rgba(247,242,233,.1); }
.podcast-view .mh-foot-note { margin-top: 20px; color: #d8cfbb; font-size: 13px; }

.podcast-view .podcast-form-note { margin-top: 10px; color: var(--clay-deep); }

@media (max-width: 1020px) {
  .podcast-view .hero-wrap { grid-template-columns: 1fr; text-align: center; }
  .podcast-view .hero-ctas { justify-content: center; }
  .podcast-view .tagline,
  .podcast-view .podcast-hero .sub { margin-inline: auto; }
  .podcast-view .logo-box { width: min(100%, 430px); }
  .podcast-view .card-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

/* Tablet: two per row, the third card centred beneath at the same width (each card spans two of
   four tracks; the last starts on track 2). Bounded so the phone single column needs no reset. */
@media (min-width: 721px) and (max-width: 1020px) {
  .podcast-view .membership-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .podcast-view .membership-grid > .member-card { grid-column: span 2; }
  .podcast-view .membership-grid > .member-card:nth-child(3):last-child { grid-column: 2 / span 2; }
}

@media (max-width: 1020px) {
  .podcast-view .tagline::before { margin-inline: auto; }
}

@media (max-width: 720px) {
  .podcast-view section { padding: 56px 0; }
  .podcast-view .podcast-hero { padding-top: 28px; }
  .podcast-view .card-grid,
  .podcast-view .membership-grid,
  .podcast-view .wellness-hero,
  .podcast-view .wellness-grid,
  .podcast-view .mh-grid { grid-template-columns: 1fr; }
  .podcast-view .wellness-card.span-6,
  .podcast-view .wellness-card.span-8,
  .podcast-view .wellness-card.span-4 { grid-column: 1; }
  .podcast-view .meta,
  .podcast-view .member-body { padding: 22px; }
  #podcast-mh-help-btn { right: 12px; bottom: 12px; padding: 11px 15px; }
}

@media (max-width: 430px) {
  .podcast-view .container,
  .podcast-view .hero-shell,
  .podcast-view .membership-title,
  .podcast-view .membership-grid { width: min(100% - 28px, 1180px); }
  .podcast-view .btn-gold { width: 100%; }
  .podcast-view .modal,
  .podcast-view .mh-modal { padding: 12px; }
  .podcast-view .modal-dialog,
  .podcast-view .mh-body { padding: 20px; }
}

@media (prefers-reduced-motion: reduce) {
  .podcast-view *,
  .podcast-view *::before,
  .podcast-view *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
  .fx-ready .podcast-view :is(.podcast-hero, #podcast-shows, #podcast-membership).fx-up > * {
    opacity: 1 !important;
    translate: none !important;
  }
}

/* Preserve full Jaws poster artwork inside the existing 4:3 carousel. */
.podcast-view .slides img[src*="/Jaws"],
.podcast-view .thumb > img[src*="/Jaws"] {
  object-fit: contain;
  object-position: center;
  background: #125967;
}
/* Upcoming artwork uses the same 4:3 canvas; keep its text entirely visible. */
.podcast-view .thumb > img[src$="upcoming-podcast.jpg"] {
  object-fit: contain;
  object-position: center;
  background: #F7F1E7;
}
