/* Forms (S11). Uses base.css tokens and its input/select/textarea rules. */
.form{max-width:36rem;margin:1rem 0}
.form .field{margin:0 0 1.1rem}
.form label,.form legend{display:block;font-weight:600;margin:0 0 .3rem}
.form .hint{display:block;font-weight:400;font-size:.85rem;color:var(--muted);margin:0 0 .3rem}
.form .req{color:var(--amber-dark)}
.form input,.form select,.form textarea{max-width:100%}
.form textarea{min-height:8rem;resize:vertical}
.form .check{display:flex;gap:.7rem;align-items:flex-start}
.form .check input{width:1.4rem;min-width:1.4rem;height:1.4rem;min-height:0;margin-top:.15rem}
.form .check label{font-weight:400;margin:0}
.form .count{font-size:.85rem;color:var(--muted);margin:.2rem 0 0}
.hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.form-status{margin:1rem 0;padding:.8rem 1rem;border-radius:var(--r);border:2px solid var(--line)}
.form-status:empty{display:none}
.form-status.error{border-color:#9b1c1c;background:#fdf1f1;color:#6e1111}
.form-status.ok{border-color:var(--green);background:var(--tint);color:var(--green-2)}
.form-status:focus{outline:3px solid var(--focus)}
.field-error{color:#9b1c1c;font-size:.9rem;margin:.3rem 0 0}
.form [aria-invalid=true]{border-color:#9b1c1c;border-width:2px}
.form button[disabled]{opacity:.65;cursor:wait}
.form-wrap[hidden],.form[hidden]{display:none}
