/* Cuestionario de primer filtro — las 10 preguntas del cliente (PDF del 2026-10-13) agrupadas en
   3 pasos. Sirve a los DOS caminos. Mismos tokens que index.html.
   Antes de esa fecha era el esqueleto de 3 preguntas con un textarea genérico (2026-10-06). */
@font-face{font-family:'Lexend Exa';font-style:normal;font-weight:400 600;font-display:swap;
  src:url(/assets/fonts/lexend-exa-latin.woff2) format('woff2')}
:root{--verde:#266468;--verde-osc:#1d4f52;--azul:#1c315e;--arena:#d8b08e;--crema:#f5f2ea;--agua:#d2e9e4;--suave:#46557a}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Lexend Exa',system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--azul);background:var(--crema);
  line-height:1.6;min-height:100vh;display:flex;flex-direction:column}
header{border-bottom:1px solid rgba(28,49,94,.08);background:var(--crema)}
header .wrap{display:flex;align-items:center;justify-content:space-between;min-height:72px}
header img{width:170px;height:auto;display:block}
header a.salir{font-size:.82rem;color:var(--suave);text-decoration:none;padding:10px 12px;border-radius:10px}
header a.salir:hover{background:var(--agua)}
.wrap{width:100%;max-width:760px;margin:0 auto;padding:0 20px}
main{flex:1;display:flex;align-items:center;padding:48px 0 64px}
.progreso{display:flex;align-items:center;gap:14px;margin-bottom:28px;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--verde);font-weight:600}
.barra{flex:1;height:6px;border-radius:99px;background:var(--agua);overflow:hidden}
.barra i{display:block;height:100%;background:var(--verde);border-radius:99px}
h1{font-weight:600;letter-spacing:-.03em;line-height:1.15;font-size:clamp(1.6rem,4vw,2.4rem);margin-bottom:10px}
.ayuda{color:var(--suave);margin-bottom:26px}
.pendiente-cliente{display:inline-block;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;background:var(--arena);
  color:var(--azul);border-radius:8px;padding:4px 10px;margin-bottom:16px;font-weight:600}
label{display:block;font-weight:600;font-size:.9rem;margin-bottom:8px}
textarea{width:100%;min-height:110px;font:inherit;color:inherit;background:#fff;border:2px solid rgba(28,49,94,.18);
  border-radius:16px;padding:16px;resize:vertical}
input[type=text],input[type=email],input[type=tel],select{width:100%;font:inherit;color:inherit;background:#fff;
  border:2px solid rgba(28,49,94,.18);border-radius:14px;padding:14px 16px;min-height:54px}
select{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%231c315e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 16px center;background-size:20px;padding-right:48px}
textarea:focus,input:focus,select:focus{outline:none;border-color:var(--verde);box-shadow:0 0 0 4px rgba(38,100,104,.15)}

/* ── Preguntas ────────────────────────────────────────────── */
.pregunta{margin-bottom:30px}
.pregunta>legend,.pregunta>label{font-weight:600;font-size:1rem;margin-bottom:12px;padding:0;line-height:1.35;display:block}
fieldset.pregunta{border:0}
.pista{display:block;font-weight:400;font-size:.85rem;color:var(--suave);margin-top:4px}
/* Cada opción es una tarjeta clicable entera: en el celular un radio suelto es un blanco de 20px. */
.opciones{display:grid;gap:8px}
.opciones.dos{grid-template-columns:1fr 1fr}
.opciones label{display:flex;align-items:center;gap:12px;font-weight:400;font-size:.95rem;margin:0;cursor:pointer;
  background:#fff;border:2px solid rgba(28,49,94,.14);border-radius:14px;padding:14px 16px;min-height:54px;
  transition:border-color .15s,background .15s}
.opciones label:hover{border-color:var(--verde)}
.opciones input{accent-color:var(--verde);width:20px;height:20px;flex:none;margin:0}
.opciones input:checked+span{font-weight:600}
.opciones label:has(input:checked){border-color:var(--verde);background:var(--agua)}
.opciones input:focus-visible{outline:3px solid var(--verde);outline-offset:3px}
@media (max-width:520px){.opciones.dos{grid-template-columns:1fr}}

/* El detalle de la pregunta 9 sólo aparece si la respuesta es «Yes». */
.condicional[hidden]{display:none}
.condicional{margin-top:12px}

.error{display:block;color:#a02020;font-size:.85rem;font-weight:600;margin-top:8px}
.error[hidden]{display:none}
.pregunta.mal .opciones label,.pregunta.mal input,.pregunta.mal select,.pregunta.mal textarea{border-color:#a02020}

.aviso{background:var(--agua);border-radius:16px;padding:16px 18px;font-size:.9rem;margin-bottom:26px}
.aviso b{font-weight:600}

/* El fallo de envío tiene que verse más que un error de campo: la persona terminó el cuestionario
   y lo que le estamos diciendo es que NO quedó guardado. */
.error-envio{background:#fdecec;border:2px solid #a02020;color:#7d1818;border-radius:16px;
  padding:16px 18px;font-size:.92rem;margin-top:24px}
.error-envio[hidden]{display:none}
.error-envio a{color:inherit;font-weight:600}
button[disabled]{opacity:.65;cursor:progress}
.acciones{display:flex;justify-content:space-between;gap:12px;margin-top:28px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:inherit;font-weight:600;text-decoration:none;
  border:0;cursor:pointer;padding:15px 26px;border-radius:999px;min-height:54px}
.btn.primario{background:var(--verde);color:#fff}
.btn.primario:hover{background:var(--verde-osc)}
.btn.secundario{background:transparent;color:var(--azul);border:2px solid rgba(28,49,94,.25)}
a:focus-visible,button:focus-visible{outline:3px solid var(--verde);outline-offset:3px}
.caja{background:#fff;border-radius:22px;padding:32px;border:2px dashed var(--verde)}
@media (max-width:520px){.acciones .btn{flex:1}.caja{padding:24px}}
