/* ==========================================================================
   Accessibility overrides (WCAG 2.2 AA) — merchant onboarding
   Load AFTER custom.css. Adds no colour, size or layout changes for
   mouse/touch users; the focus ring only appears for keyboard focus.
   ========================================================================== */

/* 2.4.7 Focus Visible — custom.css removes all outlines (`:focus { outline: 0 !important }`) */
:focus-visible,
a:focus-visible,
button:focus-visible,
.btn:focus-visible,
.form-control:focus-visible,
.form-select:focus-visible,
.form-check-input:focus-visible,
.otpinput:focus-visible,
[role="button"]:focus-visible,
[tabindex="0"]:focus-visible,
.select2-container .select2-selection:focus-visible {
    outline: 2px solid #0068A7 !important;
    outline-offset: 2px !important;
}

/* Upload boxes clip overflow, so draw the ring inside the link */
.box a:focus-visible {
    outline-offset: -2px !important;
}

/* Programmatic focus targets (skip-link target, Bootstrap .modal, dialogs) should not show a ring */
[tabindex="-1"]:focus,
[tabindex="-1"]:focus-visible {
    outline: 0 !important;
}

/* 1.4.13 / 2.1.1 — info tooltips open on keyboard focus as they do on hover (custom.css .infodiv:hover) */
.infodiv:focus-within .infodata {
    display: flex;
    align-items: center;
}
.infodiv.a11y-dismissed .infodata {
    display: none;
}

/* 2.4.1 Bypass Blocks — skip link, hidden until focused (Bootstrap .visually-hidden-focusable) */
.a11y-skip-link:focus,
.a11y-skip-link:focus-within {
    position: fixed !important;
    top: 8px;
    left: 8px;
    z-index: 100000;
    padding: 8px 16px;
    background: #0068A7;
    color: #fff !important;
    border-radius: 4px;
    text-decoration: none;
}

/* 2.3.3 / user preference — reduce motion */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}
