/* shared media page shell */
.watch-section,.live-section,.watch-experience,.listen-hero,.listen-now-section,.listen-library-section,.show-world-section,.discovery-results-section{scroll-margin-top:80px}
.compact-media-head{margin-top:10px}
.compact-media-head p{display:none}

/* Watch route */
body.youth-tv[data-tv-view="watch"] .watch-only,
body.youth-tv[data-tv-view="live"] .live-only{padding-top:20px}
.watch-cinema-shell{
  overflow:hidden;border-radius:var(--tv-radius-lg);
  background:var(--tv-surface);border:1px solid var(--tv-line);
}
.ios-player,.watch-player{
  position:relative;aspect-ratio:16/9;background:#02070d;overflow:hidden;
}
.ios-player iframe,.watch-player iframe{width:100%;height:100%;border:0}
.tv-player-preview{position:relative;width:100%;height:100%;border:0;padding:0;background:#071522;overflow:hidden}
.tv-player-preview img{width:100%;height:100%;object-fit:cover}
.tv-player-preview::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,8,14,.35),transparent 58%)}
.tv-player-preview-play{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#07111d}
.watch-cinema-meta{padding:14px 15px 17px}
.watch-cinema-meta h3{margin:5px 0 5px;font-size:1.15rem;line-height:1.15}
.watch-cinema-meta p{margin:0;color:var(--tv-muted);font-size:.72rem;line-height:1.45}

/* Live route */
.live-section-head{align-items:center}
.ios-status{padding:5px 8px;border-radius:999px;border:1px solid var(--tv-line);color:var(--tv-muted);font-size:.58rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.ios-status.is-live{color:#fff;background:rgba(255,70,88,.15);border-color:rgba(255,70,88,.28)}
.live-cinema-shell{display:grid;gap:10px}
.live-stage{overflow:hidden;border:1px solid var(--tv-line);border-radius:var(--tv-radius-lg);background:var(--tv-surface)}
.live-stage-top{min-height:42px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--tv-line)}
.live-channel-chip{display:flex;align-items:center;gap:7px;font-size:.58rem;font-weight:800;letter-spacing:.08em}
.live-channel-chip i{width:7px;height:7px;border-radius:50%;background:var(--tv-red)}
.live-stage-time{color:var(--tv-muted);font-size:.62rem}
.live-v2-player{aspect-ratio:16/9}
.live-offline-state{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px}
.live-signal{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,70,88,.24);margin-bottom:10px}
.live-signal i{width:10px;height:10px;border-radius:50%;background:var(--tv-red)}
.live-signal i:not(:first-child){display:none}
.live-offline-kicker{color:var(--tv-orange);font-size:.58rem;font-weight:800;letter-spacing:.1em}
.live-offline-state strong{margin-top:7px;font-size:1.2rem}
.live-offline-state small{display:none}
.live-info-card{padding:15px;border:1px solid var(--tv-line);border-radius:var(--tv-radius-md);background:var(--tv-surface)}
.live-info-card h3{margin:5px 0 4px;font-size:1.05rem}
.live-info-card p{margin:0;color:var(--tv-muted);font-size:.7rem;line-height:1.42}
.live-actions{display:flex;gap:7px;margin-top:12px}
.live-next-panel{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;margin-top:10px;padding:14px;border:1px solid var(--tv-line);border-radius:var(--tv-radius-md);background:var(--tv-surface)}
.live-next-copy h3{margin:4px 0;font-size:1rem}
.live-next-copy p{margin:0;color:var(--tv-muted);font-size:.68rem}
.live-countdown{display:flex;gap:5px}
.live-countdown span{min-width:46px;padding:7px 5px;border-radius:9px;background:var(--tv-bg-2);text-align:center}
.live-countdown b{display:block;font-size:.9rem}
.live-countdown small{font-size:.46rem;color:var(--tv-muted)}
.live-countdown-wrap>small{display:block;margin-bottom:4px;color:var(--tv-muted-2);font-size:.5rem;font-weight:800;letter-spacing:.08em}
.live-reminder-btn{width:100%;margin-top:6px;min-height:34px;font-size:.63rem}
.live-meta,.live-next-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.live-meta span,.live-next-meta span{padding:4px 6px;border-radius:999px;background:var(--tv-bg-2);color:var(--tv-muted);font-size:.55rem}

/* Listen */
.listen-hero{padding:26px 0 8px}
.listen-hero h1{margin:4px 0 0;font-size:clamp(2rem,7vw,3.6rem);letter-spacing:-.05em}
.listen-now-card{
  display:grid;grid-template-columns:170px 1fr;gap:0;
  overflow:hidden;border-radius:var(--tv-radius-lg);border:1px solid var(--tv-line);background:var(--tv-surface);
}
.listen-now-art{position:relative;min-height:260px;background:linear-gradient(145deg,#16395b,#081522);background-size:cover;background-position:center;display:grid;place-items:center}
.listen-wave{display:flex;gap:4px;align-items:center}
.listen-wave i{width:4px;height:28px;border-radius:999px;background:#fff;opacity:.75}
.listen-wave i:nth-child(2),.listen-wave i:nth-child(5){height:44px}
.listen-wave i:nth-child(3),.listen-wave i:nth-child(6){height:34px}
.listen-now-copy{padding:20px;min-width:0}
.listen-now-copy h2{margin:5px 0 6px;font-size:clamp(1.3rem,3.2vw,2rem)}
.listen-now-copy>p{margin:0;color:var(--tv-muted);font-size:.74rem;line-height:1.45}
.listen-player-host{margin-top:14px}
.listen-player-host iframe{display:block;width:100%;height:152px;border:0;border-radius:12px}
.listen-now-actions{display:flex;gap:7px;margin-top:10px}
.listen-filter-rail{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;padding:0 0 12px}
.listen-filter-rail::-webkit-scrollbar{display:none}
.listen-filter-rail button,.search-topic-rail button,.search-kind-tabs button{
  flex:0 0 auto;min-height:34px;padding:0 10px;border-radius:999px;border:1px solid var(--tv-line);
  background:rgba(255,255,255,.035);color:#b8c6d3;font-size:.66rem;font-weight:750;
}
.listen-filter-rail button.active,.search-kind-tabs button.active,.search-topic-rail button.active{background:var(--tv-orange);color:#211100;border-color:var(--tv-orange)}
.listen-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.listen-card{min-width:0;flex-basis:auto}
.listen-card-art{aspect-ratio:1/1}
.listen-card-type,.discovery-media-type{
  position:absolute;z-index:2;left:8px;top:8px;padding:4px 6px;border-radius:999px;background:rgba(3,9,16,.7);font-size:.5rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase
}
.listen-card-play,.discovery-media-play,.show-play{
  position:absolute;z-index:2;right:8px;bottom:8px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#06111d;font-size:.62rem
}
.listen-mini-player{
  position:fixed;z-index:88;left:12px;right:12px;bottom:calc(var(--tv-nav-h) + 20px + env(safe-area-inset-bottom));
  display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;
  padding:10px 12px;border-radius:16px;border:1px solid var(--tv-line);background:rgba(8,23,38,.96);backdrop-filter:blur(18px)
}
.listen-mini-player audio{grid-column:1/-1;width:100%;height:32px}
.listen-mini-copy small{display:block;color:var(--tv-orange);font-size:.5rem;font-weight:800}
.listen-mini-copy strong{display:block;max-width:70vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.76rem}
.listen-mini-player>button{width:30px;height:30px;border:0;border-radius:50%;background:rgba(255,255,255,.06)}

/* Watch detail */
.watch-experience{padding-top:22px}
.watch-back,.show-back{display:inline-block;margin-bottom:12px;color:var(--tv-muted);font-size:.68rem;font-weight:700}
.watch-player-shell{overflow:hidden;border-radius:var(--tv-radius-lg);border:1px solid var(--tv-line);background:#02070d}
.watch-details{display:grid;grid-template-columns:1fr auto;gap:16px;padding:16px 0 0}
.watch-series-pill{display:inline-flex;align-items:center;gap:5px;color:var(--tv-orange);font-size:.62rem;font-weight:800}
.watch-details h1{margin:7px 0 6px;font-size:clamp(1.45rem,4vw,2.5rem);line-height:1.04;letter-spacing:-.04em}
.watch-details p{margin:0;color:var(--tv-muted);font-size:.76rem;line-height:1.5}
.watch-actions{display:flex;gap:7px;align-items:flex-start}
.episode-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}
.episode-meta span{padding:4px 6px;border-radius:999px;background:var(--tv-surface);color:var(--tv-muted);font-size:.55rem}
.up-next-card{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:20px;padding:14px;border-radius:var(--tv-radius-md);background:var(--tv-surface);border:1px solid var(--tv-line)}
.up-next-card span{color:var(--tv-blue);font-size:.56rem;font-weight:800;letter-spacing:.08em}
.up-next-card h2{margin:4px 0 3px;font-size:1rem}
.up-next-card p{margin:0;color:var(--tv-muted);font-size:.67rem}

/* Series */
.show-world-hero{position:relative;min-height:360px;display:flex;align-items:flex-end;overflow:hidden}
.show-world-art{position:absolute;inset:0;background:linear-gradient(145deg,#173b60,#071522);background-size:cover;background-position:center}
.show-world-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,11,20,.97),rgba(4,11,20,.55) 60%,rgba(4,11,20,.15)),linear-gradient(0deg,var(--tv-bg),transparent 45%)}
.show-world-copy{position:relative;z-index:2;padding-bottom:34px}
.show-world-copy h1{max-width:760px;margin:7px 0 8px;font-size:clamp(2.2rem,7vw,4.7rem);line-height:.92;letter-spacing:-.06em}
.show-world-copy>p{max-width:620px;margin:0;color:#c1cfdb;font-size:.8rem;line-height:1.5}
.show-world-meta,.show-world-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}
.show-world-meta span{padding:5px 7px;border-radius:999px;background:rgba(255,255,255,.07);font-size:.58rem;color:#c0ccd8}
.show-episode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.show-episode-card{display:block;min-width:0;flex-basis:auto}
.show-episode-number{position:absolute;left:8px;top:8px;padding:4px 6px;border-radius:999px;background:rgba(3,9,16,.7);font-size:.5rem}
.show-world-footer{display:none}

@media(max-width:700px){
  .listen-now-card{grid-template-columns:1fr}
  .listen-now-art{min-height:180px}
  .watch-details{grid-template-columns:1fr}
  .watch-actions{order:2}
  .show-episode-grid{grid-template-columns:1fr}
}
@media(min-width:860px){
  .live-cinema-shell{grid-template-columns:minmax(0,1.5fr) minmax(260px,.5fr)}
  .listen-library-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

.show-world-art>.tv-art-fallback{position:absolute;inset:0}
.show-world-art>.tv-art-bug{left:clamp(14px,3vw,32px);bottom:clamp(14px,3vw,28px)}

.listen-card.is-spotify .listen-card-art img,.ios-audio-episode.is-spotify .ios-audio-artwork img{object-fit:contain;background:#111}
.spotify-attribution{display:inline-flex;margin:0 13px 13px;color:#a9bbc9;font-size:.58rem;font-weight:800;text-decoration:none}
.spotify-attribution:hover{color:#fff}


/* Listen mobile production polish */
.listen-now-card,.listen-now-copy,.listen-card,.listen-card-open,.listen-card-copy{min-width:0}
.listen-now-copy h2,.listen-now-copy>p,.listen-card-copy strong,.listen-card-copy p{
  max-width:100%;overflow-wrap:anywhere;word-break:normal
}
.listen-shelf-block{margin-top:10px}
.listen-shelf-block h3{margin:0 0 9px;font-size:.8rem;letter-spacing:-.02em}
.listen-card.compact{flex:0 0 min(72vw,240px)}
.listen-card.compact .listen-card-art{aspect-ratio:16/9}
.listen-card.compact .listen-card-copy strong{font-size:.78rem;padding-top:10px}
.listen-card.compact .listen-card-copy p{display:none}
.listen-card.compact .spotify-attribution{margin-top:2px}

@media(max-width:700px){
  .listen-hero{padding:18px 0 6px}
  .listen-now-card{border-radius:20px}
  .listen-now-art{min-height:150px;max-height:170px}
  .listen-now-copy{padding:15px}
  .listen-now-copy h2{font-size:1.18rem;line-height:1.16}
  .listen-now-copy>p{font-size:.7rem}
  .listen-player-host{margin-top:11px}
  .listen-player-host iframe{height:152px}
  .listen-now-actions{flex-wrap:wrap}
}

@media(max-width:640px){
  .listen-library-grid{grid-template-columns:1fr;gap:9px}
  .listen-library-grid .listen-card{
    min-height:116px;border-radius:18px;
    background:linear-gradient(145deg,rgba(13,31,57,.82),rgba(7,17,33,.94));
  }
  .listen-library-grid .listen-card-open{
    display:grid;grid-template-columns:112px minmax(0,1fr);align-items:stretch;
    min-height:116px;
  }
  .listen-library-grid .listen-card-art{
    width:112px;height:100%;min-height:116px;aspect-ratio:auto;
    border-right:1px solid rgba(255,255,255,.07);
  }
  .listen-library-grid .listen-card-copy{
    align-self:center;padding:8px 40px 28px 0;
  }
  .listen-library-grid .listen-card-copy strong{
    padding:0 12px 4px;font-size:.82rem;line-height:1.22;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  }
  .listen-library-grid .listen-card-copy p{
    padding:0 12px;font-size:.63rem;line-height:1.4;-webkit-line-clamp:2;
  }
  .listen-library-grid .listen-card-save{right:8px;top:8px;width:32px;height:32px}
  .listen-library-grid .spotify-attribution{
    position:absolute;z-index:4;left:124px;bottom:10px;margin:0;
    max-width:calc(100% - 140px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
    font-size:.55rem;
  }
  .listen-library-grid .listen-card-play{width:30px;height:30px}
  .listen-filter-rail{margin-inline:-2px;padding-bottom:13px}
  .listen-filter-rail button{min-height:36px;padding-inline:12px}
  .youth-listen-page{padding-bottom:calc(var(--tv-nav-h) + 48px + env(safe-area-inset-bottom))}
  .youth-listen-page main{padding-bottom:14px}
}
