/* ============================================================
   DIAGNOSTICO.CSS — Overlay do questionário SOFIA
   ------------------------------------------------------------
   Estilos exclusivos do modal de diagnóstico:
   · .diag-overlay / .diag — moldura do modal
   · .field — campos do cadastro (estado .invalid mostra o erro)
   · .opt — opções de resposta (estado .sel = selecionada)
   · .meter — medidor visual DAS ↔ Híbrido do resultado
   · .alert / .alert.blue — alertas ⚠ e informativos ℹ
   · .lead-cta — bloco de redirecionamento comercial
   ============================================================ */
/* =========================================================
   DIAGNÓSTICO (overlay)
   ========================================================= */
.diag-overlay{position:fixed;inset:0;z-index:100;background:rgba(10,24,44,.72);backdrop-filter:blur(6px);display:none;align-items:center;justify-content:center;padding:20px}
.diag-overlay.open{display:flex}
.diag{background:var(--card);color:var(--ink);width:min(680px,100%);max-height:92vh;overflow:auto;border-radius:22px;box-shadow:0 40px 100px rgba(0,0,0,.5);position:relative;animation:pop .35s cubic-bezier(.2,.9,.3,1.1)}
@keyframes pop{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
.diag-top{position:sticky;top:0;background:var(--card);z-index:2;padding:22px 30px 14px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px}
.diag-top .t{font-family:var(--font-display);font-weight:700;font-size:.78rem;letter-spacing:.24em;text-transform:uppercase;color:var(--navy)}
.diag-close{background:none;border:none;font-size:1.3rem;color:var(--muted);line-height:1;padding:6px}
.diag-close:hover{color:var(--danger)}
.progress{height:5px;background:var(--line);border-radius:99px;overflow:hidden;margin:0 30px}
.progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--blue),var(--gold));transition:width .35s ease}
.diag-body{padding:26px 30px 34px}
.step-tag{font-family:var(--font-display);font-size:.66rem;letter-spacing:.26em;text-transform:uppercase;color:var(--amber);font-weight:600;margin-bottom:10px}
.diag h2{font-family:var(--font-display);font-weight:600;font-size:1.28rem;line-height:1.35;color:var(--navy);margin-bottom:6px}
.diag p.help{font-size:.82rem;color:var(--muted);margin-bottom:22px}

/* cadastro */
.field{margin-bottom:18px}
.field label{display:block;font-size:.76rem;font-weight:600;color:var(--navy);margin-bottom:7px;letter-spacing:.02em}
.field input{width:100%;padding:13px 15px;border:1.5px solid var(--line);border-radius:12px;font:inherit;font-size:.92rem;color:var(--ink);background:#fff;transition:border-color .2s}
.field input:focus{border-color:var(--blue);outline:none}
.field .err{display:none;font-size:.72rem;color:var(--danger);margin-top:6px}
.field.invalid input{border-color:var(--danger)}
.field.invalid .err{display:block}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
@media(max-width:560px){.grid2{grid-template-columns:1fr}}

/* opções */
.opts{display:grid;gap:11px}
.opt{display:flex;align-items:flex-start;gap:13px;padding:15px 17px;border:1.5px solid var(--line);background:#fff;border-radius:14px;text-align:left;font-size:.9rem;color:var(--ink);transition:border-color .18s,box-shadow .18s,transform .12s;line-height:1.45}
.opt:hover{border-color:var(--blue);transform:translateY(-1px);box-shadow:0 8px 22px rgba(22,54,92,.1)}
.opt .dot{flex:none;width:18px;height:18px;border-radius:50%;border:2px solid #C6D2DE;margin-top:2px;position:relative;transition:border-color .18s}
.opt:hover .dot{border-color:var(--blue)}
.opt.sel{border-color:var(--navy);box-shadow:0 8px 22px rgba(22,54,92,.14)}
.opt.sel .dot{border-color:var(--navy)}
.opt.sel .dot::after{content:'';position:absolute;inset:3px;border-radius:50%;background:var(--navy)}

.diag-nav{display:flex;justify-content:space-between;align-items:center;margin-top:28px;gap:12px}

/* resultado */
.res-badge{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;font-weight:700;padding:8px 16px;border-radius:99px;margin-bottom:16px}
.res-badge.hib{background:#E4EEF7;color:var(--blue-strong)}
.res-badge.das{background:#E8F3EE;color:var(--ok)}
.res-badge.eq{background:#F5EEDD;color:var(--warn)}
.res-badge.stop{background:#F6E9E9;color:var(--danger)}
.meter{margin:22px 0 8px}
.meter .bar{height:10px;border-radius:99px;background:linear-gradient(90deg,#7DBF9E 0%,#E7E2CF 50%,#6D9CC9 100%);position:relative}
.meter .pin{position:absolute;top:-6px;width:22px;height:22px;border-radius:50%;background:var(--navy);border:3px solid #fff;box-shadow:0 4px 12px rgba(0,0,0,.25);transform:translateX(-50%);transition:left .6s cubic-bezier(.2,.9,.3,1.1)}
.meter .ends{display:flex;justify-content:space-between;font-size:.68rem;color:var(--muted);margin-top:8px;letter-spacing:.06em;text-transform:uppercase;font-weight:600}
.alerts{margin-top:24px;display:grid;gap:10px}
.alert{display:flex;gap:11px;background:#FBF6E9;border:1px solid #EFE2BD;border-radius:12px;padding:13px 15px;font-size:.8rem;color:#6E5A22;line-height:1.55}
.alert.blue{background:#EEF4FA;border-color:#D4E2EF;color:#3A5B7C}
.alert .ic{flex:none;margin-top:1px}
.lead-cta{margin-top:28px;background:linear-gradient(135deg,var(--navy) 0%,var(--blue-strong) 100%);border-radius:16px;padding:26px;color:#fff}
.lead-cta h3{font-family:var(--font-display);font-size:1.05rem;font-weight:600;margin-bottom:8px}
.lead-cta p{font-size:.82rem;color:#CFDDEA;margin-bottom:18px;line-height:1.65}
.lead-cta .row{display:flex;gap:12px;flex-wrap:wrap}
.disclaimer{margin-top:24px;font-size:.7rem;color:var(--muted);line-height:1.6;border-top:1px solid var(--line);padding-top:16px}
.summary-line{font-size:.8rem;color:var(--muted);margin-top:4px}
.summary-line b{color:var(--navy)}

