/* E3BAT — 05 Contact / formulaire de devis.
   RAPPEL (brief) : form{align-content:start} est OBLIGATOIRE. */
/* ============ DEVIS ============ */
.devis{background:var(--ink);color:#fff}
.devis-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(2.5rem,6vw,5.5rem)}
.devis h2{margin-bottom:1.4rem}
.devis .lede{margin-bottom:2.4rem}
.contact-lines{list-style:none;display:grid;gap:0;border-top:1px solid rgba(167,168,169,.25)}
.contact-lines li{border-bottom:1px solid rgba(167,168,169,.25)}
.contact-lines a{
  display:flex;align-items:center;gap:1rem;padding:1.15rem .2rem;
  text-decoration:none;color:#fff;transition:color .15s;
}
.contact-lines a:hover{color:var(--orange)}
.contact-lines svg{width:1.15rem;height:1.15rem;color:var(--orange);flex:none}
.contact-lines span{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--chrome);display:block}
.contact-lines b{
  display:block;margin-top:.2rem;
  font-family:var(--font-sans);font-weight:600;font-size:1rem;
  text-transform:none;letter-spacing:0;
}
form{display:grid;gap:1.15rem;align-content:start}
.field{display:grid;gap:.4rem}
.field label{
  font-family:var(--font-mono);font-size:.7rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--chrome);
}
.field input,.field select,.field textarea{
  background:transparent;border:1px solid rgba(167,168,169,.4);
  color:#fff;padding:.8rem 1rem;font:inherit;width:100%;
  transition:border-color .15s;
}
.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23f15a24' stroke-width='2' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.4rem}
.field select option{color:var(--ink)}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--orange);outline:none}
form .btn{justify-content:center;width:100%}
.check-label{
  font-family:var(--font-mono);font-size:.7rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--chrome);display:block;margin-bottom:.15rem;
}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1.15rem}
.lot-checks{display:flex;flex-wrap:wrap;gap:.6rem}
.lot-checks label{
  display:inline-flex;align-items:center;gap:.5rem;
  border:1px solid rgba(167,168,169,.4);padding:.5rem .95rem;
  font-family:var(--font-mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--chrome-dim);cursor:pointer;transition:all .15s;
}
.lot-checks input{position:absolute;opacity:0;pointer-events:none}
.lot-checks label:has(input:checked){background:var(--orange);border-color:var(--orange);color:#fff}
.lot-checks label:has(input:focus-visible){outline:3px solid var(--orange);outline-offset:2px}
.form-note{font-family:var(--font-mono);font-size:.72rem;color:var(--chrome);letter-spacing:.05em}
.map{margin-top:1.5rem;border:1px solid rgba(167,168,169,.3)}
.map iframe{display:block;filter:grayscale(1) contrast(1.04);transition:filter .3s}
.map:hover iframe{filter:none}
@media (max-width:880px){.devis-grid{grid-template-columns:1fr}.field-row{grid-template-columns:1fr}}

/* Message de confirmation / erreur du formulaire (rempli par devis.js) */
.form-status{display:none;border:1px solid rgba(167,168,169,.4);border-left:4px solid var(--orange);padding:.9rem 1rem;font-size:.95rem;color:#fff}
.form-status.on{display:block}
.form-status.err{border-left-color:var(--chrome)}
