/* Custom Animations */ @keyframes fade-in { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } @keyframes float { 0%, 100% { transform: translateY(0px); } 50% { transform: translateY(-20px); } } @keyframes pulse-ring { 0% { transform: scale(0.8); opacity: 0.5; } 100% { transform: scale(1.3); opacity: 0; } } .animate-fade-in { animation: fade-in 0.8s ease-out; } .animate-float { animation: float 6s ease-in-out infinite; } /* Custom Scrollbar */ ::-webkit-scrollbar { width: 8px; } ::-webkit-scrollbar-track { background: #0f172a; } ::-webkit-scrollbar-thumb { background: #334155; border-radius: 4px; } ::-webkit-scrollbar-thumb:hover { background: #475569; } /* Product Card Hover Effects */ .product-card { transition: all 0.3s ease; } .product-card:hover { transform: translateY(-8px); box-shadow: 0 20px 40px -15px rgba(59, 130, 246, 0.3); } .product-card .quick-view { opacity: 0; transform: translateY(10px); transition: all 0.3s ease; } .product-card:hover .quick-view { opacity: 1; transform: translateY(0); } /* Category Button Active State */ .category-btn.active { background: rgba(59, 130, 246, 0.2); border-color: rgba(59, 130, 246, 0.5); } /* Glassmorphism */ .glass { background: rgba(30, 41, 59, 0.7); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); } /* Smooth Scroll */ html { scroll-behavior: smooth; } /* Selection Color */ ::selection { background: rgba(59, 130, 246, 0.3); color: white; } /* Loading Skeleton */ .skeleton { background: linear-gradient(90deg, #1e293b 25%, #334155 50%, #1e293b 75%); background-size: 200% 100%; animation: loading 1.5s infinite; } @keyframes loading { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } } /* Cart Item Animation */ .cart-item { animation: slide-in 0.3s ease-out; } @keyframes slide-in { from { opacity: 0; transform: translateX(20px); } to { opacity: 1; transform: translateX(0); } } /* Badge Pulse */ .badge-pulse { position: relative; } .badge-pulse::before { content: ''; position: absolute; inset: -4px; border-radius: 50%; background: #3b82f6; animation: pulse-ring 2s cubic-bezier(0.215, 0.61, 0.355, 1) infinite; z-index: -1; } /* Image Zoom */ .img-zoom { overflow: hidden; } .img-zoom img { transition: transform 0.5s ease; } .img-zoom:hover img { transform: scale(1.1); } /* Gradient Text */ .gradient-text { background: linear-gradient(135deg, #60a5fa 0%, #2dd4bf 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } /* Focus Styles */ button:focus-visible, a:focus-visible, input:focus-visible { outline: 2px solid #3b82f6; outline-offset: 2px; } /* Mobile Menu Animation */ #mobile-menu { transition: all 0.3s ease; max-height: 0; overflow: hidden; } #mobile-menu:not(.hidden) { max-height: 300px; } /* Search Overlay */ #search-overlay { transition: all 0.3s ease; } /* Stagger Animation for Products */ .stagger-item { opacity: 0; animation: fade-in 0.5s ease-out forwards; } .stagger-item:nth-child(1) { animation-delay: 0.1s; } .stagger-item:nth-child(2) { animation-delay: 0.2s; } .stagger-item:nth-child(3) { animation-delay: 0.3s; } .stagger-item:nth-child(4) { animation-delay: 0.4s; } .stagger-item:nth-child(5) { animation-delay: 0.5s; } .stagger-item:nth-child(6) { animation-delay: 0.6s; } .stagger-item:nth-child(7) { animation-delay: 0.7s; } .stagger-item:nth-child(8) { animation-delay: 0.8s; }