/* Base Menu Styles */
.nexus-menu-container {
    width: 100%;
}

.nexus-menu-main {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    margin: 0;
    padding: 0;
    align-items: center;
}

.nexus-menu-main > li {
    position: relative;
    margin: 0 15px;
}

.nexus-menu-main > li > a {
    display: inline-block;
    padding: 10px 0;
    text-decoration: none;
    color: inherit;
    transition: color 0.3s;
}

/* Icon Styles */
.nexus-menu-icon {
    margin-right: 5px;
}

/* Submenus (Standard) */
.nexus-menu-main .sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 999;
    background: #fff;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    min-width: 220px;
    padding: 10px 0;
    list-style: none;
    border-radius: 4px;
}

.nexus-menu-main li:hover > .sub-menu {
    display: block;
    animation: nexusFadeIn 0.3s ease;
}

.nexus-menu-main .sub-menu li {
    padding: 5px 20px;
}

.nexus-menu-main .sub-menu a {
    display: block;
    color: #333;
}

/* Mega Menu */
.nexus-menu-main li.nexus-mega-menu-item {
    position: static; /* Dropdown relative to the container if we want full width, but usually relative to item is safer for simple mega menus. */
}

/* If we want full width container */
.elementor-widget-nexus_menu .nexus-menu-container {
    position: relative;
}

/* Mega Menu Container */
.nexus-menu-main li.nexus-mega-menu-item > .nexus-mega-menu-container {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%; /* Relative to closest relative parent. If li is static, it looks for nav? */
    /* If we set li to static, we need the parent UL or Nav to be relative. */
    background: #fff;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    z-index: 998;
    padding: 20px;
}

/* Animation */
@keyframes nexusFadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Admin helper for icons */
.nexus-menu-input-icon {
    margin-right: 5px;
}
