/* BLUVIA Incremental UI v2 — drama detail + player
   Additive overrides only: existing API, player logic and backend contracts remain untouched. */
:root { --bv-panel: rgba(17,27,45,.88); --bv-panel-border: rgba(148,163,184,.14); --bv-focus: 0 0 0 3px rgba(59,130,246,.32); }
.drama-breadcrumb { padding-top: 2px; }
.drama-hero { isolation:isolate; border:1px solid var(--bv-panel-border); background:var(--bg-secondary); box-shadow:0 18px 48px rgba(0,0,0,.18); }
.drama-hero-bg::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(7,12,23,.94),rgba(7,12,23,.72) 48%,rgba(7,12,23,.18)); pointer-events:none; }
.drama-hero-inner { align-items:center; }
.drama-poster-wrap { width:clamp(170px,20vw,260px); }
.drama-poster-img { display:block; border:1px solid rgba(255,255,255,.12); box-shadow:0 22px 50px rgba(0,0,0,.38); }
.drama-title { letter-spacing:-.035em; }
.drama-synopsis { max-width:680px; }
.drama-actions .btn,.drama-actions button { min-height:44px; }
.episode-grid { grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr)); }
.ep-card { min-height:72px; }
.ep-card:focus-visible,.drama-actions a:focus-visible,.drama-actions button:focus-visible,.ep-nav-btn:focus-visible,.back-btn:focus-visible { outline:none; box-shadow:var(--bv-focus); }
.similar-section,.episodes-section { scroll-margin-top:88px; }
.player-wrapper { max-width:1320px; }
.video-container { border:1px solid rgba(148,163,184,.16); background:#02040a; box-shadow:0 22px 60px rgba(0,0,0,.32); }
.video-container video { touch-action:manipulation; }
.episode-info-bar { align-items:flex-start; }
.episode-info-left h1 { letter-spacing:-.025em; line-height:1.25; }
.episode-nav { flex-wrap:wrap; }
.ep-nav-btn { min-height:42px; }
.episodes-section { background:var(--bv-panel); border-color:var(--bv-panel-border); backdrop-filter:blur(14px); }
.episodes-grid { grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr)); }
.episodes-grid .ep-card { min-height:66px; }
.episodes-grid .ep-card:focus-visible { outline:none; box-shadow:var(--bv-focus); }
.quality-picker { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
@media(max-width:900px) { .drama-hero-inner{gap:22px;} .drama-hero-bg::after{background:linear-gradient(180deg,rgba(7,12,23,.74),rgba(7,12,23,.93));} }
@media(max-width:768px) {
 .drama-hero{border-radius:18px;margin-bottom:26px;} .drama-hero-inner{padding:22px 18px;gap:18px;} .drama-poster-wrap{width:min(42vw,168px);} .drama-title{font-size:clamp(1.35rem,5vw,1.8rem);} .drama-meta{gap:8px 12px;} .drama-synopsis{line-height:1.7;} .drama-actions{width:100%;} .drama-actions .btn,.drama-actions button{flex:1 1 auto;justify-content:center;}
 .episode-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;} .ep-card{padding:10px;gap:10px;min-width:0;} .ep-card .ep-num{width:38px;height:38px;}
 .player-wrapper{padding:14px 14px calc(92px + env(safe-area-inset-bottom));} .back-btn{margin-bottom:14px;} .video-container{border-radius:12px;} .episode-info-bar{display:block;padding:16px 0;margin-bottom:16px;} .episode-info-left{min-width:0;margin-bottom:14px;} .episode-info-left h1{font-size:1.15rem;} .episode-nav{display:grid;grid-template-columns:1fr 1fr;} .ep-nav-btn{justify-content:center;padding:.65rem .5rem;font-size:.78rem;}
 .episodes-section{padding:14px;border-radius:14px;} .episodes-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;} .episodes-grid .ep-card{padding:10px;min-width:0;} .bottom-nav{z-index:100;}
}
@media(max-width:420px) { .drama-hero-inner{padding:18px 14px;} .drama-poster-wrap{width:126px;} .drama-actions{display:grid;grid-template-columns:1fr;} .drama-actions .btn,.drama-actions button{width:100%;} .episode-grid,.episodes-grid{grid-template-columns:1fr;} .episode-nav{grid-template-columns:1fr;} .ep-nav-btn{min-height:44px;} .lock-overlay h3{font-size:1.1rem;} }
@media(prefers-reduced-motion:reduce) { .drama-hero *,.ep-card,.ep-nav-btn{transition:none!important;animation:none!important;scroll-behavior:auto!important;} }
