/*
 * Le F2 — styles propres à la page Contact uniquement (habillage du
 * formulaire Contact Form 7). Séparé de site.css pour être facile à
 * retrouver/modifier sans naviguer dans le fichier commun.
 */

/* Contact Form 7 : le plugin génère son propre HTML par défaut (des <p>
   bruts, sans classe), qui n'hérite d'aucun style du site — d'où un rendu
   très différent du formulaire "Bon Cadeau"/"Commande traiteur" (voir
   site.css > .f2-form), pourtant construits avec la même charte. Ces
   règles habillent ce rendu par défaut pour qu'il ait le même aspect, sans
   toucher à la config du formulaire dans Contact Form 7 ni à la page. */
.wpcf7-form{margin-top:2rem;max-width:44rem;}
.wpcf7-form>p{display:grid;gap:.4rem;margin-bottom:1.25rem;}
.wpcf7-form label{font-size:.85rem;font-weight:500;letter-spacing:.02em;}
.wpcf7-form input[type=text],.wpcf7-form input[type=email],.wpcf7-form input[type=tel],
.wpcf7-form input[type=date],.wpcf7-form input[type=number],.wpcf7-form input[type=file],
.wpcf7-form select,.wpcf7-form textarea{
  font:inherit;padding:.7rem .9rem;border:1px solid #d8d0bb;border-radius:var(--f2-radius);
  background:var(--f2-surface);color:var(--f2-text);width:100%;max-width:100%;box-sizing:border-box;
}
/* Les champs date/number/select ont une largeur "naturelle" minimale
   (calendrier natif, flèches...) qui peut dépasser 100% dans une grille CSS
   (.wpcf7-form>p est display:grid) — sans min-width:0, ils débordent hors de
   l'écran sur mobile au lieu de rétrécir comme les autres champs. */
.wpcf7-form>p{min-width:0;}
.wpcf7-form input[type=date],.wpcf7-form input[type=number],.wpcf7-form select{min-width:0;}
.wpcf7-form input:focus-visible,.wpcf7-form select:focus-visible,.wpcf7-form textarea:focus-visible{
  outline:2px solid var(--f2-gold-dark);outline-offset:1px;
}
.wpcf7-form textarea{resize:vertical;min-height:6rem;}
.wpcf7-form input[type=submit]{
  justify-self:start;background:var(--f2-gold);color:var(--f2-green-deep,#0f1a14);border:0;
  border-radius:var(--f2-radius);padding:.75rem 1.6rem;font:inherit;font-weight:600;cursor:pointer;
}
.wpcf7-form input[type=submit]:hover{opacity:.9;}
.wpcf7-form .wpcf7-not-valid-tip{font-size:.8rem;color:#b91c1c;margin-top:.2rem;}
.wpcf7-form .wpcf7-response-output{margin-top:1rem;padding:.9rem 1.1rem;border-radius:var(--f2-radius);font-size:.9rem;}
.wpcf7-form.sent .wpcf7-response-output{background:#eef4ea;color:#2f5c2f;border-color:transparent;}
.wpcf7-form.invalid .wpcf7-response-output,.wpcf7-form.unaccepted .wpcf7-response-output{background:#fdecec;color:#b91c1c;border-color:transparent;}
/* Champs conditionnels (Sujet = Devis / Recrutement) : le petit script du
   formulaire bascule leur style.display, ce qui suffit déjà à les masquer —
   ces règles ne font qu'assurer le même espacement une fois affichés. */
.wpcf7-form p[id$="-extra"]{margin-top:-.6rem;}

/* Carte Google + accès (page Contact) */
.f2-map-embed{border-radius:var(--f2-radius);overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.08);}
.f2-map-embed iframe{display:block;}
.f2-map-embed-gate{
  height:360px;display:flex;align-items:center;justify-content:center;
  background:var(--f2-surface-alt);
}
.f2-map-load-btn{
  display:flex;flex-direction:column;align-items:center;gap:.4rem;
  padding:1.2rem 2rem;border:1px solid var(--f2-gold);border-radius:var(--f2-radius);
  background:var(--f2-surface);color:var(--f2-gold-dark);font:inherit;font-weight:500;cursor:pointer;
}
.f2-map-load-btn:hover{background:var(--f2-gold);color:#fff;}
.f2-map-load-note{font-size:.72rem;opacity:.65;font-weight:400;}
.f2-access-grid a{opacity:.9;}
.f2-access-grid a:hover{opacity:1;color:var(--f2-gold-dark);}
@media (max-width:900px){.f2-access-grid{grid-template-columns:1fr 1fr !important;}}
@media (max-width:640px){.f2-access-grid{grid-template-columns:1fr !important;}}
