/* Legacy section remains compatible until the integrator applies the dialog patch. */
body.series-page-active:not(.series-modal-active) :is(#content-presentation, #channel-catalog, #catalog-discovery, #home-shelves, #content-progress, #sagas-hub, #streaming-page, #streaming-services, #sports-hub, #catalog-heading, #watch-history, .advanced-settings) { display: none !important; }
/* The native dialog owns focus containment; this class locks the catalogue in place. */
body.series-modal-active, html:has(body.series-modal-active) { overflow: hidden; overscroll-behavior: none; }
#series-details.series-page { position: relative; display: block; inset: auto; width: 100%; max-width: none; max-height: none; margin: 0; padding: 0 0 var(--argos-space-8); overflow: visible; border: 0; border-radius: 0; background: var(--argos-canvas); color: var(--argos-text); box-shadow: none; font-family: var(--argos-font-ui); }
#series-details.series-page[hidden] { display: none; }
#series-details.series-page:is([inert], [data-series-phase='closing']) { pointer-events: none; }
/* A zero-height anchor overlays the hero without reserving a toolbar row.
   It stays at the dialog edge while long episode lists scroll underneath. */
#series-details.series-page .series-page-close-anchor { position: sticky; top: 0; z-index: 3; height: 0; margin: 0; padding: 0; pointer-events: none; }
#series-details.series-page .series-page-close { position: absolute; top: var(--argos-space-3); right: var(--argos-space-3); display: inline-grid; place-items: center; width: 44px; min-width: 44px; height: 44px; min-height: 44px; margin: 0; padding: 0; border: 1px solid rgb(255 255 255 / .18); border-radius: 50%; background: rgb(9 10 12 / .76); color: #fff; box-shadow: none; cursor: pointer; pointer-events: auto; }
#series-details.series-page .series-page-close svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; }
#series-details.series-page .series-page-close:hover { background: rgb(24 26 30 / .94); }
#series-details.series-page .series-hero { position: relative; isolation: isolate; display: grid; align-items: center; min-height: clamp(320px, 34vw, 480px); padding: clamp(24px, 4vw, 52px); overflow: hidden; background: var(--argos-surface); }
#series-details.series-page .series-hero::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, var(--argos-canvas), color-mix(in srgb, var(--argos-canvas) 82%, transparent) 33%, transparent 85%), linear-gradient(0deg, var(--argos-canvas), transparent 60%); pointer-events: none; }
#series-details.series-page #series-hero-art { --argos-duration-normal: var(--argos-duration-enter); position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: 70% 35%; }
#series-details.series-page #series-hero-art[hidden] { display: none; }
#series-details.series-page .series-hero-copy { width: min(100%, 580px); max-width: 66%; min-width: 0; }
#series-details.series-page #series-title { margin: 0 0 var(--argos-space-4); color: var(--argos-text); font-family: var(--argos-font-title); font-size: clamp(28px, 3.4vw, 52px); font-weight: var(--argos-weight-title); line-height: 1.1; overflow-wrap: anywhere; letter-spacing: -.035em; }
#series-details.series-page #series-meta { color: var(--argos-text-muted); line-height: 1.5; font-size: .875rem; }
#series-details.series-page #series-plot { max-width: 58ch; margin: var(--argos-space-5) 0; color: var(--argos-text); line-height: 1.65; font-size: .9375rem; overflow-wrap: anywhere; }
#series-details.series-page .series-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--argos-space-3); margin-top: var(--argos-space-6); }
#series-details.series-page .series-actions button { min-height: var(--argos-control-size); padding: var(--argos-space-3) var(--argos-space-5); }
#series-details.series-page #series-resume { background: var(--argos-red); border-color: var(--argos-red); color: #fff; }
#series-details.series-page .series-resume-context { margin: var(--argos-space-2) 0 0; color: var(--argos-text-muted); font-size: .8125rem; line-height: 1.5; overflow-wrap: anywhere; }
#series-details.series-page .series-actions:has(#series-resume[hidden]) + .series-resume-context { display: none; }
#series-details.series-page #series-favorite { background: var(--argos-surface-raised); border-color: var(--argos-line); }
#series-details.series-page .series-episodes-section { padding: var(--argos-space-8) clamp(16px, 3.5vw, 52px); }
#series-details.series-page .series-episodes-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--argos-space-4); padding-bottom: var(--argos-space-4); border-bottom: 1px solid var(--argos-line); }
#series-details.series-page .series-episodes-heading h2 { margin: 0; font-size: 1.5rem; }
#series-details.series-page .series-episodes-heading .field { width: min(260px, 55%); min-width: 0; margin: 0; color: var(--argos-text-muted); }
#series-details.series-page .series-episodes-heading .field > span { color: var(--argos-text-muted); }
#series-details.series-page #series-season { min-height: var(--argos-control-size); width: 100%; border: 1px solid var(--argos-line); background: var(--argos-field); color: var(--argos-text); font: inherit; }
#series-details.series-page #series-season option { background: var(--argos-surface-raised); color: var(--argos-text); }
#series-details.series-page #series-status { color: var(--argos-text-muted); font-size: .8125rem; line-height: 1.5; margin: var(--argos-space-4) 0; }
#series-details.series-page .episode-list { margin-top: 0; animation: series-season-ready var(--argos-duration-fast) var(--argos-ease-enter); }
#series-details.series-page .episode-row { gap: var(--argos-space-3); min-height: 116px; }
#series-details.series-page .episode-play { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: var(--argos-space-5); align-items: center; min-height: 108px; padding: var(--argos-space-3) 0; font-size: .9375rem; color: var(--argos-text); }
#series-details.series-page .episode-play::after { content: none; }
#series-details.series-page .series-episode-media { position: relative; display: grid; place-items: center; aspect-ratio: 16 / 9; overflow: hidden; border: 1px solid var(--argos-line); border-radius: var(--argos-radius-control); background: var(--argos-surface-raised); }
#series-details.series-page .series-episode-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
#series-details.series-page .series-episode-placeholder { position: relative; display: grid; place-items: center; width: 36px; height: 36px; border-radius: var(--argos-radius-pill); background: #0007; color: #fff; font-size: 1rem; }
#series-details.series-page .series-episode-copy { display: grid; min-width: 0; gap: var(--argos-space-2); }
#series-details.series-page .series-episode-copy strong { line-height: 1.4; overflow-wrap: anywhere; }
#series-details.series-page .series-episode-meta { color: var(--argos-text-muted); font-size: .75rem; }
#series-details.series-page .series-episode-plot { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; color: var(--argos-text-muted); font-size: .8125rem; line-height: 1.5; }
#series-details.series-page .series-episode-progress { display: block; width: min(100%, 360px); height: 3px; border-radius: var(--argos-radius-pill); background: var(--argos-line); margin-top: var(--argos-space-1); }
#series-details.series-page .series-episode-progress > span { display: block; height: 100%; background: var(--argos-red); border-radius: inherit; }
#series-details.series-page .episode-seen-toggle { min-width: var(--argos-control-size); min-height: var(--argos-control-size); }
#series-details.series-page :is(button, select):focus-visible { outline: 2px solid var(--argos-focus); outline-offset: 3px; }
#series-details.series-page button:is(:hover, :active) { transform: none; }
@keyframes series-season-ready { from { opacity: .75; } to { opacity: 1; } }
/* Only #series-details is promoted. No player, TV layout or shared tokens change. */
dialog#series-details.series-page { position: fixed; inset: 0; width: min(1080px, calc(100vw - 2 * var(--argos-space-8))); max-width: none; max-height: calc(100dvh - 2 * var(--argos-space-8)); margin: auto; padding: 0; overflow: auto; scrollbar-width: none !important; scrollbar-gutter: auto; overscroll-behavior: contain; border: 1px solid var(--argos-line); border-radius: var(--argos-radius-panel); box-shadow: var(--dialog-shadow); }
/* The shared hover rule carries two IDs through :is(). Scope this exception
   to the open series dialog, including its existing close control. */
body.series-modal-active dialog#series-details.series-page:has(#series-close) { scrollbar-width: none !important; }
dialog#series-details.series-page::-webkit-scrollbar { display: none; width: 0; height: 0; }
dialog#series-details.series-page::backdrop { background: color-mix(in srgb, var(--argos-canvas) 76%, transparent); }
@media (max-width: 1399px) {
  dialog#series-details.series-page { inset: var(--mobile-visual-offset-top, 0px) 0 auto; width: 100%; height: var(--mobile-visual-height, 100dvh); max-height: var(--mobile-visual-height, 100dvh); margin: 0; padding: env(safe-area-inset-top, 0px) env(safe-area-inset-right, 0px) max(var(--argos-space-6), env(safe-area-inset-bottom, 0px)) env(safe-area-inset-left, 0px); border: 0; border-radius: 0; box-sizing: border-box; }
  #series-details.series-page .series-page-close-anchor { top: env(safe-area-inset-top, 0px); }
}
@media (max-width: 900px) {
  #series-details.series-page .series-hero { min-height: 340px; padding: var(--argos-space-6); }
  #series-details.series-page #series-title { font-size: clamp(27px, 4vw, 38px); }
  #series-details.series-page .episode-play { grid-template-columns: 136px minmax(0, 1fr); gap: var(--argos-space-4); }
}
@media (max-width: 600px) {
  #series-details.series-page .series-hero { display: block; min-height: 0; padding: calc(56.25vw + var(--argos-space-3)) var(--argos-space-4) var(--argos-space-4); }
  #series-details.series-page #series-hero-art { height: 56.25vw; object-position: center 35%; }
  #series-details.series-page .series-hero::after { background: linear-gradient(0deg, var(--argos-canvas), var(--argos-canvas) 30%, transparent 75%); }
  #series-details.series-page .series-hero-copy { max-width: none; }
  #series-details.series-page #series-title { font-size: 1.75rem; margin-bottom: var(--argos-space-3); }
  #series-details.series-page #series-plot { margin: var(--argos-space-4) 0 var(--argos-space-2); font-size: .875rem; line-height: 1.55; }
  #series-details.series-page .series-actions { margin-top: var(--argos-space-4); }
  #series-details.series-page #series-resume { flex: 1 1 140px; min-width: 0; font-size: .8125rem; }
  #series-details.series-page #series-favorite { flex: 0 0 auto; max-width: 100%; padding-inline: var(--argos-space-3); font-size: .75rem; white-space: normal; }
  #series-details.series-page .series-episodes-section { padding: var(--argos-space-5) var(--argos-space-4); }
  #series-details.series-page .series-episodes-heading { gap: var(--argos-space-3); }
  #series-details.series-page .series-episodes-heading h2 { font-size: 1.3125rem; }
  #series-details.series-page .series-episodes-heading .field { width: auto; max-width: 100%; }
  #series-details.series-page .episode-row { gap: var(--argos-space-1); min-height: 96px; }
  #series-details.series-page .episode-play { grid-template-columns: minmax(92px, 31%) minmax(0, 1fr); gap: var(--argos-space-3); min-height: 94px; padding: var(--argos-space-3) 0; font-size: .8125rem; }
  #series-details.series-page .series-episode-plot { font-size: .75rem; }
  #series-details.series-page .series-episode-meta { font-size: .6875rem; }
}
@media (min-width: 1800px) { #series-details.series-page .series-hero-copy { max-width: 700px; } #series-details.series-page #series-plot { font-size: 1.25rem; } #series-details.series-page .episode-play { font-size: 1.3125rem; grid-template-columns: 200px minmax(0, 1fr); } #series-details.series-page .series-episodes-heading h2 { font-size: 1.875rem; } #series-details.series-page :is(.series-episode-meta, .series-episode-plot) { font-size: 1.0625rem; } }
@media (prefers-reduced-motion: reduce) { #series-details.series-page .episode-list { animation: none; } }
