/* 3NDINGMOVIE — estilo Netflix, móvil primero */
:root{
  --bg:#0b0b0e; --bg2:#141419; --card:#1a1a21; --red:#e50914;
  --text:#f5f5f5; --muted:#9a9aa3; --gold:#ffd782; --radius:10px;
}
*{box-sizing:border-box; -webkit-tap-highlight-color:transparent}
html,body{margin:0;padding:0}
body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;min-height:100vh}
img{display:block;max-width:100%}
button{font-family:inherit;cursor:pointer}

/* Header */
header{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;gap:10px;
  padding:10px 14px;background:linear-gradient(180deg,rgba(0,0,0,.92),rgba(0,0,0,0));transition:background .3s}
header.solid{background:rgba(8,8,10,.96)}
.logo{display:inline-flex;align-items:center;text-decoration:none;white-space:nowrap}
.logo-svg{width:148px;height:22px;display:block;filter:drop-shadow(0 2px 8px rgba(229,9,20,.35))}
.hdr-spacer{flex:1}
.searchbox{display:flex;align-items:center;background:rgba(255,255,255,.12);border-radius:20px;padding:6px 10px;gap:6px}
.searchbox input{background:transparent;border:0;color:#fff;outline:none;width:90px;font-size:14px}
.searchbox input::placeholder{color:#bbb}
.member-btn{background:var(--red);color:#fff;border:0;border-radius:6px;font-weight:800;font-size:12px;padding:9px 12px;white-space:nowrap}
.member-btn.active{background:#1f7a33}
.icon-btn{background:rgba(255,255,255,.12);color:#fff;border:0;border-radius:50%;width:36px;height:36px;font-size:16px}

/* Banner principal de marca */
.brand-banner{position:relative;overflow:hidden;padding:66px 16px 30px;text-align:center;
  background:
    radial-gradient(620px 220px at 50% -40px, rgba(229,9,20,.38), transparent 70%),
    radial-gradient(420px 170px at 12% 115%, rgba(255,215,130,.09), transparent 70%),
    radial-gradient(420px 170px at 88% 115%, rgba(255,215,130,.09), transparent 70%),
    linear-gradient(180deg,#151016 0%,#0b0b0e 100%);
  border-bottom:1px solid rgba(255,215,130,.22)}
.brand-banner::before,.brand-banner::after{content:"";position:absolute;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,215,130,.65),transparent)}
.brand-banner::before{top:0}.brand-banner::after{bottom:0}
.bb-inner{position:relative;z-index:1;max-width:560px;margin:0 auto}
.bb-logo{width:min(400px,78vw);height:auto;filter:drop-shadow(0 4px 20px rgba(229,9,20,.5))}
.bb-tag{margin:14px 0 6px;color:var(--gold);font-weight:800;font-size:13px;letter-spacing:4px}
.bb-sub{margin:0;color:var(--muted);font-size:12.5px;letter-spacing:.5px}

/* Hero */
.hero{position:relative;min-height:72vh;display:flex;align-items:flex-end;overflow:hidden;background:#000}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center 20%;filter:saturate(1.05)}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25) 0%,rgba(0,0,0,.15) 40%,rgba(11,11,14,.97) 100%)}
.hero-content{position:relative;z-index:2;padding:0 16px 26px;max-width:640px}
.hero-kicker{color:var(--gold);font-size:12px;font-weight:800;letter-spacing:3px;margin-bottom:8px}
.hero h1{font-size:34px;line-height:1.05;margin:0 0 10px;font-weight:900;text-shadow:0 2px 12px rgba(0,0,0,.7)}
.hero-genres{color:#ddd;font-size:13px;margin-bottom:10px}
.hero-desc{color:#e8e8e8;font-size:14px;line-height:1.5;margin:0 0 16px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.hero-actions{display:flex;gap:10px}
.btn-play{background:#fff;color:#000;border:0;border-radius:6px;font-weight:800;font-size:15px;padding:12px 22px}
.btn-info{background:rgba(120,120,130,.45);color:#fff;border:0;border-radius:6px;font-weight:700;font-size:15px;padding:12px 20px}
.hero-dots{display:flex;gap:6px;margin-top:14px}
.hero-dots i{width:22px;height:4px;border-radius:2px;background:rgba(255,255,255,.3)}
.hero-dots i.on{background:var(--red)}

/* Rows */
main{padding:6px 0 90px;position:relative;z-index:3;margin-top:-8px}
.row{margin:18px 0}
.row-head{display:flex;align-items:baseline;justify-content:space-between;padding:0 14px;margin-bottom:8px}
.row-head h2{font-size:17px;margin:0;font-weight:800}
.row-head small{color:var(--muted);font-size:12px}
.rail{display:flex;gap:10px;overflow-x:auto;padding:4px 14px;scrollbar-width:none}
.rail::-webkit-scrollbar{display:none}
.card{flex:0 0 128px;background:var(--card);border-radius:var(--radius);overflow:hidden;border:1px solid rgba(255,255,255,.06)}
.card img{width:128px;height:192px;object-fit:cover}
.card .ct{padding:8px;font-size:11.5px;font-weight:700;line-height:1.3;min-height:44px}
.card .cg{padding:0 8px 8px;font-size:10.5px;color:var(--muted)}
.card:active{transform:scale(.97)}

/* Genre chips */
.chips{display:flex;gap:8px;overflow-x:auto;padding:10px 14px;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chip{background:#22222b;color:#ddd;border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:8px 16px;font-size:13px;white-space:nowrap}
.chip.on{background:var(--red);border-color:var(--red);color:#fff;font-weight:700}

/* Overlays */
.overlay{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.72);display:none;align-items:flex-end;justify-content:center}
.overlay.open{display:flex}
.sheet{background:var(--bg2);width:100%;max-height:92vh;overflow-y:auto;border-radius:16px 16px 0 0;position:relative;animation:up .25s ease}
@keyframes up{from{transform:translateY(40px);opacity:.5}to{transform:none;opacity:1}}
.sheet-close{position:absolute;top:10px;right:10px;z-index:5}
.detail-hero{position:relative;min-height:300px;background-size:cover;background-position:center 25%}
.detail-hero .shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,var(--bg2) 98%)}
.detail-body{padding:4px 18px 30px}
.detail-body h2{font-size:26px;margin:6px 0 8px;font-weight:900}
.pill{display:inline-block;background:#2a2a33;border:1px solid rgba(255,255,255,.14);color:var(--gold);font-size:12px;font-weight:700;border-radius:20px;padding:5px 12px;margin:0 6px 6px 0}
.detail-desc{color:#dcdce2;font-size:14.5px;line-height:1.6;margin:12px 0}
.hash{color:var(--red);font-weight:700;font-size:13px}
.ep{display:flex;gap:12px;align-items:center;background:var(--card);border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:12px;margin:10px 0}
.ep-num{background:#2c2c35;color:#fff;font-weight:900;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:0 0 38px}
.ep-info{flex:1}
.ep-info b{font-size:14.5px}
.ep-info p{margin:4px 0 0;font-size:12.5px;color:var(--muted);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ep-play{background:var(--red);color:#fff;border:0;border-radius:8px;font-weight:800;padding:10px 14px;font-size:13px;white-space:nowrap}
.ep.locked{opacity:.85}
.ep-lock{background:#2c2c35;color:var(--gold);border:0;border-radius:8px;font-weight:800;padding:10px 14px;font-size:15px}

/* Player */
.player-sheet{background:#000;width:100%;max-height:92vh;border-radius:16px 16px 0 0;overflow:hidden;position:relative}
.player-sheet video{width:100%;max-height:70vh;background:#000}
.player-meta{padding:12px 16px 22px}
.player-meta b{font-size:15px}
.player-meta p{color:var(--muted);font-size:13px;margin:6px 0 0}

/* Paywall */
.pay-card{text-align:center;padding:34px 24px 40px}
.pay-card .lock{font-size:52px}
.pay-card h2{font-size:24px;margin:12px 0 6px}
.pay-card p{color:#cfcfd6;font-size:14.5px;line-height:1.6}
.price{font-size:40px;font-weight:900;color:#fff;margin:14px 0 2px}
.price small{font-size:15px;color:var(--muted);font-weight:400}
.pay-cta{display:block;width:100%;background:var(--red);color:#fff;border:0;border-radius:10px;font-size:17px;font-weight:900;padding:15px;margin:18px 0 10px}
.pay-note{font-size:12px;color:var(--muted)}
.pay-list{text-align:left;margin:16px auto;max-width:340px;font-size:14px;line-height:2;color:#e2e2e8}

/* Account */
.acct{padding:30px 22px 40px}
.acct h2{margin-top:0}
.status-box{background:var(--card);border-radius:12px;padding:16px;margin:14px 0;border:1px solid rgba(255,255,255,.08)}
.status-box b{color:#4ade80}

/* Footer */
footer{text-align:center;color:var(--muted);font-size:12px;padding:26px 16px 40px;line-height:1.8}
footer .flogo{color:var(--red);font-weight:900;letter-spacing:1px}

/* Ganchos gratis */
.ganchos-cta{padding:0 14px 4px}
.ganchos-cta .pay-cta{margin:6px 0 10px;font-size:14px;padding:13px}
.gwrap{position:relative}
.gwrap img{width:128px;height:192px;object-fit:cover}
.gbadge{position:absolute;top:8px;left:8px;background:#1f7a33;color:#fff;font-size:10px;font-weight:900;letter-spacing:1px;padding:4px 8px;border-radius:6px}
.gplay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:34px;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.8);pointer-events:none}
.card.gancho{border-color:rgba(74,222,128,.35)}

/* Planes — acabado premium */
.plans{padding:34px 14px 12px;max-width:760px;margin:0 auto}
.plans-kicker{text-align:center;color:var(--gold);font-size:11px;font-weight:800;letter-spacing:4px;margin:0 0 8px}
.plans h2{text-align:center;font-size:26px;margin:0 0 6px;font-weight:900;letter-spacing:.5px}
.plans-sub{text-align:center;color:var(--muted);font-size:14px;margin:0 0 22px}
.plan-grid{display:grid;grid-template-columns:1fr;gap:16px}
@media(min-width:560px){.plan-grid{grid-template-columns:1fr 1fr}}
.plan{background:linear-gradient(180deg,#202028,#1a1a21);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:24px 22px;position:relative;overflow:hidden;box-shadow:0 6px 24px rgba(0,0,0,.45)}
.plan::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent)}
.plan.best{border-color:rgba(255,215,130,.6);background:linear-gradient(180deg,#262017,#1a1a21);box-shadow:0 10px 44px rgba(255,215,130,.14)}
.plan.best::before{background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.plan-tag{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,#ffd782,#e8b64c);color:#1a1206;font-size:10px;font-weight:900;letter-spacing:1.5px;padding:5px 14px;border-radius:12px;white-space:nowrap;box-shadow:0 4px 14px rgba(255,215,130,.35)}
.plan h3{margin:4px 0 8px;font-size:16px;font-weight:900;letter-spacing:1px}
.plan-price{font-size:42px;font-weight:900;margin:4px 0 14px;text-shadow:0 2px 14px rgba(0,0,0,.5)}
.plan-price small{font-size:14px;color:var(--muted);font-weight:400}
.plan ul{list-style:none;margin:0 0 6px;padding:0;font-size:13.5px;line-height:2.2;color:#e2e2e8}
.plan ul .chk{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:rgba(31,122,51,.25);border:1px solid #1f7a33;color:#7de08f;font-size:11px;font-weight:900;margin-right:8px}
.plan ul .chk.gold{background:rgba(255,215,130,.15);border-color:var(--gold);color:var(--gold)}
.plan ul li.no{color:var(--muted)}
.plan ul li.no .chk{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.2);color:var(--muted)}
.plan .pay-cta{margin:14px 0 0;font-size:15px;letter-spacing:.3px;box-shadow:0 6px 20px rgba(229,9,20,.4)}
.plans-note{text-align:center;color:var(--muted);font-size:12px;margin:16px 0 0}

/* Formularios PayPal embebidos (botón propio, sin el gif por defecto) */
.pp-form{margin:0}
.pp-form .pay-cta{cursor:pointer}
.pp-form .pay-cta:hover{filter:brightness(1.1)}

/* Paywall con 2 planes */
.plan-pick{display:grid;gap:10px;margin:18px 0 4px}
.plan-opt{background:var(--card);border:2px solid rgba(255,255,255,.14);border-radius:12px;color:#fff;padding:14px;text-align:left;display:flex;flex-direction:column;gap:4px}
.plan-opt.sel{border-color:var(--red);background:#231014}
.plan-opt[data-p="exclusive"]{border-color:rgba(255,215,130,.45)}
.plan-opt[data-p="exclusive"].sel{border-color:var(--gold);background:#241c0e;box-shadow:0 0 22px rgba(255,215,130,.18)}
.plan-opt b{font-size:15px}
.plan-opt .pp{font-size:26px;font-weight:900}
.plan-opt .pp small{font-size:13px;color:var(--muted);font-weight:400}
.plan-opt small{color:var(--muted);font-size:12.5px}

/* Exclusivas */
.xbadge{position:absolute;top:8px;left:8px;background:linear-gradient(135deg,#b8860b,#ffd782);color:#000;font-size:9.5px;font-weight:900;letter-spacing:.5px;padding:4px 8px;border-radius:6px}
.pill.excl{background:#3a2c10;border-color:var(--gold);color:var(--gold)}
.ep-lock.up{color:var(--gold)}

/* Empty */
.empty{text-align:center;color:var(--muted);padding:40px 20px;font-size:14px}

/* Desktop */
@media(min-width:760px){
  .hero{min-height:80vh}
  .hero h1{font-size:52px}
  .hero-content{padding:0 48px 40px}
  .card{flex-basis:170px}.card img{width:170px;height:255px}.gwrap img{width:170px;height:255px}
  .row-head{padding:0 48px}.rail,.chips{padding-left:48px;padding-right:48px}
  .overlay{align-items:center;padding:30px}
  .sheet,.player-sheet{border-radius:16px;max-width:720px;max-height:88vh}
  .searchbox input{width:160px}
}

/* ---------- Auth / cuenta / verificación (v2) ---------- */
.auth{padding:30px 22px 40px;max-width:440px;margin:0 auto}
.auth h2{margin:0 0 6px;font-size:24px}
.auth-notice{background:rgba(255,215,130,.1);border:1px solid rgba(255,215,130,.35);border-radius:10px;padding:12px 14px;font-size:14px;line-height:1.55;color:#ffe9bd;margin:0 0 14px}
.auth-notice b{color:#ffd782}
.auth-tabs{display:flex;gap:8px;margin:14px 0}
.auth-tabs button{flex:1;background:#22232e;border:1px solid #333;color:#cfcfd6;border-radius:8px;padding:10px;font-weight:700;font-size:14px;cursor:pointer}
.auth-tabs button.on{background:var(--red);border-color:var(--red);color:#fff}
#authForm label{display:block;font-size:13px;color:#9a9aa3;margin:12px 0 4px;text-align:left}
#authForm input[type=email],#authForm input[type=password],.claim-row input{width:100%;box-sizing:border-box;background:#14151d;border:1px solid #333;border-radius:8px;color:#fff;padding:12px 14px;font-size:16px;outline:none}
#authForm input:focus,.claim-row input:focus{border-color:var(--red)}
#authForm .pay-cta{width:100%;margin-top:16px}
#authForm .pay-cta:disabled{opacity:.6}
.auth-err{color:#ff6b6b;font-size:13.5px;min-height:20px;margin-top:8px}
.auth-hint{font-size:13.5px;color:#9a9aa3;line-height:1.6;margin-top:14px}
.auth-hint b{color:#ffd782}
/* Puerta de entrada: presentación con logo */
.overlay.blocking .sheet{border:2px solid var(--gold);box-shadow:0 0 60px rgba(255,215,130,.15)}
#authOv.gate-mode{align-items:stretch;padding:0}
#authOv.gate-mode .sheet{max-width:none;width:100%;max-height:none;height:100%;border-radius:0;border:none;background:#0a0b10;overflow-y:auto}
#authOv.gate-mode .sheet-close{display:none}
.gate-bg{position:fixed;inset:0;overflow:hidden;pointer-events:none}
.gate-collage{position:absolute;inset:-40px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;filter:blur(14px) brightness(.5);transform:rotate(-2deg)}
.gate-collage img{width:100%;height:100%;object-fit:cover;border-radius:8px;min-height:180px}
.gate-shade{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 30%,rgba(10,11,16,.25),rgba(10,11,16,.92) 75%),linear-gradient(180deg,rgba(10,11,16,.55),rgba(10,11,16,.35) 40%,rgba(10,11,16,.95))}
.gate-inner{position:relative;z-index:2;min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 20px 40px;max-width:480px;margin:0 auto}
.gate-logo-svg{width:min(320px,80vw);height:auto;filter:drop-shadow(0 4px 24px rgba(229,9,20,.45));animation:gateIn .7s ease}
.gate-tag{text-align:center;color:#e8e8ee;font-size:17px;line-height:1.6;margin:18px 0 26px;animation:gateIn .7s .1s ease backwards}
.gate-card{width:100%;background:rgba(20,21,29,.88);backdrop-filter:blur(8px);border:1px solid rgba(255,215,130,.28);border-radius:18px;padding:26px 22px 22px;box-shadow:0 20px 60px rgba(0,0,0,.55);animation:gateIn .7s .2s ease backwards}
.gate-card h2{margin-top:0}
@keyframes gateIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(max-width:480px){.gate-collage{grid-template-columns:repeat(3,1fr)}.gate-inner{padding-top:36px}}
.status-box{background:#14151d;border:1px solid #2c2c38;border-radius:10px;padding:14px 16px;font-size:14.5px;line-height:1.7;margin:14px 0}
.claim-box{margin-top:18px;border-top:1px solid #2c2c38;padding-top:16px}
.claim-box h3{font-size:16px;margin:0 0 6px}
.claim-box p{font-size:13.5px;color:#9a9aa3;line-height:1.6}
.claim-box p b{color:#ffd782}
.claim-row{display:flex;gap:8px;margin-top:10px}
.claim-row input{flex:1;text-transform:uppercase}
.claim-row .pay-cta{white-space:nowrap;margin:0}
.toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(20px);background:#1c1d27;border:1px solid #3a3a48;color:#fff;padding:13px 20px;border-radius:12px;font-size:14.5px;font-weight:600;z-index:999;opacity:0;pointer-events:none;transition:all .3s ease;max-width:88vw;text-align:center;box-shadow:0 8px 30px rgba(0,0,0,.5)}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
