.layout { min-height: 100vh; display: flex; flex-direction: column; } .header { background-color: var(--primary); color: white; padding: 1rem 0; box-shadow: 0 2px 4px rgba(0,0,0,0.1); } .header-content { display: flex; justify-content: space-between; align-items: center; } .logo { display: flex; align-items: center; gap: 0.5rem; color: white; font-size: 1.5rem; font-weight: bold; text-decoration: none; } .logo:hover { text-decoration: none; } .logo-icon { font-size: 2rem; } .nav { display: flex; gap: 1.5rem; } .nav a { color: white; opacity: 0.9; } .nav a:hover { opacity: 1; text-decoration: none; } .main { flex: 1; padding: 2rem 0; } .footer { background-color: var(--primary-dark); color: white; padding: 1rem 0; text-align: center; opacity: 0.9; font-size: 0.875rem; }