/* LUMIIA SITE - v3.8 - formulaires (15/10/2026) : champs, boutons, messages d'état — charte Cosmos */
.f { display: grid; gap: var(--s-4); }
.f-2 { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s-4); }
.f label { display: flex; flex-direction: column; gap: var(--s-2); font-size: var(--fs-small); color: var(--ink-soft); }
.f label span em { color: var(--ink-faint); font-style: normal; }
.f input, .f textarea, .f select {
  width: 100%; box-sizing: border-box;
  padding: 12px 14px;
  font: inherit; font-size: 1rem; color: var(--ink);
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: var(--r-md);
  transition: border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.f select option { color: #1c1830; }
.f textarea { min-height: 130px; resize: vertical; }
.f input:focus, .f textarea:focus, .f select:focus { outline: none; border-color: var(--lime); box-shadow: var(--glow-lime); }
.f .f-piege { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.f .f-rgpd { font-size: var(--fs-micro); color: var(--ink-faint); line-height: 1.5; }
.f button[type="submit"] { justify-self: start; cursor: pointer; }
.f.f-envoi button[type="submit"] { opacity: .5; pointer-events: none; }
.f-etat { font-size: var(--fs-small); min-height: 1.2em; }
.f-etat.ok { color: var(--lime-2); font-weight: var(--fw-medium); }
.f-etat.err { color: var(--bar-2); }
.f-ligne { display: flex; gap: var(--s-3); flex-wrap: wrap; }
.f-ligne input { flex: 1 1 220px; }
@media (max-width: 640px) { .f-2 { grid-template-columns: 1fr; } }
