/* ==========================================================================
   Accessibility support stylesheet
   Added to address findings in the WCAG 2.2 Level AA audit
   (Report No. WCAG22/CNB/01, 22 July 2026)
   ========================================================================== */

/* --------------------------------------------------------------------------
   Screen-reader-only utility
   Use on text that should be announced to assistive technology but not
   shown visually (e.g. "(required)" after a visible asterisk).
   -------------------------------------------------------------------------- */
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* --------------------------------------------------------------------------
   Skip to main content link (SC 2.4.1 Bypass Blocks)
   Hidden off-screen until it receives keyboard focus, then becomes visible
   as the first focusable element on every page.
   -------------------------------------------------------------------------- */
.skip-link {
  position: absolute;
  top: -999px;
  left: 0;
  z-index: 100000;
  background: #0a1a44;
  color: #ffffff;
  padding: 12px 20px;
  font-weight: 600;
  text-decoration: none;
  border-radius: 0 0 6px 0;
}

.skip-link:focus,
.skip-link:focus-visible {
  top: 0;
  outline: 3px solid #47b2e4;
  outline-offset: 2px;
}

/* --------------------------------------------------------------------------
   Focus visibility (SC 2.4.7 Focus Visible)
   Ensures every interactive element has a clearly visible focus indicator,
   including elements where the theme's default outline may be suppressed.
   -------------------------------------------------------------------------- */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid #47b2e4;
  outline-offset: 2px;
}

/* --------------------------------------------------------------------------
   Target size (SC 2.5.8 Target Size Minimum, 24x24 CSS px)
   Widens common small interactive controls (icon buttons, close buttons,
   nav toggles, pagination) to a comfortable minimum tap/click area without
   changing their visual footprint (uses padding, not layout width).
   -------------------------------------------------------------------------- */
.site-search-btn,
.search-close-btn,
#tickerToggleBtn,
.mobile-nav-toggle,
.btn-close,
.swiper-button-prev.custom-swiper-btn,
.swiper-button-next.custom-swiper-btn,
#scroll-top {
  min-width: 24px;
  min-height: 24px;
  padding: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* --------------------------------------------------------------------------
   Required-field instruction note (SC 3.3.2 Labels or Instructions)
   -------------------------------------------------------------------------- */
.form-required-note {
  font-size: 0.9rem;
  margin-bottom: 1rem;
}

/* --------------------------------------------------------------------------
   Note on colour contrast (SC 1.4.3 / 1.4.11) and reflow/zoom (SC 1.4.10)
   These require verification against the live, rendered site (fonts,
   theme colours, and breakpoints are controlled in main.css) and are best
   confirmed with a browser-based contrast checker and 400% zoom test
   rather than blind overrides here, to avoid unintended visual changes.
   -------------------------------------------------------------------------- */
