/* Home: regras isoladas das paginas de titulo e catalogo. */
body.nx-home-v2 { position:relative; isolation:isolate; --nx-home-width:1280px; }
.nx-home-v2 .site-header.oneflix-header { position:relative!important; inset:auto!important; width:100%!important; margin:0!important; background:transparent!important; z-index:20!important; }
.nx-home-v2 .oneflix-header .oneflix-header-row { width:calc(100% - 64px)!important; max-width:var(--nx-home-width)!important; min-width:0!important; margin:auto!important; }
.nx-home-backdrop { position:absolute; inset:0 0 auto; height:800px; max-height:100svh; overflow:hidden; pointer-events:none; z-index:-1; background:var(--oneflix-bg); }
.nx-home-backdrop img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 25%; opacity:.48; }
.nx-home-backdrop::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(17,17,17,.25),rgba(17,17,17,.45) 38%,var(--oneflix-bg) 100%),linear-gradient(90deg,rgba(17,17,17,.5),transparent 45%,rgba(17,17,17,.5)); }
.nx-home-shell { position:relative; width:calc(100% - 64px); max-width:var(--nx-home-width); margin:0 auto 64px; min-width:0; }
.nx-home-intro { max-width:680px; margin:0 auto; padding:48px 0 44px; text-align:center; }
.nx-home-brand { display:flex!important; flex-wrap:wrap; align-items:center; justify-content:center!important; white-space:normal!important; gap:0; margin:0!important; color:#fff; font-size:clamp(26px,4vw,48px)!important; line-height:1.2!important; letter-spacing:-1.6px; overflow-wrap:anywhere; }
.nx-home-brand .oneflix-wordmark__play { width:1.05em!important; height:1.05em!important; margin:0 .12em!important; }
.nx-home-intro p { margin:12px 0 24px; color:#d0d0d0; font-size:14px; }
.nx-home-search { display:flex; align-items:center; width:100%; max-width:560px; margin:0 auto; border:1px solid #ffffff38; background:rgba(255,255,255,.09); border-radius:999px; box-shadow:0 12px 35px #0003; }
.nx-home-search:focus-within { border-color:var(--oneflix-yellow); box-shadow:0 0 0 3px #ffc10720; }
.nx-home-search input { min-width:0; flex:1; width:100%; height:56px; border:0; outline:0; padding:0 0 0 23px; color:#fff; background:transparent; font:inherit; font-size:15px; }
.nx-home-search input::placeholder { color:#bfbfbf; opacity:1; }
.nx-home-search button { flex:0 0 56px; height:56px; border:0; border-radius:50%; color:var(--oneflix-yellow); background:transparent; cursor:pointer; }
.nx-home-search svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:2; }
.nx-home-links { display:flex; flex-wrap:wrap; justify-content:center; gap:8px 20px; margin-top:21px; }
.nx-home-links a { text-decoration:none; font-size:13px; color:#d7d7d7; padding:5px 0; }
.nx-home-links a:hover { color:var(--oneflix-yellow); }
.nx-home-layout { display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:36px; align-items:start; }
.nx-home-catalog,.nx-home-sidebar { min-width:0; }
.nx-home-v2 .nx-home-shell .anx-section { width:100%!important; max-width:none!important; margin:0 0 42px!important; padding:0!important; border:0!important; background:transparent!important; }
.nx-home-v2 .nx-home-shell .anx-row-title { display:flex!important; align-items:center!important; justify-content:space-between!important; gap:12px!important; flex-wrap:wrap!important; padding:0 0 16px!important; margin:0 0 18px!important; border-bottom:1px solid #ffffff16!important; }
.nx-home-v2 .nx-home-shell .anx-row-title h2 { min-width:0!important; margin:0!important; padding:0!important; font-size:clamp(18px,1.8vw,23px)!important; line-height:1.3!important; font-weight:700!important; letter-spacing:-.5px!important; color:#f5f5f5!important; }
.nx-home-v2 .nx-home-shell .anx-row-title h2::before { display:none!important; }
.nx-home-v2 .nx-home-shell .anx-row-title a { margin:0!important; padding:6px 0!important; color:var(--oneflix-yellow)!important; font-size:12px!important; text-transform:none!important; letter-spacing:0!important; text-decoration:none; white-space:nowrap; }
.nx-home-v2 .nx-home-shell .anx-row-title a::before { display:none!important; }
.nx-home-v2 .nx-home-shell .anx-rail { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr))!important; gap:24px 16px!important; width:100%!important; margin:0!important; padding:0!important; overflow:visible!important; transform:none!important; }
.nx-home-v2 .nx-home-shell .anx-card { width:100%!important; min-width:0!important; }
.nx-home-v2 .anx-card-image { object-fit:cover; }
.nx-home-v2 .nx-home-shell .anx-info b { display:-webkit-box!important; -webkit-box-orient:vertical; -webkit-line-clamp:2; white-space:normal!important; line-height:1.4!important; min-height:2.8em; font-size:13px!important; overflow-wrap:anywhere; }
.nx-home-v2 .nx-home-shell .anx-info small { flex-wrap:wrap; }
.nx-home-widget { margin:0 0 36px; padding:0; }
.nx-home-widget h2 { margin:0 0 18px; font-size:22px; line-height:1.3; font-weight:700; letter-spacing:-.5px; }
.nx-rated-tabs { display:flex; gap:25px; border-bottom:1px solid #ffffff16; margin:0 0 8px; }
.nx-rated-tabs button { position:relative; padding:0 0 13px; min-height:42px; border:0; border-bottom:3px solid transparent; background:transparent; color:#a8a8a8; font:inherit; font-size:13px; cursor:pointer; }
.nx-rated-tabs button[aria-selected="true"] { color:#fff; border-bottom-color:var(--oneflix-yellow); }
.nx-rated-list { margin:0; padding:0; list-style:none; }
.nx-rated-list li { margin:0; padding:0; border-bottom:1px solid #ffffff0b; }
.nx-rated-list a { display:grid; grid-template-columns:22px 46px minmax(0,1fr); align-items:center; gap:10px; padding:12px 0; text-decoration:none; }
.nx-rated-list a:hover strong { color:var(--oneflix-yellow); }
.nx-rated-number { font-size:18px; font-weight:700; color:#777; font-variant-numeric:tabular-nums; }
.nx-rated-list img { width:46px; height:69px; border-radius:4px; object-fit:cover; background:#242424; }
.nx-rated-text { min-width:0; }
.nx-rated-text strong { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere; font-size:13px; line-height:1.4; font-weight:500; }
.nx-rated-text > span { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-top:8px; }
.nx-rated-text b { font-size:12px; color:var(--oneflix-yellow); }
.nx-rated-text small { font-size:11px; color:#aaa; }
.nx-home-years { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.nx-home-years a { display:grid; place-items:center; min-height:38px; padding:6px 4px; border:1px solid #ffffff0d; border-radius:999px; background:#ffffff0d; font-size:12px; font-variant-numeric:tabular-nums; text-decoration:none; color:#ccc; transition:background .15s,color .15s; }
.nx-home-years a:hover { background:var(--oneflix-yellow); color:#111; }
.nx-home-empty { color:#aaa; font-size:14px; padding:12px 0; }
.nx-home-v2 [hidden] { display:none!important; }
.nx-home-v2 .nx-home-shell a:focus-visible,.nx-home-v2 .nx-home-shell button:focus-visible,.nx-rated-panel:focus-visible { outline:2px solid var(--oneflix-yellow); outline-offset:4px; border-radius:4px; }
@media(min-width:1600px) { body.nx-home-v2 { --nx-home-width:1440px; } .nx-home-v2 .nx-home-shell .anx-rail { grid-template-columns:repeat(5,minmax(0,1fr))!important; } }
@media(max-width:1100px) { .nx-home-layout { grid-template-columns:minmax(0,1fr) 250px; gap:26px; } .nx-home-v2 .nx-home-shell .anx-rail { grid-template-columns:repeat(3,minmax(0,1fr))!important; } .nx-home-widget h2 { font-size:20px; } }
@media(max-width:850px) {
 .nx-home-shell { width:calc(100% - 40px); } .nx-home-v2 .oneflix-header .oneflix-header-row { width:calc(100% - 40px)!important; }
 .nx-home-layout { grid-template-columns:minmax(0,1fr); gap:8px; }
 .nx-home-sidebar { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:30px; }
 .nx-home-v2 .nx-home-shell .anx-rail { grid-template-columns:repeat(4,minmax(0,1fr))!important; }
 .nx-home-intro { padding:28px 0 34px; }
}
@media(max-width:600px) {
 .nx-home-shell { width:calc(100% - 32px); margin-bottom:32px; }
 .nx-home-v2 .oneflix-header .oneflix-header-row { width:calc(100% - 32px)!important; }
 .nx-home-backdrop { height:580px; max-height:none; }
 .nx-home-backdrop img { object-position:center top; opacity:.4; }
 .nx-home-intro { padding:24px 0 30px; }
 .nx-home-brand { font-size:clamp(24px,7vw,38px)!important; letter-spacing:-1px; }
 .nx-home-intro p { font-size:12px; margin:12px 0 20px; }
 .nx-home-search input { height:50px; font-size:13px; padding-left:18px; }
 .nx-home-search button { flex-basis:50px; height:50px; }
 .nx-home-links { gap:4px 16px; margin-top:15px; }
 .nx-home-links a { font-size:12px; min-height:36px; display:flex; align-items:center; }
 .nx-home-v2 .nx-home-shell .anx-rail { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:22px 12px!important; }
 .nx-home-v2 .nx-home-shell .anx-section { margin-bottom:32px!important; }
 .nx-home-v2 .nx-home-shell .anx-row-title { margin-bottom:15px!important; padding-bottom:12px!important; gap:4px 12px!important; }
 .nx-home-v2 .nx-home-shell .anx-row-title h2 { font-size:18px!important; flex:1 1 170px; }
 .nx-home-sidebar { grid-template-columns:minmax(0,1fr); gap:0; }
 .nx-home-widget { margin-bottom:30px; }
 .nx-home-years { grid-template-columns:repeat(5,minmax(0,1fr)); }
}
@media(prefers-reduced-motion:reduce) { .nx-home-v2 *, .nx-home-v2 *::before, .nx-home-v2 *::after { transition:none!important; animation:none!important; } }

@media(max-width:960px) {
 .nx-home-v2 .nx-home-brand { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; }
 .nx-home-intro { padding-top:8px; }
 .nx-home-intro p { margin-top:0; }
}

.nx-home-backdrop img { position:absolute; inset:0; opacity:0; transition:opacity 1.2s ease; }
.nx-home-backdrop img.is-active { opacity:.48; }
@media(max-width:600px) { .nx-home-backdrop img.is-active { opacity:.4; } }
/* A home esconde marca/busca do header no desktop: o menu deve ocupar a linha. */
@media(min-width:961px) {
 .nx-home-v2 .oneflix-header .oneflix-header-row { grid-template-columns:minmax(0,1fr)!important; }
}
@media(max-width:960px) {
 .nx-home-v2 .oneflix-header .oneflix-header-row { grid-template-columns:minmax(0,1fr) 44px!important; }
}
