﻿/* ============================================================
   4.  NAVIGATION
   ============================================================ */

.navbar {
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    height: 60px;
    z-index: 1050;
    max-width: 1163px;
    margin: 0 auto;
}

.navbar-logo {
    height: 30px;
    margin-left: 5px;
}

.nav-item-logged-in {
    font-size: 18px !important;
}

.navbar-nav .nav-link {
    color: #222;
    padding: 0 1rem;
    transition: color 0.2s ease;
}

.logout {
    color: #b90000 !important;
}

    .navbar-nav .nav-link:hover,
    .navbar-nav .nav-link.active {
        color: #3F7652;
    }

    .navbar-nav .nav-link.active {
        font-weight: 700;
    }

.navbar-nav .special-nav {
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 20px;
    padding: 6px 14px !important;
    margin-left: 10px;
    transition: all 0.3s ease;
}

    .navbar-nav .special-nav:hover {
        background: rgba(0, 0, 0, 0.05);
    }
.menu-btn {
    font-size: 22px;
    border: none;
    background: none;
    color: #222;
    padding: 0 10px;
    cursor: pointer;
    display: block; /* Ensure it's always displayed when visible */
}

    .menu-btn:hover {
        color: #3F7652;
    }

    /* Optional: Add focus state for accessibility */
    .menu-btn:focus {
        outline: 2px solid #3F7652;
        outline-offset: 2px;
    }

.menu-panel {
    position: fixed;
    top: 0;
    right: -320px;
    width: 300px;
    height: 100%;
    border-left: 1px solid rgba(0, 0, 0, 0.1);
    transition: right 0.4s ease;
    z-index: 2000;
    padding: 2rem 1.5rem;
    display: flex;
    flex-direction: column;
    background: rgba(239, 239, 239, 0.35);
    backdrop-filter: blur(22px) saturate(180%);
    -webkit-backdrop-filter: blur(22px) saturate(180%);
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-top: none;
    border-bottom: none;
    border-right: none;
    border-radius: var(--bs-border-radius-lg) 0 0 var(--bs-border-radius-lg) !important;
    overflow: hidden;
    box-shadow: 0 10px 40px rgba(65, 68, 65, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.6);
}

    .menu-panel.active {
        right: 0;
    }

    .menu-panel a {
        font-size: 1.2rem;
        margin: 0.8rem 0;
        color: #222;
        text-decoration: none;
        transition: color 0.2s ease;
        font-weight: 600;
    }

        .menu-panel a:hover {
            color: #3F7652;
        }

        .menu-panel a.active {
            color: #3F7652;
            font-weight: 700;
        }

        .menu-panel a i {
            margin-right: 10px;
            color: #3F7652;
        }

    .menu-panel .close-btn {
        align-self: flex-end;
        font-size: 22px;
        border: none;
        background: none;
        margin-bottom: 2rem;
        cursor: pointer;
    }

    .menu-panel .special-mobile {
        margin-top: 1rem;
        padding: 0.8rem 1rem;
        border: 1px solid rgba(0, 0, 0, 0.2);
        border-radius: 14px;
        text-align: center;
    }

        .menu-panel .special-mobile:hover {
            background: rgba(0, 0, 0, 0.05);
        }

body.dark-theme .navbar-nav .nav-link {
    color: #fff;
}

    body.dark-theme .navbar-nav .nav-link:hover {
        color: #3F7652;
    }

body.dark-theme .menu-btn {
    color: #fff;
}

body.dark-theme .menu-btn:hover {
    color: #3F7652;
}

body.dark-theme .menu-panel {
    background: #252525bd;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.2);
}

body.dark-theme .menu-panel a {
    color: #fff;
}

    body.dark-theme .menu-panel a:hover {
        color: #3F7652;
    }

body.dark-theme .menu-panel .close-btn {
    color: #fff;
}