/* ============================================
   NOKTA BİLGİSAYAR — ANİMASYONLAR 2026
   ============================================ */

/* ---- Scroll Reveal ---- */
[data-reveal] {
  opacity: 0;
  transition: opacity 0.75s ease, transform 0.75s ease;
}
[data-reveal="fade-up"]    { transform: translateY(36px); }
[data-reveal="fade-down"]  { transform: translateY(-36px); }
[data-reveal="fade-left"]  { transform: translateX(-36px); }
[data-reveal="fade-right"] { transform: translateX(36px); }
[data-reveal="zoom-in"]    { transform: scale(0.94); }

[data-reveal].is-revealed  { opacity: 1; transform: none; }

/* Gecikme değerleri */
[data-delay="100"] { transition-delay: 100ms; }
[data-delay="150"] { transition-delay: 150ms; }
[data-delay="200"] { transition-delay: 200ms; }
[data-delay="250"] { transition-delay: 250ms; }
[data-delay="300"] { transition-delay: 300ms; }
[data-delay="350"] { transition-delay: 350ms; }
[data-delay="400"] { transition-delay: 400ms; }
[data-delay="450"] { transition-delay: 450ms; }
[data-delay="500"] { transition-delay: 500ms; }
[data-delay="600"] { transition-delay: 600ms; }

/* ---- Hero Animasyonları ---- */
@keyframes heroFadeIn {
  from { opacity: 0; transform: translateY(28px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes heroPulse {
  0%, 100% { transform: scale(1); opacity: 0.55; }
  50%       { transform: scale(1.05); opacity: 0.75; }
}
@keyframes floatY {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-14px); }
}
@keyframes rotateSlow {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}
@keyframes gradientShift {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

.hero__tag      { animation: heroFadeIn 0.6s ease both; animation-delay: 0.10s; }
.hero__title    { animation: heroFadeIn 0.7s ease both; animation-delay: 0.22s; }
.hero__subtitle { animation: heroFadeIn 0.7s ease both; animation-delay: 0.36s; }
.hero__actions  { animation: heroFadeIn 0.7s ease both; animation-delay: 0.50s; }
.hero__stats    { animation: heroFadeIn 0.7s ease both; animation-delay: 0.64s; }
.hero__visual   { animation: heroFadeIn 1.0s ease both; animation-delay: 0.30s; }
.hero__scroll   { animation: heroFadeIn 1.0s ease both; animation-delay: 0.90s; }

.hero__float { animation: floatY 5.5s ease-in-out infinite; }

/* ---- Gradient Metin ---- */
.gradient-text {
  background: var(--g-accent);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* ---- Sonsuz Carousel ---- */
@keyframes infiniteScroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
.carousel-track {
  display: flex;
  gap: var(--space-8);
  animation: infiniteScroll 38s linear infinite;
  width: max-content;
}
.carousel-track:hover { animation-play-state: paused; }

/* ---- Parlayan Nokta ---- */
@keyframes glowPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(0,200,255,0.50); }
  50%       { box-shadow: 0 0 0 8px rgba(0,200,255,0.00); }
}

/* ---- Kart Parlama Efekti ---- */
.shine-effect { position: relative; overflow: hidden; }
.shine-effect::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -75%;
  width: 50%;
  height: 200%;
  background: linear-gradient(
    to right,
    transparent 0%,
    rgba(255,255,255,0.07) 50%,
    transparent 100%
  );
  transform: skewX(-15deg);
  transition: left 0.75s ease;
}
.shine-effect:hover::after { left: 125%; }

/* ---- Sayaç Numarası ---- */
.counter-number { display: inline-block; transition: all 0.1s ease; }

/* ---- Sayfa Geçişi ---- */
.page-enter { animation: heroFadeIn 0.5s ease both; }

/* ---- Hareket Azaltma ---- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  [data-reveal] { opacity: 1; transform: none; }
}
