/* Marca Agencia AIceberg: cian #12B1D5, lima #E9FF43, negro #020205, tipografía Be Vietnam Pro */
:root{
  --cyan:#12B1D5;
  --cyan-soft:#77C4D6;
  --cyan-tint:#EAF8FC;
  --lime:#E9FF43;
  --lime-tint:#F8FFC9;
  --ink:#020205;
  --grey:#C6C5C5;
  --muted:#4d5260;
  --line:#d7edf3;
  --danger:#b3261e;
  --radius:18px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:17px/1.55 "Be Vietnam Pro",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:#fff;min-height:100vh;display:flex;flex-direction:column}

/* Encabezado */
.band{background:#fff;display:flex;justify-content:center;align-items:center;padding:14px 16px 4px;padding-top:max(14px,env(safe-area-inset-top))}
.band-logo{height:84px;width:auto;max-width:75%;object-fit:contain}
.band-fallback{font-weight:800;font-size:24px;letter-spacing:-.01em}
.peaks{display:block;width:100%;height:34px;margin-top:-2px}
.tag{display:block;text-align:center;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:2px 16px 0}

/* Progreso */
.progress{height:6px;background:var(--cyan-tint);margin-top:10px}
#bar{height:100%;width:0;background:linear-gradient(90deg,var(--cyan),var(--lime));border-radius:0 6px 6px 0;transition:width .35s ease}

/* Cuenta regresiva */
.timer{margin:16px auto 0;max-width:560px;width:calc(100% - 32px);background:var(--ink);color:#fff;border-radius:14px;padding:11px 14px;text-align:center;font-size:15px}
.timer strong{font-variant-numeric:tabular-nums;color:var(--lime);font-size:20px;letter-spacing:.02em}
.timer.late{background:var(--lime-tint);color:var(--ink);border:1px solid var(--lime)}

/* Tarjeta principal */
.card{flex:1;width:100%;max-width:560px;margin:0 auto;padding:22px 16px 30px}
h1{font-size:25px;line-height:1.22;margin:0 0 8px;letter-spacing:-.015em;font-weight:800}
h2{font-size:21px;line-height:1.3;margin:0 0 10px;letter-spacing:-.01em;font-weight:700}
h1 mark,h2 mark{background:linear-gradient(transparent 58%,var(--lime) 58%);color:inherit;padding:0 2px}
p{margin:0 0 12px}
.lead{color:var(--muted)}
.step{animation:in .25s ease}
@keyframes in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* Formularios */
label{display:block;font-weight:600;margin:16px 0 6px}
.hint{display:block;font-weight:400;color:var(--muted);font-size:14px}
input[type=text],input[type=email],input[type=tel],input[type=url],textarea{width:100%;font:inherit;padding:14px;border:1.5px solid var(--line);border-radius:14px;background:#fff;color:var(--ink)}
input:focus,textarea:focus{outline:3px solid rgba(18,177,213,.35);border-color:var(--cyan)}
textarea{min-height:84px;resize:vertical}

/* Opciones */
.opts{display:grid;gap:10px;margin-top:14px}
.opt{display:block;width:100%;text-align:left;font:inherit;font-weight:600;padding:16px;border:1.5px solid var(--line);border-left:6px solid var(--cyan);border-radius:var(--radius);background:var(--cyan-tint);color:var(--ink);cursor:pointer;transition:transform .08s,border-color .15s,background .15s}
.opt:hover,.opt:focus-visible{border-color:var(--cyan);background:#dcf3fa}
.opt:active{transform:scale(.99)}
.opt:nth-child(even){border-left-color:var(--cyan-soft)}

/* Botones: negro con texto lima (alto contraste) */
.btn{display:block;width:100%;font:inherit;font-weight:700;font-size:18px;padding:16px;border:0;border-radius:var(--radius);background:var(--ink);color:var(--lime);cursor:pointer;margin-top:22px;text-align:center;text-decoration:none;box-shadow:0 6px 0 var(--cyan);transition:transform .08s,box-shadow .08s}
.btn:active{transform:translateY(4px);box-shadow:0 2px 0 var(--cyan)}
.btn:disabled{opacity:.55;cursor:wait}
.btn.ghost{background:#fff;color:var(--ink);border:1.5px solid var(--ink);box-shadow:none}
.back{background:none;border:0;color:var(--muted);font:inherit;font-size:15px;padding:0;margin-bottom:12px;cursor:pointer}
.err{color:var(--danger);font-weight:600;margin-top:12px;min-height:1.2em}
.hp{position:absolute;left:-9999px;opacity:0;height:0;width:0}

/* Casilla y política */
.check{display:flex;gap:12px;align-items:flex-start;background:var(--lime-tint);border:1.5px solid var(--lime);border-radius:14px;padding:14px;margin-top:16px;font-weight:600}
.check input{width:22px;height:22px;margin-top:2px;accent-color:var(--ink);flex:none}
.policy{background:var(--cyan-tint);border-left:6px solid var(--cyan);border-radius:var(--radius);padding:16px;margin:12px 0}
.policy p{margin:0 0 10px}.policy p:last-child{margin:0}

/* Obsequios */
.gifts{list-style:none;padding:0;margin:14px 0}
.gifts li{padding:13px 14px;border:1.5px solid var(--line);border-left:6px solid var(--cyan);border-radius:14px;margin-bottom:8px;background:#fff}
.gifts li.bonus{background:var(--lime-tint);border-color:var(--lime);border-left-color:var(--ink)}
.emoji{font-size:44px;line-height:1;margin-bottom:8px}

/* Calendario */
.cal-wrap{margin:10px -16px 0}
.cal-wrap iframe{width:100%;min-height:760px;border:0;display:block}
.slots{display:inline-block;background:var(--lime);color:var(--ink);border-radius:999px;padding:4px 12px;font-size:14px;font-weight:700;margin-bottom:10px}

/* Pie */
.logos{text-align:center;padding:18px 16px max(22px,env(safe-area-inset-bottom));background:var(--ink);color:#b9bcc8;font-size:13px}
.logos p{margin:0}
.logos a{color:var(--lime)}
.demo-flag{position:fixed;left:0;right:0;bottom:0;background:var(--cyan);color:var(--ink);text-align:center;font-size:12px;font-weight:700;padding:5px;z-index:9}
@media (min-width:640px){.card{padding-top:34px}h1{font-size:30px}}
@media (prefers-reduced-motion:reduce){.step{animation:none}#bar{transition:none}.btn{transition:none}}
