/* 1. Global Resets & Variables */ * { margin: 0; padding: 0; box-sizing: border-box; } :root { --primary-color: #2563eb; --text-color: #1f2937; --bg-color: #ffffff; --hover-bg: #f3f4f6; --transition: all 0.3s ease; } body { font-family: system-ui, -apple-system, sans-serif; background-color: #f9fafb; } /* 2. Navbar Layout */ .navbar { display: flex; justify-content: space-between; align-items: center; padding: 1rem 2rem; background-color: var(--bg-color); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); position: sticky; top: 0; z-index: 100; } /* 3. Logo Styles */ .nav-logo { font-size: 1.5rem; font-weight: 700; color: var(--primary-color); text-decoration: none; } /* 4. Desktop Menu Items */ .nav-menu { display: flex; align-items: center; gap: 1.5rem; list-style: none; } .nav-link { text-decoration: none; color: var(--text-color); font-weight: 500; font-size: 1rem; padding: 0.5rem 1rem; border-radius: 0.375rem; transition: var(--transition); } .nav-link:hover, .nav-link.active { color: var(--primary-color); background-color: var(--hover-bg); } /* 5. Mobile Layout (Hidden Elements by Default) */ .nav-toggle { display: none; } .hamburger { display: none; flex-direction: column; gap: 5px; cursor: pointer; } .hamburger span { width: 25px; height: 3px; background-color: var(--text-color); border-radius: 2px; transition: var(--transition); } /* 6. Responsive Media Query */ @media (max-width: 768px) { .hamburger { display: flex; } .nav-menu { position: absolute; top: 100%; left: 0; width: 100%; flex-direction: column; background-color: var(--bg-color); padding: 1.5rem; gap: 1rem; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1); /* Hide off-screen by default */ transform: translateY(-150%); opacity: 0; transition: var(--transition); pointer-events: none; } /* Target open state using checkbox selector */ .nav-toggle:checked ~ .nav-menu { transform: translateY(0); opacity: 1; pointer-events: auto; } /* Hamburger Animate to 'X' when active */ .nav-toggle:checked ~ .hamburger span:nth-child(1) { transform: translateY(8px) rotate(45deg); } .nav-toggle:checked ~ .hamburger span:nth-child(2) { opacity: 0; } .nav-toggle:checked ~ .hamburger span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); } }