/* ================================================================
   MEAL — Animations Scroll (counters + reveals + ring + list)
   ================================================================ */

/* =========================
   A. REVEALS DIRECTIONNELS
   ========================= */
[data-reveal] {
  opacity: 0;
  transition:
    opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}

[data-reveal="up"] {
  transform: translateY(24px);
}

[data-reveal="left"] {
  transform: translateX(-30px);
}

[data-reveal="right"] {
  transform: translateX(30px);
}

[data-reveal="scale"] {
  transform: scale(0.94);
  transition-duration: 0.9s;
}

[data-reveal].is-visible,
[data-reveal].active {
  opacity: 1;
  transform: none;
}

[data-reveal][data-delay="1"] {
  transition-delay: 0.08s;
}

[data-reveal][data-delay="2"] {
  transition-delay: 0.16s;
}

[data-reveal][data-delay="3"] {
  transition-delay: 0.24s;
}

[data-reveal][data-delay="4"] {
  transition-delay: 0.32s;
}

/* =========================
   B. COMPTEURS
   ========================= */
[data-count] {
  font-variant-numeric: tabular-nums;
}

/* =========================
   C. STAGGER LISTE
   ========================= */
.meal-list-stagger.is-primed .meal-item,
.meal-list-stagger.is-primed .meal-list-item,
.meal-list-stagger.is-primed [class*="list-item"],
.meal-list-stagger.is-primed li {
  opacity: 0;
  transform: translateY(8px);
  transition:
    opacity 0.4s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.meal-list-stagger.is-primed .meal-item.is-visible,
.meal-list-stagger.is-primed .meal-list-item.is-visible,
.meal-list-stagger.is-primed [class*="list-item"].is-visible,
.meal-list-stagger.is-primed li.is-visible {
  opacity: 1;
  transform: none;
}

/* =========================
   D. RING PROGRESS
   ========================= */
#mw-ring-progress {
  transition: stroke-dashoffset 1.4s cubic-bezier(0.16, 1, 0.3, 1);
}

@media (prefers-reduced-motion: reduce) {
  [data-reveal] {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .meal-list-stagger.is-primed .meal-item,
  .meal-list-stagger.is-primed .meal-list-item,
  .meal-list-stagger.is-primed [class*="list-item"],
  .meal-list-stagger.is-primed li {
    opacity: 1;
    transform: none;
    transition: none;
  }

  #mw-ring-progress {
    transition: none;
  }
}
