/* ============================================================
   Accessibility baseline (frontend). Loaded globally via the HLTT
   header so every public page gets it. Intentionally minimal and
   additive so it can't fight the theme's own styling.
   ============================================================ */

/* 1. Respect the OS "reduce motion" setting — neutralises the hover
      lifts, fades, parallax, and smooth-scroll added across the redesign. */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.001ms !important;
        scroll-behavior: auto !important;
    }
}

/* 2. Visible keyboard focus. Only applies to keyboard navigation
      (:focus-visible), so it never adds outlines for mouse users. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
    outline: 2px solid var(--theme-color, #af0000);
    outline-offset: 2px;
    border-radius: 3px;
}

/* 3. Screen-reader-only helper (available for labels where needed). */
.sr-only {
    position: absolute !important;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0, 0, 0, 0);
    white-space: nowrap; border: 0;
}
