/* navigation toggle - hamburger */
.nav-toggle {
    position: absolute;
    top: 10px;
    left: 10px;
    cursor: pointer;
    z-index: 999;
}

.nav-toggle span {
    display: block;
    width: 20px;
    height: 2px;
    background-color: white;
    margin: 4px 0;
}

/* navigation menu */
.nav-menu {
    position: absolute;
    top: 0;
    left: 0;
    width: 250px;
    height: 100%;
    background-color: #333;
    color: white;
    transform: translateX(-250px);
    transition: transform 0.3s ease;
    z-index: 998;
    padding: 20px;
    box-sizing: border-box;
    overflow: hidden;
}

.nav-menu.open {
    transform: translateX(0);
}

.nav-menu ul {
    list-style-type: none;
    padding: 0;
    /* margin: 0; */
    /* display: flex; */
}

.nav-menu li {
    margin-bottom: 10px;
    position: relative;
}

.nav-menu a {
    color: white;
    text-decoration: none;
    text-align: left;
    font-size: 1.2em;
    display: block;
    /* padding: 14px 20px; */
    transition: background-color 0.3s;
}

.nav-menu a:hover {
    background-color: #555;
}

        /* Dropdown styles */
        .dropdown {
            position: relative;
        }

        .dropdown-content {
            position: absolute;
            background-color: #f9f9f9;
            min-width: 160px;
            box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
            z-index: 1;
            top: 100%;
            left: 0;
        }

        .dropdown > a::after {
            content: ' ▶';
            /* font-size: 12px; */
            display: inline-block;
            transition: transform 0.3s ease;
            /* margin-left: 5px; */
        }

        .dropdown:hover > a::after {
            transform: rotate(90deg);
        }

        .dropdown-content a {
            color: black;
            /* padding: 12px 16px; */
            text-decoration: none;
            display: block;
            text-align: left;
        }

        .dropdown-content a:hover {
            background-color: #f1f1f1;
        }

        /* Smooth expand/collapse animation */
        .dropdown-content {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.3s ease, opacity 0.3s ease;
            opacity: 0;
        }

        .dropdown:hover .dropdown-content {
            display: block;
            max-height: 200px;
            opacity: 1;
        }

        /* Mobile responsiveness */
        @media screen and (max-width: 768px) {
            .nav-menu ul {
                flex-direction: column;
            }
            
            .dropdown-content {
                position: static;
                box-shadow: none;
                background-color: #444;
            }
            
            .dropdown-content a {
                color: white;
                padding-left: 30px;
            }
            
            .dropdown.active > a::after {
                transform: rotate(90deg);
            }
            
            .dropdown.active .dropdown-content {
                max-height: 200px;
                opacity: 1;
            }
        }