/* =============================================================================
   mct-a11y.css — accessibility hardening (Phase 2 round 2, 2026-05-01)

   Three concerns, one stylesheet:

   1. :focus-visible outline restoration
        Legacy aw-* and admin styles strip `outline: none` from many
        interactive elements. Mouse users don't notice; keyboard users
        lose all "where am I" feedback. :focus-visible only triggers for
        keyboard navigation, so we get the best of both: clean mouse
        focus, clear keyboard focus. High-specificity selectors and
        !important to win against existing rules.

   2. .mct-sr-only
        Screen-reader-only utility for landmark labels and ARIA hints
        we don't want sighted users to see.

   Backstop tests: AdminMarkupSmokeTests.A11yStylesheet_*.
   ============================================================================= */

/* -- 1. Focus-visible restoration -------------------------------------------- */

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible,
[role="button"]:focus-visible,
[role="link"]:focus-visible {
    outline: 2px solid #0969da !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 4px rgba(9, 105, 218, 0.25) !important;
}

/* Telerik RadGrid pager + filter buttons commonly steal :focus styling.
   Force the focus ring back on keyboard tab. */
.RadGrid a:focus-visible,
.RadGrid button:focus-visible,
.RadGrid input:focus-visible {
    outline: 2px solid #0969da !important;
    outline-offset: 1px !important;
}

/* -- 2. Screen-reader-only utility ------------------------------------------ */

.mct-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;
}
