/* ============================================================================
   MOTION — Mouse Sparkles (Lucide Sparkle SVG trail + glow points)
   Native cursor görünür kalır; üstüne pembe/beyaz sparkle akışı.
   ============================================================================ */

/* Sparkle (Lucide ikon) — düşen yıldız animasyonu */
.mouse-sparkles-star {
    position: fixed;
    pointer-events: none;
    z-index: 9999;
    width: 1em;
    height: 1em;
    transform: translate(-50%, -50%);
    animation-fill-mode: forwards;
    animation-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
    will-change: transform, opacity;
    /* SVG'ye yumuşak halo ekler — premium glow */
    filter: drop-shadow(0 0 6px currentColor) drop-shadow(0 0 14px currentColor);
}
.mouse-sparkles-star svg {
    width: 100%;
    height: 100%;
    display: block;
}

/* Glow point — mouse path'i boyunca süreklilik */
.mouse-sparkles-glow-point {
    position: fixed;
    pointer-events: none;
    z-index: 9998;
    width: 5px;
    height: 5px;
    margin: -2.5px 0 0 -2.5px;
    background: rgb(252 254 255);
    border-radius: 50%;
    mix-blend-mode: screen;
    box-shadow:
        0 0 8px rgba(249, 146, 253, 0.65),
        0 0 16px rgba(249, 146, 253, 0.40),
        0 0 28px rgba(252, 254, 255, 0.25);
    will-change: opacity;
}

/* 3 farklı düşüş animasyonu (rastgele seçilir) */
@keyframes fall-1 {
    0%   { opacity: 0; transform: translate(-50%, -50%) scale(0.4) rotate(-30deg); }
    18%  { opacity: 1; transform: translate(-50%, -50%) scale(1) rotate(0deg); }
    100% { opacity: 0; transform: translate(-50%, calc(-50% + 90px)) scale(0.55) rotate(25deg); }
}
@keyframes fall-2 {
    0%   { opacity: 0; transform: translate(-50%, -50%) scale(0.4) rotate(30deg); }
    18%  { opacity: 1; transform: translate(-50%, -50%) scale(1) rotate(0deg); }
    100% { opacity: 0; transform: translate(calc(-50% + 40px), calc(-50% + 110px)) scale(0.5) rotate(-30deg); }
}
@keyframes fall-3 {
    0%   { opacity: 0; transform: translate(-50%, -50%) scale(0.4) rotate(0deg); }
    18%  { opacity: 1; transform: translate(-50%, -50%) scale(1) rotate(20deg); }
    100% { opacity: 0; transform: translate(calc(-50% - 40px), calc(-50% + 100px)) scale(0.65) rotate(50deg); }
}

/* Touch / reduced-motion'da disable */
@media (hover: none), (pointer: coarse) {
    .mouse-sparkles-star,
    .mouse-sparkles-glow-point { display: none !important; }
}
@media (prefers-reduced-motion: reduce) {
    .mouse-sparkles-star,
    .mouse-sparkles-glow-point { display: none !important; }
}

/* Lenis smooth scroll */
html.lenis,
html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-stopped { overflow: hidden; }
.lenis.lenis-scrolling iframe { pointer-events: none; }

[data-split-reveal] { overflow: hidden; }
