/* ========================================================== CATEGORY BAR – Animated Pill Navigation ========================================================== */ .home-nav { width: 100%; background: rgba(20, 28, 43, 0.6); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border-bottom: 1px solid var(--border-subtle); padding: 0; position: relative; z-index: 1; animation: fadeIn 0.6s ease 0.2s both; } .home-nav__inner { flex: 1; width: 100%; display: flex; justify-content: center; align-items: center; padding: 0.6rem 1rem; } .home-nav__list { width: 100%; display: flex; list-style: none; margin: 0; padding: 0; gap: 0.3rem; justify-content: center; } .home-nav__list li { flex: 0 1 auto; position: relative; } .home-nav__list li a { padding: 0.5rem 1.4rem; background: transparent; color: var(--text-muted); font-weight: 500; font-size: 0.85rem; font-family: var(--font-family); text-decoration: none; cursor: pointer; display: flex; align-items: center; justify-content: center; border-radius: var(--radius-full); transition: all var(--transition-smooth); white-space: nowrap; position: relative; letter-spacing: 0.2px; } /* Animated underline on hover */ .home-nav__list li a::after { content: ""; position: absolute; bottom: 4px; left: 50%; width: 0; height: 2px; background: var(--color-primary); border-radius: var(--radius-full); transition: all var(--transition-smooth); transform: translateX(-50%); } .home-nav__list li a:hover { color: var(--text-invert); background: rgba(255, 255, 255, 0.05); transform: translateY(-1px); } .home-nav__list li a:hover::after { width: 50%; } .home-nav__list li a:active { transform: scale(0.97); } .home-nav__list li a:focus-visible { outline: none; box-shadow: 0 0 0 2px var(--color-primary); } .home-nav__list li a.active { color: var(--color-primary); background: var(--color-primary-soft); font-weight: 600; box-shadow: 0 0 16px rgba(59, 130, 246, 0.1); } .home-nav__list li a.active::after { width: 60%; background: var(--color-primary); } /* ─── Responsive: horizontal scroll on mobile ─── */ @media (max-width: 768px) { .home-nav__inner { justify-content: flex-start; padding: 0.5rem 0.75rem; } .home-nav__list { overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; gap: 0.25rem; flex-wrap: nowrap; justify-content: flex-start; } .home-nav__list::-webkit-scrollbar { display: none; } .home-nav__list li { flex: 0 0 auto; scroll-snap-align: start; } .home-nav__list li a { padding: 0.45rem 1rem; font-size: 0.82rem; } }