/**
 * Page « Contact » + formulaire (inc/contact.php).
 * Reprend les tokens du design system ; largeur de contenu 900px.
 */

.fhcl-contact-page{background:#fff;padding:56px 0 96px;}
.fhcl-contact-page__head{max-width:900px;margin:0 auto 40px;padding:0 32px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;}
.fhcl-contact-page__surtitle{display:inline-flex;align-items:center;padding:4px 8px;border:1px solid rgba(168,68,0,.55);border-radius:var(--r-xs);font-size:14px;color:var(--c-orange-text);line-height:1;}
.fhcl-contact-page__title{margin:0;color:var(--c-ink);font-weight:var(--fw-semibold);font-size:clamp(34px,4.4vw,48px);line-height:1.1;}
.fhcl-contact-page__intro{margin:0;max-width:640px;color:var(--c-ink-60);font-size:17px;line-height:1.55;font-weight:var(--fw-light);}
.fhcl-contact-page__wrap{max-width:900px;margin:0 auto;padding:0 32px;}

/* ---- Formulaire ---- */
.fhcl-contact__form{display:grid;grid-template-columns:1fr 1fr;gap:20px 24px;background:#FDF6F2;border-radius:16px;padding:36px 32px;}
.fhcl-contact__civ{grid-column:1/-1;margin:0;padding:0;border:0;display:flex;align-items:center;gap:20px;}
.fhcl-contact__civ legend{float:left;margin:0 16px 0 0;padding:0;color:var(--c-ink);font-size:15px;font-weight:var(--fw-medium);}
.fhcl-contact__radio{display:inline-flex;align-items:center;gap:6px;}
.fhcl-contact__radio input{width:18px;height:18px;accent-color:var(--c-orange);}
.fhcl-contact__radio label{color:var(--c-ink);font-size:15px;}

.fhcl-contact__row{display:flex;flex-direction:column;gap:6px;}
.fhcl-contact__row--wide{grid-column:1/-1;}
.fhcl-contact__row label{color:var(--c-ink);font-size:15px;font-weight:var(--fw-medium);}
.fhcl-contact__row input,
.fhcl-contact__row textarea{
	width:100%;box-sizing:border-box;padding:11px 14px;
	border:1px solid rgba(24,14,9,.18);border-radius:var(--r-sm);
	background:#fff;color:var(--c-ink);font-family:inherit;font-size:15px;line-height:1.4;
	transition:border-color .15s,box-shadow .15s;
}
.fhcl-contact__row textarea{resize:vertical;min-height:88px;}
.fhcl-contact__row input:focus,
.fhcl-contact__row textarea:focus{outline:none;border-color:var(--c-orange);box-shadow:0 0 0 3px rgba(199,80,0,.15);}

/* Piège à robots : hors écran, jamais visible ni focusable au clavier. */
.fhcl-contact__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

.fhcl-contact__legal{grid-column:1/-1;margin:0;color:var(--c-ink-60);font-size:13px;line-height:1.5;}
/* Souligné : dans un bloc de texte, un lien ne doit pas se distinguer par la
   seule couleur (WCAG 1.4.1). */
.fhcl-contact__legal a{color:var(--c-orange-text);text-decoration:underline;text-underline-offset:2px;}
.fhcl-contact__submit{
	grid-column:1/-1;justify-self:start;
	display:inline-flex;align-items:center;gap:8px;
	padding:14px 22px;border:0;border-radius:var(--r-sm);
	background:var(--c-orange);color:#fff;
	font-family:inherit;font-size:17px;font-weight:var(--fw-medium);cursor:pointer;
	transition:background .2s;
}
.fhcl-contact__submit:hover{background:var(--c-orange-hover);}
.fhcl-contact__submit svg{display:block;flex:none;}

/* ---- Messages d'état ---- */
.fhcl-contact__notice{margin:0 0 24px;padding:14px 18px;border-radius:var(--r-sm);font-size:15px;line-height:1.5;}
.fhcl-contact__notice--ok{background:#EAF6EC;border:1px solid #A5D6A7;color:#1B5E20;}
.fhcl-contact__notice--err{background:#FDECEA;border:1px solid #F5B7B1;color:#8E2A20;}

@media(max-width:720px){
	.fhcl-contact__form{grid-template-columns:1fr;padding:26px 20px;}
	.fhcl-contact__civ{flex-wrap:wrap;gap:12px;}
	.fhcl-contact-page__head,.fhcl-contact-page__wrap{padding:0 20px;}
}
