/* ==========================================================================
   Accessibility fixes (WCAG 2.2)
   Added in response to the ACRE accessibility audit (11 Aug 2026).
   Loaded AFTER main_bundle.css so these rules take precedence.
   Each block is tagged with its audit ID for traceability.
   ========================================================================== */

/* Keep USF location names readable over the dark background image. */
#success-section-one .triad_list ul li {
    color: #ffffff;
}

/* --------------------------------------------------------------------------
   ACC-05 — Headings and Labels (2.4.6) helper
   Visually-hidden text that remains available to screen readers, used to
   give the icon-only search fields an accessible label.
   -------------------------------------------------------------------------- */
.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;
}

/* --------------------------------------------------------------------------
   ACC-10 / ACC-14 — Focus Visible / Focus Appearance (2.4.7, 2.4.13)
   A clear, high-contrast outline for KEYBOARD focus only (:focus-visible),
   so mouse users are unaffected and the design stays clean.
   -------------------------------------------------------------------------- */
:focus-visible {
    outline: 3px solid #1a6d1a;      /* meets 3:1 non-text contrast on light bg */
    outline-offset: 2px;
    border-radius: 2px;
}
/* Remove the default outline only where :focus-visible is supported,
   so older browsers still keep a visible focus ring. */
@supports selector(:focus-visible) {
    :focus:not(:focus-visible) {
        outline: none;
    }
}

/* --------------------------------------------------------------------------
   ACC-11 / ACC-15 — Focus Not Obscured (2.4.11, 2.4.12)
   The header becomes position:fixed on scroll (see footer.php TweenMax).
   scroll-margin-top keeps a keyboard-focused element clear of it when the
   browser scrolls it into view. Tune the value to the real header height.
   -------------------------------------------------------------------------- */
a, button, input, select, textarea, [tabindex] {
    scroll-margin-top: 120px;
}

/* --------------------------------------------------------------------------
   ACC-02 — Use of Color (1.4.1)
   In-content prose links must not rely on colour alone: underline them.
   Scoped to body prose so nav, buttons and card links keep their design.
   -------------------------------------------------------------------------- */
p a {
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* --------------------------------------------------------------------------
   ACC-09 / ACC-19 — Target Size (2.5.8, 2.5.5)
   NOT APPLIED: increasing hit areas changes the approved layout/spacing.
   Parked as an accepted, design-locked item (like ACC-18).
   -------------------------------------------------------------------------- */

/* --------------------------------------------------------------------------
   ACC-06 — Non-text Contrast (1.4.11)
   Give form controls a visible (>=3:1) border against the background.
   -------------------------------------------------------------------------- */
.form-element-field {
    border-bottom: 1px solid #6b6b6b;
}
.form-element-field:focus {
    border-bottom-color: #1a6d1a;
}

/* --------------------------------------------------------------------------
   ACC-08 / ACC-13 — Text Contrast (1.4.3 / 1.4.6)
   The theme's shared secondary-text grey is #9e9c9c on white = 2.73:1,
   which fails AA (4.5:1) and AAA (7:1). It is used site-wide: body <p>,
   nav dropdowns (the audited "#menu-item-793 > a"), footer, report/record
   blocks and text links. Raise it to #595959 (~7:1) — meets AA and AAA —
   using the theme's own selectors so specificity matches and this wins.
   NB: #595959 satisfies both audit items. If it reads too dark for the
   design, #767676 still clears AA (4.5:1).
   -------------------------------------------------------------------------- */
p,
.text-link,
.record-block .date,
.record-block p,
.report-box ul li a span.months,
.report-box .view-all a,
.reports-list li .report-box h3 span,
.custom-grid .gray-text,
.custom-grid .report-box h4,
.knowlwdge-slider .all-knowledge,
.knowlwdge-slider .sliders .slide .text-section p,
footer.footer-class .footer-bottom p {
    color: #595959;
}

/* Navigation sublinks: kept as light as possible while still meeting AA
   (#767676 = 4.54:1), so the dropdown menu stays close to its original look. */
.main-nav-container ul.main-nav > li .drop-down ul li a,
.main-nav-container ul.main-nav > li .drop-down ul li.current-menu-item a,
mobilemenu .mobile-nav > ul > li a + .mobile-sub-nav > ul > li a,
mobilemenu .mobile-nav > ul > li .mobile-sub-nav > ul > li.custom_sub_menu > a {
    color: #767676;
}

/* --------------------------------------------------------------------------
   ACC-12 — Concurrent Input Mechanisms (2.5.6)
   Do not lock interaction to a single input type.
   -------------------------------------------------------------------------- */
html {
    touch-action: auto;
}

/* --------------------------------------------------------------------------
   ACC-16 — Animation from Interactions (2.3.3)
   Honour the OS "reduce motion" preference: neutralise scroll/entrance
   animations (AOS, WOW, ScrollMagic/TweenMax driven) for those users.
   -------------------------------------------------------------------------- */
@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;
    }
    [data-aos] {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}
