/* Base Dropdown Styles */
.dropdown {
    position: relative;
}

.dropdown-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 15px;
    color: #333;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.3s ease;
}

.dropdown-toggle:hover {
    color: var(--floens-base);
}

/* First-level Submenu */
.submenu {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 200px;
    background: #fff;
    box-shadow: 0 2px 15px rgba(0,0,0,0.1);
    border-radius: 4px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.3s ease;
    z-index: 1000;
    padding: 5px 0;
}

.dropdown:hover > .submenu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.submenu li {
    position: relative;
    list-style: none;
}

.submenu li a {
    display: block;
    padding: 8px 20px;
    color: #333;
    text-decoration: none;
    transition: all 0.3s ease;
    white-space: nowrap;
}

.submenu li a:hover {
    background: #f5f5f5;
    color: var(--floens-base);
}

/* Second-level submenu (on desktop) */
.dropdown-submenu .submenu {
    top: 0;
    left: 100%;
    margin-left: 5px;
}

.dropdown-submenu:hover > .submenu {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}

/* Responsive Dropdown Menu Styles */
@media (max-width: 991px) {
    .dropdown,
    .dropdown-submenu {
        width: 100%;
    }

    .dropdown-toggle {
        width: 100%;
        padding: 12px 0px;
        /* border-bottom: 1px solid #eee; */
        position: relative;
    }

    .submenu {
        position: static;
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        transform: none;
        display: none;
        padding-left: 0;
        width: 100%;
        background: #f9f9f9;
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease-out;
    }

    .dropdown.active > .submenu,
    .dropdown-submenu.active > .submenu {
        display: block;
        max-height: 2000px;
        transition: max-height 0.5s ease-in;
    }

    .dropdown-submenu .submenu {
        padding-left: 15px;
        background: #f5f5f5;
    }

    .submenu li a {
        padding: 12px 15px;
        border-bottom: 1px solid #eee;
    }

    .submenu li:last-child a {
        border-bottom: none;
    }

    /* Arrow Indicators (Mobile) */
    .dropdown-toggle::after {
        content: '';
        position: absolute;
        right: 15px;
        top: 50%;
        transform: translateY(-50%);
        width: 0;
        height: 0;
        border-left: 5px solid transparent;
        border-right: 5px solid transparent;
        border-top: 5px solid #333;
        transition: transform 0.3s ease;
        opacity: 0;
    }

    .dropdown.active > .dropdown-toggle::after {
        transform: translateY(-50%) rotate(180deg);
    }

    .dropdown-toggle i {
        font-size: 12px;
        transition: transform 0.3s ease;
    }

    .dropdown.active > .dropdown-toggle i {
        transform: rotate(180deg);
    }

    .dropdown-submenu.active > .dropdown-toggle i {
        transform: rotate(-90deg);
    }
}

/* Desktop Arrow Animation */
@media (min-width: 992px) {
    .dropdown-toggle i {
        transition: transform 0.3s ease;
        margin-left: 5px;
    }

    .dropdown:hover > .dropdown-toggle i {
        transform: rotate(180deg);
    }

    .dropdown-submenu:hover > .dropdown-toggle i {
        transform: rotate(-90deg);
    }
}
