| | |
| | @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; |
| | } |
| |
|
| | |
| | ::-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 { |
| | 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-btn.active { |
| | background: rgba(59, 130, 246, 0.2); |
| | border-color: rgba(59, 130, 246, 0.5); |
| | } |
| |
|
| | |
| | .glass { |
| | background: rgba(30, 41, 59, 0.7); |
| | backdrop-filter: blur(10px); |
| | -webkit-backdrop-filter: blur(10px); |
| | } |
| |
|
| | |
| | html { |
| | scroll-behavior: smooth; |
| | } |
| |
|
| | |
| | ::selection { |
| | background: rgba(59, 130, 246, 0.3); |
| | color: white; |
| | } |
| |
|
| | |
| | .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: slide-in 0.3s ease-out; |
| | } |
| |
|
| | @keyframes slide-in { |
| | from { |
| | opacity: 0; |
| | transform: translateX(20px); |
| | } |
| | to { |
| | opacity: 1; |
| | transform: translateX(0); |
| | } |
| | } |
| |
|
| | |
| | .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; |
| | } |
| |
|
| | |
| | .img-zoom { |
| | overflow: hidden; |
| | } |
| |
|
| | .img-zoom img { |
| | transition: transform 0.5s ease; |
| | } |
| |
|
| | .img-zoom:hover img { |
| | transform: scale(1.1); |
| | } |
| |
|
| | |
| | .gradient-text { |
| | background: linear-gradient(135deg, #60a5fa 0%, #2dd4bf 100%); |
| | -webkit-background-clip: text; |
| | -webkit-text-fill-color: transparent; |
| | background-clip: text; |
| | } |
| |
|
| | |
| | button:focus-visible, |
| | a:focus-visible, |
| | input:focus-visible { |
| | outline: 2px solid #3b82f6; |
| | outline-offset: 2px; |
| | } |
| |
|
| | |
| | #mobile-menu { |
| | transition: all 0.3s ease; |
| | max-height: 0; |
| | overflow: hidden; |
| | } |
| |
|
| | #mobile-menu:not(.hidden) { |
| | max-height: 300px; |
| | } |
| |
|
| | |
| | #search-overlay { |
| | transition: all 0.3s ease; |
| | } |
| |
|
| | |
| | .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; } |