/* Shared catalogue controls; the standalone cinema theme is scoped separately. */
.source-discovery {
    --d-bg: #191c24; --d-raised: #222631; --d-soft: #252b37; --d-border: #353d4b;
    --d-text: #edf1f7; --d-muted: #a9b4c5; --d-accent: #70cef4; --d-tint: #1b3546;
    margin: 16px 0; border: 1px solid var(--d-border); border-radius: 12px;
    color: var(--d-text); background: var(--d-bg); text-align: left; overflow: hidden;
}
.media-app .source-discovery {
    --d-bg: #fff; --d-raised: #fff; --d-soft: #f5f7fa; --d-border: #e5e9f0;
    --d-text: #232b3b; --d-muted: #687487; --d-accent: #067ca8; --d-tint: #eaf8fe;
    color-scheme: light;
}
.source-discovery [hidden] { display: none !important; }
.source-discovery summary { padding: 15px 18px; cursor: pointer; color: var(--d-text); font-weight: 600; }
.source-discovery summary span { margin-left: 8px; color: var(--d-muted); font-size: 12px; font-weight: 400; }
.source-discovery a { color: var(--d-accent); }
.discovery-body { padding: 20px 24px; font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
.discovery-body p { margin: 8px 0; }
.discovery-section-heading { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 6px 16px; margin-bottom: 16px; }
.discovery-section-heading h2 { font-size: 20px; font-weight: 700; }
.discovery-section-heading h3 { font-size: 17px; margin: 0; }
.discovery-section-heading > span { color: var(--d-muted); font-size: 12px; }
.discovery-note, .discovery-credit { color: var(--d-muted); font-size: 12px; }
.discovery-body h3 { margin: 20px 0 8px; font-size: 17px; }
.discovery-section-heading h3 { margin: 0; }
.discovery-form { display: flex; flex-direction: column; gap: 12px; }
.discovery-form label { display: block; }
.discovery-input-row { display: flex; gap: 8px; }
.discovery-input-row input { flex: 1; width: 0; min-width: 0; height: 48px; padding: 12px 16px; font: inherit; font-size: 16px; color: var(--d-text); border: 1px solid var(--d-border); border-radius: 9px; background: var(--d-soft); }
.discovery-input-row input::placeholder { color: var(--d-muted); }
.discovery-body button, .discovery-primary { min-height: 44px; padding: 10px 15px; border-radius: 8px; border: 1px solid var(--d-border); background: var(--d-soft); color: var(--d-text); cursor: pointer; font: inherit; transition: background .15s, border-color .15s; }
.discovery-body button:hover, .discovery-primary:hover { border-color: var(--d-accent); background: var(--d-tint); }
.discovery-body .discovery-search-submit { min-width: 88px; color: #fff; background: #0998cc; border-color: #0998cc; font-weight: 600; }
.discovery-body .discovery-search-submit:hover { background: #087fae; }
.discovery-body .discovery-clear { border-color: transparent; background: transparent; color: var(--d-muted); padding-inline: 8px; }
.discovery-body :focus-visible, .source-discovery summary:focus-visible { outline: 3px solid #168fcb; outline-offset: 3px; }
.discovery-search-options { order: 1; margin: 0; padding: 0; border: 0; }
.discovery-search-options legend { margin-bottom: 7px; color: var(--d-muted); font-size: 12px; }
.discovery-search-options label { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; margin: 0 4px 6px 0; padding: 6px 10px; border: 1px solid var(--d-border); border-radius: 7px; background: var(--d-soft); font-size: 12px; cursor: pointer; }
.discovery-search-options label:has(input:checked) { background: var(--d-tint); border-color: #7cc9e7; color: var(--d-accent); }
.discovery-search-options input { width: 15px; height: 15px; margin: 0; accent-color: #0785b3; }
.discovery-form > .discovery-advanced { order: 3; margin: 0; }
.discovery-form > .search-privacy { order: 2; margin: 0; }
.discovery-advanced, .discovery-next { margin: 20px 0 0; border: 1px solid var(--d-border); border-radius: 9px; background: var(--d-bg); }
.discovery-advanced > summary, .discovery-next > summary { padding: 12px 14px; color: var(--d-muted); font-size: 12px; font-weight: 500; }
.discovery-advanced .discovery-filters, .discovery-directory > section { margin: 16px; }
.discovery-next > p, .discovery-next > a { margin: 10px 16px; display: block; }
.discovery-next { font-size: 12px; color: var(--d-muted); }
.discovery-filters { display: flex; flex-wrap: wrap; gap: 12px; }
.discovery-filters label { flex: 1 1 200px; min-width: 0; color: var(--d-muted); font-size: 12px; }
.discovery-filters select { display: block; width: 100%; min-height: 44px; margin-top: 6px; padding: 10px; border: 1px solid var(--d-border); border-radius: 8px; background: var(--d-soft); color: var(--d-text); font: inherit; }
.discovery-welcome { margin-top: 28px; }
.discovery-starters { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.discovery-body .discovery-starter { display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start; text-align: left; position: relative; isolation: isolate; overflow: hidden; min-height: 180px; padding: 22px; border: 0; border-radius: 10px; color: #fff; background: #1c3455; }
.discovery-body .starter-drama { background: #7d4854; }
.discovery-body .starter-animation { background: #376d6b; }
.discovery-starter::after { content: ''; width: 160px; height: 160px; position: absolute; right: -62px; top: 25px; border: 28px solid #ffffff12; border-radius: 50%; z-index: -1; transition: transform .2s; }
.discovery-body .discovery-starter:hover { filter: brightness(1.1); }
.discovery-starter:hover::after { transform: scale(1.2); }
.discovery-starter strong { font-size: clamp(23px, 2.3vw, 32px); letter-spacing: .02em; }
.discovery-starter > span { font-size: 12px; color: #ffffffe0; }
.discovery-starter > span:last-child { width: 100%; display: flex; justify-content: space-between; }
.starter-category { border-bottom: 1px solid #ffffff42; padding-bottom: 8px; }
#discoveryLive { margin-top: 24px; }
#discoveryLiveStatus { color: var(--d-muted); font-size: 13px; }
.discovery-live-source { padding: 20px 0; border-bottom: 1px solid var(--d-border); }
.discovery-live-source h4 { font-size: 17px; color: var(--d-text); margin: 0; }
.discovery-live-source > .discovery-note { margin: 4px 0; }
.discovery-query-state { font-size: 12px; color: var(--d-muted); }
.discovery-films { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); gap: 16px; margin-top: 14px; }
.discovery-film { min-width: 0; padding: 16px; border: 1px solid var(--d-border); border-radius: 10px; background: var(--d-raised); }
.discovery-film-heading { display: flex; flex-wrap: wrap; gap: 8px; align-items: baseline; }
.discovery-film h4 { margin: 0; font-size: 16px; }
.discovery-license { color: var(--d-accent); font-size: 12px; }
.discovery-condition, .discovery-quality { color: var(--d-muted); font-size: 12px; }
.discovery-source-facts { font-size: 12px; }
.discovery-source-facts dt { font-weight: 600; margin-top: 7px; color: var(--d-text); }
.discovery-source-facts dd { margin: 0; color: var(--d-muted); }
.discovery-film nav { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin-top: 12px; }
.discovery-film nav a { font-size: 12px; text-decoration: none; }
.discovery-film nav a:hover { text-decoration: underline; }
.discovery-primary { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.discovery-film nav .discovery-primary { color: var(--d-accent); }
.discovery-platforms { display: flex; flex-wrap: wrap; gap: 12px; margin: 14px 0; }
.discovery-platform { display: flex; align-items: center; gap: 4px; }
.discovery-body .discovery-copy { min-height: 32px; padding: 6px 0; border: 0; background: transparent; color: var(--d-muted); font-size: 12px; }
.discovery-live-source .discovery-films { grid-template-columns: repeat(auto-fill, minmax(min(100%, 205px), 1fr)); }
.discovery-title-card { padding: 0 0 12px; border-color: transparent; background: transparent; }
.discovery-body .discovery-title-art { display: flex; align-items: center; justify-content: center; position: relative; width: 100%; aspect-ratio: 2 / 3; padding: 0; margin-bottom: 12px; background: var(--d-soft); color: var(--d-text); border: 1px solid var(--d-border); font-size: 23px; font-weight: 700; line-height: 1.35; overflow: hidden; overflow-wrap: anywhere; }
.discovery-body [data-source="ddys"] { background: #e4f3ef; color: #265e52; border-color: #cde4dd; }
.discovery-body [data-source="cupfox"] { background: #f8eeeb; color: #8a4d3b; border-color: #eddbd3; }
.discovery-body [data-source="yhdmoe"] { background: #f7eaf0; color: #815166; border-color: #edd7e2; }
.discovery-body [data-source="fcma"] { background: #eeecf8; color: #62558c; border-color: #e1dbef; }
.discovery-title-card h5 { font-size: 15px; line-height: 1.5; color: var(--d-text); }
.discovery-title-card > .discovery-note { min-height: 20px; }
.discovery-title-card nav { margin-top: 8px; }
.discovery-title-card nav .discovery-primary { flex: 1; background: var(--d-tint); color: var(--d-accent); border-color: transparent; min-height: 38px; padding: 8px; font-weight: 600; }
.discovery-title-card nav .discovery-primary:hover { border-color: var(--d-accent); }
#discoveryEmpty, #discoverySourceEmpty, #discoveryFeedback, #discoveryCopyFallback { color: var(--d-muted); }
#discoveryCopyValue { width: 100%; margin-top: 6px; color: var(--d-text); background: var(--d-soft); }
.discovery-detail { width: min(780px, calc(100vw - 24px)); max-height: 88dvh; margin: auto; padding: 28px; color: var(--d-text); background: var(--d-bg); border: 1px solid var(--d-border); border-radius: 16px; overflow: auto; box-shadow: 0 20px 100px #101b3840; }
.discovery-detail::backdrop { background: #17213688; backdrop-filter: blur(4px); }
.discovery-detail header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.discovery-eyebrow { color: var(--d-muted); font-size: 11px; letter-spacing: .08em; }
.discovery-detail h2 { margin: 24px 0 16px; font-size: 26px; line-height: 1.4; }
.discovery-detail #discoveryDetailDescription { line-height: 1.8; color: var(--d-muted); }
#discoveryDetailStatus { font-size: 13px; color: var(--d-muted); }
#discoveryEpisodeFilter { width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid var(--d-border); border-radius: 8px; color: var(--d-text); background: var(--d-soft); font: inherit; }
.discovery-episodes { display: grid; grid-template-columns: repeat(auto-fill, minmax(105px, 1fr)); gap: 10px; margin: 22px 0; }
.discovery-episode { display: flex; min-height: 46px; justify-content: center; align-items: center; border: 1px solid var(--d-border); border-radius: 7px; padding: 10px; color: var(--d-accent); background: var(--d-soft); text-decoration: none; text-align: center; }
.discovery-episode:only-child { grid-column: 1 / -1; }
.discovery-episode:hover { background: var(--d-tint); border-color: var(--d-accent); }
.discovery-detail :focus-visible { outline: 3px solid #168fcb; outline-offset: 3px; }
@media (max-width: 700px) {
    .discovery-body { padding: 18px 16px; }
    .discovery-starters { gap: 8px; }
    .discovery-body .discovery-starter { padding: 14px; min-height: 154px; }
    .discovery-starter strong { font-size: 23px; }
    .discovery-starter > span { font-size: 11px; }
    .discovery-live-source .discovery-films { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .discovery-body .discovery-title-art { font-size: 19px; }
}
@media (max-width: 460px) {
    .discovery-starters { grid-template-columns: 1fr; }
    .discovery-body .discovery-starter { min-height: 100px; padding: 16px; display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 8px; }
    .discovery-starter .starter-category { grid-column: 1 / -1; border: 0; padding: 0; }
    .discovery-starter > span:last-child { justify-self: end; max-width: 120px; }
    .discovery-input-row { gap: 5px; }
    .discovery-body .discovery-search-submit { min-width: 60px; padding: 10px; }
    .discovery-input-row input { padding: 10px; }
    .discovery-detail { padding: 18px; }
    .discovery-detail h2 { font-size: 22px; }
    .discovery-episodes { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) { .discovery-body *, .discovery-starter::after { transition: none !important; } }

/* Cover tiles: dimensions are reserved before loading, so results never jump. */
.discovery-live-results { display: flex; flex-direction: column; }
.discovery-live-source[data-state="notice"], .discovery-live-source[data-state="empty"] { order: 1; }
.discovery-source-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.discovery-source-info { position: relative; flex-shrink: 0; }
.discovery-source-info summary { padding: 4px 0; color: var(--d-muted); font-size: 11px; }
.discovery-source-info p { position: absolute; z-index: 5; right: 0; width: min(270px, 70vw); padding: 14px; background: var(--d-raised); border: 1px solid var(--d-border); border-radius: 10px; box-shadow: 0 8px 30px #0004; }
.discovery-poster-image { position: absolute; width: 100%; height: 100%; inset: 0; object-fit: cover; transition: transform .25s; }
.discovery-poster-image[data-loading="true"] { opacity: 0; }
/* Match the actual artwork; a portrait poster no longer sits in a wide box.
   Higher specificity keeps this consistent with both desktop and mobile themes. */
.catalog-browser .catalog-film-poster[data-poster-shape],
.discovery-body .discovery-title-art[data-poster-shape],
#catalogDetailPoster[data-poster-shape] { aspect-ratio: var(--poster-ratio); height: auto; }
.catalog-browser .catalog-film-poster[data-poster-shape] .discovery-poster-image,
.discovery-body .discovery-title-art[data-poster-shape] .discovery-poster-image,
#catalogDetailPoster[data-poster-shape] .discovery-poster-image { object-fit: contain; object-position: center; }
.catalog-grid { align-items: start; }
.discovery-poster-fallback[hidden], .discovery-poster-credit[hidden] { display: none !important; }
.catalog-browser .catalog-film-poster img[data-portrait="true"], .catalog-hero-image img[data-portrait="true"], .discovery-title-art img[data-portrait="true"] { object-fit: contain; object-position: center; }
.discovery-poster-credit { position: absolute; left: 6px; top: 6px; max-width: calc(100% - 12px); padding: 3px 6px; border-radius: 4px; background: #101828bf; color: #fff; font-size: 10px; line-height: 1.4; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; pointer-events: none; }
.catalog-hero-image .discovery-poster-image { object-position: center 32%; }
.catalog-hero-image .discovery-poster-credit { top: auto; bottom: 8px; }
.discovery-title-art:hover .discovery-poster-image { transform: scale(1.035); }
.discovery-poster-fallback { display: flex; flex-direction: column; align-items: center; gap: 18px; padding: 20px; width: 100%; height: 100%; justify-content: center; background: linear-gradient(150deg, #273348, #19202d); color: #e6edf8; }
.discovery-poster-fallback { box-sizing: border-box; min-width: 0; }
.discovery-poster-fallback strong { font-size: clamp(18px, 2vw, 26px); max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.discovery-poster-fallback small { font-size: 11px; color: #a9b4c5; font-weight: 400; }
.discovery-poster-badge { position: absolute; bottom: 0; left: 0; right: 0; padding: 28px 10px 9px; background: linear-gradient(transparent,#000c); color: white; font-size: 11px; font-weight: 500; text-align: right; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }
.discovery-poster-play { position: absolute; width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; background: #25c5b8; color: #071b20; font-size: 18px; opacity: 0; transform: scale(.85); transition: opacity .2s, transform .2s; }
.discovery-title-art:hover .discovery-poster-play, .discovery-title-art:focus-visible .discovery-poster-play { opacity: 1; transform: scale(1); }
.discovery-title-card h5 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 45px; font-weight: 600; }
.discovery-title-card nav { gap: 8px; align-items: flex-start; }
.discovery-card-more { position: relative; font-size: 12px; }
.discovery-card-more summary { padding: 9px 3px; color: var(--d-muted); font-size: 12px; font-weight: 400; }
.discovery-card-more[open] { z-index: 4; }
.discovery-card-more[open] a, .discovery-card-more[open] .discovery-copy { display: block; width: 120px; padding: 10px; border: 1px solid var(--d-border); background: var(--d-raised); position: absolute; right: 0; white-space: nowrap; border-radius: 6px; }
.discovery-card-more[open] .discovery-copy { top: 78px; }
.discovery-source-settings { order: 1; border-block: 1px solid var(--d-border); }
.discovery-source-settings > summary { padding: 12px 0; font-size: 12px; color: var(--d-text); }
.discovery-source-settings[open] { padding-bottom: 12px; }
.discovery-source-settings .search-privacy { margin-top: 10px; }
.discovery-form > .discovery-advanced { order: 2; }
.discovery-starter-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.discovery-body .discovery-starter::after { inset: 0; width: auto; height: auto; border: 0; border-radius: 0; background: linear-gradient(90deg,#0c101dea,#0c101d45); z-index: -1; transform: none; }
.discovery-episode[aria-current="true"]{border-color:#b5486f;background:#fff0f5;color:#a82e59;font-weight:700}
.catalog-detail[data-playing="true"] #catalogDetailPoster,.catalog-detail[data-playing="true"] > .discovery-note{display:none}
