/* SASB24 — ajustements ciblés pour la page publique de contact.
   Les couleurs et composants principaux proviennent du thème SASB24. */
.sasb-contact-public{padding-bottom:3rem}
.sasb-contact-public .hero-section{margin-bottom:2rem}
.sasb-contact-public .contact-public-form-section{max-width:920px;margin:0 auto 3rem}
.sasb-contact-public .contact-public-form-card{padding:clamp(1.15rem,3vw,2rem);background:#fff;border:1px solid #e5edf3;border-radius:20px;box-shadow:0 8px 28px rgba(20,50,80,.055)}
.sasb-contact-public .contact-public-form-intro{text-align:center;margin-bottom:1.6rem}
.sasb-contact-public .contact-public-form-intro h2{font-size:clamp(1.45rem,3vw,1.9rem);color:#12304a;font-weight:800;margin-bottom:.45rem}
.sasb-contact-public .contact-public-form-intro p{color:#687887;line-height:1.65;margin:0}
.sasb-contact-public .contact-public-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.sasb-contact-public .contact-public-field{margin-bottom:1.1rem;min-width:0}
.sasb-contact-public .contact-public-field label{display:block;margin-bottom:.4rem;color:#12304a;font-weight:700}
.sasb-contact-public .contact-public-field input,.sasb-contact-public .contact-public-field textarea{display:block;width:100%;max-width:100%;min-width:0;padding:.8rem .95rem;border:1px solid #cbdbe7;border-radius:11px;background:#f8fbfe;color:#12304a;font:inherit;box-sizing:border-box}
.sasb-contact-public .contact-public-field textarea{resize:vertical;min-height:140px}
.sasb-contact-public .contact-public-field input:focus-visible,.sasb-contact-public .contact-public-field textarea:focus-visible,.sasb-contact-public .contact-public-submit:focus-visible{outline:3px solid #79c9ee;outline-offset:2px}
.sasb-contact-public .contact-public-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.sasb-contact-public .contact-public-submit{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;background:#0068b7;border:0;border-radius:30px;color:#fff;font:inherit;font-weight:750;padding:.8rem 1.35rem;cursor:pointer;transition:background .2s,transform .2s}
.sasb-contact-public .contact-public-submit:hover{background:#005394;transform:translateY(-1px)}
.sasb-contact-public .contact-public-actions>span{font-size:.85rem;color:#687887}
.sasb-contact-public .sasb-contact-page{max-width:100%;margin-inline:auto}
@media(max-width:680px){.sasb-contact-public .contact-public-fields{grid-template-columns:1fr;gap:0}.sasb-contact-public .contact-public-form-section{margin-bottom:2rem}.sasb-contact-public .contact-public-actions{align-items:stretch;flex-direction:column}.sasb-contact-public .contact-public-submit{width:100%}}
@media(prefers-reduced-motion:reduce){.sasb-contact-public .contact-public-submit{transition:none}.sasb-contact-public .contact-public-submit:hover{transform:none}}
