/* ------------------------------------------------------------------
   Formulario de cinco preguntas, común a la portada y al blog.
   Todas las reglas van bajo .formulario para no chocar con los estilos
   de cada página. El marcado y la lógica viven en /formulario.js.
   ------------------------------------------------------------------ */

.formulario,.formulario *{box-sizing:border-box}
.formulario{--error:#B3261E;color:var(--tinta);font-size:16px;line-height:1.55;text-align:left;background:var(--blanco);border:1px solid var(--linea);border-radius:18px;padding:26px 24px 22px;width:100%;max-width:680px;box-shadow:0 14px 34px rgba(14,58,71,.07)}
.formulario .btn{
  display:inline-block;padding:14px 26px;border-radius:999px;cursor:pointer;
  font-family:var(--sans);font-weight:600;font-size:16px;line-height:1.3;
  background:var(--tinta);color:var(--blanco);border:1.5px solid var(--tinta);
  transition:background .2s ease,opacity .2s ease;
}
.formulario .btn:hover:not(:disabled){background:#0A2C36}
.formulario .btn:disabled{opacity:.55;cursor:not-allowed}
.formulario .barra{height:4px;background:var(--linea);border-radius:999px;overflow:hidden;margin-bottom:20px}
.formulario .barra span{display:block;height:100%;width:0;background:var(--salmon);transition:width .35s ease}
.formulario .f-paso{display:none;padding:0;animation:entra .32s ease both}
.formulario .f-paso.visible{display:block}
@keyframes entra{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.formulario .contador{font-size:13px;color:var(--tinta-60);margin:0 0 8px}
.formulario .f-pregunta{font-size:20px;line-height:1.3;margin:0 0 16px}
.formulario .f-opciones{display:flex;flex-direction:column;gap:10px}
.formulario .f-opcion{display:flex;align-items:center;gap:12px;border:1.5px solid var(--linea);border-radius:12px;padding:13px 16px;cursor:pointer;font-size:16px;transition:border-color .15s ease,background .15s ease}
.formulario .f-opcion:hover{border-color:var(--tinta-60)}
.formulario .f-opcion input{accent-color:var(--tinta);width:18px;height:18px;flex:0 0 auto;margin:0}
.formulario .f-opcion:has(input:checked){border-color:var(--tinta);background:var(--salmon-claro)}
.formulario .campo{margin-bottom:18px}
.formulario .campo label{display:block;font-weight:600;font-size:15px;margin-bottom:7px}
.formulario .campo input{width:100%;padding:13px 15px;border:1.5px solid var(--linea);border-radius:12px;font-size:16px;font-family:inherit;color:var(--tinta);background:var(--blanco)}
.formulario .campo input:focus{outline:2px solid var(--tinta);outline-offset:1px;border-color:var(--tinta)}
.formulario .campo input[aria-invalid="true"]{border-color:var(--error)}
.formulario .ayuda{font-size:13px;color:var(--tinta-60);margin:6px 0 0}
.formulario .consentimiento{display:flex;gap:11px;align-items:flex-start;font-size:14px;color:var(--tinta-80);margin:4px 0 6px}
.formulario .consentimiento input{accent-color:var(--tinta);width:18px;height:18px;margin:2px 0 0;flex:0 0 auto}
.formulario .error{color:var(--error);font-size:14px;margin:10px 0 0}
.formulario .error:empty{display:none}
.formulario .acciones{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}
@media(max-width:480px){.formulario .acciones .btn{padding:13px 18px;font-size:15px;line-height:1.25}}
.formulario .btn-texto{background:none;border:none;color:var(--tinta-60);font-family:inherit;font-size:15px;cursor:pointer;padding:10px 4px;text-decoration:underline;text-underline-offset:3px}
.formulario .btn-texto:hover{color:var(--tinta)}
.formulario .fin{text-align:center;padding:16px 4px 8px}
.formulario .fin .marca{font-size:34px;line-height:1;margin-bottom:14px}
.formulario .fin h3{margin-bottom:10px}
.formulario .fin p{color:var(--tinta-80);font-size:16px;margin:0 auto;max-width:440px}
.formulario .oculto-visual{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
