/* Formulaires Elementor Pro habilles avec le design system MIST.
 *
 * Le widget Formulaire est le SEUL endroit ou l'on s'ecarte du balisage de la
 * maquette : Anne-Laure doit pouvoir ajouter un champ et changer le destinataire
 * elle-meme. Le CSS remet l'apparence d'origine.
 *
 * Rappel du piege atomique (cf. journal 22/07) : chaque .e-con porte
 * width:var(--width) et chaque .e-div-block-base display:block + padding:10px,
 * a la specificite (0,2,0). Nos regles de mise en page doivent donc etre a
 * (0,3,0) au minimum, d'ou le `.elementor .e-con.<classe>`.
 */

.elementor .e-con.mist-form-sec{
  display:block;width:100%;max-width:none;padding:clamp(48px,6vw,84px) 0;
}
.elementor .e-con.mist-form-wrap{
  display:block;width:auto;max-width:1180px;margin:0 auto;padding:0 30px;
}
/* Reprend le bandeau degrade de la maquette (.cta-band fournit le fond). */
.elementor .e-con.mist-form-band{
  display:block;width:auto;max-width:none;border-radius:var(--r-xl);
  padding:clamp(28px,5vw,48px);
}
.elementor .e-con.mist-form-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;
  width:auto;max-width:none;padding:0;
}
.elementor .e-con.mist-form-col{display:block;width:auto;max-width:none;padding:0;min-width:0}
@media (max-width:900px){
  .elementor .e-con.mist-form-grid{grid-template-columns:1fr;gap:28px}
}

.elementor .e-con.mist-contact-sec{
  display:block;width:100%;max-width:none;padding:clamp(48px,6vw,84px) 0;
}
.elementor .e-con.mist-contact-wrap{
  display:block;width:auto;max-width:1180px;margin:0 auto;padding:0 30px;
}
.elementor .e-con.mist-contact-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start;
  width:auto;max-width:none;padding:0;
}
.elementor .e-con.mist-contact-col{display:block;width:auto;max-width:none;padding:0}
@media (max-width:900px){
  .elementor .e-con.mist-contact-grid{grid-template-columns:1fr}
}

/* Le formulaire est une CARTE, comme dans la maquette (form.card). */
.elementor .mist-form .elementor-form{
  background:#fff;border-radius:var(--r-l);box-shadow:var(--shadow-soft);
  padding:clamp(24px,3vw,32px);
}
.elementor .mist-form .elementor-field-type-html .eyebrow{display:block}
.elementor .mist-form .elementor-field-type-html h2{margin:10px 0 0}

/* --- Champs : on reprend .input / .select / .textarea de mist-ds ---------- */
.elementor .mist-form .elementor-form-fields-wrapper{gap:16px;row-gap:16px}
.elementor .mist-form .elementor-field-group{margin-bottom:0;padding:0}
.elementor .mist-form .elementor-field-group > label{
  display:block;font-family:var(--display);font-size:12.5px;font-weight:800;
  letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:7px;
}
.elementor .mist-form .elementor-field-textual{
  width:100%;border:1.5px solid var(--line);border-radius:var(--r-m);
  padding:13px 16px;font-family:var(--body);font-size:15px;color:var(--ink);
  background:#fff;transition:border-color .15s ease,box-shadow .15s ease;
}
.elementor .mist-form .elementor-field-textual:focus{
  outline:none;border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-pale);
}
.elementor .mist-form textarea.elementor-field-textual{min-height:132px;resize:vertical}
.elementor .mist-form .elementor-field-type-acceptance .elementor-field-option{
  display:flex;align-items:flex-start;gap:11px;
}
.elementor .mist-form .elementor-field-type-acceptance input[type=checkbox]{
  width:18px;height:18px;margin-top:3px;flex-shrink:0;accent-color:var(--blue);
}
.elementor .mist-form .elementor-field-type-acceptance label{
  text-transform:none;letter-spacing:0;font-weight:500;font-size:13.5px;
  line-height:1.5;color:var(--ink-soft);margin:0;
}
/* La mention RGPD est une obligation, pas un argument : elle doit etre lisible
   sans ecraser le formulaire. */
.elementor .mist-form .mist-rgpd{font-size:11.5px;line-height:1.5;color:var(--ink-muted);margin:0}
.elementor .mist-form .elementor-form-fields-wrapper{gap:14px;row-gap:14px}

/* Bouton : la pilule orange du design system. */
.elementor .mist-form .elementor-button[type=submit]{
  background:var(--orange);color:#fff;border:0;border-radius:var(--r-pill);
  font-family:var(--display);font-weight:800;font-size:15px;padding:15px 26px;
  box-shadow:var(--shadow-soft);cursor:pointer;transition:transform .15s ease,filter .15s ease;
}
.elementor .mist-form .elementor-button[type=submit]:hover{background:#d6451a;transform:translateY(-1px)}

.elementor .mist-form .elementor-message{
  margin-top:14px;font-size:14px;border-radius:var(--r-m);padding:12px 14px;
}
.elementor .mist-form .elementor-message-success{background:#eaf7ef;color:#1d6b3a}
.elementor .mist-form .elementor-message-danger{background:#fdeee9;color:#a8331a}
