.form-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
.field-optional{font-size:.82em;font-weight:500;color:var(--muted,#657086)}
.consent-field{display:grid!important;grid-template-columns:22px minmax(0,1fr);gap:12px;align-items:start;margin:4px 0 18px;cursor:pointer;font-size:.95rem;line-height:1.45}
.consent-field input[type="checkbox"]{width:20px!important;height:20px!important;margin:2px 0 0!important;accent-color:#1f63d8}
.consent-field span{display:block}.consent-field a{font-weight:650}
.form-status{display:grid;gap:4px;padding:14px 16px;margin:0 0 18px;border-radius:12px;border:1px solid transparent}
.form-status[hidden]{display:none!important}.form-status-success{color:#14532d;background:#ecfdf3;border-color:#86efac}
.form-status-success strong{font-size:1rem}.form-status-success span{font-size:.92rem}
.form-disabled-notice{margin:0 0 22px;padding:16px 18px;border:1px solid #e0b55f;border-left:5px solid #a66300;border-radius:10px;background:#fff8e8;color:#563a0b}
.form-disabled-notice strong{display:block;margin-bottom:4px;color:#754700}
.form-disabled-notice p{margin:0;line-height:1.55}
form[data-submission-disabled="true"] button[type="submit"]{cursor:not-allowed;opacity:.6}

/* Confirmation et aide du formulaire Contact */
.required-mark{color:#b42318;font-weight:800}
.form-help,.form-response-note{margin:0 0 16px;color:var(--muted,#657086);font-size:.9rem;line-height:1.45}
.form-response-note{margin:16px 0 0}
.consent-field{grid-template-columns:28px minmax(0,1fr);gap:14px;padding:14px 16px;border:1px solid #d8e1ec;border-radius:12px;background:#f8fafc}
.consent-field input[type="checkbox"]{width:24px!important;height:24px!important;margin:2px 0 0!important}
.consent-field strong{display:block;margin-bottom:2px;color:#27364a}
.contact-success-card{display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;padding:22px;border:1px solid #9fd5af;border-radius:16px;background:#eef9f1;color:#174b2b}
.contact-success-card[hidden]{display:none!important}
.contact-success-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#2f7d4a;color:#fff;font-size:1.5rem;font-weight:800}
.contact-success-card strong{font-size:1.08rem}
.contact-success-card p{margin:8px 0;line-height:1.55}
.contact-reference{display:inline-block;padding:8px 11px;border-radius:8px;background:#fff;border:1px solid #b9ddc4}
.contact-new-message{margin-top:10px}
#contactFormFields[hidden]{display:none!important}
@media(max-width:560px){.contact-success-card{grid-template-columns:1fr}.contact-success-icon{width:40px;height:40px}.consent-field{grid-template-columns:24px minmax(0,1fr);padding:12px}.consent-field input[type="checkbox"]{width:22px!important;height:22px!important}}


/* RC3.1 — charte institutionnelle des formulaires */
.official-form-notice{margin:0 0 22px;padding:15px 17px;border:1px solid #cfdbe7;border-left:4px solid #173f73;border-radius:10px;background:#f3f7fb;color:#33465b}
.official-form-notice strong{display:block;margin-bottom:4px;color:#173f73;font-size:.94rem}
.official-form-notice p{margin:0;line-height:1.55;font-size:.9rem}
.official-status-label{margin:0 0 5px!important;color:#42614c!important;font-size:.74rem!important;font-weight:800!important;letter-spacing:.09em;text-transform:uppercase}
.official-reference-box{margin:18px 0;padding:15px 17px;border:1px solid #b8d5c1;border-left:5px solid #2f7d4a;border-radius:9px;background:#fff}
.official-reference-box span{display:block;color:#587064;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.official-reference-box strong{display:block;margin-top:3px;color:#174b2b;font-size:1.1rem!important;letter-spacing:.025em;overflow-wrap:anywhere}
.official-processing-note{padding-top:14px;border-top:1px solid #cfe2d5;font-size:.9rem}
.official-success-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.official-success-actions .contact-new-message{margin-left:0!important}
.official-error-card{display:grid;grid-template-columns:54px minmax(0,1fr);gap:18px;max-width:800px;padding:26px;border:1px solid #e3b9b5;border-left:5px solid #a9362f;border-radius:14px;background:#fff;color:#27364a;box-shadow:0 10px 28px rgba(31,45,61,.06)}
.official-error-card h2{margin:0 0 12px;color:#7c2924}.official-error-card p{line-height:1.6}
.official-error-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#a9362f;color:#fff;font-size:1.45rem;font-weight:800}
.official-error-card .official-status-label{color:#8d332d!important}
@media(max-width:560px){.official-error-card{grid-template-columns:1fr;padding:20px}.official-success-actions{display:grid}.official-success-actions .btn{width:100%;text-align:center}}
