/* ============================================================
   MOTION — Skiforeningen
   Calm, functional transitions only (hover, expand, season switch).
   ALWAYS respects prefers-reduced-motion.
   ============================================================ */

:root {
  /* Durations */
  --duration-fast: 120ms; /* @kind other */
  --duration-base: 200ms; /* @kind other */
  --duration-slow: 320ms; /* @kind other */

  /* Easing curves */
  --ease-standard:   cubic-bezier(0.2, 0, 0, 1);      /* @kind other */
  --ease-emphasized: cubic-bezier(0.2, 0, 0, 1.0);    /* @kind other */
  --ease-decel:      cubic-bezier(0.05, 0.7, 0.1, 1); /* @kind other */
  --ease-accel:      cubic-bezier(0.3, 0, 0.8, 0.15); /* @kind other */

  /* Common composed transitions */
  --transition-color:   color var(--duration-fast) var(--ease-standard),
                         background-color var(--duration-fast) var(--ease-standard),
                         border-color var(--duration-fast) var(--ease-standard); /* @kind other */
  --transition-transform: transform var(--duration-base) var(--ease-standard); /* @kind other */
  --transition-elevation: box-shadow var(--duration-base) var(--ease-standard); /* @kind other */
}

/* Non-animated fallback */
@media (prefers-reduced-motion: reduce) {
  :root {
    --duration-fast: 0ms; /* @kind other */
    --duration-base: 0ms; /* @kind other */
    --duration-slow: 0ms; /* @kind other */
  }
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}
