/* ===== Header Styles ===== */ .header { background-color: var(--white); box-shadow: var(--shadow-md); position: sticky; top: 0; z-index: 100; } .header .container { padding: 0 var(--spacing-lg); } .header-content { display: flex; align-items: center; justify-content: space-between; padding: var(--spacing-md) 0; min-height: 70px; } .header-logo { display: flex; align-items: center; gap: var(--spacing-md); font-size: 1.5rem; font-weight: 700; color: var(--primary-dark); text-decoration: none; white-space: nowrap; flex-shrink: 0; } .header-logo:hover { color: var(--primary-blue); } .logo-icon { font-size: 2rem; } .logo-text { background: linear-gradient(135deg, var(--primary-dark), var(--primary-blue)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } .header-nav { display: flex; align-items: center; gap: var(--spacing-lg); flex: 1; margin-left: var(--spacing-xl); } .nav-link { color: var(--dark-gray); font-weight: 500; transition: color 0.3s ease; display: flex; align-items: center; gap: var(--spacing-sm); padding: var(--spacing-sm) var(--spacing-md); border-radius: var(--radius-md); } .nav-link:hover { color: var(--primary-blue); background-color: var(--light-gray); text-decoration: none; } .nav-link.nav-icon { display: flex; align-items: center; gap: var(--spacing-sm); } .nav-divider { width: 1px; height: 24px; background-color: var(--border-gray); } .mobile-menu-btn { display: none; background: none; border: none; cursor: pointer; color: var(--primary-dark); padding: var(--spacing-md); margin-right: -var(--spacing-md); } /* Mobile Responsive */ @media (max-width: 768px) { .mobile-menu-btn { display: flex; align-items: center; justify-content: center; } .header-content { flex-wrap: wrap; min-height: auto; } .header-nav { position: absolute; top: 70px; left: 0; right: 0; background-color: var(--white); flex-direction: column; gap: var(--spacing-md); padding: var(--spacing-lg); box-shadow: var(--shadow-lg); max-height: 0; overflow: hidden; transition: max-height 0.3s ease; margin-left: 0; } .header-nav.open { max-height: 600px; } .nav-link { width: 100%; padding: var(--spacing-md); } .nav-divider { width: 100%; height: 1px; margin: var(--spacing-sm) 0; } }