/* Diagnóstico gratuito em etapas (home e páginas de nicho): assets/vr-diagnostico-form.js. */
#lead-form .btn, .dg-extra .btn { white-space: normal; text-align: center; line-height: 1.3; }
.dg-passo { display: block; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--brand); margin-top: 14px; }
.dg-q { border: 0; margin: 16px 0 0; padding: 0; min-width: 0; }
.dg-q legend { font-size: 13px; font-weight: 600; color: var(--ink-2); margin-bottom: 8px; padding: 0; }
.dg-ops { display: flex; flex-wrap: wrap; gap: 8px; }
.dg-op { position: relative; }
.dg-op input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.dg-op span { display: inline-block; border: 1px solid var(--line); border-radius: 999px; padding: 8px 13px; font-size: 14px; line-height: 1.3; cursor: pointer; background: #fff; color: var(--ink); transition: background .15s, border-color .15s; }
.dg-op span:hover { border-color: var(--brand); }
.dg-op input:checked + span { background: var(--brand); border-color: var(--brand); color: #fff; }
.dg-op input:focus-visible + span { outline: 3px solid rgba(var(--brand-rgb), .3); outline-offset: 2px; }
.dg-res { background: var(--brand-tint); border-radius: 16px; padding: 16px 18px; margin-top: 14px; font-size: 15px; line-height: 1.55; color: var(--ink); }
.dg-res p + p { margin-top: 8px; }
.dg-res b { color: var(--brand-deep, var(--brand)); }
.dg-cta { font-size: 14px; color: var(--ink-soft); margin-top: 14px; }
.dg-link { display: block; margin: 12px auto 0; background: none; border: 0; padding: 4px; color: var(--ink-mute); font: inherit; font-size: 13px; text-decoration: underline; cursor: pointer; }
.dg-extra { text-align: left; margin-top: 22px; border-top: 1px solid var(--line); padding-top: 18px; }
.dg-extra h4 { font-size: 16px; font-weight: 800; color: var(--ink); }
.dg-extra > p { font-size: 14px; color: var(--ink-soft); margin-top: 4px; }
.form-success .dg-extra .btn { margin-top: 18px; width: 100%; }
.dg-ok { color: var(--ink-soft); font-size: 14px; margin-top: 16px; }
