/* DramaMoviehouse V8: clean mobile app header, featured carousel & bigger movie rows.
   Loaded after style.css on every page to override legacy v6/v7 styles. */
:root{--dm8-black:#08090d;--dm8-pink:#f43b75;--dm8-line:rgba(255,255,255,.12)}
[hidden]{display:none!important}
.stream-topnav-v8{display:flex;align-items:center;gap:30px;height:70px;padding:0 clamp(20px,4vw,68px);z-index:90;background:rgba(9,9,13,.96);border-bottom:1px solid var(--dm8-line)}
.stream-topnav-v8 .brand{display:inline-flex;align-items:center;min-width:0;gap:9px;font-size:23px;letter-spacing:-.055em;line-height:1.15}
.stream-topnav-v8 .brandmark{display:grid;place-items:center;flex:0 0 35px;width:35px;height:35px;vertical-align:0;margin:0}
.stream-topnav-v8 .brand-name{overflow:hidden;text-overflow:ellipsis}
.stream-topnav-v8 .desktop-primary{display:flex;gap:26px;color:#d8d4dd;font-size:14px}
.stream-topnav-v8 .nav-right{margin-left:auto}
.stream-topnav-v8 .mobile-top-actions{display:none}
.stream-topnav-v8 .mobile-menu-panel{display:none}
/* Shared carousel */
.stream-home-v8{overflow:hidden}
.featured-carousel{position:relative;isolation:isolate;background:#0e0d12;border-bottom:1px solid var(--dm8-line)}
.featured-stage{position:relative;min-width:0}
.featured-slide{position:relative;isolation:isolate;overflow:hidden;min-height:550px;background:#111016}
.featured-backdrop{position:absolute;inset:0;z-index:-1;overflow:hidden;background:#171218}
.featured-backdrop img{width:100%;height:100%;object-fit:cover;object-position:center 27%;filter:blur(28px) brightness(.42) saturate(1.12);transform:scale(1.1)}
.featured-slide:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#0a090df5 0%,#0a090dc8 43%,#0a090d4d 100%),linear-gradient(0deg,#0b0a0e 1%,transparent 70%);pointer-events:none}
.featured-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(250px,.8fr);align-items:center;gap:clamp(22px,5vw,100px);max-width:1500px;margin:0 auto;min-height:550px;padding:45px clamp(24px,6.3vw,105px) 37px}
.featured-visual{grid-column:2;grid-row:1;position:relative;isolation:isolate;overflow:hidden;aspect-ratio:2/3;max-width:335px;max-height:485px;width:100%;border-radius:15px;border:1px solid #ffffff33;box-shadow:0 28px 55px #0008;background:#1b161f}
.featured-visual:before{display:none}
.featured-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.featured-art-tag{position:absolute;left:12px;bottom:12px;background:#07070bbd;border:1px solid #fff3;border-radius:5px;padding:5px 8px;font-size:9px;letter-spacing:.06em;font-weight:850;color:#fff}
.featured-copy{grid-column:1;grid-row:1;position:relative;z-index:2;min-width:0;width:100%;max-width:735px}
.featured-label{color:#ff839f;font-size:11px;font-weight:850;letter-spacing:.13em;line-height:1.5}
.featured-label-glyph{font-size:12px;margin-right:2px}
.featured-tags{display:flex;align-items:center;gap:11px;flex-wrap:wrap;font-size:11px;font-weight:700;color:#eae4e7;margin:19px 0 11px}
.featured-tag-hot{background:#dc3057;color:#fff;font-size:9px;border-radius:4px;padding:5px 8px;letter-spacing:.07em}
.featured-copy h1{color:#fff;font-size:clamp(39px,5.6vw,75px);line-height:1.04;font-weight:850;letter-spacing:-.063em;margin:8px 0 17px;overflow-wrap:anywhere;text-wrap:balance;text-shadow:0 2px 14px #0009}
.featured-copy .featured-synopsis{font-size:clamp(14px,1.23vw,17px);line-height:1.6;color:#dfd9e2;max-width:615px;margin:0 0 22px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.featured-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.featured-actions .btn{font-size:14px;border-radius:7px;min-height:48px;min-width:157px;display:inline-flex;align-items:center;gap:12px;justify-content:center;padding:12px 18px}
.featured-actions .featured-play{background:#f8f6f8;color:#16151b;box-shadow:none}
.featured-actions .featured-info{background:#5a565dba;color:#fff;box-shadow:none;border:1px solid #ffffff30}
.featured-actions .featured-play:hover{background:#fff;color:#16151b}
.featured-actions .featured-info:hover{background:#726c78}
.featured-controls{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 16px 14px;background:#0b0a0e}
.featured-arrow,.featured-pause{border:1px solid #ffffff25;color:#fff;background:#232129;border-radius:10px;height:35px;min-width:36px;display:inline-flex;align-items:center;justify-content:center}
.featured-arrow{font-size:23px;line-height:1}
.featured-pause{gap:5px;padding:0 9px;font-size:12px;color:#ddd1d8}
.featured-dots{display:flex;align-items:center;justify-content:center;gap:9px}
.featured-dot{width:8px;height:8px;flex:0 0 8px;padding:0;background:#78737c;border:0;border-radius:999px;transition:width .25s,background .25s}
.featured-dot.is-active{width:27px;flex-basis:27px;background:#ff4a7c}
.featured-empty{min-height:370px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;max-width:1440px;padding:52px clamp(20px,7vw,100px);margin:auto;background:radial-gradient(ellipse at right,#57234d,#08090d 65%)}
.featured-empty h1{max-width:780px}
/* Bigger, swipeable cover rows */
.stream-home-v8 .drama-rail{gap:20px;padding-bottom:25px;scroll-padding-inline:clamp(20px,5vw,70px)}
.stream-home-v8 .drama-rail .rail-card{flex:0 0 clamp(194px,17.2vw,278px)}
.stream-home-v8 .rail-card .rail-poster{border-radius:11px;box-shadow:0 14px 32px #0005}
.stream-home-v8 .rail-card strong{font-size:15px;margin-top:12px;white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:2.6em}
.stream-home-v8 .rail-section{padding-top:30px}
.stream-home-v8 .rail-title h2{font-size:clamp(24px,2.3vw,34px)}
.stream-home-v8 .rail-top-badge{padding:5px 8px}
.stream-topnav-v8 a:focus-visible,.stream-topnav-v8 summary:focus-visible,.featured-carousel button:focus-visible,.featured-actions a:focus-visible{outline:2px solid #ff84aa;outline-offset:3px}
@media(max-width:900px){
 .featured-layout{grid-template-columns:minmax(0,1.2fr) minmax(200px,.8fr);gap:22px;padding:34px 27px;min-height:490px}
 .featured-slide{min-height:490px}
 .featured-visual{max-width:290px}
 .featured-copy h1{font-size:clamp(35px,5vw,58px)}
 .stream-home-v8 .drama-rail .rail-card{flex-basis:clamp(180px,25vw,245px)}
}
@media(max-width:670px){
 .stream-topnav-v8{height:60px;padding:0 15px;gap:10px;position:sticky;top:0;z-index:96;background:rgba(11,10,15,.98);backdrop-filter:blur(14px)}
 .stream-topnav-v8 .brand{font-size:clamp(16px,4.3vw,21px);font-weight:850;letter-spacing:-.055em;gap:8px;max-width:calc(100% - 98px);white-space:nowrap}
 .stream-topnav-v8 .brandmark{margin:0;flex:0 0 30px;width:30px;height:30px;border-radius:9px;font-size:14px}
 .stream-topnav-v8 .brand-name{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .stream-topnav-v8 .desktop-primary,.stream-topnav-v8 .nav-right{display:none!important}
 .stream-topnav-v8 .mobile-top-actions{display:flex;align-items:center;gap:7px;margin-left:auto;flex:0 0 auto}
 .stream-topnav-v8 .mobile-search-action,.stream-topnav-v8 .mobile-menu summary{width:36px;height:36px;border:1px solid #ffffff21;border-radius:9px;color:#fff;display:grid;place-items:center;background:#211e28;cursor:pointer;list-style:none}
 .stream-topnav-v8 .mobile-menu summary::-webkit-details-marker{display:none}
 .stream-topnav-v8 .mobile-menu{position:relative}
 .stream-topnav-v8 .mobile-menu-panel{position:absolute;top:calc(100% + 12px);right:0;z-index:120;display:flex!important;flex-direction:column;gap:0;min-width:190px;max-width:min(82vw,260px);padding:7px;border-radius:13px;box-shadow:0 20px 60px #000c;border:1px solid #514350;background:#17141d;color:#f4eef3}
 .stream-topnav-v8 .mobile-menu:not([open]) .mobile-menu-panel{display:none!important}
 .stream-topnav-v8 .mobile-menu-panel a{display:block!important;padding:11px 12px;border-radius:8px;font-size:13px;font-weight:700;white-space:nowrap}
 .stream-topnav-v8 .mobile-menu-panel a:hover,.stream-topnav-v8 .mobile-menu-panel a:focus{background:#332431;color:#fff}
 .featured-carousel{border-bottom:1px solid #342934}
 .featured-slide{min-height:0;background:#0b0a0e}
 .featured-slide:after{display:none}
 .featured-backdrop{display:none}
 .featured-layout{display:flex;flex-direction:column;gap:0;align-items:stretch;min-height:0;max-width:none;padding:0 0 8px}
 .featured-visual{grid-column:auto;grid-row:auto;position:relative;isolation:isolate;width:100%;height:clamp(218px,61vw,290px);max-height:none;max-width:none;aspect-ratio:auto;margin:0;border:0;border-radius:0 0 18px 18px;box-shadow:none;background:#1d151f}
 .featured-visual:before{display:block;content:"";position:absolute;inset:-18px;z-index:-1;background-image:var(--featured-art);background-position:center 30%;background-size:cover;filter:blur(22px) brightness(.58);transform:scale(1.1)}
 .featured-visual img{object-fit:contain;object-position:center center}
 .featured-art-tag{left:12px;bottom:12px;font-size:8px;padding:4px 7px;background:#09080bcf}
 .featured-copy{grid-column:auto;grid-row:auto;max-width:none;width:100%;padding:18px 17px 12px;text-align:left}
 .featured-label{font-size:9px;letter-spacing:.08em;color:#ff8eac;line-height:1.4}
 .featured-label span:not(.featured-label-glyph){display:none}
 .featured-tags{gap:6px;font-size:10px;margin:9px 0 11px}
 .featured-tag-hot{font-size:8px;padding:4px 7px}
 .featured-tags>span:last-child{color:#ffa1b8}
 .featured-copy h1{font-size:clamp(28px,7.7vw,39px);line-height:1.1;margin:3px 0 11px;letter-spacing:-.052em;max-width:100%;text-shadow:none}
 .featured-copy .featured-synopsis{font-size:13px;color:#c9c5ce;line-height:1.55;margin:0 0 17px;-webkit-line-clamp:3;max-width:none}
 .featured-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}
 .featured-actions .btn{min-width:0;width:100%;height:44px;min-height:44px;font-size:13px;padding:9px 8px;border-radius:7px;gap:8px}
 .featured-controls{padding:6px 12px 15px;gap:12px;position:relative;background:#0b0a0e}
 .featured-arrow{width:32px;height:32px;min-width:32px;font-size:21px}
 .featured-pause{height:32px;min-width:32px;font-size:12px}
 .featured-pause span{display:none}
 .stream-home-v8 .genre-chips{padding-top:16px}
 .stream-home-v8 .rail-section{padding:31px 0 4px}
 .stream-home-v8 .rail-title h2{font-size:24px}
 .stream-home-v8 .drama-rail{gap:13px;padding:2px 16px 22px}
 .stream-home-v8 .drama-rail .rail-card{flex:0 0 clamp(185px,57vw,233px)}
 .stream-home-v8 .rail-card strong{font-size:14px;line-height:1.35;margin-top:9px}
 .stream-home-v8 .rail-card .rail-meta{font-size:11px}
 .stream-home-v8 .rail-card .rail-poster{border-radius:10px}
 .stream-home-v8 .rail-top-badge{font-size:9px;padding:5px 7px}
}
@media(max-width:370px){
 .stream-topnav-v8{padding:0 10px}
 .stream-topnav-v8 .brand{font-size:16px;gap:6px;max-width:calc(100% - 84px)}
 .stream-topnav-v8 .brandmark{width:28px;height:28px;flex-basis:28px}
 .stream-topnav-v8 .mobile-top-actions{gap:5px}
 .stream-topnav-v8 .mobile-search-action,.stream-topnav-v8 .mobile-menu summary{width:33px;height:33px}
 .featured-copy{padding:16px 14px 10px}
 .featured-visual{height:220px;border-radius:0 0 14px 14px}
 .featured-copy h1{font-size:27px}
 .featured-actions .btn{font-size:12px}
 .stream-home-v8 .drama-rail .rail-card{flex-basis:181px}
}
@media(prefers-reduced-motion:reduce){.featured-dot{transition:none}.stream-home-v8 .rail-card:hover img{transform:none}}
