:root{
  color-scheme:dark;
  --sand:#0B0B0C;
  --sand-deep:#141416;
  --paper:#161618;
  --ink:#F4EFE3;
  --ink-soft:#A9A395;
  --ocean-deep:#050505;
  --lagoon:#D4AF37;
  --lagoon-dark:#E6C865;
  --hibiscus:#D4AF37;
  --hibiscus-dark:#8A6D1C;
  --papaya:#F0D27A;
  --papaya-dark:#F0D27A;
  --win:#E6C865;
  --line:#6E5E34;
  --card-bg:#141416;
  --gold-grad:linear-gradient(135deg, #F6E27A, #D4AF37 45%, #9C7A1E);
  --on-gold:#141109;
  --shadow:0 10px 28px -8px rgba(0,0,0,.7);
  /* fixed dark "brand" surface for header/hero */
  --night:#0E0E10;
  --night-2:#1B170E;
  --trust-glow:0 0 32px rgba(212,175,55,.16);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--sand);
  color:var(--ink);
  font-family:'Mukta',system-ui,-apple-system,sans-serif;
  padding-inline:0;
  overflow-x:hidden;
}
h1,h2,h3,.brand-word,.ticket-num{font-family:'Baloo 2',system-ui,sans-serif;}
.mono{font-family:'JetBrains Mono',ui-monospace,Menlo,monospace;}
.icon{width:1em; height:1em; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; vertical-align:-0.15em; display:inline-block;}
.dot{width:.5em; height:.5em; border-radius:50%; background:currentColor; display:inline-block;}
h1,h2,h3{text-wrap:balance; margin:0;}
p{line-height:1.6;}
a{color:inherit;}
img{max-width:100%;}
.wrap{max-width:1120px; margin-inline:auto; padding-inline:max(16px, env(safe-area-inset-left));}
section{padding-block:64px;}
.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-family:'JetBrains Mono',monospace; font-weight:600; font-size:.78rem;
  letter-spacing:.12em; text-transform:uppercase; color:var(--lagoon-dark);
  background:color-mix(in srgb, var(--lagoon) 16%, transparent);
  border:1px solid color-mix(in srgb, var(--lagoon) 45%, transparent);
  padding:6px 14px; border-radius:999px;
}

/* ---------- perforation divider ---------- */
.perf{
  height:22px;
  background-image: radial-gradient(circle, var(--sand) 5px, transparent 5.5px);
  background-size: 26px 22px;
  background-position: center;
  position:relative;
}
.perf::before, .perf::after{
  content:""; position:absolute; left:0; right:0; height:1px;
  background:repeating-linear-gradient(to right, var(--line) 0 8px, transparent 8px 14px);
  opacity:.5;
}
.perf::before{top:10px;}
.perf::after{top:12px;}

/* ---------- header ---------- */
header{
  position:sticky; top:12px; z-index:100;
  width:calc(100% - 28px); max-width:1120px; margin-inline:auto;
  background:linear-gradient(135deg, var(--night), var(--night-2));
  border:1px solid rgba(255,255,255,.35);
  border-radius:999px;
  box-shadow:0 14px 40px -10px rgba(0,0,0,.55), var(--trust-glow);
  backdrop-filter:blur(14px);
  transition:transform .35s cubic-bezier(.4,0,.2,1), box-shadow .3s;
}
header.nav-hidden{transform:translateY(-140%);}
header .brand-word{color:#fff;}
header .nav-links a{color:rgba(255,255,255,.82);}
header .nav-links a:hover, header .nav-links a:focus-visible{color:var(--papaya); opacity:1;}
header .burger{color:#fff;}
.nav-live{
  display:flex; align-items:center; gap:7px; font-family:'JetBrains Mono'; font-size:.72rem; font-weight:700;
  color:#FFFFFF; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14);
  padding:6px 13px; border-radius:999px; white-space:nowrap;
}
.live-dot{width:7px; height:7px; border-radius:50%; background:#4ADE80; animation:live-pulse 2s infinite;}
@keyframes live-pulse{
  0%{box-shadow:0 0 0 0 rgba(74,222,128,.6);}
  70%{box-shadow:0 0 0 8px rgba(74,222,128,0);}
  100%{box-shadow:0 0 0 0 rgba(74,222,128,0);}
}
.nav{
  display:flex; align-items:center; justify-content:space-between;
  padding-block:14px;
}
.wrap.nav{padding-inline:16px 10px;}
.brand{display:flex; align-items:center; gap:10px; font-weight:800; font-size:1.25rem;}
.brand .stub{
  width:38px; height:38px; border-radius:10px;
  background:var(--gold-grad);
  display:flex; align-items:center; justify-content:center;
  color:var(--on-gold); font-size:1.05rem; box-shadow:var(--shadow);
  transform:rotate(-6deg);
}
.nav-links{display:flex; align-items:center; gap:28px; font-weight:600; font-size:.95rem;}
.nav-links a{text-decoration:none; opacity:.85; transition:opacity .15s;}
.nav-links a:hover, .nav-links a:focus-visible{opacity:1; color:var(--hibiscus);}
.cta-btn{
  font-family:'Baloo 2',sans-serif; font-weight:700; font-size:.95rem;
  background:var(--gold-grad); color:var(--on-gold); border:none; text-decoration:none; text-transform:uppercase; letter-spacing:.04em;
  padding:11px 22px; border-radius:999px; cursor:pointer;
  box-shadow:0 6px 0 var(--hibiscus-dark);
  transition:transform .12s, box-shadow .12s;
}
.cta-btn:hover{transform:translateY(2px); box-shadow:0 4px 0 var(--hibiscus-dark);}
.cta-btn:active{transform:translateY(6px); box-shadow:0 0 0 var(--hibiscus-dark);}
.cta-btn.ghost{background:transparent; color:var(--ink); border:2px solid var(--line); box-shadow:none;}
.cta-btn:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, a:focus-visible{
  outline:3px solid var(--lagoon); outline-offset:2px;
}
.burger{display:none; background:none; border:none; font-size:1.4rem; cursor:pointer; color:var(--ink);}

/* ---------- hero ---------- */
.hero{
  padding-block:48px 70px; position:relative; overflow:hidden; color:#FFFFFF;
  background:
    radial-gradient(ellipse 60% 55% at 18% -10%, color-mix(in srgb, var(--lagoon) 18%, transparent), transparent 60%),
    radial-gradient(ellipse 55% 50% at 95% 105%, color-mix(in srgb, var(--hibiscus) 12%, transparent), transparent 60%),
    repeating-linear-gradient(135deg, rgba(255,255,255,.018) 0 2px, transparent 2px 14px),
    linear-gradient(180deg, var(--night), var(--night-2) 60%, var(--sand));
}
.hero::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px), linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:radial-gradient(ellipse at center, #000 25%, transparent 72%);
}
.hero .eyebrow{background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.25); color:#fff;}
.hero-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:40px; align-items:center; position:relative; z-index:2;}
.hero h1{font-size:clamp(2.2rem, 4.6vw, 3.6rem); line-height:1.05; font-weight:800; margin-block:18px 14px; color:#fff;}
.hero h1 .hi{color:var(--papaya);}
.hero p.lede{font-size:1.08rem; color:#D8D2C4; max-width:46ch;}
.hero p.lede b{color:var(--papaya);}
.hero-ctas{display:flex; gap:14px; margin-top:26px; flex-wrap:wrap;}
.hero-ctas .cta-btn.ghost{border-color:color-mix(in srgb, var(--lagoon) 60%, transparent); color:var(--papaya);}

.trust-row{display:flex; gap:20px 26px; flex-wrap:wrap; margin-top:30px; position:relative; z-index:2;}
.trust-item{display:flex; align-items:center; gap:9px; font-size:.83rem; color:#FFFFFF; font-weight:600;}
.trust-item .ic-wrap{
  width:30px; height:30px; border-radius:50%; flex-shrink:0;
  background:rgba(255,255,255,.16); color:var(--papaya);
  display:flex; align-items:center; justify-content:center;
}


.ticket-poster{position:relative;}
.poster-verified{
  position:absolute; top:16px; right:16px; z-index:1; background:var(--gold-grad); color:var(--on-gold);
  font-family:'JetBrains Mono'; font-size:.62rem; font-weight:700; letter-spacing:.05em;
  padding:5px 12px; border-radius:999px; box-shadow:0 6px 16px -4px rgba(0,0,0,.4);
  display:flex; align-items:center; gap:5px;
}

.ticket-poster{
  position:relative; background:var(--card-bg); border-radius:22px;
  box-shadow:var(--shadow); border:1px solid color-mix(in srgb, var(--line) 35%, transparent);
  padding:26px; overflow:hidden;
}
.ticket-poster::before{
  content:""; position:absolute; inset:10px; border:2px dashed color-mix(in srgb, var(--lagoon) 55%, transparent);
  border-radius:14px; pointer-events:none;
}
.poster-prize{font-family:'JetBrains Mono',monospace; text-transform:uppercase; letter-spacing:.08em; font-size:.78rem; color:var(--lagoon-dark); font-weight:700;}
.poster-amount{font-family:'Baloo 2'; font-weight:800; font-size:2.4rem; margin-block:6px 2px; color:var(--win);}
.poster-sub{color:var(--ink-soft); font-size:.95rem; margin-bottom:18px;}
/* ---------- how it works ---------- */
.steps{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:36px;}
.step{
  background:var(--card-bg); border-radius:18px; padding:24px; box-shadow:var(--shadow);
  border:1px solid color-mix(in srgb, var(--line) 25%, transparent); position:relative;
}
.step .num{
  font-family:'JetBrains Mono'; font-weight:700; font-size:.85rem; color:var(--on-gold);
  background:var(--gold-grad); width:30px; height:30px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; margin-bottom:14px;
}
.step h3{font-size:1.12rem; margin-bottom:6px;}
.step p{color:var(--ink-soft); font-size:.95rem; margin:0;}

.section-head{max-width:640px; margin-bottom:30px;}
.section-head h2{font-size:clamp(1.7rem,3vw,2.3rem); font-weight:800;}
.section-head p{color:var(--ink-soft); margin-top:8px;}

/* ---------- packages ---------- */
.pkg-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
.pkg-card{
  background:var(--card-bg); border-radius:16px; border:2px solid color-mix(in srgb, var(--line) 25%, transparent);
  box-shadow:var(--shadow); cursor:pointer; overflow:hidden; position:relative;
  transition:border-color .15s, transform .12s;
  display:flex; flex-direction:column;
}
.pkg-card:hover{transform:translateY(-3px);}
.pkg-card.selected{border-color:var(--hibiscus); box-shadow:0 0 0 3px color-mix(in srgb, var(--hibiscus) 30%, transparent), var(--shadow);}
.pkg-badge{
  position:absolute; top:10px; right:10px; font-family:'JetBrains Mono'; font-size:.62rem; font-weight:700;
  background:var(--papaya); color:var(--ocean-deep); padding:3px 8px; border-radius:6px; letter-spacing:.05em;
}
.pkg-top{padding:20px 18px 16px;}
.pkg-name{font-family:'Baloo 2'; font-weight:700; font-size:1.12rem;}
.pkg-qty{font-family:'JetBrains Mono'; font-size:2rem; font-weight:700; color:var(--lagoon-dark); margin-top:4px;}
.pkg-qty span{font-size:.7rem; font-weight:600; color:var(--ink-soft); text-transform:uppercase; letter-spacing:.06em; margin-left:4px;}
.pkg-stub{
  border-top:2px dashed color-mix(in srgb, var(--line) 40%, transparent);
  padding:14px 18px; display:flex; align-items:center; justify-content:space-between;
  background:color-mix(in srgb, var(--lagoon) 8%, transparent);
}
.pkg-price{font-family:'JetBrains Mono'; font-weight:700;}
.pkg-price small{display:block; font-weight:500; font-size:.62rem; color:var(--ink-soft); text-transform:uppercase;}
.pkg-pick{
  width:30px; height:30px; border-radius:50%; border:2px solid var(--line);
  display:flex; align-items:center; justify-content:center; color:transparent;
}
.pkg-card.selected .pkg-pick{background:var(--hibiscus); border-color:var(--hibiscus); color:var(--on-gold);}

.custom-box{
  margin-top:20px; background:var(--card-bg); border:2px dashed color-mix(in srgb, var(--line) 45%, transparent);
  border-radius:16px; padding:20px 22px; display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;
}
.custom-box h3{font-size:1rem; margin-bottom:4px;}
.custom-box p{margin:0; font-size:.85rem; color:var(--ink-soft);}
.stepper{display:flex; align-items:center; gap:12px;}
.stepper button{
  width:38px; height:38px; border-radius:50%; border:2px solid var(--line); background:var(--sand);
  font-size:1.1rem; cursor:pointer; font-weight:700; color:var(--ink);
}
.stepper input{
  width:64px; text-align:center; font-family:'JetBrains Mono'; font-size:1.1rem; font-weight:700;
  border:2px solid var(--line); border-radius:10px; padding:8px 4px; background:var(--paper); color:var(--ink);
}

.order-bar{
  position:sticky; bottom:16px; margin-top:28px; background:var(--ocean-deep); color:#FFFFFF;
  border-radius:16px; padding:16px 22px; display:flex; align-items:center; justify-content:space-between;
  box-shadow:0 14px 30px -10px rgba(0,0,0,.4); flex-wrap:wrap; gap:12px;
}
.order-bar .totals{display:flex; gap:22px; align-items:baseline; flex-wrap:wrap;}
.order-bar .totals b{font-family:'JetBrains Mono'; font-size:1.3rem; color:var(--papaya);}
.order-bar .totals span{font-size:.72rem; text-transform:uppercase; letter-spacing:.06em; opacity:.75;}

.buy-summary{
  background:var(--ocean-deep); color:#FFFFFF; border-radius:16px; padding:16px 22px;
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px;
  margin-bottom:22px;
}
.buy-summary .totals{display:flex; gap:22px; align-items:baseline; flex-wrap:wrap;}
.buy-summary .totals b{font-family:'JetBrains Mono'; font-size:1.3rem; color:var(--papaya);}
.buy-summary .totals span{font-size:.72rem; text-transform:uppercase; letter-spacing:.06em; opacity:.75;}

/* ---------- purchase form ---------- */
.form-card{
  background:var(--card-bg); border-radius:20px; box-shadow:var(--shadow); padding:34px;
  border:1px solid color-mix(in srgb, var(--line) 25%, transparent);
}
.field-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
.field{display:flex; flex-direction:column; gap:6px;}
.field.full{grid-column:1 / -1;}
label{font-size:.82rem; font-weight:700; color:var(--ink-soft); text-transform:uppercase; letter-spacing:.04em;}
input[type=text], input[type=tel], input[type=email], input[type=file], select, textarea{
  font-family:'Mukta'; font-size:1rem; padding:12px 14px; border-radius:10px;
  border:2px solid color-mix(in srgb, var(--line) 30%, transparent); background:var(--paper); color:var(--ink);
}
.pay-panel{
  margin-top:6px; border-radius:14px; padding:18px; background:color-mix(in srgb, var(--lagoon) 10%, transparent);
  border:1px dashed color-mix(in srgb, var(--lagoon) 50%, transparent); display:grid; gap:14px;
}
.bank-row{display:flex; justify-content:space-between; align-items:center; background:var(--paper); padding:10px 14px; border-radius:10px; font-family:'JetBrains Mono'; font-size:.92rem;}
.copy-btn{background:none; border:none; color:var(--lagoon-dark); cursor:pointer; font-size:1rem;}

/* ---------- receipt upload dropzone ---------- */
.upload-box{
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px;
  border:2px dashed color-mix(in srgb, var(--line) 45%, transparent); border-radius:14px;
  padding:28px 20px; cursor:pointer; background:var(--paper); text-align:center;
  transition:border-color .15s, background .15s;
}
.upload-box:hover, .upload-box:focus-visible{border-color:var(--lagoon); background:color-mix(in srgb, var(--lagoon) 8%, transparent);}
.upload-box.dragover{border-color:var(--lagoon); background:color-mix(in srgb, var(--lagoon) 14%, transparent);}
.upload-box.has-file{border-style:solid; border-color:var(--lagoon);}
.upload-icon{
  width:44px; height:44px; border-radius:50%; flex-shrink:0;
  background:color-mix(in srgb, var(--lagoon) 18%, transparent); color:var(--lagoon-dark);
  display:flex; align-items:center; justify-content:center;
}
.upload-icon .icon{width:20px; height:20px;}
#uploadContent{display:flex; flex-direction:column; align-items:center; gap:6px;}
.upload-text{display:block; color:var(--ink); font-weight:600; font-size:.9rem;}
.upload-hint{display:block; color:var(--ink-soft); font-size:.75rem;}
.upload-preview{width:64px; height:64px; border-radius:10px; object-fit:cover; border:2px solid var(--lagoon);}
.upload-filename{font-weight:700; color:var(--ink); font-size:.88rem; word-break:break-all; max-width:32ch;}
.upload-remove{font-size:.76rem; color:var(--hibiscus); text-decoration:underline; background:none; border:none; cursor:pointer; padding:0;}

/* ---------- bank cards ---------- */
.bank-grid{display:grid; grid-template-columns:1fr; gap:14px;}
.bank-card{
  position:relative; overflow:hidden; border-radius:16px; padding:18px 22px 16px; color:var(--on-gold);
  background:
    repeating-linear-gradient(135deg, rgba(255,255,255,.14) 0 10px, transparent 10px 22px),
    linear-gradient(135deg, #F6D86B, #E9B82E 55%, #D9A21E);
  box-shadow:0 14px 30px -14px rgba(0,0,0,.8), inset 0 1px 0 rgba(255,255,255,.4);
}
.bank-top{display:flex; align-items:center; gap:12px;}
.bank-logo-tile{
  width:52px; height:52px; flex-shrink:0; border-radius:50%; background:#fff;
  display:flex; align-items:center; justify-content:center; padding:4px; overflow:hidden;
  box-shadow:0 3px 8px -3px rgba(0,0,0,.35);
}
.bank-logo-tile img{max-width:100%; max-height:100%; object-fit:contain;}
.bank-name{font-family:'Baloo 2'; font-weight:800; font-size:1.2rem; text-transform:uppercase; letter-spacing:.02em; line-height:1.1;}
.bank-type{margin-left:auto; font-family:'JetBrains Mono'; font-weight:700; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; opacity:.75; text-align:right;}
.bank-hint{margin:14px 0 2px; font-size:.86rem; font-weight:500; opacity:.8; line-height:1.3;}
.bank-num-row{display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;}
.bank-num{font-family:'JetBrains Mono'; font-weight:700; font-size:clamp(1.55rem,4.6vw,2.1rem); letter-spacing:.02em; line-height:1.2; word-break:break-all;}
.bank-card .copy-btn{
  display:inline-flex; align-items:center; gap:7px; flex-shrink:0; background:#141109; color:var(--papaya);
  border:none; border-radius:10px; padding:10px 18px; cursor:pointer;
  font-family:'JetBrains Mono'; font-weight:700; font-size:.82rem; letter-spacing:.06em; text-transform:uppercase;
  box-shadow:0 6px 14px -6px rgba(0,0,0,.6); transition:transform .12s, background .15s;
}
.bank-card .copy-btn:hover{background:#000; transform:translateY(-1px);}
.bank-card .copy-btn.copied{background:#1d4d2a; color:#bff5cc;}
.bank-card .copy-btn:focus-visible{outline:3px solid #141109; outline-offset:2px;}
.bank-foot{
  display:flex; justify-content:space-between; gap:10px 24px; flex-wrap:wrap;
  margin-top:14px; padding-top:12px; border-top:1px solid rgba(20,17,9,.22);
}
.bank-foot b{display:block; font-size:1rem; font-weight:700;}
.bank-foot > div:last-child{text-align:right;}
.bank-foot-label{display:block; font-family:'JetBrains Mono'; font-size:.66rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; opacity:.65;}
@media (max-width:480px){
  .bank-card{padding:16px 16px 14px;}
  .bank-top{flex-wrap:wrap; row-gap:2px;}
  .bank-name{flex:1; min-width:0;}
  .bank-type{flex-basis:100%; margin-left:64px; text-align:left;}
  .bank-card .copy-btn{width:100%; justify-content:center;}
  .bank-foot > div:last-child{text-align:left;}
}
.qr-row{display:flex; gap:18px; align-items:center; flex-wrap:wrap;}
#qrbox{background:#fff; padding:8px; border-radius:10px;}
.terms{display:flex; align-items:flex-start; gap:10px; font-size:.9rem; color:var(--ink-soft); margin-top:8px; text-transform:none; letter-spacing:0; font-weight:500;}
.terms a{color:var(--lagoon-dark);}
.submit-row{margin-top:22px; display:flex; justify-content:center;}
.submit-btn{display:flex; align-items:center; gap:10px;}
.submit-total{
  font-family:'JetBrains Mono'; font-weight:700; font-size:.85rem;
  background:rgba(255,255,255,.28); padding:4px 12px; border-radius:999px;
}

/* ---------- verificador ---------- */
.verify-card{
  background:var(--card-bg); border-radius:20px; box-shadow:var(--shadow); padding:34px;
  border:1px solid color-mix(in srgb, var(--line) 25%, transparent); max-width:680px; margin-inline:auto;
}
.verify-row{display:flex; gap:10px; margin-top:14px;}
.verify-row input{flex:1;}
.verify-result{margin-top:18px; border-radius:12px; padding:16px 18px; font-size:.95rem; display:none;}
.verify-result.show{display:block;}
.verify-result.ok{background:color-mix(in srgb, var(--lagoon) 16%, transparent); border:1px solid var(--lagoon);}
.verify-result.no{background:color-mix(in srgb, var(--hibiscus) 14%, transparent); border:1px solid var(--hibiscus);}

/* ---------- footer ---------- */
footer{background:var(--ocean-deep); color:#FFFFFF; padding-block:50px 30px; margin-top:20px;}
.foot-grid{display:grid; grid-template-columns:2fr 1fr 1fr; gap:32px;}
.foot-grid h4{font-family:'Baloo 2'; margin-bottom:12px; font-size:1rem;}
.foot-grid p, .foot-grid a{color:#A9A395; font-size:.9rem; text-decoration:none;}
.foot-grid ul{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:8px;}
.foot-contact a{display:inline-flex; align-items:center; gap:10px; color:#D8D2C4 !important; transition:color .15s;}
.foot-contact a:hover, .foot-contact a:focus-visible{color:var(--papaya) !important;}
.foot-contact i{width:18px; text-align:center; color:var(--lagoon);}
.social-row{display:flex; gap:12px; margin-top:14px;}
.social-row a{
  width:36px; height:36px; border-radius:50%; border:1px solid #3A3222; display:flex;
  align-items:center; justify-content:center; color:#FFFFFF; font-size:1.05rem;
}
.foot-bottom{
  border-top:1px dashed #3A3222; margin-top:34px; padding-top:18px; display:flex;
  justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:.78rem; color:#7D776A;
}

/* ---------- modal ---------- */
.modal-overlay{
  position:fixed; inset:0; background:rgba(0,0,0,.8); display:none; align-items:center; justify-content:center;
  z-index:100; padding:20px;
}
.modal-overlay.show{display:flex;}
.modal-ticket{
  background:var(--paper); border-radius:20px; max-width:480px; width:100%; padding:0;
  max-height:calc(100vh - 40px); overflow-y:auto; overscroll-behavior:contain;
  border:1px solid color-mix(in srgb, var(--lagoon) 35%, transparent);
  box-shadow:0 30px 60px -15px rgba(0,0,0,.8), var(--trust-glow); position:relative;
}
.modal-head{background:linear-gradient(135deg, #1F1A0F, #0E0E10); border-bottom:1px solid color-mix(in srgb, var(--lagoon) 45%, transparent); color:var(--papaya); padding:22px 56px 22px 26px;}
.modal-head h3{font-size:1.3rem;}
.modal-body{padding:24px 26px;}
.ticket-numbers{display:flex; flex-wrap:wrap; gap:8px; margin:14px 0;}
.ticket-numbers span{
  font-family:'JetBrains Mono'; font-weight:700; background:var(--sand); border:1.5px dashed var(--line);
  border-radius:8px; padding:6px 10px; font-size:.95rem;
}
.modal-close{position:absolute; top:16px; right:18px; background:none; border:none; color:var(--ink); font-size:1.3rem; cursor:pointer; z-index:2;}

.modal-subhead{font-weight:700; font-size:.92rem; margin:0 0 4px;}

/* ---------- buy modal: quantity presets ---------- */
.qty-preset-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:8px;}
.qty-preset{
  background:var(--paper); border:2px solid color-mix(in srgb, var(--line) 25%, transparent); border-radius:12px;
  padding:12px 8px; text-align:center; cursor:pointer; transition:border-color .15s, box-shadow .15s, background .15s;
}
.qty-preset:hover{border-color:var(--lagoon);}
.qty-preset.selected{
  border-color:var(--hibiscus); background:color-mix(in srgb, var(--hibiscus) 12%, transparent);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--hibiscus) 25%, transparent);
}
.qty-preset .qp-num{font-family:'JetBrains Mono'; font-weight:700; font-size:1.25rem; display:block; line-height:1;}
.qty-preset .qp-label{font-size:.6rem; text-transform:uppercase; color:var(--ink-soft); letter-spacing:.04em; display:block; margin:3px 0 5px;}
.qty-preset .qp-price{font-family:'JetBrains Mono'; font-weight:700; font-size:.82rem; color:var(--win); display:block;}

@media (max-width:880px){
  .hero-grid{grid-template-columns:1fr;}
  .pkg-grid{grid-template-columns:repeat(2,1fr);}
  .steps{grid-template-columns:1fr;}
  .field-grid{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr; gap:26px;}
  .nav-links{
    position:absolute; top:calc(100% + 10px); left:0; right:0; background:var(--night); flex-direction:column;
    align-items:flex-start; padding:18px 20px; gap:16px; border:1px solid rgba(255,255,255,.3);
    border-radius:18px; box-shadow:0 14px 30px -10px rgba(0,0,0,.5);
    display:none;
  }
  .nav-links.open{display:flex;}
  .nav-live{display:none;}
  .burger{display:block;}
  .nav .cta-btn.desktop-only{display:none;}
}
@media (max-width:560px){
  .pkg-grid{grid-template-columns:1fr 1fr;}
}
@media (prefers-reduced-motion: reduce){
  *{scroll-behavior:auto !important; transition:none !important;}
}

/* ---------- floating whatsapp button ---------- */
.whatsapp-float{
  position:fixed; right:20px; bottom:20px; z-index:150;
  width:58px; height:58px; border-radius:50%; background:#25D366; color:#fff;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 24px -6px rgba(0,0,0,.4);
  animation:wa-pulse 2.4s infinite;
  transition:transform .18s;
  text-decoration:none;
}
.whatsapp-float:hover{transform:scale(1.08);}
.whatsapp-float i{font-size:30px; line-height:1;}
@keyframes wa-pulse{
  0%{box-shadow:0 10px 24px -6px rgba(0,0,0,.4), 0 0 0 0 rgba(37,211,102,.55);}
  70%{box-shadow:0 10px 24px -6px rgba(0,0,0,.4), 0 0 0 14px rgba(37,211,102,0);}
  100%{box-shadow:0 10px 24px -6px rgba(0,0,0,.4), 0 0 0 0 rgba(37,211,102,0);}
}
@media (prefers-reduced-motion: reduce){ .whatsapp-float{animation:none;} }
@media (max-width:560px){
  .whatsapp-float{width:52px; height:52px; right:14px; bottom:14px;}
  .whatsapp-float i{font-size:26px;}
}

/* ---------- legal pages (terminos, privacidad, etc.) ---------- */
.legal-wrap{max-width:780px; margin-inline:auto; padding:32px max(16px, env(safe-area-inset-left)) 64px;}
.legal-top{
  display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap;
  padding-bottom:20px; margin-bottom:26px; border-bottom:1px dashed var(--line);
}
.legal-back{
  font-weight:700; font-size:.85rem; text-decoration:none; color:var(--ink);
  border:2px solid var(--line); border-radius:999px; padding:8px 16px; white-space:nowrap;
  transition:background .15s, color .15s;
}
.legal-back:hover{background:var(--hibiscus); color:var(--on-gold); border-color:var(--hibiscus);}
.legal-content h1{font-size:clamp(1.6rem,3.4vw,2.1rem); font-weight:800; margin-bottom:6px;}
.legal-updated{color:var(--ink-soft); font-size:.88rem; margin-bottom:22px;}
.legal-content h4{
  font-family:'Baloo 2'; font-size:1.05rem; font-weight:700; color:var(--hibiscus);
  margin-top:1.6rem; margin-bottom:.5rem;
}
.legal-content h4:first-of-type{margin-top:0;}
.legal-content p{margin-bottom:.75rem; color:var(--ink);}
.legal-content ul{list-style:disc; padding-left:1.4rem; margin-bottom:.75rem;}
.legal-content ol{padding-left:1.4rem; margin-bottom:.75rem;}
.legal-content ol li{margin-bottom:.35rem;}
.legal-content li{margin-bottom:.4rem;}
.legal-content a{color:var(--lagoon-dark); font-weight:600;}
.legal-ident{
  border:1px solid color-mix(in srgb, var(--lagoon) 45%, transparent);
  background:color-mix(in srgb, var(--lagoon) 10%, transparent);
  border-radius:14px; padding:1rem 1.2rem; margin:1rem 0 1.4rem;
}
.legal-ident dl{display:grid; grid-template-columns:auto 1fr; gap:.4rem 1rem; margin:0;}
.legal-ident dt{color:var(--ink-soft); font-size:.76rem; text-transform:uppercase; letter-spacing:.04em; white-space:nowrap;}
.legal-ident dd{margin:0; font-weight:600;}
@media (max-width:480px){
  .legal-ident dl{grid-template-columns:1fr; gap:.15rem;}
  .legal-ident dd{margin-bottom:.5rem;}
}
.legal-callout{
  border-left:3px solid var(--hibiscus); background:color-mix(in srgb, var(--hibiscus) 10%, transparent);
  border-radius:0 12px 12px 0; padding:.9rem 1.1rem; margin:.75rem 0 1rem;
}
.legal-callout p:last-child{margin-bottom:0;}
.legal-pie{
  margin-top:2.6rem; padding-top:1.4rem; border-top:1px dashed #3A3222;
  display:flex; flex-wrap:wrap; gap:.75rem 1.5rem; align-items:center; font-size:.85rem;
  color:#7D776A;
}
.legal-pie a{color:#A9A395; text-decoration:none; font-weight:600;}
.legal-pie a:hover{color:#fff;}

/* ---------- activity ticker ---------- */
.ticker{
  background:linear-gradient(90deg, var(--night), var(--ocean-deep));
  border-block:1px solid color-mix(in srgb, var(--papaya) 45%, transparent);
  padding:11px 0; overflow:hidden;
}
.ticker-track{display:flex; gap:3rem; width:max-content; animation:ticker-scroll 32s linear infinite;}
.ticker:hover .ticker-track{animation-play-state:paused;}
.ticker-item{
  font-family:'JetBrains Mono'; font-size:.78rem; font-weight:600; letter-spacing:.02em;
  color:#FFFFFF; white-space:nowrap; display:flex; align-items:center; gap:8px;
}
@keyframes ticker-scroll{ from{transform:translateX(0);} to{transform:translateX(-50%);} }
@media (prefers-reduced-motion: reduce){ .ticker-track{animation:none;} }

/* ---------- dynamic section head ---------- */
.section-head-dynamic{text-align:center; max-width:640px; margin:0 auto 6px;}
.section-kicker{
  display:flex; align-items:center; justify-content:center; gap:14px;
  font-family:'JetBrains Mono'; font-size:.72rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase;
  color:var(--papaya); margin-bottom:10px;
}
.section-kicker::before, .section-kicker::after{content:""; height:1px; width:34px; background:var(--lagoon);}
.section-head-dynamic h2{font-size:clamp(1.8rem,3.4vw,2.5rem); font-weight:800;}
.section-head-dynamic h2 .hi{color:var(--papaya);}
.section-head-dynamic p{color:var(--ink-soft); margin-top:10px;}

/* ---------- la rifa: 4 premios ---------- */
.prize-head .section-kicker{color:var(--lagoon);}
.prize-title{
  font-family:'Montserrat',sans-serif !important; font-style:italic; font-weight:900 !important; text-transform:uppercase;
  font-size:clamp(1.9rem,4vw,2.8rem) !important; line-height:1; letter-spacing:-.01em;
}
.prize-title span{
  display:block; font-size:clamp(3.2rem,8vw,5.4rem); margin-top:4px;
  background:var(--gold-grad); -webkit-background-clip:text; background-clip:text; color:transparent;
  filter:drop-shadow(0 6px 22px rgba(212,175,55,.35));
}
.prize-head p b{color:var(--ink);}

.prize-grid{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:34px;}
.prize-card{
  position:relative; overflow:hidden; border-radius:6px; min-height:290px; isolation:isolate;
  border:1px solid color-mix(in srgb, var(--lagoon) 30%, transparent);
  background:
    repeating-linear-gradient(135deg, rgba(255,255,255,.025) 0 2px, transparent 2px 12px),
    radial-gradient(circle at 80% 70%, rgba(212,175,55,.22), transparent 60%),
    linear-gradient(135deg, #1D180D, #0D0D0F 70%);
  box-shadow:var(--shadow); transition:transform .3s, box-shadow .3s, border-color .3s;
}
.prize-card:hover{transform:translateY(-4px); border-color:var(--lagoon); box-shadow:0 22px 44px -14px rgba(0,0,0,.85), 0 0 40px rgba(212,175,55,.2);}
.prize-card.alt{
  background:
    repeating-linear-gradient(135deg, rgba(255,255,255,.025) 0 2px, transparent 2px 12px),
    radial-gradient(circle at 20% 70%, rgba(230,230,230,.12), transparent 60%),
    linear-gradient(225deg, #1E1E22, #0D0D0F 70%);
}
.prize-card.cash{min-height:170px;}
.prize-info{position:relative; z-index:2; padding:20px 22px; max-width:62%;}
.prize-card.alt .prize-info{margin-left:auto; text-align:right;}
.prize-place{
  display:block; font-family:'Montserrat',sans-serif; font-style:italic; font-weight:900; font-size:.8rem;
  letter-spacing:.14em; text-transform:uppercase; color:var(--lagoon);
}
.prize-name{
  font-family:'Montserrat',sans-serif !important; font-style:italic; font-weight:900 !important; text-transform:uppercase;
  font-size:clamp(1.5rem,3.2vw,2.2rem); line-height:1; margin:8px 0 12px; color:var(--ink);
}
.prize-card.cash .prize-name{
  font-size:clamp(2rem,4.4vw,3rem);
  background:var(--gold-grad); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.prize-cur{display:block; font-size:.9rem; letter-spacing:.14em; margin-bottom:2px;}
.prize-chip{
  display:inline-flex; align-items:center; gap:6px; font-size:.74rem; font-weight:700; padding:4px 10px; border-radius:4px;
  color:var(--papaya); background:rgba(212,175,55,.1); border:1px solid color-mix(in srgb, var(--lagoon) 40%, transparent);
}
.prize-art{position:absolute; z-index:1; right:6%; bottom:-14%; width:34%; max-width:170px; transform:rotate(12deg); pointer-events:none;}
.prize-card.alt .prize-art{right:auto; left:6%; transform:rotate(-12deg);}
.prize-art svg, .prize-art img{display:block; width:100%; height:auto; filter:drop-shadow(0 18px 30px rgba(0,0,0,.6));}
.prize-card.forma-ancho .prize-art, .prize-card.forma-cuadrado .prize-art{
  width:56%; max-width:340px; top:50%; bottom:auto; right:2%; transform:translateY(-50%);
}
.prize-card.forma-cuadrado .prize-art{width:42%; max-width:230px; right:5%;}
.prize-card.forma-ancho.alt .prize-art, .prize-card.forma-cuadrado.alt .prize-art{right:auto; left:2%; transform:translateY(-50%);}
.prize-card.forma-cuadrado.alt .prize-art{left:5%;}
.prize-card.forma-ancho .prize-art svg, .prize-card.forma-cuadrado .prize-art svg{filter:drop-shadow(0 18px 28px rgba(0,0,0,.65));}
.prize-card.forma-ancho:not(.alt) .prize-info, .prize-card.forma-cuadrado:not(.alt) .prize-info{max-width:48%;}
/* color del artículo: esfera + nombre, debajo del detalle */
.prize-color{
  display:flex; align-items:center; gap:8px; width:max-content; max-width:100%; margin-top:10px;
  font-size:.8rem; font-weight:700; color:var(--ink);
}
.prize-card.alt .prize-color{margin-left:auto;}
.prize-color i{
  flex-shrink:0; width:16px; height:16px; border-radius:50%; background-color:var(--c);
  background-image:
    radial-gradient(circle at 32% 28%, rgba(255,255,255,.85), rgba(255,255,255,0) 38%),
    radial-gradient(circle at 50% 55%, rgba(0,0,0,0) 45%, rgba(0,0,0,.45) 100%);
  box-shadow:0 0 0 2px rgba(255,255,255,.18), 0 3px 8px rgba(0,0,0,.6);
}
.prize-big-num{
  position:absolute; z-index:0; right:10px; bottom:-38px; font-family:'Montserrat',sans-serif; font-style:italic; font-weight:900;
  font-size:11rem; line-height:1; color:transparent; -webkit-text-stroke:1px rgba(212,175,55,.18); pointer-events:none;
}
.prize-card.alt .prize-big-num{right:auto; left:10px;}
.prize-card.cash .prize-big-num{font-size:8rem; bottom:-26px;}

/* barra de progreso hacia la meta (sección, portada y modal) */
.goal-card{
  margin:26px auto 0; padding:24px 26px; border-radius:6px;
  background:linear-gradient(135deg, #17140C, #0E0E10);
  border:1px solid color-mix(in srgb, var(--lagoon) 35%, transparent); box-shadow:var(--shadow);
}
.goal-head{display:flex; justify-content:space-between; align-items:flex-end; gap:14px; flex-wrap:wrap; margin-bottom:16px;}
.goal-label{font-family:'JetBrains Mono'; font-size:.72rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--lagoon);}
.goal-pct{
  font-family:'Montserrat',sans-serif; font-style:italic; font-weight:900; font-size:clamp(2.6rem,6vw,3.6rem); line-height:1.05;
  background:var(--gold-grad); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.goal-state{
  font-weight:700; font-size:.85rem; padding:7px 14px; border-radius:999px; color:var(--ink);
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.16);
}
.goal-state.ok{background:rgba(212,175,55,.15); border-color:var(--lagoon); color:var(--papaya);}
.goal-state.sm{font-size:.76rem; padding:3px 10px;}
.goal-bar{position:relative; height:16px; border-radius:999px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.06);}
.goal-bar.sm{height:9px;}
.goal-card .goal-bar{margin-bottom:34px;}
.goal-bar-fill{
  height:100%; width:0; border-radius:inherit; transition:width 1.2s cubic-bezier(.4,0,.2,1);
  background:var(--gold-grad); box-shadow:0 0 16px rgba(212,175,55,.45);
}
.goal-bar-mark{position:absolute; top:-6px; bottom:-6px; width:3px; margin-left:-1.5px; background:var(--ink); border-radius:2px; left:50%;}
.goal-bar.sm .goal-bar-mark{top:-4px; bottom:-4px; width:2px; margin-left:-1px;}
.goal-bar-mark > span{
  position:absolute; top:calc(100% + 5px); left:50%; transform:translateX(-50%); white-space:nowrap;
  font-family:'JetBrains Mono'; font-size:.66rem; font-weight:700; color:var(--ink);
}
.goal-target{margin:0 0 6px; font-weight:700;}
.goal-target b{color:var(--papaya);}
.goal-msg{margin:0 0 8px; color:var(--ink-soft);}
.goal-msg b{color:var(--papaya);}
.goal-note{margin:0; font-size:.84rem; color:var(--ink-soft);}
.goal-note b{color:var(--ink);}

.prize-cta{display:flex; flex-direction:column; align-items:center; gap:10px; margin-top:30px;}
.prize-cta span{font-size:.82rem; color:var(--ink-soft);}
.cta-xl{font-size:1.1rem; padding:16px 42px; box-shadow:0 6px 0 var(--hibiscus-dark), 0 0 40px rgba(212,175,55,.3);}

/* lista compacta de premios (portada y modal) */
.prize-list{list-style:none; margin:10px 0 0; padding:0; display:grid; gap:8px;}
.prize-list li{
  display:grid; grid-template-columns:28px 1fr auto; align-items:center; gap:10px; padding:8px 10px; border-radius:8px;
  background:rgba(255,255,255,.03); border:1px solid rgba(212,175,55,.14);
}
.prize-list .pl-pos{
  width:26px; height:26px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-family:'JetBrains Mono'; font-weight:700; font-size:.8rem; background:var(--gold-grad); color:var(--on-gold);
}
.prize-list .pl-name{font-weight:700;}
.prize-list .pl-det{font-size:.74rem; color:var(--ink-soft); text-align:right;}

/* portada: tarjeta de premios + progreso */
.poster-progress{margin-top:18px; padding-top:16px; border-top:1px dashed color-mix(in srgb, var(--lagoon) 35%, transparent);}
.poster-progress-head{display:flex; justify-content:space-between; align-items:baseline; margin-bottom:10px; font-size:.82rem; color:var(--ink-soft);}
.poster-progress-head b{font-family:'Montserrat',sans-serif; font-style:italic; font-weight:900; font-size:1.5rem; color:var(--papaya);}
.poster-progress-foot{margin-top:12px; font-size:.8rem; font-weight:700; color:var(--ink-soft);}

/* modal de información de la rifa */
.info-body h4{font-family:'Baloo 2'; font-size:1.02rem; margin:22px 0 6px; color:var(--papaya);}
.info-body p, .info-body li{font-size:.88rem; color:var(--ink-soft); line-height:1.55;}
.info-body p{margin:0;}
.info-body ul{margin:0; padding-left:18px; display:grid; gap:4px;}
.info-body b{color:var(--ink);}
.info-body a{color:var(--lagoon-dark); font-weight:600;}
.info-status{display:grid; gap:10px; padding:14px 16px; border-radius:10px; background:var(--sand); border:1px solid rgba(212,175,55,.2);}
.info-status-row{display:flex; justify-content:space-between; align-items:center; gap:10px; font-size:.84rem; color:var(--ink-soft);}
.info-status-row b{text-align:right;}
.info-status-row > b[data-rifa-pct]{font-family:'Montserrat',sans-serif; font-style:italic; font-weight:900; font-size:1.3rem; color:var(--papaya);}
.info-legal{margin-top:18px !important; font-size:.78rem !important;}
.info-body .cta-xl{width:100%; margin-top:18px; justify-content:center; display:flex;}

@media (max-width:720px){
  .prize-grid{grid-template-columns:1fr;}
  .prize-card{min-height:240px;}
  .prize-card.cash{min-height:180px;}
  .prize-card.forma-ancho .prize-info, .prize-card.forma-cuadrado .prize-info{max-width:56% !important;}
  .prize-card.forma-ancho .prize-art{width:46%;}
  .prize-card.forma-cuadrado .prize-art{width:38%;}
  .prize-card.forma-ancho, .prize-card.forma-cuadrado{min-height:190px;}
}
@media (max-width:420px){
  .prize-info{max-width:70%; padding:18px;}
  .goal-card{padding:20px 18px;}
  .cta-xl{padding:15px 28px;}
}
@media (prefers-reduced-motion: reduce){ .goal-bar-fill{transition:none;} }

/* rifa en 2 partes */
.prize-parts{display:grid; gap:26px; margin-top:34px;}
.prize-parts .prize-grid{margin-top:12px;}
.part-head{display:flex; align-items:center; gap:10px 14px; flex-wrap:wrap;}
.part-tag{
  font-family:'Montserrat',sans-serif; font-style:italic; font-weight:900; font-size:1rem; text-transform:uppercase; letter-spacing:.04em;
  padding:6px 16px; border-radius:4px; background:var(--gold-grad); color:var(--on-gold);
}
.part-when{color:var(--ink-soft); font-size:.92rem;}
.part-when b{color:var(--papaya);}
.part-head .goal-state{margin-left:auto;}
.goal-bar-mark.reached{background:var(--papaya);}
.goal-bar-mark.end > span{left:auto; right:0; transform:none;}
.goal-bar-mark.end{margin-left:-3px;}
.goal-parts{display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:14px;}
.goal-part{
  display:flex; justify-content:space-between; align-items:center; gap:10px; padding:10px 14px; border-radius:8px;
  background:rgba(255,255,255,.04); border:1px solid rgba(212,175,55,.18); font-size:.88rem;
}
.goal-part-name{font-weight:700;}
.goal-part-name small{font-weight:500; color:var(--ink-soft); margin-left:4px;}
.goal-part b{color:var(--ink-soft); text-align:right;}
.goal-part b.ok{color:var(--papaya);}
@media (max-width:720px){
  .goal-parts{grid-template-columns:1fr;}
  .goal-bar-mark > span{display:none;}
  .goal-card .goal-bar{margin-bottom:18px;}
  .part-head .goal-state{margin-left:0;}
}

/* tabla de quienes más boletos llevan, por parte */
.top-card{
  margin-top:12px; padding:16px 18px; border-radius:6px;
  background:linear-gradient(135deg, #15130D, #0E0E10); border:1px solid color-mix(in srgb, var(--lagoon) 28%, transparent);
}
.top-head{display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:4px 14px; margin-bottom:10px;}
.top-head b{font-size:.95rem; color:var(--papaya);}
.top-head span{font-size:.74rem; color:var(--ink-soft);}
.top-list{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fill, minmax(200px, 1fr)); gap:6px 14px;}
.top-list li{display:grid; grid-template-columns:28px 1fr auto; align-items:center; gap:8px; padding:7px 10px; border-radius:8px; font-size:.88rem; background:rgba(255,255,255,.03);}
.top-list li.lead{background:rgba(212,175,55,.14); border:1px solid color-mix(in srgb, var(--lagoon) 45%, transparent);}
.top-list .pos{font-family:'JetBrains Mono'; font-weight:700; text-align:center; color:var(--ink-soft);}
.top-list .who{font-weight:700;}
.top-list .qty{font-family:'JetBrains Mono'; font-size:.78rem; font-weight:700; color:var(--papaya);}
.top-empty{margin:0; font-size:.88rem; color:var(--ink-soft);}

/* datos en vivo: ganadores, errores y estados */
[data-info-partes]{display:grid; gap:10px;}
.prize-winner{
  display:inline-block; margin-top:10px; padding:5px 12px; border-radius:999px; font-size:.78rem; font-weight:700;
  background:var(--gold-grad); color:var(--on-gold); box-shadow:0 0 20px rgba(212,175,55,.35);
}
.no-rifa{
  text-align:center; padding:40px 20px; border-radius:6px; color:var(--ink-soft); font-size:1.05rem;
  border:1px dashed color-mix(in srgb, var(--lagoon) 40%, transparent);
}
.form-error{
  margin:16px 0 0; padding:12px 14px; border-radius:10px; font-size:.9rem; font-weight:600;
  color:#ffd2d2; background:rgba(220,60,60,.14); border:1px solid rgba(220,60,60,.45);
}
.submit-btn[disabled]{opacity:.6; cursor:wait;}
.verify-compra{margin-top:8px; font-family:'JetBrains Mono'; font-size:.9rem;}
.verify-compra span{font-family:'Mukta'; font-weight:700;}

/* logo */
.brand-logo{display:block; height:60px; width:auto; max-width:100%;}
a.brand{text-decoration:none;}
.foot-logo{height:60px; margin-bottom:12px;}
.legal-top .brand-logo{height:42px;}
@media (max-width:560px){
  .brand-logo{height:46px;}
  .legal-top .brand-logo{height:34px;}
}
