/* ══ FORMS ══ */
.ladn-form { display:flex; flex-direction:column; gap:1.2rem; }
.ladn-form__row { display:grid; gap:1.2rem; }
.ladn-form__row--2 { grid-template-columns:1fr 1fr; }
.ladn-form__field { display:flex; flex-direction:column; gap:.45rem; position:relative; }
.ladn-form__label { font-size:.74rem; letter-spacing:.15em; text-transform:uppercase; color:var(--beton); }
.ladn-form__label span { color:var(--rouille); }

.ladn-form__input,
.ladn-form__textarea,
.ladn-form__select {
  background:rgba(200,191,176,.07); border:1px solid rgba(200,191,176,.2);
  color:var(--blanc); padding:.9rem 1.1rem;
  font-family:var(--font-body); font-size:.95rem;
  border-radius:var(--radius); outline:none;
  transition:border-color var(--transition),background var(--transition);
  -webkit-appearance:none; appearance:none;
  width:100%;
}
.ladn-form__input::placeholder,
.ladn-form__textarea::placeholder { color:rgba(200,191,176,.35); }
.ladn-form__input:focus,
.ladn-form__textarea:focus,
.ladn-form__select:focus { border-color:var(--or); background:rgba(201,168,76,.05); }
.ladn-form__input.has-error,
.ladn-form__textarea.has-error,
.ladn-form__select.has-error { border-color:var(--rouille); }

.ladn-form__select-wrap { position:relative; }
.ladn-form__select-wrap::after { content:'▾'; position:absolute; right:1rem; top:50%; transform:translateY(-50%); pointer-events:none; color:var(--beton); font-size:.9rem; }
.ladn-form__select { cursor:pointer; padding-right:2.5rem; }
.ladn-form__select option { background:#1a1a1a; color:var(--blanc); }

.ladn-form__textarea { min-height:135px; resize:vertical; line-height:1.6; }

.ladn-form__error { font-size:.75rem; color:var(--rouille); min-height:1rem; display:block; }
.ladn-form__global-error { padding:1rem 1.2rem; background:rgba(184,74,42,.12); border:1px solid rgba(184,74,42,.3); border-radius:var(--radius); font-size:.9rem; color:var(--beton); margin-top:.5rem; }

.ladn-form__footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; margin-top:.5rem; }
.ladn-form__required-note { font-size:.75rem; color:var(--gris); }

.ladn-form__submit { background:var(--or); color:var(--noir); border:none; padding:1rem 2.5rem; font-family:var(--font-body); font-size:.9rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; border-radius:var(--radius); transition:background var(--transition),transform var(--transition); display:inline-flex; align-items:center; gap:.7rem; }
.ladn-form__submit:hover { background:var(--or-light); transform:translateY(-2px); }
.ladn-form__submit:disabled { opacity:.6; cursor:not-allowed; transform:none; }

.ladn-spinner { animation:ladn-spin 1s linear infinite; }
@keyframes ladn-spin { to { transform:rotate(360deg); } }
