:root{
  --black:#050505; --panel:#140f10; --panel-2:#1d1416;
  --red:#c8102e; --red-deep:#7a0a1b; --red-soft:#ff5a6e;
  --gold:#d4af37; --gold-light:#f4dc8f; --ivory:#f6efdc; --muted:#b9ab8c;
  --line:rgba(212,175,55,.28);
  --display:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;
  --body:"Figtree",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  color-scheme:dark;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
html{scroll-behavior:smooth;scroll-padding-top:calc(env(safe-area-inset-top,0px) + 72px)}
*,*::before,*::after{box-sizing:inherit}
body{margin:0;background:var(--black);color:var(--ivory);font:400 16px/1.55 var(--body);-webkit-font-smoothing:antialiased}
button,input{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--gold-light);outline-offset:2px}
a{color:var(--gold-light)}

/* Header */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px;background:rgba(5,5,5,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;font:900 26px/1 var(--display);color:var(--gold);text-decoration:none;letter-spacing:.02em}
.brand svg{width:26px;height:26px}
.nav{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.nav a{padding:8px 12px;border-radius:999px;color:var(--ivory);text-decoration:none;font-weight:600;font-size:15px}
.nav a:hover{background:rgba(212,175,55,.14)}
.nav .hide-s{display:none}
@media(min-width:640px){.nav .hide-s{display:inline-block}}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:12px;border:2px solid transparent;font-weight:700;font-size:16px;cursor:pointer;text-decoration:none;transition:transform .12s,background .12s}
.btn:active{transform:scale(.97)}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn-red{background:var(--red);border-color:var(--red);color:#fff}
.btn-red:hover:not(:disabled){background:#e0132f}
.btn-gold{background:var(--gold);border-color:var(--gold);color:#1a1200}
.btn-gold:hover:not(:disabled){background:var(--gold-light)}
.btn-ghost{background:transparent;border-color:var(--gold);color:var(--gold-light)}
.btn-ghost:hover{background:rgba(212,175,55,.12)}

/* Hero */
.hero-wrap{background:radial-gradient(70% 60% at 90% 0%,rgba(200,16,46,.4),transparent 70%),radial-gradient(50% 50% at 0% 100%,rgba(212,175,55,.12),transparent 70%)}
.hero{display:grid;gap:36px;max-width:1100px;margin:0 auto;padding:32px 20px 48px}
@media(min-width:860px){.hero{grid-template-columns:1.1fr .9fr;align-items:center;padding:72px 24px}}
.pill{display:inline-block;margin:0 0 16px;padding:6px 14px;border:1px solid var(--gold);border-radius:999px;color:var(--gold-light);font-weight:600;font-size:14px}
h1{margin:0 0 14px;font:900 clamp(40px,11vw,88px)/.9 var(--display);text-transform:uppercase;color:var(--ivory)}
.sub{margin:0 0 24px;color:var(--muted);font-size:18px;max-width:36ch}
.count{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;max-width:400px;margin-bottom:22px}
.count div{padding:10px 4px 8px;text-align:center;background:var(--panel);border:1px solid var(--line);border-radius:12px}
.count b{display:block;font:900 36px/1 var(--display);color:var(--gold-light);font-variant-numeric:tabular-nums}
.count span{font-size:13px;color:var(--muted)}
.meter{max-width:400px;margin-bottom:26px}
.meter-track{height:14px;border-radius:99px;background:var(--panel-2);border:1px solid var(--line);overflow:hidden}
.meter-fill{height:100%;width:0;background:linear-gradient(90deg,var(--red),var(--gold));border-radius:99px;transition:width 1.2s .3s cubic-bezier(.2,.7,.2,1)}
.meter-txt{display:flex;justify-content:space-between;margin-top:8px;font-size:14px;color:var(--muted)}
.meter-txt b{color:var(--ivory)}
.cta{display:flex;flex-wrap:wrap;gap:12px}

/* Ticket */
.ticket-col{display:flex;flex-direction:column;align-items:center;gap:26px}
.brand-logo{width:100%;max-width:320px;filter:drop-shadow(0 16px 40px rgba(0,0,0,.5))}
.ticket{position:relative;display:grid;grid-template-columns:1fr 170px;width:100%;max-width:480px;transform:rotate(-2.5deg);background:linear-gradient(135deg,var(--red) 0%,var(--red-deep) 100%);border:2px solid var(--gold);border-radius:18px;box-shadow:0 24px 60px rgba(200,16,46,.35)}
.ticket::before,.ticket::after{content:"";position:absolute;right:156px;width:28px;height:28px;border-radius:50%;background:var(--black)}
.ticket::before{top:-15px}.ticket::after{bottom:-15px}
.t-main{padding:20px 16px 18px 20px;display:flex;flex-direction:column;gap:6px}
.t-main .k{margin:0;font:800 18px/1 var(--display);color:var(--gold-light);letter-spacing:.06em}
.t-main h3{margin:0;font:900 30px/.95 var(--display);text-transform:uppercase}
.tv{width:88px;margin:6px 0 2px}
.t-main .p{margin:0;font-size:14px;color:#ffd9de}
.stub{border-left:2px dashed var(--gold-light);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:14px 6px}
.stub .lbl{font-size:13px;font-weight:600;color:#ffd9de}
.reels{display:flex;font:900 40px/1 var(--display);color:var(--gold-light)}
.reel{height:1em;width:.62em;overflow:hidden}
.strip{display:block}
.strip span{display:block;height:1em;text-align:center}
.ticket-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}

/* Sections */
.section{max-width:1100px;margin:0 auto;padding:56px 20px}
.section + .section{border-top:1px solid var(--line)}
h2{margin:0 0 8px;font:900 clamp(38px,8vw,60px)/.95 var(--display);text-transform:uppercase}
.lede{margin:0 0 26px;color:var(--muted);max-width:52ch}

/* Promo (boletos gratis) */
.promo-box{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:8px;padding:20px;border:1px dashed var(--gold);border-radius:16px;background:linear-gradient(160deg,rgba(212,175,55,.1),transparent 70%)}
.social-links{display:flex;flex-wrap:wrap;gap:10px}
.check{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--ivory);cursor:pointer}
.check input{width:20px;height:20px;accent-color:var(--gold);cursor:pointer}
#freeOut{margin-top:16px}

/* Tools */
.tools{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:16px}
.search{flex:1 1 180px;min-height:46px;padding:0 14px;border-radius:12px;border:1.5px solid var(--line);background:var(--panel);color:var(--ivory)}
.search::placeholder{color:#8b7f68}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{min-height:40px;padding:0 14px;border-radius:999px;border:1.5px solid var(--line);background:transparent;color:var(--ivory);font-weight:600;font-size:14px;cursor:pointer}
.chip[aria-pressed="true"]{background:var(--gold);border-color:var(--gold);color:#1a1200}
.chip:disabled{opacity:.4;cursor:not-allowed}
.random{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:18px;color:var(--muted);font-size:14px}
.legend{display:flex;flex-wrap:wrap;gap:16px;margin:0 0 16px;font-size:13px;color:var(--muted)}
.legend i{display:inline-block;width:14px;height:14px;border-radius:4px;margin-right:6px;vertical-align:-2px;border:1.5px solid var(--line)}
.lg-free{background:var(--panel)}.lg-sel{background:var(--red);border-color:var(--gold)!important}
.lg-hold{background:repeating-linear-gradient(135deg,#2a1a0f 0 4px,#1d120b 4px 8px)}.lg-paid{background:#0c0a0a;border-color:#221a18!important}
.nums{display:grid;grid-template-columns:repeat(auto-fill,minmax(66px,1fr));gap:8px}
.n{min-height:52px;border-radius:10px;border:1.5px solid var(--line);background:var(--panel);color:var(--ivory);font:800 17px/1 var(--display);cursor:pointer;transition:transform .1s,border-color .1s}
.n:hover:not(:disabled){border-color:var(--gold)}
.n:active:not(:disabled){transform:scale(.94)}
.n[aria-pressed="true"]{background:var(--red);border-color:var(--gold);color:var(--gold-light);box-shadow:0 0 0 2px rgba(212,175,55,.35)}
.n.paid{background:#0c0a0a;border-color:#221a18;color:#5f5240;text-decoration:line-through;cursor:not-allowed}
.n.hold{background:repeating-linear-gradient(135deg,#2a1a0f 0 6px,#1d120b 6px 12px);border-color:rgba(212,175,55,.35);color:var(--gold);cursor:not-allowed}
.empty{grid-column:1/-1;color:var(--muted)}
.pager{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:20px;color:var(--muted);font-size:14px;flex-wrap:wrap}
.pager b{color:var(--ivory)}

/* Tray */
.tray{position:fixed;left:0;right:0;bottom:0;z-index:50;display:grid;grid-template-columns:1fr auto;gap:10px 14px;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));background:rgba(10,6,6,.97);border-top:2px solid var(--gold);transform:translateY(110%);transition:transform .25s}
.tray.show{transform:none}
.tray-info{min-width:0}
.tray-info b{display:block;font:800 22px/1.1 var(--display)}
.tray-info span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:var(--muted)}
.tray-total{align-self:center;font:900 28px/1 var(--display);color:var(--gold-light)}
.tray-actions{grid-column:1/-1;display:flex;gap:10px}
.tray-actions .btn-gold{flex:1}
body.has-tray footer{padding-bottom:170px}

/* Verifier */
.verify{display:flex;flex-wrap:wrap;gap:10px;max-width:620px;margin-bottom:12px}
.verify .search{flex:1 1 240px;font-size:18px}
.hints{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:24px;color:var(--muted);font-size:14px}
.res{position:relative;display:grid;grid-template-columns:auto 1fr;gap:6px 20px;align-items:center;max-width:620px;padding:22px 20px;background:var(--panel-2);border:2px dashed var(--gold);border-radius:16px}
.res-num{font:900 56px/1 var(--display);color:var(--gold-light)}
.res h3{margin:0;font:800 26px/1.05 var(--display);text-transform:uppercase}
.res p{margin:4px 0 0;color:var(--muted)}
.res .btn{margin-top:12px}
.stamp{grid-column:1/-1;justify-self:start;padding:4px 16px;border:3px solid currentColor;border-radius:8px;font:900 28px/1.1 var(--display);text-transform:uppercase;transform:rotate(-4deg);animation:thump .45s cubic-bezier(.2,1.6,.4,1) both}
.res.paid .stamp{color:var(--gold)}
.res.hold .stamp{color:var(--red-soft)}
.res.free .stamp{color:var(--ivory)}
.res.err{border-color:var(--red-soft)}
.res.err h3{color:var(--red-soft)}
.res.list{grid-template-columns:1fr}
.mine{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.mine span{padding:4px 12px;border-radius:8px;font:800 18px/1.2 var(--display);border:1.5px solid var(--gold)}
.mine .h{border-color:var(--red-soft);color:var(--red-soft)}
@keyframes thump{from{transform:rotate(-4deg) scale(2.2);opacity:0}to{transform:rotate(-4deg) scale(1);opacity:1}}

/* Steps */
.steps{display:grid;gap:16px;margin:0 0 28px;padding:0;list-style:none}
@media(min-width:760px){.steps{grid-template-columns:repeat(3,1fr)}}
.steps li{position:relative;padding:20px 20px 20px 70px;background:var(--panel);border:1px solid var(--line);border-radius:16px}
.steps li::before{counter-increment:s;content:counter(s);position:absolute;left:18px;top:18px;width:38px;height:38px;border-radius:50%;background:var(--red);border:2px solid var(--gold);display:grid;place-items:center;font:900 22px/1 var(--display);color:var(--gold-light)}
.steps{counter-reset:s}
.steps h3{margin:0 0 4px;font:800 24px/1.05 var(--display);text-transform:uppercase}
.steps p{margin:0;color:var(--muted);font-size:15px}
.info{display:grid;gap:16px}
@media(min-width:760px){.info{grid-template-columns:1fr 1fr}}
.box{padding:20px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(160deg,rgba(200,16,46,.16),transparent 70%)}
.box h3{margin:0 0 8px;font:800 24px/1.05 var(--display);text-transform:uppercase;color:var(--gold-light)}
.box p,.box ul{margin:0;color:var(--muted);font-size:15px}
.box ul{padding-left:18px}
.finePrint{margin:20px 0 0;font-size:11.5px;line-height:1.5;color:#8b7f68;max-width:80ch}

footer{padding:40px 20px 96px;border-top:2px solid var(--gold);text-align:center;color:var(--muted);font-size:14px}
footer b{color:var(--gold);font:900 28px/1 var(--display)}
footer p{margin:6px auto;max-width:60ch}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}

/* Botón flotante de WhatsApp */
.wa-float{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:45;display:flex;align-items:center;gap:10px;min-height:56px;padding:0 22px 0 16px;border-radius:999px;background:#25d366;color:#062b12;font-weight:700;font-size:16px;text-decoration:none;box-shadow:0 8px 24px rgba(0,0,0,.55),0 0 0 2px var(--gold);transition:bottom .25s,transform .12s}
.wa-float:hover{background:#3ee37d}
.wa-float:active{transform:scale(.96)}
.wa-float svg{width:28px;height:28px;flex:none}
body.has-tray .wa-float{bottom:calc(150px + env(safe-area-inset-bottom,0px))}
