/* Adaptation du style FormContact au HTML généré par Formulaire. */
:root {
  --form-texte: var(--noir, #18242c);
  --form-texte-secondaire: var(--gris, #657280);
  --form-fond-champ: #fff;
  --form-bordure: #c9d2dc;
  --form-bouton: var(--jaune, #f7ed7e);
  --form-bouton-survol: var(--fond, #63759c);
  --form-focus: var(--fond, #63759c);
  --form-police-bouton: var(--font-heading, inherit);
  --form-espacement-colonnes: 24px;
  --form-espacement-lignes: 12px;
  --form-espacement-bas: 50px;
  --form-taille-titre: 1.5rem;
  --form-hauteur-champ: 48px;
  --form-padding-champ: 12px 14px;
  --form-rayon-champ: 0;
  --form-hauteur-message: 140px;
  --form-taille-case: 18px;
  --form-hauteur-bouton: 46px;
  --form-padding-bouton: 10px 18px;
  --form-paddingbottom-bouton:10px;
  --form-rayon-bouton: 16px;
  --form-taille-bouton: 1.1rem;
  --form-vitesse-survol: .2s;
}
.FormContact.formulaire-dynamique {
  position: relative;
  display: block;
  width: 100%;
  padding-bottom: var(--form-espacement-bas);
  color: var(--form-texte);
}
.FormContact.formulaire-dynamique .libelle {
  margin: 0 0 var(--form-espacement-colonnes);
  font-size: var(--form-taille-titre);
  font-weight: 700;
  display:none;
}
.FormContact.formulaire-dynamique .fields.grid-col-2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 var(--form-espacement-colonnes);
  align-items: start;
}
.FormContact.formulaire-dynamique .fields > .input {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  margin: var(--form-espacement-lignes) 0;
}
.FormContact.formulaire-dynamique .formulaire-piege {
  position: absolute !important;
  left: -10000px;
  width: 1px !important;
  height: 1px;
  overflow: hidden;
}
.FormContact.formulaire-dynamique .fields > .inputtextarea,
.FormContact.formulaire-dynamique .fields > .inputcheckbox,
.FormContact.formulaire-dynamique .fields > .inputsubmit {
  grid-column: 1 / -1;
}
.FormContact.formulaire-dynamique .input:not(.inputcheckbox) > label {
  display: block;
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.FormContact.formulaire-dynamique .inputselect > label,
.FormContact.formulaire-dynamique .inputdate > label {
  position: static;
  width: auto;
  height: auto;
  margin: 0 0 6px;
  overflow: visible;
  clip: auto;
  white-space: normal;
  font-weight: 600;
}
.FormContact.formulaire-dynamique .field {
  display: block;
  box-sizing: border-box;
  width: 100% !important;
  min-height: var(--form-hauteur-champ);
  margin: 0;
  padding: var(--form-padding-champ);
  border: 1px solid var(--form-bordure);
  border-radius: var(--form-rayon-champ);
  background: var(--form-fond-champ);
  color: var(--form-texte);
  font: inherit;
}
.FormContact.formulaire-dynamique .field::placeholder { color: var(--form-texte-secondaire); }
.FormContact.formulaire-dynamique textarea.field {
  width: 100% !important;
  min-height: var(--form-hauteur-message);
  resize: vertical;
}
.FormContact.formulaire-dynamique .inputcheckbox label {
  display: inline-flex;
  align-items: flex-start;
  gap: 10px;
  padding: 0;
  font-size: .95rem;
  line-height: 1.5;
  cursor: pointer;
}
.FormContact.formulaire-dynamique .inputcheckbox input {
  flex: 0 0 auto;
  width: var(--form-taille-case);
  height: var(--form-taille-case);
  margin-top: 2px;
}
.FormContact.formulaire-dynamique .inputsubmit { text-align: right; }
.FormContact.formulaire-dynamique .rgpd {
  margin: 8px 0 0;
  width: 75%;
  font-size: .8rem;
  line-height: 1.5;
  position: absolute;
  bottom:calc(var(--form-espacement-bas) +  var(--form-paddingbottom-bouton)) ;;left:0;
}
.FormContact.formulaire-dynamique .envoyer {
  float: none;
  width: auto;
  min-height: var(--form-hauteur-bouton);
  margin: 0;
  border: 0;
  border-radius: var(--form-rayon-bouton);
  padding: var(--form-padding-bouton);
  background: var(--form-bouton);
  color: var(--form-texte);
  font-family: var(--form-police-bouton);
  font-size: var(--form-taille-bouton);
  cursor: pointer;
  transition: background-color var(--form-vitesse-survol) ease;
}
.FormContact.formulaire-dynamique .envoyer:hover {
  background: var(--form-bouton-survol);
  color: var(--form-texte);
}
.FormContact.formulaire-dynamique .field:focus-visible,
.FormContact.formulaire-dynamique .envoyer:focus-visible,
.FormContact.formulaire-dynamique .inputcheckbox input:focus-visible {
  outline: 2px solid var(--form-focus);
  outline-offset: 0;
}
@media (max-width: 680px) {
  .FormContact.formulaire-dynamique .fields.grid-col-2 {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .FormContact.formulaire-dynamique .envoyer { transition: none; }
}
.formulaire-feedback {
  box-sizing: border-box;
  width: 100%;
  margin: 0 0 16px;
  padding: 12px 14px;
  border-radius: 6px;
  line-height: 1.5;
}
.formulaire-feedback.is-error { background: #fff1f1; color: #8d2020; border: 1px solid #e3b9b9; }
.formulaire-feedback.is-success { background: #edf8f0; color: #1d6236; border: 1px solid #a8d4b4; }
