/* BLOC DEVIS modele enveloppe-securisee SANS RDV — Achille 05/11 16h17
   Fix grille 16h30/16h35 : neutralise classes legacy (.devis-form, .qf, .ge-form, .q-form, .cp-form, .dv, .f) */
.es-devis{
  background:#fff;
  padding:clamp(48px,6vw,80px) 0;
}
.es-devis__card{
  max-width:1120px;
  margin:0 auto;
  background:#F4F2EC;
  border-radius:32px;
  padding:clamp(28px,4vw,48px);
  display:grid;
  grid-template-columns:minmax(0,5fr) minmax(0,7fr);
  gap:clamp(24px,4vw,48px);
  align-items:start;
  box-shadow:none;
  border:1px solid rgba(11,31,68,.14);
}
.es-devis__left{min-width:0}
.es-devis__title{
  margin:0 0 12px;
  color:#13294b;
  font-size:clamp(28px,3vw,40px);
  font-weight:700;
  line-height:1.15;
}
.es-devis__intro{
  margin:0 0 20px;
  color:#1f2937;
  font-size:16px;
  line-height:1.5;
}
.es-devis__coords{margin:0;padding:0}
.es-devis__coords dt{
  margin:14px 0 2px;
  font-weight:700;
  color:#13294b;
  font-size:14px;
}
.es-devis__coords dd{margin:0;font-size:15px;color:#111;line-height:1.45}
.es-devis__coords a{color:#1d4ed8;text-decoration:underline}

/* Formulaire = 2e colonne de la carte, jamais une grille 2 cols legacy */
.es-devis__form,
.es-devis form.es-devis__form,
.es-devis .es-devis__form.devis-form,
.es-devis .es-devis__form.qf,
.es-devis .es-devis__form.ge-form,
.es-devis .es-devis__form.q-form,
.es-devis .es-devis__form.cp-form,
.es-devis .es-devis__form.dv,
.es-devis .es-devis__form.f,
form.es-devis__form.devis-form,
form.es-devis__form.qf,
form.es-devis__form.ge-form,
form.es-devis__form.q-form,
form.es-devis__form.cp-form,
form.es-devis__form.dv,
form.es-devis__form.f{
  margin:0;
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
  min-width:0;
  display:block !important;
  grid-template-columns:none !important;
  grid-template-rows:none !important;
  gap:0 !important;
  width:100%;
  max-width:100%;
  box-shadow:none !important;
  border-radius:0 !important;
  color:inherit;
}
.es-devis__legend{
  display:block;
  margin:0 0 14px;
  font-size:13px;
  color:#4b5563;
  grid-column:auto !important;
}
.es-devis__legend .req,
.es-devis .req{color:#c0392b;display:inline !important}

.es-devis__grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:16px 18px;
  width:100%;
}
.es-devis__f{display:flex;flex-direction:column;gap:6px;min-width:0}
.es-devis__full{grid-column:1 / -1}

/* Astérisque sur la même ligne que le libellé */
.es-devis__f label,
.es-devis .es-devis__f label{
  display:block !important;
  flex-direction:unset !important;
  grid-template-columns:none !important;
  font-size:14px;
  font-weight:600;
  color:#13294b;
  line-height:1.35;
}
.es-devis__f label .req{display:inline !important;margin-left:.15em}

.es-devis__f input,
.es-devis__f select,
.es-devis__f textarea{
  width:100%;
  box-sizing:border-box;
  min-height:44px;
  border:1px solid #d1d5db;
  border-radius:10px;
  padding:10px 12px;
  font:inherit;
  background:#fff;
  color:#111;
}
.es-devis__f textarea{min-height:110px;resize:vertical}
.es-devis__consent,
.es-devis .es-devis__consent{
  font-weight:400!important;
  color:#1f2937!important;
  display:flex !important;
  flex-direction:row !important;
  gap:8px;
  align-items:flex-start;
}
.es-devis__consent input{width:auto;min-height:auto;margin-top:3px;flex-shrink:0}
.es-devis__actions{
  margin:18px 0 0;
  grid-column:auto !important;
  justify-self:auto !important;
}
.es-devis__submit{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:48px;padding:12px 28px;
  background:#1C8048;color:#fff;border:0;border-radius:999px;
  font-weight:600;font-size:15px;cursor:pointer;
}
.es-devis__submit:hover{filter:brightness(1.05)}
.es-devis__note{margin:12px 0 0;font-size:13px;color:#6b7280;grid-column:auto !important}
.es-devis__status,
.es-devis .form-status{
  margin-top:10px;font-size:14px;
  grid-column:auto !important;
}
.es-devis__hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}

@media (max-width:860px){
  .es-devis__card{grid-template-columns:1fr;border-radius:24px}
  .es-devis__grid{grid-template-columns:1fr}
}
