/*
 * TEST: Alternative Kartenanimation mit linear()-Easing.
 * Bestehende Animation nicht entfernen.
 *
 * Aktivierung:  Klasse .cards-animation-spring am gemeinsamen Section-Element.
 * Rückbau:      Klasse entfernen; die bisherige Auto-Hover-Sequenz greift wieder.
 */

.cards-animation-spring .event-card.is-scroll-reveal-pending,
.cards-animation-spring .buffet-card.is-scroll-reveal-pending {
  opacity: 0;
  transform: translateY(28px) scale(.97);
  transition: none;
  will-change: opacity, transform;
}

.cards-animation-spring.is-scroll-reveal-active .event-card.is-scroll-reveal-pending,
.cards-animation-spring.is-scroll-reveal-active .buffet-card.is-scroll-reveal-pending {
  opacity: 1;
  transform: translateY(0) scale(1);
  transition:
    opacity 450ms ease-out var(--card-reveal-delay, 0ms),
    transform 900ms cubic-bezier(.22, 1, .36, 1) var(--card-reveal-delay, 0ms);
  transition:
    opacity 450ms ease-out var(--card-reveal-delay, 0ms),
    transform 900ms linear(
      0,
      0.029 1.3%,
      0.119 2.8%,
      0.659 8.7%,
      0.871 11.6%,
      1.009 14.6%,
      1.052 16.2%,
      1.078 17.9%,
      1.088 19.7%,
      1.085 21.7%,
      1.014 31.4%,
      0.993 38%,
      1.001 57.6%,
      1
    ) var(--card-reveal-delay, 0ms);
}

@media (prefers-reduced-motion: reduce) {
  .cards-animation-spring .event-card.is-scroll-reveal-pending,
  .cards-animation-spring .buffet-card.is-scroll-reveal-pending {
    opacity: 1;
    transform: none;
    transition: none;
    will-change: auto;
  }
}
