/* ============================================================
   FORMULÁRIO DE TRIAGEM E PÁGINAS DE RESULTADO
   Usado por /progressao e pelas páginas obrigado-a, -b, -c, -n.
   Carregado DEPOIS do site.css, e só por essas páginas — assim o
   site institucional não precisa ser mexido nem republicado.
   ============================================================ */

/* ---------- abertura da landing page ---------- */
.lp-topo{padding-block:44px 8px}
.lp-topo h1{font-size:2.2rem}
.lp-topo p.lead{font-size:1.2rem;color:var(--texto-suave);margin:16px 0 0;max-width:56ch}
@media (max-width:760px){.lp-topo{padding-block:26px 4px}.lp-topo h1{font-size:1.75rem}.lp-topo p.lead{font-size:1.05rem}}

/* ---------- cartão do formulário ---------- */
.calc{
  background:var(--cartao);border:1px solid var(--linha);border-top:4px solid var(--verde);
  border-radius:6px;padding:32px 34px 28px;margin:32px 0 0;max-width:720px;
}
@media (max-width:760px){.calc{padding:22px 18px 20px;margin-top:24px}}

.contador{font-size:.85rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--texto-suave);margin-bottom:10px}
.trilho{height:6px;background:var(--faixa);border-radius:3px;overflow:hidden;margin-bottom:26px}
.trilho i{display:block;height:100%;width:25%;background:var(--verde);border-radius:3px;transition:width .3s ease}
@media (prefers-reduced-motion:reduce){.trilho i{transition:none}}

.passo{display:none}
.passo.ativo{display:block}

fieldset{border:0;margin:0 0 26px;padding:0}
fieldset:last-of-type{margin-bottom:12px}
legend{font-size:1.2rem;font-weight:700;color:var(--verde);padding:0;margin-bottom:6px;line-height:1.25}
.ajuda{font-size:.95rem;color:var(--texto-suave);margin:0 0 14px;max-width:56ch}

/* opções de escolha única */
.opcoes{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.opcao{
  display:flex;align-items:flex-start;gap:13px;background:var(--branco);
  border:1px solid var(--linha);border-radius:6px;padding:14px 16px;cursor:pointer;
  font-size:1.02rem;line-height:1.35;
}
.opcao:hover{border-color:var(--verde)}
.opcao input{margin:.25em 0 0;width:20px;height:20px;flex:none;accent-color:var(--verde)}
.opcao.marcada{border-color:var(--verde);background:var(--faixa);box-shadow:inset 0 0 0 1px var(--verde)}
.opcao:focus-within{outline:3px solid #B58A2B;outline-offset:2px}

/* campos de texto, número e lista */
.campo{margin-bottom:18px}
.campo:last-child{margin-bottom:0}
.campo label{display:block;font-weight:600;margin-bottom:6px;font-size:1.02rem}
.campo .nota{display:block;font-weight:400;font-size:.9rem;color:var(--texto-suave);margin-top:2px}
input[type=text],input[type=tel],input[type=number],select{
  width:100%;max-width:340px;font:inherit;font-size:1.05rem;color:var(--texto);
  background:var(--branco);border:1px solid var(--linha);border-radius:5px;padding:12px 13px;
}
select{max-width:260px;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' fill='none' stroke='%231E3D33' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;background-size:18px;padding-right:38px;
}
input:focus-visible,select:focus-visible{outline:3px solid #B58A2B;outline-offset:2px;border-color:var(--verde)}
input[type=number]{max-width:180px}
.dupla{display:flex;gap:14px;flex-wrap:wrap}
.dupla .campo{margin-bottom:0}

/* consentimento */
.consent{display:flex;align-items:flex-start;gap:13px;font-size:.98rem;line-height:1.45;margin:6px 0 4px;max-width:56ch}
.consent input{margin:.2em 0 0;width:20px;height:20px;flex:none;accent-color:var(--verde)}
.miudo{font-size:.88rem;color:var(--texto-suave);margin:14px 0 0;max-width:56ch}

/* campo-armadilha: invisível para gente, visível para robô */
.armadilha{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* navegação entre passos */
.navegar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:26px;padding-top:20px;border-top:1px solid var(--linha)}
.navegar .btn{cursor:pointer;font-family:inherit}
button.btn{font-size:1.05rem}
.voltar{background:none;border:0;padding:12px 4px;font:inherit;font-size:1rem;font-weight:600;color:var(--texto-suave);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.voltar:hover{color:var(--verde)}
.voltar:focus-visible{outline:3px solid #B58A2B;outline-offset:2px}

/* erros */
.erro{
  display:none;background:#FBF0EC;border-left:4px solid #9B3B1E;color:#7A2E17;
  padding:11px 15px;border-radius:4px;margin:0 0 18px;font-size:.98rem;
}
.erro.aparece{display:block}

/* ---------- páginas de resultado ---------- */
.resultado{padding-block:56px 72px}
.resultado .wrap{max-width:760px}
.placa{
  background:var(--cartao);border:1px solid var(--linha);border-top:4px solid var(--verde);
  border-radius:6px;padding:30px 34px;margin:26px 0 30px;
}
@media (max-width:760px){.placa{padding:22px 18px}}
.letras{display:flex;gap:34px;flex-wrap:wrap;margin:0 0 6px}
.letra{margin:0}
.letra dt{font-size:.82rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--texto-suave);margin-bottom:2px}
.letra dd{margin:0;font-size:3rem;font-weight:700;line-height:1;color:var(--verde);font-variant-numeric:tabular-nums}
.veredito{font-size:1.15rem;font-weight:600;color:var(--verde);margin:18px 0 0}
.quando{font-size:1.35rem;font-weight:700;color:var(--verde);margin:4px 0 0}
.passos-seguintes{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:12px;counter-reset:p}
.passos-seguintes li{position:relative;padding-left:40px;font-size:1.02rem;counter-increment:p}
.passos-seguintes li::before{
  content:counter(p);position:absolute;left:0;top:-1px;width:27px;height:27px;border-radius:50%;
  background:var(--verde);color:#fff;font-size:.9rem;font-weight:700;display:grid;place-items:center;
}
.selo{font-size:.92rem;color:var(--texto-suave);border-top:1px solid var(--linha);margin-top:26px;padding-top:16px}
