/* ==========================================================================
   Vitrin — Animasyon Kütüphanesi
   Scroll ile tetiklenen "reveal" efektleri + arka plan hareketleri.
   Kullanım: bir elemente `v-anim` sınıfı ve türünü (`v-anim--up` vb.) ekleyin.
   main.js, ekrana girince `.is-inview` sınıfını ekler.
   Gecikme için: `v-delay-1` ... `v-delay-5`.
   ========================================================================== */

.v-anim {
  opacity: 0;
  transition: opacity .8s cubic-bezier(.22,.61,.36,1), transform .8s cubic-bezier(.22,.61,.36,1);
  will-change: opacity, transform;
}
.v-anim--up    { transform: translateY(48px); }
.v-anim--down  { transform: translateY(-44px); }
.v-anim--left  { transform: translateX(52px); }
.v-anim--right { transform: translateX(-52px); }
.v-anim--zoom  { transform: scale(.86); }
.v-anim--fade  { transform: none; }

.v-anim.is-inview { opacity: 1; transform: none; }

/* Kademeli (stagger) gecikmeler */
.v-delay-1 { transition-delay: .10s; }
.v-delay-2 { transition-delay: .20s; }
.v-delay-3 { transition-delay: .30s; }
.v-delay-4 { transition-delay: .40s; }
.v-delay-5 { transition-delay: .50s; }

/* Hero arka plan sürüklenmesi */
@keyframes v-drift {
  0%   { transform: translate3d(0,0,0) scale(1); }
  100% { transform: translate3d(0,-18px,0) scale(1.06); }
}

/* Aurora blob hareketleri */
@keyframes v-orb1 { 0%{transform:translate(0,0) scale(1)} 100%{transform:translate(8%,10%) scale(1.15)} }
@keyframes v-orb2 { 0%{transform:translate(0,0) scale(1)} 100%{transform:translate(-10%,6%) scale(1.1)} }
@keyframes v-orb3 { 0%{transform:translate(0,0) scale(1)} 100%{transform:translate(-6%,-12%) scale(1.2)} }

/* Parıldayan degrade başlık */
.v-gradient-text.v-shimmer {
  background: linear-gradient(100deg, var(--v-accent), var(--v-accent-2), #f0abfc, var(--v-accent));
  background-size: 260% auto;
  -webkit-background-clip: text; background-clip: text; color: transparent;
  animation: v-shimmer 6s linear infinite;
}
@keyframes v-shimmer { to { background-position: 260% center; } }

/* Yumuşak yukarı-aşağı süzülme (rozet/görsel için) */
@keyframes v-float {
  0%,100% { transform: translateY(0); }
  50%     { transform: translateY(-10px); }
}
.v-float { animation: v-float 5s ease-in-out infinite; }

/* Degrade metin vurgusu */
.v-gradient-text {
  background: linear-gradient(100deg, var(--v-accent), var(--v-accent-2));
  -webkit-background-clip: text; background-clip: text; color: transparent;
}

/* Hafif parlama pulse'u (CTA/rozet) */
@keyframes v-pulse {
  0%,100% { box-shadow: 0 0 0 0 var(--v-accent-soft); }
  50%     { box-shadow: 0 0 0 14px transparent; }
}
.v-pulse { animation: v-pulse 2.4s ease-out infinite; }

/* Hareket azaltma tercihine saygı (erişilebilirlik) */
@media (prefers-reduced-motion: reduce) {
  .v-anim { opacity: 1 !important; transform: none !important; transition: none !important; }
  .v-float, .v-pulse, .v-hero__bg, .v-blob, .v-badge__dot, .v-marquee__track { animation: none !important; }
  .v-gradient-text.v-shimmer { animation: none !important; }
}
