/* A routed series page: the catalogue remains mounted for an exact return. */
body.series-page-active #content-presentation,
body.series-page-active #channel-catalog,
body.series-page-active #catalog-discovery,
body.series-page-active #home-shelves,
body.series-page-active #content-progress,
body.series-page-active #sagas-hub,
body.series-page-active #streaming-page,
body.series-page-active #streaming-services,
body.series-page-active #sports-hub { display: none !important; }
body.series-page-active #catalog-heading,
body.series-page-active #watch-history,
body.series-page-active .advanced-settings { display: none !important; }
#series-details.series-page { position: relative; display: block; inset: auto; width: 100%; max-width: none; max-height: none; margin: 0; padding: 0 0 36px; overflow: visible; border: 0; border-radius: 0; background: #08090b; color: #fff; box-shadow: none; }
#series-details.series-page[hidden] { display: none; }
.series-page .series-page-back { display: inline-flex; align-items: center; gap: 8px; min-height: 48px; margin: 8px 0 12px; padding: 0 16px; border: 0; background: transparent; color: #d4d4da; box-shadow: none; }
.series-page .series-hero { position: relative; isolation: isolate; display: grid; align-items: center; min-height: clamp(320px, 34vw, 520px); padding: clamp(24px, 4vw, 60px); overflow: hidden; background: linear-gradient(130deg, #24232b, #101116 70%); }
.series-page .series-hero::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #08090bf5 0%, #08090bd9 33%, #08090b38 72%), linear-gradient(0deg, #08090b, transparent 50%); pointer-events: none; }
.series-page #series-hero-art { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: 70% 35%; }
.series-page #series-hero-art[hidden] { display: none; }
.series-page .series-hero-copy { max-width: 580px; min-width: 0; }
.series-page #series-title { margin: 0 0 14px; color: #fff; font-size: clamp(28px, 3.4vw, 52px); line-height: 1.08; overflow-wrap: anywhere; letter-spacing: -.035em; }
.series-page #series-meta { color: #b9bac4; line-height: 1.5; font-size: 14px; }
.series-page #series-plot { max-width: 58ch; margin: 18px 0; color: #dddde4; line-height: 1.65; font-size: 15px; overflow-wrap: anywhere; }
.series-page .series-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.series-page .series-actions button { min-height: 48px; padding: 11px 20px; }
.series-page #series-resume { background: #e5092d; border-color: #e5092d; color: #fff; }
.series-page .series-resume-context { margin: 10px 0 0; color: #b9bac4; font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; }
.series-page .series-actions:has(#series-resume[hidden]) + .series-resume-context { display: none; }
.series-page #series-favorite { background: #ffffff0d; border-color: #ffffff28; }
.series-page .series-episodes-section { padding: 28px clamp(16px, 3.5vw, 52px); }
.series-page .series-episodes-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-bottom: 16px; border-bottom: 1px solid #ffffff20; }
.series-page .series-episodes-heading h2 { margin: 0; font-size: 24px; }
.series-page .series-episodes-heading .field { width: min(260px, 55%); margin: 0; }
.series-page #series-season { min-height: 48px; width: 100%; }
.series-page #series-status { color: #aaaeb9; font-size: 13px; line-height: 1.5; margin: 14px 0; }
#series-details.series-page .episode-list { margin-top: 0; }
#series-details.series-page .episode-row { gap: 12px; min-height: 116px; }
#series-details.series-page .episode-play { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 20px; align-items: center; min-height: 108px; padding: 12px 0; font-size: 15px; color: #fff; }
#series-details.series-page .episode-play::after { content: none; }
.series-episode-media { position: relative; display: grid; place-items: center; aspect-ratio: 16 / 9; overflow: hidden; border: 1px solid #ffffff16; border-radius: 7px; background: linear-gradient(135deg, #242832, #171a21); }
.series-episode-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.series-episode-placeholder { position: relative; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: #0007; color: #fff; font-size: 16px; }
.series-episode-copy { display: grid; min-width: 0; gap: 6px; }
.series-episode-copy strong { line-height: 1.4; overflow-wrap: anywhere; }
.series-episode-meta { color: #aeb0bb; font-size: 12px; }
.series-episode-plot { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; color: #b8b9c2; font-size: 13px; line-height: 1.5; }
.series-episode-progress { display: block; width: min(100%, 360px); height: 3px; border-radius: 3px; background: #ffffff26; margin-top: 4px; }
.series-episode-progress > span { display: block; height: 100%; background: #e5092d; border-radius: inherit; }
#series-details.series-page .episode-seen-toggle { min-width: 44px; min-height: 44px; }
.series-page button:focus-visible, .series-page select:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.series-page .episode-list { animation: series-season-ready .12s ease-out; }
@keyframes series-season-ready { from { opacity: .7; } to { opacity: 1; } }
@media (max-width: 900px) {
  .series-page .series-hero { min-height: 340px; padding: 28px; }
  .series-page .series-hero-copy { max-width: 62%; }
  .series-page #series-title { font-size: clamp(27px, 4vw, 38px); }
  #series-details.series-page .episode-play { grid-template-columns: 136px minmax(0, 1fr); gap: 14px; }
}
@media (max-width: 600px) {
  #series-details.series-page { padding-bottom: calc(28px + env(safe-area-inset-bottom, 0px)); }
  .series-page .series-page-back { margin: 0 0 6px; }
  .series-page .series-hero { display: block; min-height: 0; padding: calc(56.25vw + 10px) 16px 14px; overflow: hidden; }
  .series-page #series-hero-art { height: 56.25vw; object-position: center 35%; }
  .series-page .series-hero::after { background: linear-gradient(0deg, #08090b 0%, #08090b 30%, transparent 68%); }
  .series-page .series-hero-copy { max-width: none; }
  .series-page #series-title { font-size: 28px; margin-bottom: 10px; }
  .series-page #series-plot { margin: 14px 0 6px; font-size: 14px; line-height: 1.55; }
  .series-page .series-actions { margin-top: 16px; flex-wrap: wrap; }
  .series-page #series-resume { flex: 1 1 140px; min-width: 0; font-size: 13px; }
  .series-page #series-favorite { flex: 0 0 auto; max-width: 100%; padding-inline: 12px; font-size: 12px; white-space: normal; }
  .series-page .series-episodes-section { padding: 18px 16px; }
  .series-page .series-episodes-heading { flex-wrap: wrap; gap: 12px; }
  .series-page .series-episodes-heading h2 { font-size: 21px; }
  .series-page .series-episodes-heading .field { width: auto; max-width: 100%; }
  #series-details.series-page .episode-row { gap: 4px; min-height: 96px; }
  #series-details.series-page .episode-play { grid-template-columns: minmax(92px, 31%) minmax(0, 1fr); gap: 10px; min-height: 94px; padding: 12px 0; font-size: 13px; }
  .series-episode-plot { font-size: 12px; -webkit-line-clamp: 2; }
  .series-episode-meta { font-size: 11px; }
}
@media (min-width: 1800px) { .series-page .series-hero-copy { max-width: 700px; } .series-page #series-plot { font-size: 20px; } #series-details.series-page .episode-play { font-size: 21px; grid-template-columns: 200px minmax(0, 1fr); } .series-page .series-episodes-heading h2 { font-size: 30px; } .series-episode-meta, .series-episode-plot { font-size: 17px; } }
@media (prefers-reduced-motion: reduce) { .series-page .episode-list { animation: none; } }
