/* ==========================================================================
   Endure Lab – Animationen
   Dezentes Scroll-Reveal + Hover-Transitions. Respektiert prefers-reduced-motion.
   ========================================================================== */

@media (prefers-reduced-motion: no-preference) {
  [data-reveal] {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 700ms cubic-bezier(0.16, 1, 0.3, 1),
      transform 700ms cubic-bezier(0.16, 1, 0.3, 1);
  }

  [data-reveal].is-revealed {
    opacity: 1;
    transform: translateY(0);
  }

  [data-reveal-group] > * {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 700ms cubic-bezier(0.16, 1, 0.3, 1),
      transform 700ms cubic-bezier(0.16, 1, 0.3, 1);
  }

  [data-reveal-group].is-revealed > * {
    opacity: 1;
    transform: translateY(0);
  }

  [data-reveal-group].is-revealed > *:nth-child(2) {
    transition-delay: 90ms;
  }
  [data-reveal-group].is-revealed > *:nth-child(3) {
    transition-delay: 180ms;
  }
  [data-reveal-group].is-revealed > *:nth-child(4) {
    transition-delay: 270ms;
  }
}

/* ---- Keyframes für Micro-Interactions ---- */
@keyframes btn-spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes marquee {
  to {
    transform: translateX(-50%);
  }
}

/* ---- Cursor-Glow: dezenter goldener Lichtschein, folgt der Maus (nur Desktop) ---- */
.cursor-glow {
  position: fixed;
  top: 0;
  left: 0;
  width: 700px;
  height: 700px;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(200, 154, 85, 0.09) 0%,
    rgba(200, 154, 85, 0.04) 40%,
    transparent 65%
  );
  pointer-events: none;
  z-index: 9999;
  opacity: 0;
  transition: opacity 600ms ease;
  will-change: transform;
}

.cursor-glow.is-visible {
  opacity: 1;
}

@keyframes showcase-in {
  from {
    opacity: 0;
    transform: translateY(18px) scale(0.995);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes scroll-cue {
  0% {
    transform: scaleY(0);
    transform-origin: top;
  }
  45% {
    transform: scaleY(1);
    transform-origin: top;
  }
  55% {
    transform: scaleY(1);
    transform-origin: bottom;
  }
  100% {
    transform: scaleY(0);
    transform-origin: bottom;
  }
}

@keyframes status-in {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes status-shake {
  0%,
  100% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(-4px);
  }
  50% {
    transform: translateX(4px);
  }
  75% {
    transform: translateX(-2px);
  }
}

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

  html {
    scroll-behavior: auto;
  }

  .coach-card__media img,
  .case-study__gallery img,
  .btn,
  .pricing-card,
  .site-header,
  .logo,
  .carousel-btn,
  .testimonial-card {
    transition: none !important;
  }

  .form-status.is-visible,
  .form-status--error.is-visible,
  .marquee__track,
  .hero__scroll-line,
  .faq-item[open] .faq-item__body,
  .showcase__slide.is-active {
    animation: none !important;
  }

  .showcase__thumb,
  .showcase__main img {
    transition: none !important;
  }
}
