@layer base {
    body {
        @apply bg-zinc-950 text-zinc-100 antialiased selection:bg-amber-500 selection:text-zinc-950 overflow-x-hidden;
    }
}

@layer utilities {
    .stroke-white {
        -webkit-text-stroke: 1px white;
    }
    .stroke-amber {
        -webkit-text-stroke: 1px #d4af37;
    }
}

/* Custom Scrollbar */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { @apply bg-zinc-950; }
::-webkit-scrollbar-thumb { @apply bg-zinc-800 rounded-full hover:bg-zinc-700; }

/* Animation Classes */
.fade-in { 
    opacity: 0; 
    transform: translateY(20px); 
    transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1); 
    will-change: transform, opacity;
}
.fade-in.visible { 
    opacity: 1; 
    transform: translateY(0); 
}

.modal-overlay { 
    background-color: rgba(0, 0, 0, 0.8); 
    backdrop-filter: blur(4px); 
    transition: opacity 0.3s ease; 
}
.modal-content { 
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.4s ease; 
}

.cart-slide { 
    transform: translateX(100%); 
    transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1); 
}
.cart-slide.open { 
    transform: translateX(0); 
}

.mobile-menu { 
    transform: translateX(100%); 
    transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1); 
}
.mobile-menu.open { 
    transform: translateX(0); 
}

/* Custom Gradients */
.bg-gradient-premium {
    background: linear-gradient(to right, rgba(9, 9, 11, 1), rgba(9, 9, 11, 0.6), transparent);
}

/* Hover effects */
.hover-lift {
    transition: transform 0.3s ease;
}
.hover-lift:hover {
    transform: translateY(-5px);
}

.product-card {
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: transform, box-shadow;
}
.product-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px -20px rgba(245, 158, 11, 0.2);
    border-color: rgba(245, 158, 11, 0.3) !important;
}

