/* ================================================ MODERN NAVIGATION - Ecommerce Style ================================================ */ .modern-nav { position: sticky; top: 0; background: white; box-shadow: 0 2px 20px rgba(0, 0, 0, 0.08); z-index: var(--z-sticky); transition: all var(--transition-base); } /* Top Bar (Promo/Announcement) */ .nav-topbar { background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%); color: white; padding: var(--space-xs) 0; font-size: var(--font-size-sm); text-align: center; } .nav-topbar a { color: white; text-decoration: underline; font-weight: 600; } /* Main Navigation */ .nav-main { padding: var(--space-md) 0; } .nav-container { display: flex; align-items: center; justify-content: space-between; gap: var(--space-xl); } /* Logo */ .nav-logo { display: flex; align-items: center; gap: var(--space-sm); font-size: var(--font-size-xl); font-weight: 700; color: var(--text-primary); text-decoration: none; } .nav-logo-image { height: 40px; width: auto; } .nav-logo-text { font-family: var(--font-display); background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } /* Search Bar */ .nav-search { flex: 1; max-width: 600px; position: relative; } .search-input-wrapper { position: relative; } .search-input { width: 100%; padding: var(--space-sm) var(--space-xl) var(--space-sm) var(--space-lg); border: 2px solid var(--border-color); border-radius: var(--radius-full); font-size: var(--font-size-base); transition: all var(--transition-fast); } .search-input:focus { outline: none; border-color: var(--primary); box-shadow: 0 0 0 3px rgba(255, 107, 107, 0.1); } .search-icon { position: absolute; left: var(--space-md); top: 50%; transform: translateY(-50%); color: var(--text-muted); pointer-events: none; } .search-btn { position: absolute; right: 4px; top: 50%; transform: translateY(-50%); padding: var(--space-xs) var(--space-lg); background: var(--primary); color: white; border: none; border-radius: var(--radius-full); cursor: pointer; font-weight: 600; transition: all var(--transition-fast); } .search-btn:hover { background: var(--primary-dark); } /* Nav Actions */ .nav-actions { display: flex; align-items: center; gap: var(--space-md); } .nav-icon-btn { position: relative; display: flex; flex-direction: column; align-items: center; gap: 2px; padding: var(--space-xs); background: transparent; border: none; color: var(--text-primary); cursor: pointer; transition: all var(--transition-fast); border-radius: var(--radius-md); } .nav-icon-btn:hover { background: var(--bg-secondary); color: var(--primary); } .nav-icon-btn i { font-size: 24px; } .nav-icon-label { font-size: var(--font-size-xs); font-weight: 500; } .nav-badge { position: absolute; top: 0; right: 0; min-width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; padding: 0 4px; background: var(--error); color: white; font-size: 10px; font-weight: 700; border-radius: var(--radius-full); border: 2px solid white; } /* Nav Links */ .nav-links-wrapper { border-top: 1px solid var(--border-color); padding: var(--space-sm) 0; } .nav-links { display: flex; align-items: center; justify-content: center; gap: var(--space-xl); list-style: none; } .nav-link { position: relative; padding: var(--space-xs) 0; font-size: var(--font-size-base); font-weight: 500; color: var(--text-primary); text-decoration: none; transition: color var(--transition-fast); } .nav-link::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 2px; background: var(--primary); transform: scaleX(0); transition: transform var(--transition-base); } .nav-link:hover { color: var(--primary); } .nav-link:hover::after, .nav-link.active::after { transform: scaleX(1); } /* Mobile Menu */ .mobile-menu-btn { display: none; padding: var(--space-sm); background: transparent; border: none; color: var(--text-primary); cursor: pointer; font-size: 24px; } .mobile-overlay { display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.5); z-index: var(--z-modal-backdrop); opacity: 0; transition: opacity var(--transition-base); } .mobile-overlay.active { opacity: 1; } .mobile-menu { display: none; position: fixed; top: 0; right: 0; bottom: 0; width: 320px; max-width: 90%; background: white; z-index: var(--z-modal); transform: translateX(100%); transition: transform var(--transition-base); overflow-y: auto; } .mobile-menu.active { transform: translateX(0); } .mobile-menu-header { display: flex; align-items: center; justify-content: space-between; padding: var(--space-lg); border-bottom: 1px solid var(--border-color); } .mobile-menu-title { font-size: var(--font-size-lg); font-weight: 600; } .mobile-close-btn { padding: var(--space-xs); background: transparent; border: none; color: var(--text-primary); cursor: pointer; font-size: 24px; } .mobile-menu-content { padding: var(--space-lg); } .mobile-nav-links { display: flex; flex-direction: column; gap: var(--space-sm); list-style: none; margin-bottom: var(--space-xl); } .mobile-nav-link { padding: var(--space-sm); color: var(--text-primary); text-decoration: none; border-radius: var(--radius-md); transition: all var(--transition-fast); font-weight: 500; } .mobile-nav-link:hover { background: var(--bg-secondary); color: var(--primary); } /* Dropdown Menus */ .nav-dropdown { position: relative; } .dropdown-content { position: absolute; top: 100%; left: 0; min-width: 280px; background: white; border-radius: var(--radius-lg); box-shadow: var(--shadow-xl); padding: var(--space-md); opacity: 0; visibility: hidden; transform: translateY(10px); transition: all var(--transition-base); z-index: var(--z-dropdown); } .nav-dropdown:hover .dropdown-content { opacity: 1; visibility: visible; transform: translateY(0); } .dropdown-items { display: flex; flex-direction: column; gap: var(--space-xs); } .dropdown-item { padding: var(--space-sm) var(--space-md); color: var(--text-primary); text-decoration: none; border-radius: var(--radius-md); transition: all var(--transition-fast); display: flex; align-items: center; gap: var(--space-sm); } .dropdown-item:hover { background: var(--bg-secondary); color: var(--primary); } /* Cart Dropdown */ .cart-dropdown { min-width: 360px; right: 0; left: auto; } .cart-dropdown-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--space-md); padding-bottom: var(--space-sm); border-bottom: 1px solid var(--border-color); } .cart-items { max-height: 300px; overflow-y: auto; margin-bottom: var(--space-md); } .cart-item { display: flex; gap: var(--space-sm); padding: var(--space-sm); border-radius: var(--radius-md); transition: background var(--transition-fast); } .cart-item:hover { background: var(--bg-secondary); } .cart-item-image { width: 60px; height: 60px; object-fit: cover; border-radius: var(--radius-md); } .cart-item-info { flex: 1; } .cart-item-name { font-size: var(--font-size-sm); font-weight: 600; margin-bottom: 2px; } .cart-item-price { font-size: var(--font-size-sm); color: var(--primary); font-weight: 600; } .cart-dropdown-footer { padding-top: var(--space-md); border-top: 1px solid var(--border-color); } .cart-total { display: flex; justify-content: space-between; margin-bottom: var(--space-md); font-weight: 600; } /* Responsive */ @media (max-width: 1024px) { .nav-search { max-width: 400px; } .nav-links-wrapper { display: none; } } @media (max-width: 768px) { .nav-search { display: none; } .nav-icon-label { display: none; } .mobile-menu-btn, .mobile-overlay, .mobile-menu { display: block; } .nav-actions { gap: var(--space-sm); } .nav-icon-btn { padding: var(--space-xs); } }