/* ============================================================================
   Compléments du site — chargé après les feuilles de la maquette (formulaire de contact,
   pages d'erreur, retours de formulaire, accessibilité). La charte vit dans mockup-vitrine-v4.css & co.
   ============================================================================ */
.ed-contact { align-items: start; }
.ed-contact-form { border: 1px solid var(--line, #cedbd6); }
.ed-contact-form label { display: block; font-size: 13px; font-weight: bold; margin: 12px 0; }
.ed-contact-form label span { font-weight: normal; }
.ed-contact-form input, .ed-contact-form select, .ed-contact-form textarea { display: block; width: 100%; border: 1px solid var(--line, #cedbd6); padding: 10px; font: inherit; background: #fff; }
.ed-contact-form textarea { min-height: 110px; resize: vertical; }
.ed-contact-form .ed-consent { display: flex; gap: 9px; align-items: flex-start; font-weight: normal; }
.ed-contact-form .ed-consent input { width: auto; margin-top: 5px; }
.ed-contact-form button:disabled { opacity: .65; }
.ed-contact-form [aria-invalid="true"] { border-color: #c0392b; }
.ed-contact-alt { margin-top: 24px; }

.ed-form-status { margin: 12px 0 0; font-size: 14px; }
.ed-form-status.est-ok { color: #1e8e5a; }
.ed-form-status.est-erreur { color: #c0392b; }

.ed-erreur .ed-section p { display: flex; gap: 12px; flex-wrap: wrap; }

.pot-de-miel { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.lien-evitement { position: absolute; left: -999px; top: 0; background: #102b53; color: #fff; padding: .5rem 1rem; z-index: 100; }
.lien-evitement:focus { left: 1rem; top: 1rem; }
