/* ═══════════════════════════════════════ */
/*  RESET + BASE                            */
/* ═══════════════════════════════════════ */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html,body { background:#000; color:#fff; font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif; -webkit-font-smoothing:antialiased; scroll-behavior:smooth; }
body { min-height:100vh; min-height:100dvh; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; display:block; }
button { font-family:inherit; }

/* ═══════════════════════════════════════ */
/*  ANIMACIONES                             */
/* ═══════════════════════════════════════ */
@keyframes marqueeHero { 0% { transform:translateX(0); } 100% { transform:translateX(-50%); } }
@keyframes pulseCTA {
  0%,100% { transform:scale(1); box-shadow:0 16px 32px rgba(37,211,102,.45),0 0 20px rgba(37,211,102,.6); }
  50%     { transform:scale(1.03); box-shadow:0 22px 44px rgba(37,211,102,.6),0 0 28px rgba(37,211,102,.85); }
}
@keyframes pulseSuerte { 0%,100% { opacity:1; } 50% { opacity:.7; } }
@keyframes slideIn { from { transform:translateY(-30px); opacity:0; } to { transform:translateY(0); opacity:1; } }
@keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
@keyframes fadeScaleIn { 0% { opacity:0; transform:scale(.9); } 100% { opacity:1; transform:scale(1); } }
@keyframes shakeError {
  0%,100% { transform:translateX(0); }
  25%     { transform:translateX(-8px); }
  75%     { transform:translateX(8px); }
}

/* ═══════════════════════════════════════ */
/*  SECCIÓN 1 · HERO                        */
/* ═══════════════════════════════════════ */
.hero-wrap { background:#000; padding:16px 16px 8px; display:flex; flex-direction:column; align-items:center; }
.hero-banner { width:100%; max-width:400px; margin-bottom:8px; }
.hero-banner img { width:100%; height:auto; display:block; }
.cinta-marquee {
  width:100%; max-width:400px;
  border-radius:18px;
  background:linear-gradient(90deg,#8B0000 0%,#ff0000 25%,#ffcc00 50%,#8B0000 75%,#ff0000 100%);
  box-shadow:0 24px 48px rgba(0,0,0,.8),0 0 32px rgba(255,204,0,.45);
  border:2px solid #000;
  overflow:hidden; position:relative;
  height:35px; display:flex; align-items:center;
  margin-bottom:8px;
}
.cinta-marquee-track {
  display:flex; white-space:nowrap;
  animation:marqueeHero 8s linear infinite;
  font-weight:700; font-size:14px;
  letter-spacing:.03em; color:#fff;
  text-transform:uppercase;
  text-shadow:0 0 6px rgba(0,0,0,.8),0 0 2px #000;
}
.cinta-marquee-track span { padding:0 16px; color:#fff; }
.hero-text { width:100%; max-width:400px; text-align:center; }
.hero-text .promesa { margin:0 0 8px; font-size:.95rem; line-height:1.35; color:#cfd1d4; }
.hero-text .promesa strong { color:#fff; font-weight:600; }
.hero-text .promesa .verde { color:#25D366; font-weight:600; }
.hero-text .cta-video { margin:0; font-size:.8rem; line-height:1.35; color:#fff; font-weight:600; }

/* ═══════════════════════════════════════ */
/*  SECCIÓN 2 · VIDEO WISTIA                */
/* ═══════════════════════════════════════ */
.wistia-wrap { width:100%; aspect-ratio:16/9; position:relative; overflow:hidden; }
.wistia-wrap > wistia-player { display:block; position:absolute; inset:0; width:100%; height:100%; }
.wistia-wrap > wistia-player[media-id='2s9v6o234w']:not(:defined) {
  background:center/cover no-repeat url('https://fast.wistia.com/embed/medias/2s9v6o234w/swatch');
  filter:blur(5px);
}

/* ═══════════════════════════════════════ */
/*  SECCIÓN 3 · TARJETA COMPRA + BOTÓN 1    */
/* ═══════════════════════════════════════ */
.compra-wrap { background:#000; padding:12px 16px 8px; display:flex; justify-content:center; }
.compra-card {
  width:100%; max-width:400px;
  background:linear-gradient(180deg,#141414 0%,#0a0a0a 100%);
  border:1px solid rgba(37,211,102,.4);
  border-radius:20px;
  padding:0;
  text-align:center;
  box-shadow:0 24px 48px rgba(0,0,0,.9),0 0 32px rgba(37,211,102,.15);
  overflow:hidden;
}

.compra-titulo-bar {
  background:linear-gradient(90deg,#25D366 0%,#1FB855 50%,#25D366 100%);
  padding:12px 16px;
  border-bottom:2px solid #FFC845;
  position:relative;
  overflow:hidden;
}
.compra-titulo-bar::before {
  content:"";
  position:absolute;
  top:0; left:-100%;
  width:60%; height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);
  animation:barrido 3s ease-in-out infinite;
}
@keyframes barrido {
  0%   { left:-100%; }
  50%  { left:100%; }
  100% { left:100%; }
}
.compra-titulo-bar h3 {
  font-size:.95rem;
  font-weight:900;
  color:#04331A;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin:0;
  text-shadow:0 1px 0 rgba(255,255,255,.3);
  position:relative;
  z-index:1;
}

.compra-body {
  padding:20px 20px 22px;
}

.compra-precio-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-bottom:14px;
}
.compra-precio-item {
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  padding:12px 8px;
}
.compra-precio-item .label {
  font-size:.62rem;
  color:#8b929a;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:600;
  margin-bottom:6px;
}
.compra-precio-item .valor {
  font-size:1.35rem;
  font-weight:900;
  line-height:1.1;
}
.compra-precio-item.premio {
  background:rgba(37,211,102,.08);
  border-color:rgba(37,211,102,.4);
}
.compra-precio-item.premio .valor { color:#25D366; text-shadow:0 0 12px rgba(37,211,102,.4); }
.compra-precio-item.numero .valor { color:#FFC845; text-shadow:0 0 12px rgba(255,200,69,.3); }

.compra-loterias {
  font-size:.78rem;
  color:#fff;
  line-height:1.3;
  margin-bottom:14px;
  padding:10px 12px;
  background:rgba(255,200,69,.1);
  border:1px solid rgba(255,200,69,.4);
  border-radius:10px;
  text-align:center;
  font-weight:600;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.compra-loterias strong { color:#FFC845; }

.compra-alerta {
  font-size:.8rem;
  color:#fff;
  line-height:1.4;
  margin-bottom:16px;
  padding:12px 14px;
  background:rgba(37,211,102,.08);
  border:1px solid rgba(37,211,102,.35);
  border-radius:10px;
  text-align:center;
}
.compra-alerta strong { color:#25D366; text-transform:uppercase; letter-spacing:.02em; }

.compra-detalle-simple {
  font-size:.82rem;
  color:#a8aeb5;
  line-height:1.5;
  margin-bottom:16px;
  text-align:center;
}
.compra-detalle-simple .igual { color:#25D366; font-weight:900; }
.compra-detalle-simple strong { color:#fff; }

/* Botón principal (Botón 1 y Botón 2) - AMARILLO FLUORESCENTE con letras NEGRAS */
.btn-cta {
  position:relative; display:flex; align-items:center; justify-content:center;
  gap:10px; width:100%;
  background:linear-gradient(180deg,#FFF700 0%,#FFEB00 50%,#FFD500 100%);
  color:#000;
  padding:20px 16px;
  border:0;
  border-radius:16px;
  font-size:16px; font-weight:900; line-height:1.15;
  text-transform:uppercase; letter-spacing:.02em;
  box-shadow:0 8px 24px rgba(255,235,0,.7), 0 0 32px rgba(255,247,0,.5), inset 0 -3px 12px rgba(0,0,0,.15), inset 0 3px 12px rgba(255,255,255,.5);
  animation:pulseCTAyellow 1.8s ease-in-out infinite;
  cursor:pointer;
  overflow:hidden;
  transition:transform .15s;
}
.btn-cta:active { transform:scale(.97); }
.btn-cta svg { flex-shrink:0; }
.btn-cta .wa-icon-wrap {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:36px; height:36px;
  background:#25D366;
  border-radius:50%;
  flex-shrink:0;
  box-shadow:0 2px 6px rgba(0,0,0,.2);
}
.btn-cta .wa-icon-wrap svg { display:block; }

@keyframes pulseCTAyellow {
  0%,100% {
    transform:scale(1);
    box-shadow:0 16px 32px rgba(255,235,0,.7), 0 0 24px rgba(255,247,0,.5), inset 0 -3px 12px rgba(0,0,0,.15), inset 0 3px 12px rgba(255,255,255,.5);
  }
  50% {
    transform:scale(1.03);
    box-shadow:0 22px 44px rgba(255,235,0,.8), 0 0 40px rgba(255,247,0,.75), inset 0 -3px 12px rgba(0,0,0,.15), inset 0 3px 12px rgba(255,255,255,.6);
  }
}

.micro-texto { margin-top:12px; font-size:.78rem; color:#8b929a; line-height:1.4; }

/* ═══════════════════════════════════════ */
/*  SECCIÓN 4 · FRASE SUERTE                */
/* ═══════════════════════════════════════ */
.suerte-wrap { background:#000; padding:12px 16px 12px; display:flex; justify-content:center; }
.suerte-card {
  width:100%; max-width:400px;
  background:rgba(37,211,102,.08);
  border:1px solid rgba(37,211,102,.4);
  border-radius:14px;
  box-shadow:0 24px 48px rgba(0,0,0,.8),0 0 24px rgba(37,211,102,.4);
  padding:16px 18px; text-align:center;
}
.suerte-card p { margin:0; font-size:.95rem; line-height:1.4; font-weight:600; color:#fff; }
.suerte-verde { color:#25D366; font-weight:700; animation:pulseSuerte 2s ease-in-out infinite; display:inline-block; }

/* ═══════════════════════════════════════ */
/*  SECCIÓN 5 · PASOS                       */
/* ═══════════════════════════════════════ */
.pasos-wrap { background:#000; padding:24px 16px 32px; display:flex; justify-content:center; }
.pasos-inner { width:100%; max-width:400px; }
.pasos-titulo {
  text-align:center; font-size:1.15rem; font-weight:800;
  color:#25D366; margin-bottom:20px;
  text-shadow:0 0 20px rgba(37,211,102,.4);
}
.paso-item {
  display:flex; gap:14px; margin-bottom:16px;
  padding:14px; background:rgba(255,255,255,.03);
  border-radius:12px; border-left:3px solid #25D366;
}
.paso-num {
  flex-shrink:0; width:36px; height:36px;
  background:linear-gradient(180deg,#25D366,#1FB855);
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-weight:900; font-size:1.05rem; color:#04331A;
  box-shadow:0 4px 12px rgba(37,211,102,.5);
}
.paso-content { flex:1; }
.paso-content h3 { font-size:.95rem; font-weight:700; color:#fff; margin-bottom:4px; }
.paso-content p { font-size:.85rem; color:#cfd1d4; line-height:1.45; }
.paso-aviso {
  margin-top:8px; font-size:.78rem; color:#FFC845;
  background:rgba(255,200,69,.08); padding:8px 10px;
  border-radius:8px; border-left:2px solid #FFC845; font-weight:600;
}

/* ═══════════════════════════════════════ */
/*  SECCIÓN 6 · CONOCE MÁS                  */
/* ═══════════════════════════════════════ */
.conoce-wrap { background:#000; padding:32px 15px 40px; text-align:center; color:#fff; }
.conoce-wrap h2 {
  font-size:1.4rem; margin-bottom:16px; color:#00ffcc; font-weight:800;
  animation:slideIn 1s ease-in-out forwards;
}
.conoce-wrap .texto-conoce {
  font-size:.95rem; line-height:1.55; color:#cfd1d4;
  margin:0 auto 24px; max-width:400px; text-align:left; padding:0 8px;
  animation:fadeIn 2s ease forwards;
}
.conoce-wrap .texto-conoce strong { color:#fff; }
.redes-sociales {
  margin-top:20px; display:flex; justify-content:center;
  gap:60px; align-items:center;
  animation:fadeIn 2s ease .5s forwards;
}
.redes-sociales a { display:inline-block; }
.redes-sociales img { width:80px; height:80px; transition:transform .4s ease; }
.redes-sociales img:hover { transform:scale(1.15) rotate(5deg); }
.leyenda-redes {
  font-size:.9rem; margin-top:18px; color:#a8aeb5;
  animation:fadeIn 2s ease .8s forwards;
}
@media(max-width:500px){
  .conoce-wrap h2 { font-size:1.2rem; }
  .redes-sociales { gap:36px; }
  .redes-sociales img { width:64px; height:64px; }
  .leyenda-redes { font-size:.82rem; }
}

/* ═══════════════════════════════════════ */
/*  SECCIÓN 7 · CTA FINAL                   */
/* ═══════════════════════════════════════ */
.cta-final-wrap { background:#000; padding:16px 16px 40px; display:flex; justify-content:center; }
.cta-final-card {
  width:100%; max-width:400px;
  background:linear-gradient(180deg,#141414 0%,#0a0a0a 100%);
  border:1px solid rgba(37,211,102,.3);
  border-radius:18px;
  padding:24px 20px 22px;
  text-align:center;
  box-shadow:0 24px 48px rgba(0,0,0,.9),0 0 24px rgba(37,211,102,.15);
  position:relative;
  overflow:hidden;
}
.cta-final-card::before {
  content:"";
  position:absolute;
  top:0; left:-50%;
  width:200%; height:2px;
  background:linear-gradient(90deg, transparent, #FFEB00 50%, transparent);
  animation:barridoTop 3s ease-in-out infinite;
}
@keyframes barridoTop {
  0%,100% { transform:translateX(-25%); }
  50%     { transform:translateX(25%); }
}
.cta-final-card h3 {
  font-size:1.2rem;
  font-weight:900;
  line-height:1.3;
  margin-bottom:14px;
  color:#FFEB00;
  text-shadow:0 0 20px rgba(255,235,0,.4);
  letter-spacing:.01em;
  position:relative;
  z-index:1;
}
.cta-final-card h3 .destello {
  display:inline-block;
  animation:sparkle 2s ease-in-out infinite;
  filter:drop-shadow(0 0 8px rgba(255,235,0,.8));
  color:#FFEB00;
}
@keyframes sparkle {
  0%,100% { transform:rotate(0) scale(1); opacity:1; }
  50%     { transform:rotate(20deg) scale(1.2); opacity:.7; }
}
.cta-final-card .texto-final {
  font-size:.9rem;
  color:#cfd1d4;
  line-height:1.5;
  margin-bottom:18px;
  font-weight:500;
  position:relative;
  z-index:1;
}
.cta-final-card .texto-final strong { color:#fff; font-weight:700; }
.cta-final-card .texto-final .verde { color:#25D366; font-weight:700; }

/* ═══════════════════════════════════════ */
/*  TESTIMONIOS · Carrusel                  */
/* ═══════════════════════════════════════ */
.testimonios-wrap { background:#000; color:#fff; padding:24px 0 24px; text-align:center; overflow:hidden; }
.testimonios-header { margin:0 16px 20px; }
.testimonios-header h2 {
  font-size:1.15rem; font-weight:800; color:#fff;
  margin:0 0 6px; line-height:1.3;
  text-shadow:0 0 16px rgba(0,0,0,.8);
}
.testimonios-header .sub {
  font-size:.85rem; color:#25D366;
  font-weight:600; line-height:1.4;
}

.carrusel-viewport {
  position:relative;
  overflow:hidden;
  width:100%;
  padding:4px 0 8px;
}
#carrusel-testimonios {
  display:flex;
  transition:transform 0.5s ease-in-out;
  will-change:transform;
}

.testimonio-card {
  flex:0 0 100%;
  width:100%;
  max-width:100%;
  padding:0 16px;
  box-sizing:border-box;
}
.testimonio-inner {
  background:#111;
  border:1px solid rgba(37,211,102,.4);
  border-radius:14px;
  padding:16px;
  box-shadow:0 24px 48px rgba(0,0,0,.9),0 0 32px rgba(0,0,0,.8);
  text-align:left;
}
.testimonio-head {
  display:flex; justify-content:space-between;
  align-items:flex-start; margin-bottom:10px;
  gap:8px;
}
.testimonio-info { flex:1; min-width:0; }
.testimonio-nombre {
  display:flex; align-items:center; gap:6px;
  font-size:.9rem; font-weight:600;
  flex-wrap:wrap;
}
.testimonio-verificado {
  background:rgba(37,211,102,.1); color:#25D366;
  border:1px solid #25D366;
  border-radius:6px; font-size:.6rem;
  font-weight:600; padding:3px 5px;
  white-space:nowrap;
}
.testimonio-estrellas { color:#ffc107; font-size:.75rem; margin-top:4px; }
.testimonio-monto {
  font-size:.68rem;
  color:#8b929a;
  text-align:right;
  white-space:nowrap;
  flex-shrink:0;
  padding-top:2px;
  line-height:1.3;
}
.testimonio-texto { font-size:.85rem; line-height:1.5; color:#d9d9d9; }
.testimonio-texto strong { color:#fff; }
.testimonio-texto .verde { color:#25D366; }

.testimonios-dots {
  display:flex;
  justify-content:center;
  gap:6px;
  margin-top:12px;
}
.testimonios-dot {
  width:6px; height:6px;
  border-radius:50%;
  background:rgba(255,255,255,.25);
  transition:all .3s ease;
  cursor:pointer;
}
.testimonios-dot.activo {
  background:#25D366;
  width:20px;
  border-radius:3px;
}

/* ═══════════════════════════════════════ */
/*  MODALES · OVERLAY                       */
/* ═══════════════════════════════════════ */
.overlay {
  display:none; position:fixed; inset:0;
  background:rgba(0,0,0,.92);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  z-index:9999;
  align-items:flex-start; justify-content:center;
  padding:12px; overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}
.overlay.abierto { display:flex; }

.modal-card {
  background:linear-gradient(180deg,#141414 0%,#0a0a0a 100%);
  border:1px solid rgba(37,211,102,.3);
  border-radius:16px;
  max-width:400px; width:100%;
  color:#fff;
  box-shadow:
    0 24px 60px rgba(0,0,0,.9),
    0 0 32px rgba(37,211,102,.15);
  animation:modalIn .35s cubic-bezier(.34,1.56,.64,1) forwards;
  margin:auto 0; overflow:hidden;
  position:relative;
}
@keyframes modalIn {
  0%   { opacity:0; transform:scale(.9) translateY(15px); }
  100% { opacity:1; transform:scale(1) translateY(0); }
}

.modal-header {
  padding:10px 14px;
  border-bottom:1px solid rgba(255,255,255,.08);
  display:flex; justify-content:space-between; align-items:center;
  background:rgba(255,255,255,.02);
}

/* Indicador de pasos con círculos conectados */
.modal-pasos-indicador {
  display:flex;
  align-items:center;
  gap:4px;
}
.paso-circle {
  width:20px; height:20px;
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:.65rem; font-weight:800;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  color:#8b929a;
  transition:all .3s ease;
}
.paso-circle.activo {
  background:linear-gradient(135deg,#FFEB00,#FFD500);
  border-color:#FFEB00;
  color:#000;
  box-shadow:0 0 10px rgba(255,235,0,.5);
  transform:scale(1.1);
}
.paso-circle.completado {
  background:rgba(37,211,102,.15);
  border-color:#25D366;
  color:#25D366;
}
.paso-linea {
  width:8px; height:2px;
  background:rgba(255,255,255,.12);
}

.modal-cerrar {
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  color:#8b929a;
  font-size:.9rem;
  cursor:pointer; padding:0;
  width:24px; height:24px;
  border-radius:6px;
  display:flex; align-items:center; justify-content:center;
  transition:all .2s;
}
.modal-cerrar:hover {
  background:rgba(255,68,68,.1);
  border-color:#ff4444;
  color:#ff6666;
}

.modal-body { padding:14px 16px 16px; }

.modal-titulo {
  font-size:.98rem;
  font-weight:800;
  line-height:1.25;
  margin-bottom:12px;
  text-align:center;
  color:#fff;
}

/* ═══════════════════════════════════════ */
/*  MODAL 1 · Aceptar dinámica              */
/* ═══════════════════════════════════════ */

.modal1-intro {
  background:rgba(255,200,69,.08);
  border:1px solid rgba(255,200,69,.35);
  border-radius:10px;
  padding:9px 11px;
  margin-bottom:10px;
  display:flex;
  gap:9px;
  align-items:center;
}
.modal1-intro-icon {
  font-size:1.05rem;
  flex-shrink:0;
}
.modal1-intro-texto {
  font-size:.8rem;
  color:#fff;
  line-height:1.35;
}
.modal1-intro-texto strong { color:#FFC845; }

/* Lista de puntos numerados */
.modal1-lista {
  display:flex;
  flex-direction:column;
  gap:5px;
  margin-bottom:12px;
}
.modal1-punto {
  display:flex;
  gap:9px;
  padding:7px 10px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.05);
  border-radius:8px;
  align-items:center;
  animation:fadeInUp .4s ease forwards;
  opacity:0;
}
.modal1-punto:nth-child(1) { animation-delay:.05s; }
.modal1-punto:nth-child(2) { animation-delay:.12s; }
.modal1-punto:nth-child(3) { animation-delay:.19s; }
@keyframes fadeInUp {
  from { opacity:0; transform:translateY(4px); }
  to   { opacity:1; transform:translateY(0); }
}
.modal1-punto-num {
  flex-shrink:0;
  width:22px; height:22px;
  border-radius:6px;
  background:linear-gradient(135deg,#25D366,#1FB855);
  display:flex; align-items:center; justify-content:center;
  font-size:.72rem; font-weight:800;
  color:#04331A;
  box-shadow:0 2px 6px rgba(37,211,102,.35);
}
.modal1-punto-texto {
  flex:1;
  font-size:.8rem;
  color:#cfd1d4;
  line-height:1.3;
}
.modal1-punto-texto strong { color:#fff; font-weight:700; }
.modal1-punto-texto .amarillo { color:#FFEB00; font-weight:700; }
.modal1-punto-texto .verde { color:#25D366; font-weight:700; }
.modal1-punto-emoji {
  flex-shrink:0;
  font-size:.95rem;
}

/* Checkbox */
.modal1-checkbox {
  display:flex; align-items:flex-start; gap:9px;
  padding:10px 11px;
  background:rgba(37,211,102,.06);
  border:1.5px solid rgba(37,211,102,.3);
  border-radius:10px;
  margin-bottom:10px;
  cursor:pointer;
  transition:all .25s ease;
  user-select:none;
  position:relative;
  overflow:hidden;
}
.modal1-checkbox:hover {
  background:rgba(37,211,102,.1);
  border-color:rgba(37,211,102,.5);
}
.modal1-checkbox.marcado {
  background:rgba(37,211,102,.12);
  border-color:#25D366;
  box-shadow:0 0 14px rgba(37,211,102,.25);
}
.modal1-checkbox.error {
  animation:shakeError .4s ease;
  border-color:#ff4444;
  background:rgba(255,68,68,.1);
  box-shadow:0 0 18px rgba(255,68,68,.35);
}
.modal1-checkbox input[type="checkbox"] {
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.modal1-check-custom {
  flex-shrink:0;
  width:18px; height:18px;
  border-radius:5px;
  border:2px solid rgba(37,211,102,.5);
  background:rgba(0,0,0,.4);
  display:flex; align-items:center; justify-content:center;
  transition:all .3s ease;
  margin-top:1px;
}
.modal1-checkbox.marcado .modal1-check-custom {
  background:linear-gradient(135deg,#25D366,#1FB855);
  border-color:#25D366;
  box-shadow:0 0 8px rgba(37,211,102,.5);
}
.modal1-check-custom::after {
  content:"✓";
  color:#fff;
  font-weight:900;
  font-size:.8rem;
  opacity:0;
  transform:scale(.5);
  transition:all .2s ease;
}
.modal1-checkbox.marcado .modal1-check-custom::after {
  opacity:1;
  transform:scale(1);
}
.modal1-checkbox span.check-label {
  font-size:.78rem; color:#cfd1d4; line-height:1.35; flex:1;
}
.modal1-checkbox span.check-label strong { color:#fff; font-weight:700; }
.modal1-checkbox.error span.check-label { color:#ff9999; }

/* Botón continuar (amarillo consistente con la landing) */
.btn-continuar {
  width:100%;
  padding:13px 14px;
  background:linear-gradient(180deg,#FFF700 0%,#FFEB00 50%,#FFD500 100%);
  color:#000;
  border:0;
  border-radius:12px;
  font-size:.82rem; font-weight:900;
  text-transform:uppercase; letter-spacing:.02em;
  cursor:pointer;
  box-shadow:0 6px 18px rgba(255,235,0,.5), 0 0 20px rgba(255,247,0,.3);
  transition:all .2s;
  position:relative;
  overflow:hidden;
}
.btn-continuar:not(.desactivado):hover {
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(255,235,0,.6), 0 0 28px rgba(255,247,0,.45);
}
.btn-continuar:active { transform:scale(.97); }
.btn-continuar.desactivado {
  background:linear-gradient(180deg,#2a2a2a,#1a1a1a);
  color:#555;
  cursor:not-allowed;
  box-shadow:none;
  animation:none;
}
.btn-continuar.desactivado:hover { transform:none; box-shadow:none; }

/* ═══════════════════════════════════════ */
/*  ALERTA INLINE (debajo de casilla)       */
/* ═══════════════════════════════════════ */
.alerta-inline {
  display:none;
  padding:10px 12px;
  background:linear-gradient(135deg, rgba(255,68,68,.12), rgba(255,68,68,.04));
  border:1.5px solid #ff4444;
  border-radius:10px;
  margin-bottom:10px;
  box-shadow:0 0 18px rgba(255,68,68,.25);
  animation:alertaInlineIn .35s cubic-bezier(.34,1.56,.64,1);
}
.alerta-inline.visible { display:block; }
@keyframes alertaInlineIn {
  0%   { opacity:0; transform:translateY(-6px) scale(.95); }
  100% { opacity:1; transform:translateY(0) scale(1); }
}
.alerta-inline-header {
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:4px;
}
.alerta-inline-icon {
  font-size:1.05rem;
  animation:blink 1s ease-in-out infinite;
}
@keyframes blink {
  0%,100% { opacity:1; }
  50%     { opacity:.5; }
}
.alerta-inline-titulo {
  font-size:.78rem;
  font-weight:900;
  color:#ff6666;
  letter-spacing:.05em;
}
.alerta-inline-texto {
  font-size:.78rem;
  color:#fff;
  line-height:1.35;
}
.alerta-inline-texto strong { color:#ff9999; }

/* ═══════════════════════════════════════ */
/*  MODAL 2                                 */
/* ═══════════════════════════════════════ */
/* ═══════════════════════════════════════ */
/*  MODAL 2 · MODOS DE VISTA                */
/* ═══════════════════════════════════════ */

/* Por defecto: solo vista SELECCIÓN visible */
.modo-seleccion { display:block; }
.modo-campo-numero { display:none; }
.modo-advertencia { display:none; }
.btn-cambiar-opcion { display:none; }

/* Modo NÚMERO (aún no ha escrito): campo visible, selección oculta */
#modal2-body.mostrar-numero .modo-seleccion { display:none; }
#modal2-body.mostrar-numero .modo-campo-numero { display:block; animation:fadeScaleIn .3s ease; }
#modal2-body.mostrar-numero .btn-cambiar-opcion { display:block; animation:fadeIn .4s ease .2s both; }

/* Modo NÚMERO CONFIRMADO: SOLO advertencia (campo desaparece, selección oculta) */
#modal2-body.mostrar-numero-confirmado .modo-seleccion { display:none; }
#modal2-body.mostrar-numero-confirmado .modo-campo-numero { display:none; }
#modal2-body.mostrar-numero-confirmado .modo-advertencia { display:block; animation:fadeScaleIn .35s ease; }
#modal2-body.mostrar-numero-confirmado .btn-cambiar-opcion { display:block; animation:fadeIn .4s ease .3s both; }

/* Modo DINÁMICA: solo advertencia visible */
#modal2-body.mostrar-dinamica .modo-seleccion { display:none; }
#modal2-body.mostrar-dinamica .modo-campo-numero { display:none; }
#modal2-body.mostrar-dinamica .modo-advertencia { display:block; animation:fadeScaleIn .35s ease; }
#modal2-body.mostrar-dinamica .btn-cambiar-opcion { display:block; animation:fadeIn .4s ease .3s both; }

.modo-seleccion, .modo-campo-numero, .modo-advertencia {
  animation:fadeIn .3s ease;
}

/* ═══════════════════════════════════════ */
/*  MODAL 2 · Instrucción y selección       */
/* ═══════════════════════════════════════ */
.modal2-instruccion {
  font-size:.8rem;
  color:#cfd1d4;
  text-align:center;
  margin-bottom:12px;
  line-height:1.35;
}
.modal2-instruccion .emoji-pulse {
  display:inline-block;
  animation:pulseEmoji 1.5s ease-in-out infinite;
}
@keyframes pulseEmoji {
  0%,100% { transform:scale(1); }
  50%     { transform:scale(1.15); }
}
.opciones-intent { display:flex; flex-direction:column; gap:10px; margin-bottom:4px; }

.opcion-intent {
  padding:0;
  background:linear-gradient(180deg, rgba(37,211,102,.08) 0%, rgba(37,211,102,.03) 100%);
  border:2px solid rgba(37,211,102,.4);
  border-radius:12px;
  cursor:pointer;
  transition:all .25s ease;
  text-align:left;
  font-family:inherit;
  color:inherit;
  width:100%;
  display:flex;
  align-items:stretch;
  overflow:hidden;
  position:relative;
  box-shadow:0 4px 12px rgba(37,211,102,.15);
}
.opcion-intent::before {
  content:"";
  position:absolute;
  top:0; left:-100%;
  width:100%; height:100%;
  background:linear-gradient(90deg, transparent, rgba(37,211,102,.15), transparent);
  transition:left .5s ease;
}
.opcion-intent:hover::before { left:100%; }
.opcion-intent:hover {
  background:linear-gradient(180deg, rgba(37,211,102,.15) 0%, rgba(37,211,102,.06) 100%);
  border-color:#25D366;
  box-shadow:0 6px 20px rgba(37,211,102,.35);
  transform:translateY(-1px);
}
.opcion-intent:active { transform:scale(.98); }
.opcion-intent-icon {
  flex-shrink:0;
  width:52px;
  background:linear-gradient(135deg,#25D366,#1FB855);
  display:flex; align-items:center; justify-content:center;
  font-size:1.5rem;
  box-shadow:inset -2px 0 6px rgba(0,0,0,.15);
}
.opcion-intent-icon .emoji-anim {
  display:inline-block;
  animation:emojiBounce 2s ease-in-out infinite;
}
@keyframes emojiBounce {
  0%,100% { transform:translateY(0) rotate(0); }
  50%     { transform:translateY(-3px) rotate(-5deg); }
}
.opcion-intent-textos {
  flex:1;
  min-width:0;
  padding:10px 12px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.opcion-intent h4 {
  font-size:.87rem;
  font-weight:800;
  color:#fff;
  margin-bottom:3px;
  display:flex;
  align-items:center;
  gap:6px;
}
.opcion-intent h4::after {
  content:"→";
  color:#25D366;
  font-size:1.1rem;
  font-weight:900;
  margin-left:auto;
  transition:transform .25s;
}
.opcion-intent:hover h4::after { transform:translateX(4px); }
.opcion-intent p {
  font-size:.73rem;
  color:#a8aeb5;
  line-height:1.3;
}

/* Botón cambiar de opción */
.btn-cambiar-opcion {
  background:none;
  border:1px solid rgba(255,255,255,.15);
  color:#8b929a;
  padding:7px 14px;
  border-radius:8px;
  font-size:.72rem;
  font-family:inherit;
  cursor:pointer;
  margin:12px auto 0;
  transition:all .2s;
}
.btn-cambiar-opcion:hover {
  background:rgba(255,255,255,.05);
  color:#fff;
  border-color:rgba(255,255,255,.3);
}

/* ═══════════════════════════════════════ */
/*  MODAL 2 · Campo del número              */
/* ═══════════════════════════════════════ */
.modo-campo-numero {
  padding:14px 14px 12px;
  background:rgba(37,211,102,.06);
  border:1.5px solid rgba(37,211,102,.3);
  border-radius:12px;
  margin-bottom:12px;
  text-align:center;
}
.campo-numero-icono {
  font-size:1.7rem;
  margin-bottom:4px;
  animation:brillar 1.5s ease-in-out infinite;
  filter:drop-shadow(0 0 8px rgba(255,235,0,.5));
}
.campo-numero-titulo {
  font-size:.95rem;
  font-weight:800;
  color:#fff;
  margin-bottom:4px;
  text-align:center;
}
.campo-numero-desc {
  font-size:.78rem;
  color:#cfd1d4;
  line-height:1.35;
  margin-bottom:10px;
  text-align:center;
}
.input-numero {
  width:100%;
  padding:12px 14px;
  font-size:1.5rem;
  font-weight:800;
  text-align:center;
  background:#000;
  border:1.5px solid rgba(255,255,255,.15);
  border-radius:9px;
  color:#25D366;
  letter-spacing:.2em;
  font-family:'Courier New',monospace;
  transition:all .2s;
  -moz-appearance:textfield;
}
.input-numero::-webkit-outer-spin-button,
.input-numero::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
.input-numero:focus {
  outline:none;
  border-color:#25D366;
  box-shadow:0 0 16px rgba(37,211,102,.3);
}
.input-numero.error {
  border-color:#ff4444;
  color:#ff6666;
  animation:shakeError .4s ease;
}
.input-hint {
  display:block;
  margin-top:6px;
  font-size:.7rem;
  color:#8b929a;
  text-align:center;
}
.input-hint strong { color:#cfd1d4; }
.input-error-msg {
  display:none;
  margin-top:6px;
  padding:6px 9px;
  background:rgba(255,68,68,.1);
  border:1px solid rgba(255,68,68,.3);
  border-radius:7px;
  color:#ff9999;
  font-size:.72rem;
  text-align:center;
  font-weight:600;
}
.input-error-msg.visible { display:block; }
.input-error-msg strong { color:#ffcccc; }

/* ═══════════════════════════════════════ */
/*  MODAL 2 · ADVERTENCIA FINAL             */
/* ═══════════════════════════════════════ */
.modo-advertencia {
  text-align:center;
  padding:6px 0 4px;
}
.advertencia-icono-superior {
  font-size:2rem;
  margin-bottom:6px;
  animation:brillar 1.5s ease-in-out infinite;
  filter:drop-shadow(0 0 10px rgba(255,235,0,.6));
}
@keyframes brillar {
  0%,100% { transform:scale(1); filter:drop-shadow(0 0 10px rgba(255,235,0,.6)); }
  50%     { transform:scale(1.1); filter:drop-shadow(0 0 20px rgba(255,235,0,.9)); }
}
.advertencia-titulo-principal {
  font-size:1.15rem;
  font-weight:900;
  color:#FFEB00;
  text-shadow:0 0 12px rgba(255,235,0,.5);
  margin-bottom:4px;
  letter-spacing:.01em;
}
.advertencia-subtitulo {
  font-size:.85rem;
  color:#cfd1d4;
  margin-bottom:10px;
  font-weight:600;
}
.advertencia-mensaje {
  font-size:.95rem;
  color:#fff;
  line-height:1.4;
  font-weight:600;
  padding:12px 14px;
  background:linear-gradient(180deg, rgba(37,211,102,.15) 0%, rgba(37,211,102,.05) 100%);
  border:1.5px solid rgba(37,211,102,.5);
  border-radius:10px;
  margin-bottom:12px;
  position:relative;
}
.advertencia-mensaje::before,
.advertencia-mensaje::after {
  content:'"';
  font-size:1.6rem;
  color:#25D366;
  position:absolute;
  opacity:.5;
  font-family:Georgia, serif;
}
.advertencia-mensaje::before { top:0; left:8px; }
.advertencia-mensaje::after { bottom:-4px; right:8px; }
.advertencia-mensaje strong {
  color:#FFEB00;
  text-shadow:0 0 8px rgba(255,235,0,.4);
}
.advertencia-nota {
  font-size:.82rem;
  color:#fff;
  margin-bottom:14px;
  padding:8px 10px;
  background:rgba(255,235,0,.08);
  border:1px solid rgba(255,235,0,.3);
  border-radius:8px;
}
.advertencia-nota strong { color:#FFEB00; }

.btn-final-modal {
  display:flex;
  width:100%;
  padding:14px 12px;
  background:linear-gradient(180deg,#FFF700 0%,#FFEB00 50%,#FFD500 100%);
  color:#000;
  border:0;
  border-radius:12px;
  font-size:.78rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.02em;
  cursor:pointer;
  box-shadow:0 6px 18px rgba(255,235,0,.5), 0 0 20px rgba(255,247,0,.3);
  animation:pulseCTAyellow 1.6s ease-in-out infinite;
  text-align:center;
  line-height:1.3;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-bottom:10px;
}
.btn-final-modal:active { transform:scale(.97); }
.btn-final-modal .wa-icon-wrap {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px; height:28px;
  background:#25D366;
  border-radius:50%;
  flex-shrink:0;
  box-shadow:0 2px 6px rgba(0,0,0,.2);
}

.modal2-aviso {
  font-size:.72rem;
  color:#a8aeb5;
  text-align:center;
  line-height:1.35;
  margin:0;
}
.modal2-aviso strong { color:#FFC845; }

@media (prefers-reduced-motion: reduce) {
  .cinta-marquee-track, .suerte-verde,
  .btn-cta, .btn-final-modal,
  .conoce-wrap h2, .conoce-wrap .texto-conoce,
  .redes-sociales, .leyenda-redes { animation:none; }
}
@supports (padding:max(0px)) {
  body { padding-bottom:env(safe-area-inset-bottom); }
}
