/* ========================================
   HIGH PERFORMANCE 120FPS ANIMATIONS
   ======================================== */

/* Force GPU Acceleration */
.btn,
.product-card,
.glass-card,
.navbar,
.gallery-item,
.product-image,
.product-detail-image {
    transform: translate3d(0, 0, 0);
    will-change: transform;
}

/* Smoother Transitions (120fps optimized) */
* {
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

/* High Refresh Rate Scroll */
@media (prefers-reduced-motion: no-preference) {
    html {
        scroll-behavior: smooth;
        scroll-snap-type: y proximity;
    }
    
    section {
        scroll-snap-align: start;
    }
}

/* Ultra-smooth hover effects */
.product-card,
.glass-card,
.btn {
    transition: transform 0.15s cubic-bezier(0.4, 0, 0.2, 1),
                box-shadow 0.15s cubic-bezier(0.4, 0, 0.2, 1),
                background 0.15s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Parallax Effect (120fps) */
.hero-bg {
    will-change: transform;
    transform: translate3d(0, 0, 0);
}

/* Smooth Image Transitions */
img,
.product-image,
.gallery-item-bg {
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
}

/* Counter Animation Optimization */
.stat-number {
    will-change: contents;
    contain: layout style paint;
}

/* Floating Animation (120fps) */
@keyframes float120 {
    0%, 100% {
        transform: translate3d(0, 0, 0) scale(1);
    }
    50% {
        transform: translate3d(0, -12px, 0) scale(1.01);
    }
}

.float {
    animation: float120 4s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}

/* Shimmer Effect (120fps) */
@keyframes shimmer120 {
    0% {
        transform: translate3d(-100%, 0, 0);
    }
    100% {
        transform: translate3d(100%, 0, 0);
    }
}

.section-badge::after {
    animation: shimmer120 3s cubic-bezier(0.4, 0, 0.2, 1) infinite;
    will-change: transform;
}

/* Gradient Animation (120fps) */
@keyframes gradientFlow {
    0%, 100% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
}

.hero h1 span {
    animation: gradientFlow 4s ease-in-out infinite;
    will-change: background-position;
}

/* Pulse Animation (120fps) */
@keyframes pulse120 {
    0%, 100% {
        transform: translate3d(0, 0, 0) scale(1);
        opacity: 1;
    }
    50% {
        transform: translate3d(0, 0, 0) scale(1.05);
        opacity: 0.95;
    }
}

.hero-badge-dot {
    animation: pulse120 2s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}

/* Scale on Hover (Ultra-smooth) */
.stat-item:hover .stat-number {
    transform: scale3d(1.1, 1.1, 1);
    transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* Card Lift (120fps optimized) */
.product-card:hover {
    transform: translate3d(0, -12px, 0) scale3d(1.01, 1.01, 1);
}

.gallery-item:hover {
    transform: translate3d(0, -8px, 0) scale3d(1.05, 1.05, 1);
}

/* Button Ripple (Hardware accelerated) */
.btn::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.4);
    transform: translate3d(-50%, -50%, 0);
    transition: width 0.5s cubic-bezier(0.4, 0, 0.2, 1),
                height 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none;
}

.btn:active::after {
    width: 300px;
    height: 300px;
    opacity: 0;
}

/* Page Transition (120fps) */
@keyframes pageEnter {
    from {
        opacity: 0;
        transform: translate3d(0, 20px, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

body {
    animation: pageEnter 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Navbar Slide (120fps) */
@keyframes navSlide {
    from {
        transform: translate3d(0, -100%, 0);
        opacity: 0;
    }
    to {
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }
}

.navbar {
    animation: navSlide 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Scroll Reveal (120fps) */
[data-reveal] {
    opacity: 0;
    transform: translate3d(0, 40px, 0);
    transition: opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1),
                transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: transform, opacity;
}

[data-reveal].in {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

/* Performance Optimization for 120Hz+ displays */
@media (min-resolution: 120dpi) {
    * {
        animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
        transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
}

/* Reduce Layout Shifts */
.product-card,
.glass-card,
.gallery-item {
    contain: layout style paint;
}

/* Hardware Acceleration Hints */
.hero-content,
.hero-glass-cards,
.product-detail-content {
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
}
