/* Custom CSS for Supreme Cycle Store */ :root { --primary-color: #2563eb; --secondary-color: #10b981; --accent-color: #f59e0b; } /* Custom scrollbar */ ::-webkit-scrollbar { width: 8px; } ::-webkit-scrollbar-track { background: #f1f5f9; } ::-webkit-scrollbar-thumb { background: var(--primary-color); border-radius: 4px; } ::-webkit-scrollbar-thumb:hover { background: #1d4ed8; } /* Loading animation */ .loading { display: inline-block; width: 20px; height: 20px; border: 3px solid rgba(255,255,255,.3); border-radius: 50%; border-top-color: #fff; animation: spin 1s ease-in-out infinite; } @keyframes spin { to { transform: rotate(360deg); } } /* Image placeholder animation */ .image-placeholder { background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%); background-size: 200% 100%; animation: loading 1.5s infinite; } @keyframes loading { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } } /* Card hover effects */ .product-card { transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); } .product-card:hover { transform: translateY(-4px) scale(1.02); box-shadow: 0 20px 40px rgba(0,0,0,0.1); } /* Button animations */ .btn-animate { position: relative; overflow: hidden; transition: all 0.3s ease; } .btn-animate:before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent); transition: left 0.5s; } .btn-animate:hover:before { left: 100%; } /* Text animations */ .text-gradient { background: linear-gradient(135deg, var(--primary-color), var(--secondary-color)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } /* Mobile responsiveness */ @media (max-width: 768px) { .mobile-padding { padding-left: 1rem; padding-right: 1rem; } .mobile-text-sm { font-size: 0.875rem; } } /* Print styles */ @media print { .no-print { display: none !important; } }