/* Formulaires : panneaux, champs, messages d'erreur, accords. Repris de V16. */
/* formulaires */
.panel{background:var(--surface);border-radius:22px;padding:20px;margin:0 0 18px}
.panel h2{color:var(--title);text-transform:uppercase;font-size:1.25rem;margin-bottom:14px}
.cols{display:grid;gap:0 16px;grid-template-columns:1fr}
@media (min-width:640px){.cols{grid-template-columns:1fr 1fr}}
.field{margin:0 0 14px}
.field label,.legend{display:block;font-weight:800;margin-bottom:5px}
.opt{font-weight:600;color:var(--ink-soft);font-size:.9rem}
.field input,.field select,.field textarea{width:100%;padding:12px 13px;border-radius:12px;border:2px solid var(--field-line);
  background:var(--field);font-size:16px;min-height:48px}
.field textarea{min-height:92px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--band-green);outline:none;box-shadow:0 0 0 3px var(--focus)}
.hint{font-size:.9rem;color:var(--ink-soft);margin:5px 0 0}
/* Lien « Mot de passe oublié ? » sous le champ du mot de passe (12 octobre). */
.lien-oubli{margin:8px 0 0}
.lien-oubli[hidden]{display:none}
.msg{display:none;font-size:.9rem;font-weight:800;color:var(--red-text);margin:5px 0 0}
.bad .msg{display:block}
.bad input,.bad select,.bad textarea{border-color:var(--red-text)}
.radios{display:flex;gap:8px;flex-wrap:wrap}
.radios label{display:flex;align-items:center;gap:8px;border:2px solid var(--field-line);border-radius:12px;padding:10px 14px;font-weight:800;background:var(--field);min-height:48px}
.radios input{width:20px;height:20px;accent-color:var(--accent)}
.paychoice{display:grid;gap:10px}
.paychoice label{display:flex;gap:12px;align-items:flex-start;border:2px solid var(--field-line);border-radius:14px;padding:13px 14px;background:var(--field)}
.paychoice input{width:22px;height:22px;margin-top:2px;accent-color:var(--accent);flex:none}
.paychoice small{display:block;color:var(--ink-soft);font-size:.9rem}
.consent{display:flex;gap:12px;align-items:flex-start;margin:6px 0 16px}
.consent input{width:22px;height:22px;margin-top:3px;accent-color:var(--accent);flex:none}
.consent .msg{margin-top:2px}
.srow{display:grid;grid-template-columns:1fr 1fr;gap:0 12px;align-items:end;border-bottom:2px dashed var(--field-line);padding:0 0 4px;margin:0 0 14px}
.srow .rm{grid-column:1 / -1;justify-self:start;margin:0 0 12px}
@media (max-width:480px){.srow{grid-template-columns:1fr}}
.formerr{background:var(--warn-bg);color:var(--warn-text);border-radius:12px;padding:11px 14px;font-weight:800;margin:0 0 14px}
.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}

/* avertissement très visible */
.warn{border:3px solid var(--line);background:var(--warn-bg);color:var(--warn-text);border-radius:14px;padding:14px 16px;margin:0 0 18px;font-weight:700}
.warn b{display:block;font-size:1.08rem;margin-bottom:4px}

/* Champ piège contre les robots : hors de l'écran, jamais visible (voir outils/formulaires.js). */
.piege{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
