/* Page Contact : à charger APRÈS fenial-harmonisee-v3.css (utilise ses variables de couleurs) */

/* Coordonnées */
.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:30px 0 0}
.contact-card{background:#fff;border:1px solid var(--line);border-radius:4px;padding:20px 16px;text-align:center}
.contact-card strong{display:block;color:var(--green-dark);font-size:1.05rem;line-height:1.3;margin-bottom:8px}
.contact-card p{margin:0;font-size:.95rem}
.contact-card a{overflow-wrap:anywhere}

/* Formulaire */
.contact-form{max-width:900px;margin:0 auto}
.form-note{font-size:.92rem;color:#555;margin:0 0 20px}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px 22px}
.form-field{display:flex;flex-direction:column;border:0;margin:0;padding:0;min-width:0}
.form-field.full{grid-column:1/-1}
.form-field label,.form-field legend{font-weight:700;color:var(--green-dark);margin:0 0 6px;padding:0}
.form-field input[type="text"],.form-field input[type="email"],.form-field input[type="tel"],.form-field textarea{font:inherit;color:var(--text);background:#fff;border:1px solid var(--line);border-radius:4px;padding:11px 12px;width:100%}
.form-field textarea{min-height:160px;resize:vertical}
.form-field input:focus,.form-field textarea:focus{outline:3px solid rgba(201,169,116,.55);border-color:var(--beige)}
.form-field.has-error input,.form-field.has-error textarea{border-color:#b3261e;background:#fff5f4}
.form-field.has-error legend,.form-field.has-error label{color:#b3261e}
.check-list{display:grid;gap:10px}
.check-list label{display:flex;align-items:center;gap:10px;font-weight:400;color:var(--text);margin:0}
.check-list input{width:18px;height:18px;flex:0 0 auto}
input.btn-reserver{border:0;cursor:pointer;font-family:inherit}
.form-actions{margin-top:26px;text-align:center}

/* Messages d'erreur et de confirmation */
.form-errors{border:1px solid #b3261e;background:#fff5f4;border-radius:4px;padding:16px 20px;margin:0 0 24px}
.form-errors strong{color:#b3261e}
.form-errors ul{margin:10px 0 0 1.2em;padding:0}
.contact-confirm{max-width:900px;margin:0 auto;text-align:center}
.contact-recap{text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;border:1px solid var(--line);border-radius:4px;padding:18px 20px;margin:18px 0}

/* Champ anti-spam : invisible pour les visiteurs */
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

@media(max-width:1000px){.contact-cards{grid-template-columns:1fr}}
@media(max-width:700px){.form-grid{grid-template-columns:1fr}}
