/* =====================================================================
   TU BOLETO GANADOR RD · identidad visual
   Azul marino, rojo y azul de la bandera dominicana, tomados del logo.
   Se carga al final: solo cambia la apariencia, no el comportamiento.
   ===================================================================== */
:root{
  color-scheme:dark;
  --tbg-bg:#050c22;--tbg-bg2:#081436;--tbg-surface:#0b1a45;--tbg-surface2:#102257;--tbg-raise:#14296a;
  --tbg-line:#1d3680;--tbg-line-soft:#ffffff17;
  --tbg-red:#e3141c;--tbg-red-hi:#ff4650;--tbg-red-deep:#a30b12;
  --tbg-blue:#1d4fd8;--tbg-blue-hi:#5b8cff;--tbg-blue-deep:#0f2f8f;--tbg-sky:#8ccafb;
  --tbg-white:#fff;--tbg-text:#f1f5ff;--tbg-muted:#a3b3d8;--tbg-sun:#ffcf3f;--tbg-ok:#3ddc84;
  --tbg-flag:linear-gradient(90deg,var(--tbg-blue) 0 33.3%,#fff 33.3% 66.6%,var(--tbg-red) 66.6%);
  /* compatibilidad con las variables heredadas */
  --ink:var(--tbg-bg);--ink-2:var(--tbg-surface);--ink-3:var(--tbg-surface2);--ink-4:var(--tbg-raise);
  --line:var(--tbg-line);--bone:var(--tbg-text);--text:var(--tbg-text);--muted:var(--tbg-muted);
  --acento:var(--tbg-blue-hi);--acento-hi:#fff;--acento-deep:var(--tbg-blue);--acento-light:var(--tbg-sky);
  --accent:var(--tbg-blue-hi);--accent-text:var(--tbg-sky);--text-hover:var(--tbg-sky);
  --surface:var(--tbg-surface);--surface-soft:var(--tbg-bg2);--ok:var(--tbg-ok);--alert:#ff8a92;
  --display:"Kanit","Arial Black",Arial,sans-serif;
  --body:"Rubik","Segoe UI",Arial,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  --r:18px;
}
html,body{background:var(--tbg-bg)}
body{
  font-family:var(--body);color:var(--tbg-text);
  background:
    radial-gradient(900px 520px at 8% -8%,#e3141c22,transparent 62%),
    radial-gradient(900px 600px at 100% 0%,#1d4fd833,transparent 60%),
    radial-gradient(700px 700px at 50% 120%,#1d4fd81f,transparent 60%),
    var(--tbg-bg);
  background-attachment:fixed;
}
h1,h2,h3,h4{font-family:var(--display);letter-spacing:0}
a{color:var(--tbg-sky)}a:hover{color:#fff}
:focus-visible{outline:3px solid var(--tbg-sky);outline-offset:3px}
::selection{background:var(--tbg-red);color:#fff}
.site-loading{color:var(--tbg-muted)}
.preview-notice{background:var(--tbg-sun);color:#1a1300}.preview-notice a{color:#1a1300}

/* franja tricolor reutilizable */
.tbg-flagline{display:flex;height:4px;width:100%}
.tbg-flagline i{flex:1}
.tbg-flagline i:nth-child(1){background:var(--tbg-blue)}
.tbg-flagline i:nth-child(2){background:#fff}
.tbg-flagline i:nth-child(3){background:var(--tbg-red)}

/* ---------- botones base ---------- */
.btn{font-family:var(--display);font-weight:700;letter-spacing:.02em;border-radius:12px}
.btn-main,.tbg-btn-red{
  position:relative;overflow:hidden;isolation:isolate;
  background:linear-gradient(180deg,var(--tbg-red-hi),var(--tbg-red) 55%,var(--tbg-red-deep));
  border:1px solid #ff6b73;color:#fff;box-shadow:0 8px 22px #e3141c40,inset 0 1px 0 #ffffff40;
  text-transform:uppercase;font-style:italic;
}
.btn-main:hover,.tbg-btn-red:hover{background:linear-gradient(180deg,#ff5a63,#f01d26 55%,#b80d15);color:#fff;transform:translateY(-1px);box-shadow:0 10px 28px #e3141c55,inset 0 1px 0 #ffffff40}
.btn-main::before{background:linear-gradient(110deg,transparent 25%,#ffffff40,transparent 75%)}
.btn-main:disabled{filter:saturate(.35) brightness(.8);box-shadow:none}
.btn-ghost{background:var(--tbg-surface);border-color:var(--tbg-line);color:var(--tbg-text)}
.btn-ghost:hover{background:var(--tbg-surface2);border-color:var(--tbg-blue-hi);color:#fff}
.tbg-btn-outline{background:#ffffff0d;border:1.5px solid #ffffffb3;color:#fff;font-style:italic;text-transform:uppercase}
.tbg-btn-outline:hover{background:#fff;color:var(--tbg-bg);border-color:#fff}
.btn svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}

/* ---------- encabezado ---------- */
.hdr{background:#050c22e6;border-bottom:1px solid var(--tbg-line-soft);box-shadow:0 6px 24px #0007;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.hdr .tbg-flagline{height:4px}
.hdr-in{min-height:78px}
.hdr .brand{gap:12px}
.hdr .brand img{width:58px;height:58px;border-radius:50%;background:transparent;filter:drop-shadow(0 4px 10px #0009)}
.hdr .brand b{font:800 italic 19px/1 var(--display);letter-spacing:.01em;text-transform:uppercase;color:#fff}
.hdr .brand b i{color:var(--tbg-red-hi);font-style:italic;text-shadow:0 0 18px #e3141c66}
.hdr .brand small{display:block;margin-top:5px;font:500 10px/1.2 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--tbg-sky)}
.hdr .nav button{
  display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:999px;
  background:linear-gradient(180deg,#2a5ef0,var(--tbg-blue));border:1px solid #5b8cff;color:#fff;
  font:600 13px/1 var(--body);letter-spacing:.02em;text-transform:none;box-shadow:0 6px 16px #1d4fd84d;
}
.hdr .nav button:hover{background:#fff;color:var(--tbg-blue-deep);border-color:#fff}
.hdr .nav button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}

/* ---------- portada ---------- */
.tbg-hero{padding:28px 0 4px}
.tbg-hero-card{
  position:relative;overflow:hidden;isolation:isolate;
  display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr);align-items:center;gap:24px;
  padding:38px 42px;border-radius:28px;border:1px solid #ffffff1f;
  background:linear-gradient(125deg,#0f2f8f 0%,#0a1d5a 46%,#071233 100%);
  box-shadow:0 30px 70px #0009,inset 0 1px 0 #ffffff1a;
}
/* cintas diagonales roja y blanca, como en la bandera del logo */
.tbg-hero-card::before{content:"";position:absolute;z-index:-1;right:-12%;top:-40%;width:58%;height:180%;
  background:linear-gradient(90deg,transparent 0 18%,#ffffff12 18% 26%,#e3141c 26% 44%,#ffffff 44% 47%,#1d4fd8 47% 100%);
  transform:rotate(18deg);opacity:.32}
.tbg-hero-card::after{content:"";position:absolute;z-index:-1;inset:0;
  background:radial-gradient(500px 300px at 82% 50%,#5b8cff40,transparent 70%),repeating-linear-gradient(135deg,#ffffff06 0 2px,transparent 2px 14px)}
.tbg-hero-eyebrow{display:inline-flex;align-items:center;gap:9px;margin:0 0 14px;padding:7px 13px;border-radius:999px;background:#ffffff14;border:1px solid #ffffff24;font:600 11px/1 var(--body);letter-spacing:.12em;text-transform:uppercase;color:#dbe6ff}
.tbg-live{width:9px;height:9px;border-radius:50%;background:var(--tbg-red-hi);box-shadow:0 0 0 0 #ff465099;animation:tbg-live 1.6s ease-out infinite}
.tbg-hero h1{margin:0;font:900 italic clamp(34px,4.6vw,58px)/1.02 var(--display);text-transform:uppercase;color:#fff;text-shadow:0 4px 0 #0a1d5a,0 10px 30px #0008}
.tbg-hero h1 span{color:var(--tbg-red-hi);-webkit-text-stroke:1px #fff;paint-order:stroke fill}
.tbg-hero-desc{margin:16px 0 0;max-width:52ch;font-size:16px;line-height:1.6;color:#c9d6f5}
.tbg-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.tbg-hero-actions .btn{min-height:52px;padding:14px 24px;font-size:15px}
.tbg-hero-steps{list-style:none;margin:26px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.tbg-hero-steps li{display:flex;align-items:center;gap:9px;padding:8px 13px 8px 8px;border-radius:12px;background:#050c2273;border:1px solid #ffffff1a;font-size:13px;color:#dfe7fb}
.tbg-hero-steps b{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:#fff;color:var(--tbg-blue-deep);font:800 13px/1 var(--display)}
.tbg-hero-art{display:grid;place-items:center}
.tbg-hero-art .hero-logo{width:min(100%,360px);height:auto;aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 22px 34px #000a);animation:tbg-float 6s ease-in-out infinite;border-radius:0;background:transparent}

/* ---------- catálogo ---------- */
.raffle-catalogue{padding:34px 0 26px}
.tbg-section-head{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:6px 20px;margin-bottom:22px;padding-left:16px;border-left:5px solid var(--tbg-red)}
.tbg-section-head h2{margin:0;font:800 italic clamp(24px,3vw,32px)/1.1 var(--display);text-transform:uppercase;color:#fff}
.tbg-section-head p{margin:0;color:var(--tbg-muted);font-size:14px}
#comprar{scroll-margin-top:100px}

/* tarjeta del sorteo */
.raffle-card,.raffle-grid .raffle-card{
  position:relative;border:1px solid #2a4796;border-radius:24px;overflow:hidden;
  background:linear-gradient(180deg,#0d1f52,#091640 55%,#071233);
  box-shadow:0 22px 50px #0008,inset 0 1px 0 #ffffff14;
}
.raffle-card::before{content:"";display:block;position:absolute;z-index:4;inset:0 0 auto;height:5px;opacity:1;transform:none;animation:none;background:var(--tbg-flag)}
.raffle-card:hover{transform:translateY(-4px);border-color:var(--tbg-blue-hi);box-shadow:0 26px 60px #000a,0 0 0 1px #5b8cff55}
.raffle-cover-box{position:relative;background:radial-gradient(ellipse at 50% 40%,#1d4fd833,transparent 70%),#061032;border-bottom:1px solid #ffffff14}
.raffle-card.unavailable .raffle-card-cover{filter:grayscale(.55) brightness(.8)}
.raffle-no-cover{background:radial-gradient(ellipse at 50% 45%,#1d4fd840,transparent 68%),#061032}
.raffle-no-cover img{filter:drop-shadow(0 12px 22px #000a)}
.tbg-card-tag{position:absolute;z-index:3;left:14px;top:18px;padding:7px 12px 7px 10px;border-radius:0 10px 10px 0;background:var(--tbg-red);color:#fff;font:700 italic 12px/1 var(--display);letter-spacing:.06em;box-shadow:0 6px 14px #0007}
.tbg-card-tag::before{content:"";position:absolute;left:-6px;top:0;bottom:0;width:6px;background:#fff}
.tbg-card-badge{position:absolute;z-index:3;right:14px;top:18px;max-width:55%;padding:7px 12px;border-radius:999px;background:#fff;color:var(--tbg-blue-deep);font:700 11px/1 var(--body);letter-spacing:.08em;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-shadow:0 6px 14px #0007}
.raffle-card-body{padding:24px 24px 22px;gap:16px}
.raffle-card h2,.raffle-grid.single .raffle-card h2{font:800 italic 26px/1.15 var(--display);text-transform:uppercase;color:#fff;letter-spacing:.005em;text-align:left}
.raffle-grid.single .raffle-card h2{font-size:34px}

/* precio en forma de boleto */
.raffle-price{
  position:relative;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:0;
  border-radius:14px;background:#fff;color:var(--tbg-bg);overflow:hidden;
  -webkit-mask:radial-gradient(circle 9px at 0 50%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 9px at 100% 50%,#0000 98%,#000) right/51% 100% no-repeat;
          mask:radial-gradient(circle 9px at 0 50%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 9px at 100% 50%,#0000 98%,#000) right/51% 100% no-repeat;
}
.raffle-price strong{display:flex;align-items:baseline;gap:3px;padding:12px 18px 12px 22px;font:800 italic 32px/1 var(--display);color:var(--tbg-red);letter-spacing:-.01em;border-right:2px dashed #c9d3ea}
.raffle-price strong small{font:700 14px/1 var(--display);color:var(--tbg-blue-deep);font-style:italic}
.raffle-price>span{padding:10px 20px 10px 16px;text-align:left;font:600 12px/1.45 var(--body);color:#2a3d73}

/* progreso */
.raffle-progress>div:first-child{display:flex;align-items:center;justify-content:space-between;color:var(--tbg-muted);font:600 12px var(--body);letter-spacing:.02em}
.raffle-progress>div:first-child strong{padding:4px 10px;border-radius:999px;background:var(--tbg-red);color:#fff;font:700 13px/1 var(--display)}
.raffle-progress .sales-track{height:12px;border-radius:999px;background:#050c22;border:1px solid #ffffff1c;box-shadow:inset 0 2px 4px #0008}
.raffle-progress .raffle-fill,.sales-track i{background:linear-gradient(90deg,var(--tbg-blue),var(--tbg-blue-hi) 55%,#fff);box-shadow:0 0 14px #5b8cff66}
.raffle-fill:after{opacity:1;animation:tbg-stripes 1.2s linear infinite;background:repeating-linear-gradient(-45deg,#ffffff38 0 8px,transparent 8px 16px);transform:none}

/* botón Comprar: rojo, con brillo y respiración (sin sacudidas) */
.raffle-card-buy .btn-comprar{
  height:60px;border-radius:16px;border:2px solid #fff;
  background:linear-gradient(180deg,var(--tbg-red-hi),var(--tbg-red) 52%,var(--tbg-red-deep));
  color:#fff;font:900 italic 24px/1 var(--display);letter-spacing:.06em;
  box-shadow:0 10px 26px #e3141c55,inset 0 1px 0 #ffffff59;
  animation:tbg-respira 2.2s ease-in-out infinite;
}
.raffle-card-buy .btn-comprar svg{stroke-width:4.4}
.btn-comprar::after,#checkoutNext::after{background:linear-gradient(120deg,transparent,#ffffffa6,transparent);animation:tbg-buy-brillo 2.4s infinite}
.btn-comprar:focus-visible{outline:3px solid var(--tbg-sky)}
.raffle-card-buy .btn:disabled{background:#0d1b48;border:1px solid #2a4796;color:var(--tbg-muted);font:700 italic 18px/1 var(--display);letter-spacing:.08em;text-transform:uppercase}

/* cuenta regresiva en mosaicos */
.raffle-clock,.raffle-card-body>.raffle-clock{padding:14px 12px 12px;border-radius:16px;border:1px solid #2a4796;background:linear-gradient(180deg,#0a1a4d,#081438)}
.raffle-clock>p{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--tbg-sky);font:600 11px/1 var(--body);letter-spacing:.16em}
.raffle-clock>p::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--tbg-red-hi);animation:tbg-live 1.6s ease-out infinite}
.raffle-countdown{gap:8px;max-width:340px}
.raffle-countdown div{padding:9px 0 7px;border-radius:12px;background:linear-gradient(180deg,#2a5ef0,var(--tbg-blue-deep));box-shadow:inset 0 1px 0 #ffffff33,0 6px 14px #0006}
.raffle-countdown b{font:700 26px/1 var(--mono);color:#fff;text-shadow:none;font-variant-numeric:tabular-nums}
.raffle-countdown span{font:600 9px var(--body);letter-spacing:.14em;color:#cfe0ff}
.raffle-clock.urgent{border-color:#ff465066;background:linear-gradient(180deg,#3a0b16,#1c0a1c)}
.raffle-clock.urgent .raffle-countdown div{background:linear-gradient(180deg,var(--tbg-red-hi),var(--tbg-red-deep))}
.raffle-clock.urgent p,.raffle-clock.urgent b{color:#fff}

/* detalles */
.raffle-details{border-top:1px dashed #ffffff26}
.raffle-details summary{padding-top:14px;color:#dfe7fb;font:600 13px var(--body)}
.raffle-details summary span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--tbg-red);color:#fff;font:700 18px/1 var(--body)}
.raffle-details .raffle-date{color:var(--tbg-sun)}
.raffle-details p{color:var(--tbg-muted)}
.raffle-prize-detail{border-color:#ffffff14}
.raffle-prize-detail b{color:#fff}

/* ---------- pie ---------- */
footer#legal{background:#030817;border-top:0;padding:0 0 25px;margin-top:10px}
footer#legal>.tbg-flagline{margin-bottom:14px}
.footer-contact a{color:#dbe6ff}
.developer-credit{background:transparent;border-top:1px solid #ffffff12;isolation:auto}
.developer-logo{background:transparent}
.legal{border-color:#ffffff12;color:var(--tbg-muted)}
.legal a{color:#dbe6ff}
.disclaimer{color:#8d9cc2}
.age{border-color:var(--tbg-red);color:#fff;background:var(--tbg-red)}
.legal-copy>summary{color:#fff}
.legal-point{border-color:#5b8cff33;border-left-color:var(--tbg-red);background:#0a1740}
.legal-point h3{color:#fff;font-family:var(--body)}
.legal-point li::marker{color:var(--tbg-red-hi)}
.legal-document .legal-point p,.legal-document .legal-point ul{color:#d5def4}

/* ---------- botón de WhatsApp ---------- */
.wa{background:#25d366;box-shadow:0 10px 24px #0009,0 0 0 4px #ffffff1f}

/* ---------- ventanas: compra y verificador ---------- */
.purchase-dialog,.verifier-dialog{background:var(--tbg-bg2);color:var(--tbg-text);border:1px solid #2a4796;border-radius:24px;box-shadow:0 30px 120px #000e,0 0 0 1px #ffffff0d}
.purchase-dialog::backdrop,.verifier-dialog::backdrop{background:#020615d9;backdrop-filter:blur(6px)}
.checkout-shell{background:linear-gradient(180deg,#0a1a4d 0,var(--tbg-bg2) 220px);border-top:5px solid;border-image:var(--tbg-flag) 1}
.verifier-dialog{border-top:5px solid #fff;border-image:var(--tbg-flag) 1}
.checkout-header,.verifier-dialog .checkout-header{background:transparent;border-bottom:1px solid #ffffff14}
.checkout-header .eyebrow{color:var(--tbg-red-hi);font:700 11px var(--body);letter-spacing:.14em}
.checkout-header h2{font:800 italic 26px/1.15 var(--display);text-transform:uppercase;color:#fff}
#purchaseDialog .checkout-logo{border-radius:50%;filter:drop-shadow(0 4px 10px #0009)}
.checkout-close{background:#fff;color:var(--tbg-bg);border:0;font-weight:500}
.checkout-close:hover{background:var(--tbg-red);color:#fff;border:0}
.checkout-scroll{scrollbar-color:#2a4796 transparent}
.checkout-scroll::-webkit-scrollbar-thumb{background:#2a4796}
.buy-description{color:#c3d0ef}
.buy-legend{display:flex;align-items:center;gap:10px;font:800 italic 15px/1 var(--display);letter-spacing:.06em;color:#fff}
.buy-legend::before{content:"";width:6px;height:18px;border-radius:2px;background:var(--tbg-red);transform:skewX(-14deg)}
.buy-block{border-top:1px dashed #ffffff21}
.buy-hint,.stage-footnote{color:var(--tbg-muted)}

/* boletos premiados: tablero azul con boletos blancos */
.prized-board{border:1px solid #3c63c9;border-radius:22px;background:linear-gradient(180deg,#123a9e,#0b2266 55%,#0a1a4d);padding:0 12px 16px;overflow:hidden}
.prized-head{margin:0 -12px 16px;padding:16px 12px 14px;background:linear-gradient(90deg,var(--tbg-red-deep),var(--tbg-red),var(--tbg-red-deep));border-bottom:3px solid #fff}
.prized-crown{color:var(--tbg-sun);font-size:28px}
.prized-head h3{color:#fff;font:900 italic 24px/1.2 var(--display);letter-spacing:.06em}
.prized-head p{color:#ffe1e3}
.prized-legend{color:#fff}
.leg-circulo,.prized-card.is-available .prized-state i,.prized-card.is-locked .prized-state i{border-color:var(--tbg-red)}
.leg-circulo::after,.prized-card.is-available .prized-state i::after,.prized-card.is-locked .prized-state i::after{background:var(--tbg-red-hi)}
.prized-card,.prized-card.is-locked{
  border:0;border-radius:12px;background:linear-gradient(180deg,#ffffff,#e8eefc);box-shadow:none;padding-top:22px;
  -webkit-mask:radial-gradient(circle 6px at 0 62%,#0000 96%,#000) left/51% 100% no-repeat,radial-gradient(circle 6px at 100% 62%,#0000 96%,#000) right/51% 100% no-repeat;
          mask:radial-gradient(circle 6px at 0 62%,#0000 96%,#000) left/51% 100% no-repeat,radial-gradient(circle 6px at 100% 62%,#0000 96%,#000) right/51% 100% no-repeat;
}
.tk-float{animation-name:tbg-flota}
.tk-float::after{background:linear-gradient(90deg,transparent,#ffffff 45%,#dbe6ff 55%,transparent);opacity:.7}
.prized-number,.prized-card.is-locked .prized-number{font:700 17px/1 var(--mono);color:var(--tbg-blue-deep)}
.prized-amount{color:var(--tbg-red)}
.prized-currency{border-top:2px dashed #b8c6e8;color:#5a6b96}
.prized-state{color:var(--tbg-blue-deep)}
.prized-card.is-pending{background:linear-gradient(180deg,#d7def0,#b9c5e2)}
.prized-card.is-pending .prized-number{color:#41507a}
.prized-card.is-won{background:linear-gradient(180deg,#0a1d5a,#06123a);box-shadow:inset 0 0 0 1px #5b8cff66}
.prized-card.is-won .prized-number{color:#8ea3d6}
.prized-card.is-won .prized-amount,.prized-card.is-won .prized-state i{color:var(--tbg-sun)}
@keyframes tkPunto{0%,100%{filter:none}50%{filter:drop-shadow(0 0 5px #ff4650) brightness(1.15)}}
@keyframes tkTitila{0%,100%{filter:none}50%{filter:drop-shadow(0 0 6px #ffcf3f) brightness(1.4)}}
@keyframes tkHalo{0%,100%{box-shadow:0 0 0 #5b8cff00}50%{box-shadow:0 0 30px #5b8cff73}}
@keyframes tkLuz{0%,100%{filter:none}50%{filter:drop-shadow(0 0 12px #ffcf3f)}}

/* paquetes */
.pack-row{border:1px solid #2a4796;border-radius:14px;background:linear-gradient(90deg,#0d1f55,#0a1846);color:#fff;padding:12px 15px}
.pack-row:hover{border-color:var(--tbg-blue-hi)}
.pack-row[aria-pressed="true"]{border-color:#fff;background:linear-gradient(90deg,#1d4fd8,#13348f 70%);box-shadow:0 0 0 3px #5b8cff40,inset 6px 0 0 var(--tbg-red)}
.pack-row::after{background:linear-gradient(90deg,transparent,#ffffff2e,transparent);background-size:220% 100%}
.pack-row-icon{border-radius:50%;background:var(--tbg-red);color:#fff;box-shadow:0 4px 10px #e3141c55}
.pack-row-name{font:700 italic 15px/1.2 var(--display);letter-spacing:.04em}
.pack-row-name em{background:#fff;color:var(--tbg-red);font-family:var(--body)}
.pack-row-qty b{font-family:var(--display);font-size:21px}
.pack-row-qty small{color:#b9c8ec}
.pack-row-price{color:#fff;font:700 16px/1.2 var(--display)}
.pack-row-price small{color:var(--tbg-sun);font-family:var(--body)}
.custom-package,.custom-package.is-active{border:1.5px dashed #5b8cff;background:#1d4fd81a;border-radius:14px}
.custom-package.is-active{border-style:solid;border-color:#fff;box-shadow:0 0 0 3px #5b8cff40}
.custom-package b{color:#fff}
.custom-package small{color:var(--tbg-muted)}
.checkout-stepper{border-color:#5b8cff;border-radius:10px}
.checkout-stepper button{background:var(--tbg-blue);color:#fff}
.checkout-stepper button:hover{background:var(--tbg-blue-hi)}
.checkout-stepper input{background:#050c22;color:#fff;font-family:var(--mono)}

/* datos */
.field label,.checkout-fields label{color:#dfe7fb}
.field label span{color:var(--tbg-red-hi)}
input[type="text"],input[type="tel"],select,textarea,.checkout-fields input,.verifier-dialog input{background:#050c22;border:1px solid #2a4796;color:#fff;border-radius:12px}
input::placeholder{color:#7486b3}
input:focus,select:focus,.checkout-fields input:focus{border-color:var(--tbg-blue-hi);outline:3px solid #5b8cff40;outline-offset:0}

/* pago */
.concept-notice{border:1px solid #ff465066;border-left:4px solid var(--tbg-red);background:linear-gradient(115deg,#e3141c24,#e3141c0a)}
.concept-notice-icon{background:var(--tbg-red);color:#fff}
.concept-notice b{color:#fff}
.concept-notice p{color:#e5ebfb}
.concept-notice q{color:#ffd0d3}
.transfer-concept-warning{color:#ff9aa0!important}
.bank-option{border:1px solid #2a4796;border-radius:14px;background:#0b1a4a;color:#fff}
.bank-option:hover{border-color:var(--tbg-blue-hi)}
.bank-option[aria-pressed="true"]{border-color:#fff;background:linear-gradient(90deg,#163fb0,#0b1a4a 70%)}
.bank-option[aria-pressed="true"] .bank-option-check{background:var(--tbg-red);border-color:var(--tbg-red);color:#fff}
.bank-selected-label{color:var(--tbg-sun)}
.bank-option[aria-expanded="true"] .bank-option-chevron{color:#fff}
.bank-details{border-color:#fff;background:#0b1a4a}
.transfer-amount{border-bottom:2px dashed #5b8cff66}
.transfer-amount small,.account-detail small{color:var(--tbg-sky);font-family:var(--body);font-weight:600}
.transfer-amount strong{font:800 italic 28px var(--display);color:#fff}
.account-detail b{color:#fff}
.account-detail button{background:var(--tbg-blue);border:0;color:#fff;border-radius:8px;font-weight:600}
.account-detail button:hover{background:var(--tbg-blue-hi)}
.transfer-reference strong{color:var(--tbg-sun)}
.checkout-unavailable{border-color:#5b8cff55;background:#1d4fd814}
.checkout-unavailable>span{color:var(--tbg-sun)}
.checkout-unavailable h4{color:#fff}

/* comprobante */
.receipt-drop{border:2px dashed #5b8cff;border-radius:16px;background:#1d4fd812}
.receipt-drop:hover{border-color:#fff;background:#1d4fd826}
.receipt-drop.has-file{border-style:solid;border-color:var(--tbg-ok)}
.upload-icon{background:var(--tbg-red);border:0;color:#fff;box-shadow:0 8px 20px #e3141c55}
.receipt-drop b{color:#fff}

/* aceptación: el azul marca la aceptación, el rojo envía */
.purchase-consent{border:1px solid #5b8cff66;background:linear-gradient(180deg,#0f2a7a,#0b1d5a)}
.purchase-consent p{color:#e6edff}
.purchase-consent p button{color:var(--tbg-sky)}
.purchase-confirm{display:flex;align-items:center;justify-content:center;gap:12px;background:transparent;border:2px solid #fff;color:#fff;font:800 italic 20px/1.3 var(--display);letter-spacing:.04em;text-transform:uppercase}
.purchase-confirm::before{margin:0;vertical-align:0;flex:none}
.purchase-confirm:hover{background:#ffffff14}
.purchase-confirm[aria-pressed="true"]{background:var(--tbg-blue);border-color:#fff;box-shadow:0 0 0 3px #5b8cff66}
.purchase-confirm[aria-pressed="true"]::before{background:#fff;color:var(--tbg-blue);border-color:#fff}
.purchase-consent .consent-status{color:#cfe0ff}
.checkout-legal{background:#050c22;border-color:#2a4796;color:var(--tbg-muted)}

/* pie de la compra */
.checkout-footer{background:linear-gradient(180deg,#081436,#050c22);border-top:1px solid #ffffff1a;box-shadow:0 -10px 30px #0008}
.checkout-total small{color:var(--tbg-sky);font:600 10px var(--body);letter-spacing:.14em}
.checkout-total strong{font:900 italic 30px/1 var(--display);color:#fff}
.checkout-total>span{color:var(--tbg-muted)}
#checkoutNext{font-style:italic;text-transform:uppercase;letter-spacing:.03em}
#checkoutNext:not(:disabled){animation:tbg-respira 2.2s ease-in-out infinite}
.checkout-message{background:#3a0b16;border-color:#ff465080;color:#ffd0d3}
.field-error{color:#ff9aa0}
.field-error::before{background:var(--tbg-red);color:#fff}

/* confirmación y verificador */
.success-orbit{border:3px solid #fff;background:var(--tbg-blue);box-shadow:0 0 0 6px #5b8cff40}
.success-orbit span{color:#fff}
.checkout-success h3{font:900 italic 30px var(--display);color:#fff}
.purchase-confirmation{border-color:#2a4796;background:linear-gradient(180deg,#0d2263,#0a1846)}
.purchase-confirmation .confirmation-raffle{color:var(--tbg-sun)}
.assigned-tickets{border-color:#2a4796;background:#050c22}
.assigned-heading h4{color:#fff;font-family:var(--display)}
.assigned-heading>span{background:var(--tbg-red);color:#fff}
.assigned-ticket{border:0;border-radius:10px;background:linear-gradient(180deg,#fff,#e6edfd);box-shadow:none;
  -webkit-mask:radial-gradient(circle 5px at 0 50%,#0000 96%,#000) left/51% 100% no-repeat,radial-gradient(circle 5px at 100% 50%,#0000 96%,#000) right/51% 100% no-repeat;
          mask:radial-gradient(circle 5px at 0 50%,#0000 96%,#000) left/51% 100% no-repeat,radial-gradient(circle 5px at 100% 50%,#0000 96%,#000) right/51% 100% no-repeat}
.assigned-ticket>span{color:var(--tbg-red)}
.assigned-ticket strong{color:var(--tbg-blue-deep)}
.assigned-tickets.approved .assigned-ticket{background:linear-gradient(180deg,#eafff2,#c9f5dc)}
.assigned-status{color:var(--tbg-sky);border-color:#ffffff26}
.assigned-tickets.approved .assigned-status{color:var(--tbg-ok)}
.ticket-pdf{border:1.5px solid #fff;color:#fff;border-radius:12px}
.ticket-pdf:hover:not(:disabled){background:#fff;color:var(--tbg-bg);border-color:#fff}
.copy-numbers,.verifier-shortcut{background:var(--tbg-surface2);border-color:#2a4796;color:#fff}
.copy-numbers:hover,.verifier-shortcut:hover{background:var(--tbg-blue);border-color:#fff}
.confirmation-guide{background:#1d4fd81a;border-color:#2a4796;border-left-color:var(--tbg-red)}
.confirmation-guide>strong{color:#fff}
#verificador{background:radial-gradient(ellipse at 50% 55%,#1d4fd833,transparent 70%),var(--tbg-bg2)}
#verificador .verifier-watermark{opacity:.1}
.verifier-body>p{color:var(--tbg-muted)}
#lookupForm .btn{width:100%}
.lookup-purchase h3{color:#fff}
.lookup-purchase+.lookup-purchase{border-color:#ffffff1f}

/* ---------- barra inferior en celulares ---------- */
@media(max-width:650px){
  body{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}
  .mobile-dock{
    left:0;right:0;bottom:0;height:calc(62px + env(safe-area-inset-bottom,0px));padding:6px 10px env(safe-area-inset-bottom,0px);
    gap:4px;border:0;border-top:1px solid #ffffff1f;border-radius:20px 20px 0 0;
    background:linear-gradient(180deg,#0b1a4a,#050c22);box-shadow:0 -10px 30px #000a;
  }
  .mobile-dock::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;border-radius:20px 20px 0 0;background:var(--tbg-flag);opacity:.9}
  .mobile-dock-item{height:48px;border:0;border-radius:12px;color:#9fb0d6;gap:4px}
  .mobile-dock-item svg{width:21px;height:21px}
  .mobile-dock-item span{font:600 9px/1.2 var(--body);letter-spacing:.08em}
  .mobile-dock-home[aria-current="page"],.mobile-dock-verify[aria-current="page"]{border:0;background:#ffffff0f;color:#fff;box-shadow:none}
  .mobile-dock-home[aria-current="page"]::before,.mobile-dock-verify[aria-current="page"]::before{content:"";position:absolute;top:3px;left:50%;width:24px;height:3px;margin-left:-12px;border-radius:3px;background:var(--tbg-red-hi)}
  .mobile-dock-buy{
    justify-self:center;width:64px;height:64px;padding:0;transform:translateY(-16px);
    border-radius:50%;border:3px solid #fff;color:#fff;
    background:linear-gradient(180deg,var(--tbg-red-hi),var(--tbg-red) 55%,var(--tbg-red-deep));
    box-shadow:0 0 0 5px #050c22,0 10px 22px #e3141c66;
    animation:tbg-respira 2.2s ease-in-out infinite;
  }
  .mobile-dock-buy::after{background:linear-gradient(90deg,transparent,#ffffffb3,transparent);animation:tbg-dock-shine 3s ease-in-out infinite}
  .mobile-dock-buy svg{width:24px;height:21px;stroke-width:2}
  .mobile-dock-buy span{font:800 italic 9px/1 var(--display);letter-spacing:.06em}
  .mobile-dock-buy:disabled{animation:none;opacity:.55;filter:saturate(.3)}
  .wa{bottom:calc(92px + env(safe-area-inset-bottom,0px))}
  #purchaseDialog .checkout-shell{height:calc(100dvh - 80px - env(safe-area-inset-bottom,0px));max-height:calc(100dvh - 80px - env(safe-area-inset-bottom,0px))}
  #verificador[open]{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}
  #purchaseDialog,#verificador{border:0;border-radius:0}
  #verificador{border-top:5px solid #fff;border-image:var(--tbg-flag) 1}
}

/* ---------- adaptaciones ---------- */
@media(max-width:900px){
  .tbg-hero-card{grid-template-columns:minmax(0,1fr) 220px;padding:30px}
}
@media(max-width:650px){
  .hdr-in{min-height:66px}
  .hdr .brand img{width:46px;height:46px}
  .hdr .brand b{font-size:14px}
  .hdr .brand small{font-size:8px;letter-spacing:.1em}
  .hdr .nav button{padding:10px 13px;font-size:12px}
  .tbg-hero{padding-top:14px}
  .tbg-hero-card{grid-template-columns:1fr;gap:0;padding:18px 16px 18px;border-radius:22px}
  .tbg-hero-art{position:absolute;right:10px;top:12px;width:106px}
  .tbg-hero-art .hero-logo{width:106px}
  .tbg-hero-eyebrow,.tbg-hero h1{margin-right:104px}
  .tbg-hero h1{font-size:29px}
  .tbg-hero-desc{font-size:14px;margin-top:12px}
  .tbg-hero-eyebrow{font-size:8.5px;letter-spacing:.08em;padding:6px 9px;margin-bottom:10px}
  .tbg-hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}
  .tbg-hero-actions .btn{min-height:48px;padding:12px 8px;font-size:12.5px}
  .tbg-hero-steps{display:none}
  .raffle-catalogue{padding-top:24px}
  .tbg-section-head{margin-bottom:16px;padding-left:12px}
  .tbg-section-head p{font-size:12.5px}
  .raffle-card-body{padding:20px 18px 18px}
  .raffle-card h2,.raffle-grid.single .raffle-card h2{font-size:24px}
  .raffle-price strong{font-size:28px;padding:11px 14px 11px 20px}
  .raffle-countdown b{font-size:23px}
  .raffle-card-buy .btn-comprar{height:56px;font-size:22px}
  .checkout-header h2,#purchaseDialog .checkout-heading-copy h2{font-size:19px}
  .prized-head h3{font-size:clamp(16px,5vw,22px)}
  .prized-number{font-size:clamp(11px,3.4vw,16px)}
  #purchaseDialog .checkout-total strong{font-size:22px}
}
@media(max-width:380px){
  .tbg-hero-art,.tbg-hero-art .hero-logo{width:88px}
  .tbg-hero-eyebrow,.tbg-hero h1{margin-right:86px}
  .tbg-hero h1{font-size:25px}
  .tbg-hero-actions .btn{font-size:11.5px}
  .hdr .brand b{font-size:12px}
  .hdr .brand small{display:none}
}

/* ---------- movimiento ---------- */
@keyframes tbg-live{0%{box-shadow:0 0 0 0 #ff4650a6}80%,100%{box-shadow:0 0 0 9px #ff465000}}
@keyframes tbg-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-10px) rotate(1deg)}}
@keyframes tbg-stripes{to{background-position:32px 0}}
@keyframes tbg-respira{0%,100%{box-shadow:0 10px 26px #e3141c55,0 0 0 0 #ff465066}50%{box-shadow:0 10px 30px #e3141c80,0 0 0 8px #ff465000}}
@keyframes tbg-buy-brillo{0%{left:-100%}55%,100%{left:170%}}
@keyframes tbg-flota{0%,100%{translate:0 1.5px}50%{translate:0 -1.5px}}
@keyframes tbg-dock-shine{0%,15%{left:-85%}60%,100%{left:150%}}
@media(prefers-reduced-motion:reduce){
  .tbg-live,.raffle-clock>p::before,.tbg-hero-art .hero-logo,.raffle-fill:after,.raffle-card-buy .btn-comprar,#checkoutNext:not(:disabled),.mobile-dock-buy,.mobile-dock-buy::after,.btn-comprar::after,#checkoutNext::after{animation:none!important}
  .raffle-card:hover,.btn-main:hover,.tbg-btn-red:hover{transform:none}
}
