/* ==========================================================================
   accessibility42 — Barrier-free enhancements (WCAG 2.1 AA)
   Loaded on top of Quark. Keep purely accessibility-focused rules here.
   ========================================================================== */

/* Skip link: visually hidden until focused, then pinned top-left. */
.skip-link {
    position: absolute;
    left: -9999px;
    top: 0;
    z-index: 10000;
    padding: 0.75rem 1.25rem;
    background: #ffffff;
    color: #0a0a0a;
    font-weight: 700;
    text-decoration: underline;
    border: 2px solid #0a0a0a;
    border-radius: 0 0 6px 0;
}

.skip-link:focus {
    left: 0;
    outline: 3px solid #1c6cff;
    outline-offset: 2px;
}

/* Visible, high-contrast focus indicator for every interactive element.
   Never remove focus outlines without a replacement (WCAG 2.4.7). */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
    outline: 3px solid #1c6cff;
    outline-offset: 2px;
    border-radius: 2px;
}

/* Fallback for browsers without :focus-visible */
a:focus,
button:focus {
    outline: 3px solid #1c6cff;
    outline-offset: 2px;
}

/* Ensure the main landmark doesn't show an outline when focused via skip link */
main#main:focus {
    outline: none;
}

/* Screen-reader-only utility */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Respect users who prefer reduced motion (WCAG 2.3.3) */
@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;
    }
}

/* Make the mobile menu toggle a real button reset */
.mobile-menu .button_container {
    background: transparent;
    border: 0;
    cursor: pointer;
}
