/* =============================================================
   css/bh-reduced-motion.css
   -------------------------------------------------------------
   Phase 5 / H-15 from DASHBOARD_DEEP_AUDIT_2026-05-23.md.

   The audit found 10+ CSS files that don't honor
   prefers-reduced-motion: ask-kb, afterhours-qa, knowledge-search,
   property-labels, investors, portal, afterhours-knowledge,
   proximity, address-autocomplete, mobile, and more.

   Patching each one individually is a 10-file blast radius and
   tomorrow a new module ships without the rule. The audit's
   recommendation: a SINGLE global block that wins via
   !important, applied to every element. Users who set
   "reduce motion" in their OS preference get effectively no
   animation regardless of which module shipped what.

   This stylesheet is loaded LAST so the !important rules
   override per-module animation values without us having to
   touch each module's CSS.

   What's preserved:
     - opacity transitions (subtle fades are not vestibular hazards)
     - scroll-behavior: smooth -> auto (handled separately by browser)

   What's suppressed:
     - All other transition/animation durations are clamped to
       0.001ms (effectively instant) with iteration capped at 1.
       This matches the spec's intent ("disable", not "speed up")
       and matches what every accessibility-conformant design system
       (Tailwind, GitHub Primer, USWDS) ships.
   ============================================================= */

@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;
  }
}
