/* 7EMPLE — Accessibility layer.
   Adds focus-visible standards, reduced-motion safeguards, and screen-reader
   helpers without overriding page visual styles. Load AFTER inline <style>. */

/* Keyboard focus — ensure every interactive element has a visible ring.
   Only applies to keyboard focus so mouse users keep clean visuals. */
:focus-visible {
  outline: 2px solid var(--orange, #FE4C04);
  outline-offset: 3px;
  border-radius: 4px;
}

/* Form pills were focusable but had no visible indicator */
.form-pill:focus-visible,
.wk-select:focus-visible,
[role="button"]:focus-visible,
[tabindex="0"]:focus-visible {
  outline: 2px solid var(--orange, #FE4C04);
  outline-offset: 3px;
}

/* Hide the custom cursor's pointer state doesn't replace focus — make sure
   native focus still wins when tabbing. */
#cursor { pointer-events: none; }

/* Screen-reader-only utility */
.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;
}

/* Reduced-motion: disable the 45+ spring animations for users who opt out.
   Keeps layout intact, just removes motion. */
@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;
  }

  /* Marquees: stop scrolling */
  .ab-marquee-track,
  .sv-marquee-track,
  .ch-ticker-track,
  .hero-banner-track,
  .testi-track,
  .marquee-track { animation: none !important; transform: none !important; }

  /* Custom cursor is pure decoration — hide it */
  #cursor { display: none !important; }
}
