/* reduced-motion.css — Zero-duration transitions/animations for accessibility
   Responds to OS-level prefers-reduced-motion AND per-element --mosaiq-reduced-motion. */

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    transition-duration: 0s !important;
    animation-duration: 0s !important;
    scroll-behavior: auto !important;
  }
}

/* Element-level reduced motion via --mosaiq-reduced-motion custom property.
   JS can set style="--mosaiq-reduced-motion: reduce" on any container. */
[style*="--mosaiq-reduced-motion: reduce"] *,
[style*="--mosaiq-reduced-motion: reduce"] *::before,
[style*="--mosaiq-reduced-motion: reduce"] *::after {
  transition-duration: 0s !important;
  animation-duration: 0s !important;
  scroll-behavior: auto !important;
}
