/* NEXIA - Landing del webinar V4.0 (24-oct): recorrido en 4 pasos con la mascota NEXIA como guia.
   Se apoya en css/sitio.css (fondo vivo, consola, botones, mascota). Solo diseno: el formulario y app.js no cambian. */

/* Portada */
.hero-web{min-height:min(92vh,880px)}
.hero-web h1{max-width:16ch;font-size:clamp(2.3rem,5.6vw,4.4rem)}
.cuando-web{list-style:none;margin:0 0 26px;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.cuando-web li{display:grid;gap:0;padding:10px 16px;border-radius:14px;background:rgba(15,30,58,.75);border:1px solid rgba(92,168,255,.35);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.cuando-web b{font-size:1.05rem}
.cuando-web span{font-size:.8rem;color:var(--suave)}
.cuenta-web{margin-top:26px;display:grid;gap:8px;max-width:420px}
.cuenta-web>p:first-child{margin:0;font-weight:700;font-size:.88rem;color:var(--suave)}
.cuenta{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.cuenta div{text-align:center;padding:10px 4px;border-radius:14px;background:rgba(8,19,38,.7);border:1px solid var(--borde-2)}
.cuenta strong{display:block;font-size:clamp(1.6rem,4vw,2.2rem);font-weight:800;line-height:1.05;color:#fff;font-variant-numeric:tabular-nums}
.cuenta span{font-size:.72rem;color:var(--suave)}
.cuenta-estado{display:none;margin:0;padding:12px;border-radius:12px;background:rgba(242,178,27,.15);border:1px solid #F2B21B;font-weight:700;text-align:center}
.hero-robot .nexi-svg{width:min(300px,62vw)}
@media(max-width:999px){.hero-web{min-height:0}.hero-robot{display:none}}

/* Ruta de 4 pasos: fija bajo la cabecera */
.ruta{position:sticky;top:68px;z-index:40;background:rgba(8,19,38,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-block:1px solid var(--borde)}
.ruta ol{list-style:none;margin:0;padding:10px 0 8px;display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.ruta a{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--suave);font-weight:700;font-size:.9rem;padding:6px 8px;border-radius:12px;transition:color .25s,background .25s}
.ruta a:hover{color:#fff;background:rgba(255,255,255,.05)}
.ruta .n{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1.5px solid var(--borde-2);font-weight:800;transition:all .3s}
.ruta li.hecho .n{background:rgba(92,168,255,.18);border-color:var(--cielo);color:var(--cielo)}
.ruta li.activo a{color:#fff}
.ruta li.activo .n{background:var(--cielo);border-color:var(--cielo);color:var(--marino);box-shadow:0 0 18px rgba(92,168,255,.7)}
.ruta-barra{height:3px;border-radius:3px;background:var(--borde);overflow:hidden;margin-bottom:8px}
.ruta-barra span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--cielo),var(--violeta),var(--cian));transition:width .4s ease}
@media(max-width:700px){.ruta{top:68px}.ruta .t{display:none}.ruta ol{gap:2px}.ruta a{justify-content:center}}

/* Pasos */
.paso{position:relative;overflow:hidden;scroll-margin-top:140px}
.paso>.wrap{position:relative;z-index:1}
.paso-alt{background:linear-gradient(180deg,transparent,rgba(15,30,58,.55) 20%,rgba(15,30,58,.55) 80%,transparent)}
.paso-cab{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:start;margin-bottom:34px;max-width:900px}
.paso-n{display:grid;place-items:center;width:clamp(64px,9vw,92px);height:clamp(64px,9vw,92px);border-radius:24px;font-size:clamp(2.2rem,5vw,3.2rem);font-weight:800;color:var(--marino);
  background:linear-gradient(140deg,#8EC3FF,var(--cielo) 45%,#A897FF);box-shadow:0 18px 40px rgba(92,168,255,.35)}
.paso-etq{margin:0 0 6px;font-weight:700;font-size:.88rem;color:var(--cielo)}
.paso-cab h2{font-size:clamp(1.8rem,4.2vw,2.8rem)}
.paso-cab .lead{margin-top:10px}
.paso-sig{margin:34px 0 0}
#registro{scroll-margin-top:130px}

/* Paso 1 */
.p1-dos{display:grid;gap:22px;align-items:start}
@media(min-width:1000px){.p1-dos{grid-template-columns:1.05fr .95fr;gap:36px}}
.llevas{display:grid;gap:12px}
.llevas-item{display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:start;background:var(--sup);border:1px solid var(--borde);border-radius:18px;padding:18px;
  background-image:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(92,168,255,.12),transparent 45%)}
.llevas-item svg{width:44px;height:44px;color:var(--cielo)}
.llevas-item h3{margin:0 0 4px}
.llevas-item p{margin:0;color:var(--suave);font-size:.95rem}
.agenda-web{margin-top:24px;border:1px solid var(--borde);border-radius:18px;background:var(--sup);padding:0 18px}
.agenda-web summary{cursor:pointer;list-style:none;position:relative;padding:18px 36px 18px 0;font-weight:700}
.agenda-web summary::-webkit-details-marker{display:none}
.agenda-web summary::after{content:"+";position:absolute;right:4px;top:12px;font-size:1.6rem;color:var(--cielo);transition:transform .2s}
.agenda-web[open] summary::after{transform:rotate(45deg)}
.agenda-lista{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:0;counter-reset:a}
.agenda-lista li{counter-increment:a;display:grid;grid-template-columns:32px 180px 1fr;gap:12px;padding:12px 0;border-top:1px solid var(--borde);font-size:.95rem}
.agenda-lista li::before{content:counter(a);display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--sup2);color:var(--cielo);font-weight:800;font-size:.82rem}
.agenda-lista span{color:var(--suave)}
@media(max-width:640px){.agenda-lista li{grid-template-columns:32px 1fr}.agenda-lista li span{grid-column:2}}

/* Paso 2: semaforo y juego */
.p2-dos{display:grid;gap:20px;align-items:start}
@media(min-width:900px){.p2-dos{grid-template-columns:1fr 1fr;gap:28px}}
.semaforo-web{background:var(--sup);border:1px solid var(--borde);border-radius:20px;overflow:hidden}
.semaforo-web h3{margin:0;padding:16px 20px;border-bottom:1px solid var(--borde);font-size:1.1rem}
.semaforo-web ul{list-style:none;margin:0;padding:0}
.semaforo-web li{display:flex;gap:14px;align-items:flex-start;padding:16px 20px;border-bottom:1px solid var(--borde);font-size:.97rem;color:var(--suave)}
.semaforo-web li b{color:var(--texto)}
.semaforo-web .micro{margin:0;padding:12px 20px}
.luz{flex:none;width:18px;height:18px;border-radius:50%;margin-top:3px}
.luz.rojo{background:#E5484D;box-shadow:0 0 12px rgba(229,72,77,.7)}
.luz.ambar,.luz.amarillo{background:#F2B21B;box-shadow:0 0 12px rgba(242,178,27,.7)}
.luz.verde{background:#30B26A;box-shadow:0 0 12px rgba(48,178,106,.7)}
.quiz{position:relative;padding:24px;border-radius:20px;background:rgba(15,30,58,.9);border:1px solid rgba(92,168,255,.5);box-shadow:0 30px 60px rgba(0,0,0,.4),0 0 40px rgba(15,106,233,.2)}
.quiz-tit{margin:0 0 6px;font-size:1.2rem}
.quiz-prog{margin:0 0 8px;font-size:.88rem;color:var(--suave)}
.quiz-barra{height:6px;border-radius:3px;background:var(--sup2);overflow:hidden;margin-bottom:18px}
.quiz-barra span{display:block;height:100%;background:linear-gradient(90deg,var(--cielo),var(--cian));transition:width .4s ease}
.quiz-dato{margin:0 0 18px;font-size:1.3rem;font-weight:800;min-height:2.6em;line-height:1.3}
.quiz-opciones,.quiz-fin{display:grid;gap:10px}
@media(min-width:520px){.quiz-opciones{grid-template-columns:repeat(3,1fr)}.quiz-fin{grid-template-columns:1fr 1fr}}
.quiz-op{display:flex;align-items:center;justify-content:center;gap:10px;min-height:54px;border-radius:14px;border:1.5px solid var(--borde-2);background:var(--fondo);color:var(--texto);font:700 1rem var(--f);cursor:pointer;transition:border-color .2s,background .2s,transform .15s}
.quiz-op:hover:not([disabled]){border-color:#fff;transform:translateY(-2px)}
.quiz-op .luz{margin-top:0}
.quiz-op[disabled]{cursor:default;opacity:.5}
.quiz-op.correcta{opacity:1;border-color:#30B26A;background:rgba(48,178,106,.18)}
.quiz-op.fallo{opacity:1;border-color:#E5484D;background:rgba(229,72,77,.16)}
.quiz-fb{min-height:1.6em;margin:16px 0 0;font-weight:600}
.quiz-fb.ok{color:#7FE3A8}.quiz-fb.no{color:#FF9A9D}
.quiz-res{margin:0 0 16px;color:var(--suave)}
.quiz .btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:999px;border:0;background:var(--cielo);color:var(--marino);font:700 .95rem var(--f);text-decoration:none;cursor:pointer;margin-top:14px}
.quiz .btn:hover{background:#8EC3FF}
.quiz .btn-linea{background:transparent;color:#fff;border:1.5px solid var(--borde-2)}
.quiz-fin .btn{margin-top:0}

/* Paso 3: registro */
.paso-reg .fx-fondo{opacity:.7}
.reg-dos{display:grid;gap:28px;align-items:start}
@media(min-width:960px){.reg-dos{grid-template-columns:.85fr 1.15fr;gap:48px}}
.reg-lado{display:grid;gap:18px;align-content:start}
.reg-robot .nexi-svg{width:min(220px,50vw)}
@media(max-width:959px){.reg-robot{display:none}}
.reg-checks{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.reg-checks li{display:flex;gap:10px;align-items:center;font-weight:600}
.reg-checks svg{flex:none;width:22px;height:22px;color:#30B26A}
.reg-nota{margin:0;color:var(--suave);font-size:.95rem}
.reg-nota b{color:var(--texto)}
.form-box{position:relative;border-radius:24px;padding:clamp(22px,4vw,34px);background:rgba(15,30,58,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(92,168,255,.55);box-shadow:0 40px 90px rgba(0,0,0,.5),0 0 60px rgba(15,106,233,.25)}
.form-box::before{content:"";position:absolute;inset:-1px;border-radius:24px;padding:1px;background:linear-gradient(140deg,var(--cielo),var(--violeta) 45%,transparent 70%,var(--cian));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.form-cab{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}
.form-cab h2{font-size:1.5rem;margin:0}
.form-chip{font-size:.78rem;font-weight:800;padding:4px 10px;border-radius:999px;background:rgba(48,178,106,.18);color:#7FE3A8}
.form-box label{display:block;font-weight:600;font-size:.92rem;margin:16px 0 6px}
.form-box .opc{font-weight:400;color:var(--tenue)}
.form-box input[type=text],.form-box input[type=email],.form-box input[type=tel],.form-box select{width:100%;min-height:52px;padding:12px 14px;border-radius:14px;border:1.5px solid var(--borde-2);background:var(--fondo);color:var(--texto);font:16px var(--f);transition:border-color .2s,box-shadow .2s}
.form-box input:focus,.form-box select:focus{outline:none;border-color:var(--cielo);box-shadow:0 0 0 4px rgba(92,168,255,.25)}
.form-box input::placeholder{color:var(--tenue)}
.ayuda{font-size:.84rem;color:var(--tenue);margin-top:5px}
.err{display:none;font-size:.86rem;color:#FF9A9D;font-weight:700;margin-top:6px}
.invalido{border-color:#E5484D!important;box-shadow:0 0 0 3px rgba(229,72,77,.2)!important}
.trampa{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.consent{display:flex!important;gap:12px;align-items:flex-start;font-weight:400!important;font-size:.88rem!important;line-height:1.5;margin:22px 0 6px!important;color:var(--suave)}
.consent input{flex:none;width:24px;height:24px;margin:1px 0 0;accent-color:var(--cielo)}
.btn-reservar{width:100%;min-height:58px;margin-top:20px;font-size:1.05rem}
.btn-reservar[disabled]{opacity:.7;cursor:wait}
.form-gratis{margin:10px 0 0;font-weight:700;color:var(--suave)}
.msg-form{display:none;margin-top:16px;padding:14px 16px;border-radius:12px;font-weight:500;font-size:.94rem}
.msg-form.error{display:block;background:rgba(229,72,77,.14);border:1px solid #E5484D;color:#FFC9CB}
.msg-form a{color:#fff;font-weight:700}

/* Personas (las pinta app.js si hay datos) */
.presenta{margin-top:24px;display:grid;gap:12px}
@media(min-width:640px){.presenta{grid-template-columns:1fr 1fr}}
.persona{display:flex;gap:14px;align-items:center;background:var(--sup);border:1px solid var(--borde);border-radius:16px;padding:12px}
.persona img{flex:none;width:72px;height:72px;border-radius:50%;object-fit:cover}
.persona p{margin:0}.persona small{display:block;color:var(--tenue)}.persona .linea{color:var(--suave);font-size:.9rem}

/* Paso 4: linea de tiempo */
.linea-web{list-style:none;margin:0 0 40px;padding:0;display:grid;gap:12px;position:relative}
@media(min-width:1000px){.linea-web{grid-template-columns:repeat(5,1fr)}}
.linea-web li{position:relative;display:grid;gap:4px;align-content:start;background:var(--sup);border:1px solid var(--borde);border-radius:18px;padding:18px}
.linea-web time{font-size:.82rem;font-weight:800;color:var(--cielo)}
.linea-web b{font-size:1.05rem}
.linea-web span{color:var(--suave);font-size:.92rem}
.linea-web li.clave{background:linear-gradient(160deg,#123266,var(--sup) 75%);border-color:rgba(92,168,255,.6);box-shadow:0 0 40px rgba(15,106,233,.25)}
.faq-web{max-width:820px}
.faq-web h2{font-size:clamp(1.5rem,3vw,2rem);margin-bottom:8px}

/* La mascota fija no tapa el boton de WhatsApp */
.pag-webinar .nexi{bottom:14px}

@media(prefers-reduced-motion:reduce){.ruta-barra span,.quiz-barra span,.quiz-op{transition:none}}
