/* 04/11/2026 — formulaire de contact (page /contact/ seulement). Jetons : --ink, --plum, --rose, --rose2, --mauve, --sand. */
.epContact{margin:6px 0 40px;padding:clamp(20px,3.4vw,34px);border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow);scroll-margin-top:200px}
.prose .epContact h2{margin-top:0}
.epContactIntro{margin:0 0 22px;color:var(--ink2)}
.epContactChamps{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.epContactChamp{display:flex;flex-direction:column;gap:6px;min-width:0}
.epContactLarge{grid-column:1/-1}
.epContactChamp label{font-size:.85rem;font-weight:600;color:var(--ink)}
.epContactChamp label small{font-size:13px;font-weight:400;color:var(--mauve)}
.epContactChamp input,.epContactChamp textarea{font:inherit;border:1px solid rgba(45,30,50,.18);border-radius:14px;padding:0 14px;background:#fff;color:var(--ink);width:100%;scroll-margin-top:200px}
.epContactChamp input{height:46px}
.epContactChamp textarea{display:block;min-height:150px;padding:12px 14px;line-height:1.6;resize:vertical}
.epContactChamp input:focus,.epContactChamp textarea:focus{outline:none;border-color:var(--rose2);box-shadow:0 0 0 4px rgba(232,168,184,.22)}
.epContactChamp [aria-invalid="true"]{border-color:#b3261e;box-shadow:0 0 0 3px rgba(179,38,30,.12)}
.epContact .contact-erreur-champ{font-size:13px;line-height:1.4;color:#b3261e}
.epContactPiege{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
/* .prose div{margin:0} (ep.css) annulait la marge : selecteur renforce. */
.epContact .epContactPied{display:flex;flex-wrap:wrap;align-items:center;gap:16px 26px;margin-top:24px}
.epContactPied small{flex:1 1 240px;font-size:13px;line-height:1.5;color:var(--mauve)}
/* Ombre du bouton : vers le bas seulement, pour ne pas deborder a droite en mobile. */
.epContactPied .cta.ctaDark{box-shadow:0 4px 0 var(--rose)}
.epContactPied .cta.ctaDark:hover{transform:translateY(-2px);box-shadow:0 6px 0 var(--rose2)}
.epContactPied .cta:disabled{opacity:.55;cursor:default;transform:none}
.epContactPied .cta.ctaDark.est-envoye,.epContactPied .cta.ctaDark.est-envoye:hover{transform:none;background:#f7e9ee;color:#2d1f33;box-shadow:0 4px 0 #e9b8c8}
.epContactRetour{margin:18px 0 0;padding:12px 16px;border-radius:14px;font-size:.9rem;line-height:1.5;background:var(--sand);color:var(--ink)}
.epContactRetour.est-ok{background:#f7e9ee;border:1px solid #e9b8c8;color:#2d1f33}
.epContactRetour.est-ok::before{content:"✓";display:inline-block;margin-right:8px;font-weight:700;color:#2d1f33}
.epContactRetour.est-erreur{background:#fbeaea;color:#8c1d18}
@media (max-width:640px){.epContactChamps{grid-template-columns:1fr}.epContactPied .cta{width:100%;justify-content:center}}
[data-contact-form] .contact-erreur-champ[hidden], [data-contact-retour][hidden] { display: none !important; }
.contact-insecable{white-space:nowrap}
