/* ========================= NAVBAR STYLING ========================= */ :root { --primary-color: #3b3c7a; --primary-dark: #322e7d; --primary-light: #353d76; --secondary-color: #ec4899; --text-dark: #1f2937; --text-light: #f3f4f6; --border-color: #e5e7eb; } /* Navbar Container */ .navbar-custom { background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-dark) 100%); box-shadow: 0 4px 12px rgba(99, 102, 241, 0.15); padding: 1rem 0; position: sticky; top: 0; z-index: 1000; transition: all 0.3s ease; } .navbar-custom:hover { box-shadow: 0 6px 16px rgba(99, 102, 241, 0.25); } /* Brand/Logo Styling */ .navbar-brand { font-size: 1.6rem; font-weight: 700; color: white !important; display: flex; align-items: center; gap: 0.5rem; transition: all 0.3s ease; text-decoration: none; } .brand-text { background: linear-gradient(135deg, #ffffff 0%, #f0f9ff 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } .brand-icon { font-size: 2rem; display: inline-block; } .navbar-brand:hover { transform: scale(1.05); filter: brightness(1.1); } /* Navigation Links */ .nav-link-custom { color: rgba(255, 255, 255, 0.85) !important; font-weight: 500; font-size: 1rem; padding: 0.5rem 1rem !important; border-radius: 6px; transition: all 0.3s ease; position: relative; text-decoration: none; white-space: nowrap; } .nav-link-custom::after { content: ''; position: absolute; bottom: 0; left: 0; width: 0; height: 2px; background: white; border-radius: 2px; transition: width 0.3s ease; } .nav-link-custom:hover { color: white !important; background: rgba(255, 255, 255, 0.1); transform: translateY(-2px); } .nav-link-custom:hover::after { width: calc(100% - 2rem); } .nav-link-custom.active { color: white !important; background: rgba(255, 255, 255, 0.2); font-weight: 600; } .nav-link-custom.active::after { width: calc(100% - 2rem); background: #fbbf24; } /* Action Buttons */ .btn-signup, .btn-login { border-radius: 20px; padding: 0.5rem 1.2rem !important; font-weight: 600; transition: all 0.3s ease; border: 2px solid transparent; } .btn-signup { background: rgba(255, 255, 255, 0.2); color: white !important; border-color: white; } .btn-signup:hover { background: white; color: var(--primary-color) !important; transform: translateY(-3px); box-shadow: 0 4px 12px rgba(255, 255, 255, 0.3); } .btn-login { background: white; color: var(--primary-color) !important; border-color: white; } .btn-login:hover { background: var(--primary-light); color: white !important; transform: translateY(-3px); box-shadow: 0 6px 16px rgba(129, 140, 248, 0.4); } /* Mobile Responsive */ @media (max-width: 991px) { .navbar-brand { font-size: 1.3rem; } .nav-link-custom { padding: 0.75rem 1rem !important; } .navbar-custom { padding: 0.75rem 0; } .collapse.navbar-collapse { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid rgba(255, 255, 255, 0.1); } } /* Navbar Toggler */ .navbar-toggler { border-color: rgba(255, 255, 255, 0.5) !important; } .navbar-toggler:focus { box-shadow: 0 0 0 0.25rem rgba(255, 255, 255, 0.25) !important; } .navbar-toggler-icon { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.85%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important; } /* ========================= MAIN CONTENT AREA ========================= */ .main-content { min-height: calc(100vh - 70px); padding: 2rem 0; background: linear-gradient(135deg, #f9fafb 0%, #f3f4f6 100%); } .container { max-width: 1200px; } /* ========================= SMOOTH SCROLL & ANIMATIONS ========================= */ html { scroll-behavior: smooth; } body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; color: var(--text-dark); background-color: #f9fafb; } /* Fade in animation */ @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } router-outlet~* { animation: fadeIn 0.5s ease-out; }