/* Accessibility layer for forms (2026-10-26, WCAG 2.1 AA / IS 5568): labels, error colour, focus.
   Only what accessibility needs - no redesign. Loaded after armpin-design-system.css and a11y.css. */

/* visually hidden label, still read by screen readers (filter controls keep their compact look) */
.apf-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* error / success text: the design-system destructive red measures 4.16:1 on the secondary
   background (needs 4.5:1). #c9222b is the same hue and chroma, lightness 0.58 -> 0.54:
   4.93:1 on --ap-secondary, 5.61:1 on white. Success green #1e7729 is 4.96:1. Dark mode keeps the
   design-system tokens, which are lighter and already pass on the dark surface. */
:root { --apf-error: #c9222b; --apf-ok: #1e7729; }
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) { --apf-error: var(--ap-destructive); --apf-ok: var(--ap-up); }
}
:root[data-theme="dark"] { --apf-error: var(--ap-destructive); --apf-ok: var(--ap-up); }
.armpin-auth-form__error, .armpin-reset-password__error, .armpin-contact__notice--error, .armpin-contact__notice--error p { color: var(--apf-error); border-color: var(--apf-error); }
.armpin-auth-form__message, .armpin-reset-password__message, .armpin-contact__notice--success, .armpin-contact__notice--success p { color: var(--apf-ok); }
.api-err { color: var(--apf-error); }

/* sign-in / sign-up / reset: visible labels, compact */
.armpin-auth-form__field { display: flex; flex-direction: column; gap: 0.25rem; margin-block-end: 0.7rem; }
.armpin-auth-form__field[hidden] { display: none; }
.armpin-auth-form__field label { font-size: 0.85rem; font-weight: 600; color: var(--ap-foreground); }
.armpin-auth-form__hint { font-size: 0.78rem; color: var(--ap-muted-foreground); }
.armpin-auth-form input[aria-invalid="true"], .armpin-reset-password input[aria-invalid="true"] { border-color: var(--apf-error); outline: 1px solid var(--apf-error); }
.armpin-auth-form__tabs [role="tab"]:focus-visible { outline: 3px solid var(--ap-foreground); outline-offset: 2px; }

/* contact form */
.armpin-contact__req { font-size: 0.8rem; color: var(--ap-muted-foreground); margin: 0 0 0.5rem; }
