/* ==========================================================================
   Kamai Event — Section « Demander un devis » (#devis).
   Cible des CTA (hero, header, footer). Dépend de css/tokens.css.
   Pas de grille de prix : le visiteur décrit son événement, Kamai chiffre.
   ========================================================================== */
.devis{ background:var(--ivory); padding:7rem 1.8rem; }

.devis__inner{
  max-width:1100px; margin:0 auto;
  display:grid; grid-template-columns:.85fr 1.15fr; gap:4.5rem; align-items:start;
}

/* ---- Colonne intro ---- */
.devis__intro h2{
  font-family:var(--serif); font-weight:500; line-height:1.04;
  font-size:clamp(2rem,4vw,3rem); color:var(--ink); margin:.4rem 0 1.1rem;
}
.devis__intro .lead{ color:var(--ink-soft); font-size:1.02rem; line-height:1.7; max-width:34ch; }
.devis__points{ list-style:none; margin:2.1rem 0 0; padding:0; display:grid; gap:.75rem; }
.devis__points li{ position:relative; padding-left:1.5rem; color:var(--ink); font-size:.95rem; }
.devis__points li::before{
  content:""; position:absolute; left:0; top:.5em; width:7px; height:7px;
  background:var(--gold); transform:rotate(45deg);
}

/* ---- Formulaire ---- */
.devis-form{ display:grid; gap:1.3rem; }
.devis-form__row{ display:grid; grid-template-columns:1fr 1fr; gap:1.3rem; }
.devis-form__row--3{ grid-template-columns:1fr 1fr 1fr; }

.field{ display:flex; flex-direction:column; gap:.5rem; }
.field label{
  font-family:var(--sans); font-size:.72rem; letter-spacing:.12em;
  text-transform:uppercase; color:var(--ink);
}
.field .req{ color:var(--gold); }
.field .opt{ color:var(--ink-soft); letter-spacing:.04em; text-transform:none; }

.field input, .field textarea{
  font-family:var(--sans); font-size:1rem; color:var(--ink);
  background:#fff; border:1px solid rgba(184,148,106,.4); border-radius:0;
  padding:.85rem .95rem; width:100%;
  transition:border-color .25s ease, box-shadow .25s ease;
}
.field input::placeholder, .field textarea::placeholder{ color:rgba(10,10,10,.35); }
.field input:focus, .field textarea:focus{
  outline:none; border-color:var(--gold); box-shadow:0 0 0 3px rgba(197,165,114,.16);
}
.field textarea{ resize:vertical; min-height:110px; }

/* anti-spam : champ piège masqué */
.devis-form__hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

.devis-form__foot{ display:flex; align-items:center; gap:1.4rem; flex-wrap:wrap; margin-top:.4rem; }
.devis-form__submit{
  font-family:var(--sans); font-size:.74rem; letter-spacing:.2em; text-transform:uppercase;
  color:var(--ink); cursor:pointer; background:transparent; border:1px solid var(--gold);
  padding:.95rem 2rem; position:relative; overflow:hidden; z-index:0; transition:color .42s ease;
}
.devis-form__submit::before{
  content:""; position:absolute; inset:0; background:var(--gold);
  transform:scaleX(0); transform-origin:left; z-index:-1;
  transition:transform .42s cubic-bezier(.6,0,.2,1);
}
.devis-form__submit:hover::before{ transform:scaleX(1); }
.devis-form__submit:disabled{ opacity:.55; cursor:default; }
.devis-form__submit:disabled::before{ transform:scaleX(0); }

.devis-form__status{ font-family:var(--sans); font-size:.9rem; line-height:1.5; margin:0; }
.devis-form__status.is-ok{ color:#3c7a4e; }
.devis-form__status.is-error{ color:#b4543f; }

@media (max-width:860px){
  .devis{ padding:4.5rem 1.4rem; }
  .devis__inner{ grid-template-columns:1fr; gap:2.6rem; }
  .devis__intro .lead{ max-width:none; }
}
@media (max-width:540px){
  .devis-form__row, .devis-form__row--3{ grid-template-columns:1fr; }
}
