/* ==========================================================================
   DAVETLE DESIGN SYSTEM — ANIMATIONS
   Süreler: mikro etkileşim 150–300ms, giriş ≤450ms.
   Kural: yalnızca transform ve opacity animasyonu (layout shift yok).
   prefers-reduced-motion base.css içinde global olarak ele alınır.
   ========================================================================== */

@keyframes fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes fade-out {
  from { opacity: 1; }
  to { opacity: 0; }
}

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

@keyframes slide-up {
  from {
    opacity: 0;
    transform: translateY(24px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes slide-in-up {
  from {
    opacity: 0;
    transform: translateY(12px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes scale-in {
  from {
    opacity: 0;
    transform: scale(0.96);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

@keyframes shimmer {
  to { translate: 100% 0; }
}

/* --- Sayfa içi giriş animasyonları --------------------------------------
   Kullanım: class="animate-fade-up", kademeli liste için style="--stagger: 2"
   -------------------------------------------------------------------------- */

.animate-fade-in {
  animation: fade-in var(--duration-slow) var(--ease-out) both;
}

.animate-fade-up {
  animation: fade-up var(--duration-slower) var(--ease-out) both;
  animation-delay: calc(var(--stagger, 0) * 60ms);
}

.animate-scale-in {
  animation: scale-in var(--duration-slow) var(--ease-out) both;
}
