:root {
    --primary-dark-bg: #2e2e2e; /* Dark background for footer */
    --dark-text: #2e2e2e;
    --light-text: #fff;
    /* Using a new variable for the green accent color */
    --accent-green: #5F9F72;
    --accent-green-darker: #4A8C60; /* Added for hover effects */
    --button-enroll: #C6BCBA; /* Updated color for "Enroll Now" */
    --button-free-trial: #946534; /* Updated color for "Free Trial" */

    /* NEW: For modern look */
    --light-bg-body: #f8f9fa; /* Consistent body background */
    --card-bg: #fff; /* Card background */
    --border-light: #e0e0e0; /* A new lighter border/separator color for cards */
    --shadow-light: rgba(0,0,0,0.05); /* Soft shadow for cards */
    --shadow-medium: rgba(0,0,0,0.1); /* Slightly stronger shadow on hover */
    --text-muted: #6c757d; /* Softer text color for descriptions */
}

body {
    font-family: 'Montserrat', sans-serif; /* Default body font */
    margin: 0;
    padding: 0;
    background-color: var(--light-bg-body); /* Using the variable */
    color: var(--dark-text); /* Default body text color */
    padding-top: 70px; /* Add padding to account for fixed navbar */
}

/* Default Navbar Styling for all pages except index */
.navbar:not(.transparent-navbar) {
    background-color: var(--primary-dark-bg) !important;
    position: fixed !important; /* Always fixed */
    width: 100%;
    top: 0;
    z-index: 1030; /* High z-index to stay on top */
    box-shadow: 0 2px 10px rgba(0,0,0,0.3);
    transition: all 0.3s ease;
}

.navbar-brand {
    font-family: 'Special Elite', cursive;
    color: var(--light-text) !important;
    font-size: 1.8rem;
    font-weight: 700;
    transition: color 0.3s ease;
}

.navbar-brand:hover {
    color: var(--accent-green) !important;
}

.navbar-nav .nav-link {
    font-family: 'Special Elite', cursive;
    color: var(--light-text) !important;
    margin-left: 20px;
    font-size: 1.1rem;
    transition: color 0.3s ease;
    font-weight: 500;
}

.navbar-nav .nav-link:hover {
    color: var(--accent-green) !important;
}

.navbar-toggler {
    border-color: rgba(255, 255, 255, 0.3) !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.8%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}

/* Avatar in navbar */
.profile-avatar {
    width: 36px; /* Adjust size as needed */
    height: 36px; /* Adjust size as needed */
    border-radius: 50%;
    background-color: var(--accent-green); /* Example background color */
    color: var(--light-text); /* Text color for initials */
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.9rem; /* Font size for initials */
    font-weight: 600;
    flex-shrink: 0; /* Prevent shrinking in flex container */
    overflow: hidden; /* Ensure content stays within circle */
}

.profile-avatar-text {
    line-height: 1; /* Ensures text is vertically centered */
}

.profile-avatar-icon {
    font-size: 1.2rem; /* Size for the Font Awesome icon */
}

@media (max-width: 350px) {
    .navbar-brand {
        font-size: 1.1rem;
    }
}

@media (max-width: 575.98px) {
    .navbar-brand {
        font-size: 1.2rem; /* Adjusted font size for small screens */
    }
    
    .navbar-nav .nav-link {
        font-size: 1rem;
        margin-left: 0;
        padding: 0.5rem 1rem;
    }
}

@media (max-width: 991.98px) {
    .navbar-collapse {
        background-color: var(--primary-dark-bg);
        margin-top: 10px;
        padding: 10px;
        border-radius: 5px;
    }
}