/* Formulaires et pré-diagnostic */
.mdc-form *, .mdc-diag * { box-sizing: border-box; }
.mdc-form, .mdc-diag__card { box-sizing: border-box; background: #fff; border: 1px solid var(--wp--preset--color--trait, #D9E1E8); border-radius: 14px; padding: clamp(1.25rem, 4vw, 2.25rem); box-shadow: 0 1px 2px rgba(16,42,67,.06), 0 8px 24px rgba(16,42,67,.06); }
.mdc-form fieldset { border: 0; padding: 0; margin: 0 0 1.75rem; }
.mdc-form legend { font-family: var(--wp--preset--font-family--serif); font-size: 1.25rem; font-weight: 600; color: var(--wp--preset--color--nuit); margin-bottom: .75rem; padding: 0; }
.mdc-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 1.25rem; }
.mdc-field--wide { grid-column: 1 / -1; }
@media (max-width: 640px) { .mdc-grid { grid-template-columns: 1fr; } }
.mdc-field label { display: block; font-weight: 600; font-size: .9375rem; margin-bottom: .35rem; color: var(--wp--preset--color--nuit); }
.mdc-optional { font-weight: 400; color: var(--wp--preset--color--bleu-gris); }
.mdc-field input[type=text], .mdc-field input[type=email], .mdc-field input[type=tel], .mdc-field select, .mdc-field textarea { width: 100%; box-sizing: border-box; font: inherit; font-size: 1rem; padding: .75rem .85rem; border: 1px solid #B7C4D1; border-radius: 8px; background: #fff; color: var(--wp--preset--color--texte); min-height: 48px; }
.mdc-field textarea { min-height: 120px; resize: vertical; }
.mdc-field :focus { outline: 3px solid rgba(183,149,75,.55); outline-offset: 1px; border-color: var(--wp--preset--color--profond); }
.mdc-hint { font-size: .8125rem; color: var(--wp--preset--color--bleu-gris); margin: .35rem 0 0; }
.mdc-field.has-error input, .mdc-field.has-error select, .mdc-field.has-error textarea { border-color: #B42318; }
.mdc-error { color: #B42318; font-size: .875rem; margin: .35rem 0 0; font-weight: 500; }
.mdc-form__alert { background: #FEF3F2; color: #912018; border-radius: 8px; padding: .8rem 1rem; margin-bottom: 1.25rem; font-weight: 500; }
.mdc-check { display: flex; gap: .7rem; align-items: flex-start; font-weight: 400 !important; font-size: .9375rem; cursor: pointer; }
.mdc-check input { width: 1.2rem; height: 1.2rem; margin-top: .2rem; flex: none; accent-color: var(--wp--preset--color--profond); }
.mdc-form__privacy { font-size: .8125rem; color: var(--wp--preset--color--bleu-gris); margin: 1rem 0 1.5rem; }
.mdc-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.mdc-diag-summary { margin-top: 1.25rem; background: var(--wp--preset--color--bleu-voile, #F1F5F9); border-radius: 8px; padding: 1rem; }
.mdc-diag-summary__text { white-space: pre-wrap; font-family: inherit; font-size: .8125rem; color: var(--wp--preset--color--bleu-gris); margin: .75rem 0 0; max-height: 180px; overflow: auto; }
.mdc-form button[type=submit] { border: 0; cursor: pointer; }
.mdc-form button[disabled] { opacity: .7; cursor: wait; }

/* Pré-diagnostic */
.mdc-diag { max-width: 760px; margin-inline: auto; }
.mdc-diag__card h2 { margin-top: .25rem; font-size: clamp(1.5rem, 3vw, 2rem); }
.mdc-diag__kicker { font-size: .8125rem; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--or-fonce, #7A5F24); margin: 0; }
.mdc-diag__assure { list-style: none; padding: 0; margin: 1.25rem 0 1.75rem; display: grid; gap: .4rem; }
.mdc-diag__assure li { padding-left: 1.7rem; position: relative; font-size: .9375rem; }
.mdc-diag__assure li::before { content: "✓"; position: absolute; left: 0; color: var(--wp--preset--color--profond); font-weight: 700; }
.mdc-diag button.wp-block-button__link { border: 0; cursor: pointer; }
.mdc-diag__progress { height: 6px; background: var(--wp--preset--color--bleu-clair, #E6EEF5); border-radius: 99px; overflow: hidden; }
.mdc-diag__progress span { display: block; height: 100%; background: var(--wp--preset--color--profond); border-radius: 99px; transition: width .3s; }
.mdc-diag__count { font-size: .8125rem; color: var(--wp--preset--color--bleu-gris); margin: .75rem 0 .25rem; }
.mdc-diag__q { border: 0; padding: 0; margin: 0; }
.mdc-diag__q legend { font-family: var(--wp--preset--font-family--serif); font-size: clamp(1.25rem, 2.6vw, 1.6rem); font-weight: 600; color: var(--wp--preset--color--nuit); line-height: 1.3; padding: 0; margin-bottom: .5rem; }
.mdc-diag__q legend:focus { outline: none; }
.mdc-diag__help { color: var(--wp--preset--color--bleu-gris); font-size: .9375rem; margin: 0 0 .5rem; }
.mdc-diag__options { display: grid; gap: .65rem; margin-top: 1.25rem; }
.mdc-diag__options--cols { grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); }
.mdc-diag__opt { position: relative; }
.mdc-diag__opt input { position: absolute; opacity: 0; inset: 0; margin: 0; pointer-events: none; }
.mdc-diag__opt label { display: block; padding: .95rem 1.1rem; border: 1.5px solid #C5D1DC; border-radius: 10px; cursor: pointer; font-weight: 500; background: #fff; transition: border-color .15s, background .15s; min-height: 48px; box-sizing: border-box; }
.mdc-diag__opt label:hover { border-color: var(--wp--preset--color--profond); background: var(--wp--preset--color--bleu-voile, #F1F5F9); }
.mdc-diag__opt input:focus-visible + label { outline: 3px solid rgba(183,149,75,.7); outline-offset: 2px; }
.mdc-diag__opt input:checked + label { border-color: var(--wp--preset--color--profond); background: var(--wp--preset--color--bleu-clair, #E6EEF5); color: var(--wp--preset--color--nuit); }
.mdc-diag__nav { margin-top: 1.5rem; }
.mdc-diag__back { background: none; border: 0; padding: .5rem 0; color: var(--wp--preset--color--profond); font: inherit; font-weight: 600; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.mdc-diag__points { list-style: none; padding: 0; margin: 1rem 0 1.5rem; display: grid; gap: .6rem; }
.mdc-diag__points li { background: var(--wp--preset--color--bleu-voile, #F1F5F9); border-left: 3px solid var(--wp--preset--color--or, #B7954B); border-radius: 6px; padding: .75rem 1rem; font-size: .9375rem; }
.mdc-diag__urgent { background: #FBF6EA; border-radius: 8px; padding: .75rem 1rem; font-size: .9375rem; }
.mdc-diag__offer { border: 1px solid var(--wp--preset--color--trait, #D9E1E8); border-radius: 10px; padding: 1rem 1.1rem; margin: 1.25rem 0 1.5rem; }
.mdc-diag__fine { font-size: .8125rem; color: var(--wp--preset--color--bleu-gris); margin-top: 1.5rem; }
