/* ======================================== PREMIUM UI OVERRIDES — Visual Polish ======================================== */ /* --- Navbar Premium Accent Line --- */ .navbar::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent 5%, var(--clr-accent) 30%, var(--clr-gold, var(--clr-mid)) 50%, var(--clr-accent) 70%, transparent 95%); opacity: 0.4; transition: opacity var(--transition-base); } .navbar.scrolled::after { opacity: 0.6; } .navbar-logo { background: linear-gradient(135deg, var(--clr-light), var(--clr-mid), var(--clr-gold, var(--clr-mid))); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; background-size: 200% 200%; animation: shimmer 6s ease-in-out infinite; } @keyframes shimmer { 0%, 100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } } /* --- Buttons Premium --- */ .btn-primary { background: linear-gradient(135deg, var(--clr-accent) 0%, var(--clr-mid) 100%); color: #fff; box-shadow: var(--shadow-md), 0 0 24px rgba(27, 107, 125, 0.3); border: 1px solid rgba(255, 255, 255, 0.08); } .btn-primary:hover { box-shadow: var(--shadow-lg), 0 0 40px rgba(27, 107, 125, 0.45); transform: translateY(-3px); filter: brightness(1.1); } .btn-outline { border: 1px solid var(--clr-border); position: relative; } .btn-outline::before { content: ''; position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(135deg, rgba(27, 107, 125, 0.08), transparent); opacity: 0; transition: opacity var(--transition-base); } .btn-outline:hover::before { opacity: 1; } .btn-outline:hover { border-color: var(--clr-accent); box-shadow: 0 0 20px rgba(27, 107, 125, 0.12); } /* --- Product Cards Premium Glow --- */ .product-card { background: var(--clr-surface-solid, var(--clr-surface)); border: 1px solid var(--clr-border); position: relative; } .product-card::after { content: ''; position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(135deg, rgba(255, 255, 255, 0.04) 0%, transparent 40%); pointer-events: none; z-index: 1; } .product-card:hover { transform: translateY(-8px) scale(1.01); box-shadow: var(--shadow-lg), 0 0 50px rgba(27, 107, 125, 0.1); border-color: rgba(27, 107, 125, 0.3); } .product-card:hover .product-card-image img { transform: scale(1.1); } /* --- Badge Gradients --- */ .badge-new { background: linear-gradient(135deg, #3B82F6, #60A5FA); box-shadow: 0 2px 8px rgba(59, 130, 246, 0.35); } .badge-discount { background: linear-gradient(135deg, #EF4444, #F87171); box-shadow: 0 2px 8px rgba(239, 68, 68, 0.35); } .badge-featured { background: linear-gradient(135deg, #D4A847, #F0D78C); color: #1A1A1A; box-shadow: 0 2px 8px rgba(212, 168, 71, 0.35); } /* --- Category Cards Premium --- */ .category-card { background: var(--clr-surface-solid, var(--clr-surface)); position: relative; overflow: hidden; } .category-card::after { content: ''; position: absolute; top: -50%; right: -50%; width: 100%; height: 100%; background: radial-gradient(circle, rgba(27, 107, 125, 0.08), transparent 70%); opacity: 0; transition: opacity var(--transition-slow); } .category-card:hover::after { opacity: 1; } .category-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg), 0 0 40px rgba(27, 107, 125, 0.08); border-color: var(--clr-accent); } .category-card-icon { filter: drop-shadow(0 4px 12px rgba(27, 107, 125, 0.2)); } /* --- Feature Cards Premium --- */ .feature-card { background: var(--clr-surface-solid, var(--clr-surface)); position: relative; overflow: hidden; border: 1px solid var(--clr-border); } .feature-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(--clr-accent), var(--clr-mid), var(--clr-accent)); opacity: 0; transition: opacity var(--transition-base); } .feature-card:hover::before { opacity: 1; } .feature-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-md), 0 0 30px rgba(27, 107, 125, 0.08); border-color: var(--clr-border-hover); } .feature-icon { filter: drop-shadow(0 4px 10px rgba(27, 107, 125, 0.2)); } /* --- Hero Premium Overrides --- */ .hero { background: linear-gradient(160deg, var(--clr-bg-primary) 0%, var(--clr-bg-secondary) 35%, rgba(27, 107, 125, 0.15) 70%, var(--clr-bg-primary) 100%); } .hero-title span { background: linear-gradient(135deg, var(--clr-light), var(--clr-mid), var(--clr-gold, var(--clr-light))); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; background-size: 200% 200%; animation: shimmer 4s ease-in-out infinite; } .hero-tag { background: rgba(27, 107, 125, 0.12); border: 1px solid rgba(27, 107, 125, 0.2); backdrop-filter: blur(16px); } .hero-stat-num { background: linear-gradient(135deg, var(--clr-text-primary), var(--clr-mid)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } /* --- Promo Banner Premium --- */ .promo-banner { background: linear-gradient(135deg, var(--clr-accent), var(--clr-bg-secondary), rgba(27, 107, 125, 0.3)); border: 1px solid rgba(27, 107, 125, 0.2); box-shadow: var(--shadow-lg); } /* --- Section Headings Premium --- */ .section-title { position: relative; } .section-title::after { content: ''; display: block; width: 60px; height: 3px; background: linear-gradient(90deg, var(--clr-accent), var(--clr-mid)); border-radius: var(--radius-full); margin: var(--space-md) auto 0; } /* --- Form Inputs Premium --- */ .form-input { background: var(--clr-surface-solid, var(--clr-surface)); border: 1px solid var(--clr-border); transition: all var(--transition-base); } .form-input:focus { border-color: var(--clr-accent); box-shadow: 0 0 0 3px rgba(27, 107, 125, 0.12), 0 0 20px rgba(27, 107, 125, 0.08); } /* --- Modals Premium --- */ .modal-overlay { backdrop-filter: blur(8px); } .modal-overlay.active .modal { box-shadow: var(--shadow-xl), 0 0 80px rgba(27, 107, 125, 0.08); } .modal { border: 1px solid var(--clr-border); background: var(--clr-surface-solid, var(--clr-surface)); } /* --- Login Tabs Premium --- */ .login-tab.active { background: var(--clr-accent); color: #fff; box-shadow: 0 0 15px rgba(27, 107, 125, 0.3); } /* --- Toast Notifications Premium --- */ .toast-container .toast { backdrop-filter: blur(16px); border: 1px solid var(--clr-border); box-shadow: var(--shadow-lg); } /* --- Checkout Steps Premium --- */ .progress-step.active { color: var(--clr-accent); } .progress-step.done { color: var(--clr-success); } /* --- Cart Summary Premium --- */ .cart-summary { background: var(--clr-surface-solid, var(--clr-surface)); border: 1px solid var(--clr-border); border-radius: var(--radius-lg); box-shadow: var(--shadow-md); } /* --- Profile Page Premium --- */ .profile-avatar { background: linear-gradient(135deg, var(--clr-accent), var(--clr-mid)); box-shadow: 0 4px 20px rgba(27, 107, 125, 0.3); } .profile-nav a.active { background: rgba(27, 107, 125, 0.12); color: var(--clr-accent-light, var(--clr-mid)); border-left: 3px solid var(--clr-accent); } /* --- Order Status Premium --- */ .order-status.Kutilmoqda, .order-status[class*="kutilmoqda"] { background: rgba(251, 191, 36, 0.12); color: var(--clr-warning); border: 1px solid rgba(251, 191, 36, 0.2); } .order-status.olib-ketildi, .order-status[class*="Olib"] { background: rgba(52, 211, 153, 0.12); color: var(--clr-success); border: 1px solid rgba(52, 211, 153, 0.2); } .order-status[class*="Bekor"], .order-status.bekor-qilindi { background: rgba(248, 113, 113, 0.12); color: var(--clr-error); border: 1px solid rgba(248, 113, 113, 0.2); } /* --- Footer Premium --- */ footer { background: var(--clr-bg-secondary); border-top: 1px solid var(--clr-border); position: relative; } footer::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, var(--clr-accent), var(--clr-gold, var(--clr-mid)), var(--clr-accent), transparent); opacity: 0.3; } /* --- Selection Color --- */ ::selection { background: rgba(27, 107, 125, 0.3); color: var(--clr-text-primary); } /* --- Scrollbar Premium --- */ ::-webkit-scrollbar-thumb { background: linear-gradient(180deg, var(--clr-accent), var(--clr-mid)); border-radius: var(--radius-full); } ::-webkit-scrollbar-thumb:hover { background: var(--clr-accent-light, var(--clr-mid)); } /* --- Star Rating Premium --- */ .review-star { transition: all var(--transition-fast); cursor: pointer; font-size: 1.4rem; color: var(--clr-gray); } .review-star.active, .review-star:hover { color: var(--clr-warning); filter: drop-shadow(0 0 6px rgba(251, 191, 36, 0.4)); transform: scale(1.15); } /* --- Loading shimmer for images --- */ .product-card-image { position: relative; background: linear-gradient(90deg, var(--clr-bg-secondary) 25%, rgba(27, 107, 125, 0.05) 50%, var(--clr-bg-secondary) 75%); background-size: 200% 100%; } /* --- Smooth Page Transitions --- */ .page-fade-enter { animation: pageEnter 0.4s ease-out; } @keyframes pageEnter { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } /* --- Back To Top Premium --- */ .back-to-top { background: linear-gradient(135deg, var(--clr-accent), var(--clr-mid)); color: #fff; box-shadow: var(--shadow-md), 0 0 20px rgba(27, 107, 125, 0.25); border: 1px solid rgba(255, 255, 255, 0.1); } .back-to-top:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg), 0 0 30px rgba(27, 107, 125, 0.4); } /* --- Light Mode Overrides --- */ [data-theme="light"] .navbar::after { opacity: 0.25; } [data-theme="light"] .hero { background: linear-gradient(160deg, #EBF2F5 0%, #D8E8EE 35%, rgba(27, 107, 125, 0.08) 70%, #F3F6F9 100%); } [data-theme="light"] .hero-title span { background: linear-gradient(135deg, var(--clr-accent), var(--clr-mid)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } [data-theme="light"] .product-card { background: #fff; } [data-theme="light"] .feature-card, [data-theme="light"] .category-card { background: #fff; } [data-theme="light"] .badge-featured { background: linear-gradient(135deg, #B8922F, #D4A847); }