/* Épargne et impôt — Formulaire « Diagnostic gratuit » : court, lisible, gros champs. */
.dg { padding: var(--space-10) 0 var(--space-12, 5rem); background: var(--color-neutral-50, #fbf9f4); }
.dg-in { max-width: 640px; margin: 0 auto; }
.dg-kicker { font-family: var(--font-mono); font-size: var(--font-size-xs); letter-spacing: .14em; text-transform: uppercase; color: #8a6a2c; margin: 0 0 var(--space-3); }
.dg h1 { font-size: clamp(1.9rem, 4.5vw, 2.6rem); line-height: 1.12; margin: 0 0 var(--space-4); color: var(--color-primary-900, #0f2a2e); text-wrap: balance; }
.dg-sous { font-size: var(--font-size-lg); line-height: 1.55; color: var(--color-neutral-700, #43504f); margin: 0 0 var(--space-6); }
.dg-form { display: flex; flex-direction: column; gap: var(--space-5); background: #fff; padding: var(--space-6); border-radius: var(--radius-xl, 20px); border: 1px solid var(--color-neutral-200, #e4e0d6); box-shadow: 0 10px 30px rgba(15,42,46,.07); }
.dg-champ { display: flex; flex-direction: column; gap: .4rem; font-weight: var(--font-weight-bold, 700); color: var(--color-primary-900, #0f2a2e); }
.dg-champ em { font-weight: 400; font-style: normal; color: var(--color-neutral-500, #6b6f6a); }
.dg-champ input { font: inherit; font-weight: 400; font-size: 1.1rem; padding: .85rem 1rem; border: 1.5px solid var(--color-neutral-300, #cfcac0); border-radius: var(--radius-md, 10px); background: #fff; color: #1b1f1e; min-height: 52px; }
.dg-champ input:focus { outline: 3px solid #a8853f; outline-offset: 1px; border-color: #a8853f; }
.dg-champ input[aria-invalid="true"] { border-color: #b3261e; }
.dg-choix { border: 0; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.dg-choix legend { font-weight: var(--font-weight-bold, 700); color: var(--color-primary-900, #0f2a2e); margin-bottom: .5rem; padding: 0; }
.dg-choix label { position: relative; }
.dg-choix input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.dg-choix span { display: inline-block; padding: .65rem 1rem; border: 1.5px solid var(--color-neutral-300, #cfcac0); border-radius: 999px; background: #fff; color: #1b1f1e; font-size: 1rem; cursor: pointer; transition: background .15s, border-color .15s; }
.dg-choix input:checked + span { background: #0f2a2e; border-color: #0f2a2e; color: #fff; }
.dg-choix input:focus-visible + span { outline: 3px solid #a8853f; outline-offset: 2px; }
.dg-envoi { width: 100%; min-height: 56px; font-size: 1.1rem; justify-content: center; }
.dg-erreur { margin: 0; color: #b3261e; font-weight: 600; }
.dg-note { margin: 0; font-size: var(--font-size-sm); color: var(--color-neutral-500, #6b6f6a); line-height: 1.55; }
.dg-merci { margin-top: var(--space-5); padding: var(--space-6); border-radius: var(--radius-xl, 20px); background: #0f2a2e; color: #eef0ea; }
.dg-merci h2 { color: #fff; margin: 0 0 var(--space-3); }
.dg-merci p { margin: 0 0 var(--space-4); line-height: 1.55; }
.dg-alt { display: flex; flex-wrap: wrap; gap: .75rem; margin-bottom: 0 !important; }
.dg-direct { margin: var(--space-6) 0 var(--space-2); font-size: var(--font-size-base); }
.dg-avis { margin: 0; font-size: var(--font-size-xs); color: var(--color-neutral-500, #6b6f6a); line-height: 1.55; }
@media (max-width: 560px) { .dg-form { padding: var(--space-5); } }
.dg-form[hidden], .dg-merci[hidden], .dg-note[hidden] { display: none !important; }
