/* ================================================================
   VISIONLEAP VENTURES — FORM VALIDATION & STATUS STYLES
   Used by pages/contact.html and pages/partners.html (js/contact.js).
   Loaded after style.css; reuses its variables. The site is dark-only.
   ================================================================ */

/* Inline per-field error (created by js/contact.js). The element stays in
   the accessibility tree while empty so its aria-live updates are announced. */
.field-error{margin-top:8px;font-size:13px;line-height:1.45;color:#ff6961}
.field-error:empty{margin-top:0}

.form-field input[aria-invalid="true"],
.form-field textarea[aria-invalid="true"],
.form-field select[aria-invalid="true"]{border-color:#ff6961}
.form-field input[aria-invalid="true"]:focus,
.form-field textarea[aria-invalid="true"]:focus,
.form-field select[aria-invalid="true"]:focus{border-color:#ff6961;box-shadow:0 0 0 3px rgba(255,105,97,.18)}

/* Submission failure box (#formError) */
.form-error-box{margin-top:24px;padding:18px 20px;border-radius:var(--radius-sm);border:1px solid rgba(255,105,97,.35);background:rgba(255,105,97,.06);text-align:center}
.form-error-box p{margin:0;font-size:14px;line-height:1.6;color:var(--text-primary);overflow-wrap:anywhere}
.form-error-box a{color:var(--gold);text-decoration:underline;text-underline-offset:2px;white-space:nowrap}
.form-error-box a:hover,.form-error-box a:focus-visible{color:var(--gold-light)}

/* Success panel receives focus programmatically */
#formSuccess:focus{outline:none}
#formSuccess:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-radius:var(--radius-sm)}
