/* ============================================================
   Respect prefers-reduced-motion — suite-wide
   ============================================================
   The suite ships ~125 CSS transitions, two keyframe animations and several
   smooth-scroll behaviours, and until now every one of them played regardless
   of the visitor's operating-system setting.

   That setting is not a preference in the decorative sense. People enable it
   because motion causes them nausea, dizziness or migraine — vestibular
   disorders are common enough that this is a real portion of any storefront's
   traffic, and the failure is invisible to everyone who has not enabled it.

   WHY 0.01ms RATHER THAN `none`
   -----------------------------
   The obvious rule is `animation: none; transition: none`. It is also subtly
   wrong: JavaScript that waits for a `transitionend` or `animationend` event
   never receives one, so a menu that opens on transitionend simply never opens.
   Reducing the duration to a hair above zero keeps those events firing while
   removing all perceptible motion — the visitor sees an instant change, and
   dependent code still works.

   `!important` is used deliberately here, against the usual advice: this must
   beat inline styles printed by the theme and by plugin-generated <style>
   blocks, which is exactly where most of this suite's transitions live.
   ============================================================ */

@media (prefers-reduced-motion: reduce) {

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    transition-delay: 0ms !important;
    animation-delay: 0ms !important;
  }

  /* Programmatic and anchor scrolling. The CSS property covers anchor jumps and
     any scrollTo() that does not pass an explicit behavior; calls that DO pass
     'smooth' override this, which is why mkt-reduced-motion.js exists. */
  html,
  body,
  .mp101h-gtrack,
  .mp101sf-scroller,
  [data-scroll-container] {
    scroll-behavior: auto !important;
  }

  /* Carousels and marquees that auto-advance. Motion the visitor did not
     initiate is the most disorienting kind, so these stop entirely rather than
     merely becoming instant. */
  .mp101h-ncar .mp101h-gtrack,
  .mp101h-marquee,
  [data-autoplay] {
    animation: none !important;
  }
}
