/* ==========================================================================
   PAGE contact - LES SERRES DE MITRY
   ========================================================================== */

:root {
  --vert-fonce:    #826E08;
  --vert-moyen:    #5a6521;
  --vert-clair:    #e8f0df;
  --vert-pale:     #f3f7ee;
  --sable:         #5b8c3e;
  --sable-clair:   #fef3e8;
  --terre:         #6b4f2e;
  --texte:         #2c2c2c;
  --texte-doux:    #5a5a5a;
  --blanc:         #ffffff;
  --erreur:        #c0392b;
  --erreur-fond:   #fdecea;
  --ombre-verte:   rgba(130, 110, 8, 0.12);
  --rayon:         14px;
  --rayon-lg:      24px;
}

/* ==========================================================================
   SECTION PRINCIPALE
   ========================================================================== */

.contact-form-section {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 1.5rem 2rem 4rem !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.contact-form-section h1 {
  text-align: center !important;
  margin-bottom: 2.5rem !important;
  color: var(--vert-fonce) !important;
}

/* ==========================================================================
   LAYOUT DEUX COLONNES
   ========================================================================== */

.contact-container {
  display: flex !important;
  flex-direction: row !important;
  gap: 3rem !important;
  align-items: flex-start !important;
  justify-content: center !important;
  width: 100% !important;
}

.form-container {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

/* ==========================================================================
   CARTES (coordonnées, horaires, formulaire)
   ========================================================================== */

.contact-form-section .info-card {
  background: var(--blanc) !important;
  border-radius: var(--rayon) !important;
  overflow: hidden !important;
  box-shadow: 0 2px 10px var(--ombre-verte) !important;
  margin-bottom: 1.5rem !important;
}

.contact-form-section .info-card:last-of-type {
  margin-bottom: 0 !important;
}

.contact-form-section .info-card h2 {
  color: var(--blanc) !important;
  background: var(--sable) !important;
  font-size: 1.15rem !important;
  padding: 0.9rem 1.25rem !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

.contact-form-section .info-card-body {
  padding: 1.5rem 1.5rem 1.75rem !important;
}

.contact-details .info-card-body {
  padding: 1rem 1.25rem !important;
}

.contact-details .info-card-body p {
  margin-bottom: 0.5rem !important;
}

.contact-details .info-card-body p:last-child {
  margin-bottom: 0 !important;
}

/* La carte formulaire est seule dans sa colonne : pas de marge basse */
.form-container .info-card {
  margin-bottom: 0 !important;
}

/* ==========================================================================
   COLONNE COORDONNÉES
   ========================================================================== */

.contact-details {
  flex: 0 0 300px !important;
  width: 300px !important;
  background: var(--vert-pale) !important;
  border-radius: var(--rayon) !important;
  padding: 2rem !important;
  box-sizing: border-box !important;
}

/* ==========================================================================
   LOGO
   ========================================================================== */

.contact-details .logo-wrapper {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  margin-top: 1.5rem !important;
}

.contact-details .logo-wrapper img {
  width: 150px !important;
  height: auto !important;
  display: block !important;
}

/* ==========================================================================
   FORMULAIRE CONTACT FORM 7
   ========================================================================== */

.form-container .wpcf7-form fieldset.hidden-fields-container {
  border: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.form-container .wpcf7-form {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  column-gap: 1.5rem !important;
}

/* Par défaut, un champ occupe toute la largeur (message, case à cocher, captcha, bouton) */
.form-container .wpcf7-form > p {
  grid-column: 1 / -1;
  margin: 0 0 1.4rem !important;
}

/* Nom / Prénom puis Téléphone / e-mail sont regroupés deux par ligne */
.form-container .wpcf7-form > p:nth-of-type(-n+4) {
  grid-column: span 1;
}

/* Étiquette + champ, empilés proprement (le <br> d'origine est neutralisé) */
.form-container .wpcf7-form > p > label {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.5rem !important;
  font-weight: 600 !important;
  color: var(--vert-fonce) !important;
  font-size: 0.95rem !important;
  width: 100%;
}

.form-container .wpcf7-form > p > label br {
  display: none !important;
}

.form-container .wpcf7-form-control-wrap {
  display: block !important;
  width: 100%;
}

.form-container .wpcf7-form input[type="text"],
.form-container .wpcf7-form input[type="email"],
.form-container .wpcf7-form input[type="tel"],
.form-container .wpcf7-form textarea {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  font-family: inherit !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  color: var(--texte) !important;
  background: var(--blanc) !important;
  border: 1.5px solid #ddd6c4 !important;
  border-radius: 10px !important;
  padding: 0.7rem 0.9rem !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.form-container .wpcf7-form textarea {
  min-height: 130px !important;
  resize: vertical !important;
}

.form-container .wpcf7-form input:focus,
.form-container .wpcf7-form textarea:focus {
  outline: none !important;
  border-color: var(--sable) !important;
  box-shadow: 0 0 0 3px rgba(91, 140, 62, 0.15) !important;
}

.form-container .wpcf7-form input.wpcf7-not-valid,
.form-container .wpcf7-form textarea.wpcf7-not-valid {
  border-color: var(--erreur) !important;
}

.form-container .wpcf7-form .wpcf7-not-valid-tip {
  display: block !important;
  color: var(--erreur) !important;
  font-size: 0.82rem !important;
  font-weight: 400 !important;
  margin-top: 0.35rem !important;
}

/* ── Case à cocher (consentement RGPD) ─────────────────────────────── */

.form-container .wpcf7-acceptance .wpcf7-list-item {
  display: block !important;
  margin: 0 !important;
}

.form-container .wpcf7-acceptance label {
  display: flex !important;
  align-items: flex-start !important;
  gap: 0.65rem !important;
  cursor: pointer;
}

.form-container .wpcf7-acceptance input[type="checkbox"] {
  flex-shrink: 0;
  width: 17px !important;
  height: 17px !important;
  margin-top: 0.2rem !important;
  accent-color: var(--sable);
  cursor: pointer;
}

.form-container .wpcf7-acceptance .wpcf7-list-item-label {
  color: var(--texte-doux) !important;
  font-size: 0.88rem !important;
  line-height: 1.55 !important;
}

.form-container .wpcf7-acceptance .wpcf7-list-item-label a {
  color: var(--vert-fonce) !important;
  text-decoration: underline;
}

/* ── Captcha visuel (icônes) ────────────────────────────────────────── */

.form-container .kc_captcha {
  display: block !important;
}

.form-container .captcha-image {
  display: block !important;
  width: 100%;
  box-sizing: border-box;
  border: 1.5px dashed #cbbf94 !important;
  border-radius: 10px !important;
  padding: 1rem 1.25rem !important;
  background: var(--vert-pale);
  text-align: left !important;
}

.form-container .cf7ic_instructions {
  color: var(--texte) !important;
  font-size: 0.9rem !important;
  margin-bottom: 0.75rem !important;
}

.form-container .captcha-image label > svg {
  width: 40px !important;
  height: 40px !important;
  padding: 6px !important;
  border-radius: 8px !important;
  background: var(--blanc);
  color: var(--vert-moyen);
}

.form-container .captcha-image label > input:checked + svg,
.form-container .captcha-image label > input:focus + svg {
  border-color: var(--sable) !important;
  background: var(--vert-clair);
}

/* ── Bouton d'envoi ─────────────────────────────────────────────────── */

.form-container .wpcf7-form > p:last-of-type {
  margin-bottom: 0 !important;
}

.form-container .wpcf7-submit {
  display: inline-block !important;
  background: var(--sable) !important;
  color: var(--blanc) !important;
  font-weight: 600 !important;
  font-size: 1rem !important;
  border: none !important;
  border-radius: 50px !important;
  padding: 0.9rem 2.5rem !important;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.2s ease !important;
  box-shadow: 0 4px 14px rgba(91, 140, 62, 0.28) !important;
}

.form-container .wpcf7-submit:hover {
  background: var(--vert-moyen) !important;
  transform: translateY(-2px);
}

.form-container .wpcf7-spinner {
  margin-left: 0.75rem !important;
  vertical-align: middle !important;
}

/* ── Message de réponse (succès / erreur) ──────────────────────────── */

.form-container .wpcf7-response-output {
  margin: 1.25rem 0 0 !important;
  padding: 0.75rem 1.1rem !important;
  border-radius: 10px !important;
  font-size: 0.9rem !important;
  border: 1.5px solid var(--sable) !important;
  color: var(--vert-moyen) !important;
  background: var(--vert-clair) !important;
}

.form-container .wpcf7-response-output:empty {
  display: none !important;
}

.form-container form.invalid .wpcf7-response-output,
.form-container form.spam .wpcf7-response-output,
.form-container form.aborted .wpcf7-response-output,
.form-container form.failed .wpcf7-response-output,
.form-container form.unaccepted .wpcf7-response-output {
  border-color: var(--erreur) !important;
  color: var(--erreur) !important;
  background: var(--erreur-fond) !important;
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media (max-width: 768px) {
  .contact-container {
    flex-direction: column !important;
  }

  .contact-details {
    flex: 1 1 auto !important;
    width: 100% !important;
  }

  .form-container .wpcf7-form {
    grid-template-columns: 1fr !important;
  }

  .form-container .wpcf7-form > p:nth-of-type(-n+4) {
    grid-column: 1 / -1;
  }
}
