.elementor-location-header
.elementor-section.elementor-hidden-tablet.elementor-hidden-mobile {
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 99990 !important;
    background: #ffffff;
    margin-bottom: 5px;
}

@media (min-width: 1025px) {
    body {
        padding-top: 90px;
    }
}

/* Allow dropdowns outside the header */
.elementor-location-header .elementor-container,
.elementor-location-header .elementor-column,
.elementor-location-header .elementor-widget-wrap,
.elementor-nav-menu--main,
.elementor-nav-menu--main .elementor-nav-menu {
    overflow: visible !important;
}

/* Parent menu item */
.elementor-nav-menu--main li.menu-item-has-children {
    position: relative !important;
}

/* Hide dropdown initially */
.elementor-nav-menu--main li.menu-item-has-children > ul.sub-menu {
    display: none !important;
    position: absolute !important;

    top: calc(100% - 1px) !important;
    left: 0 !important;

    width: max-content !important;
    min-width: 280px !important;
    max-width: 420px !important;

    margin: 0 !important;
    padding: 8px 0 !important;

    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
    transition: none !important;

    background: #ffffff !important;
    list-style: none !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.16);

    z-index: 99999 !important;
}

/* Show while hovered, focused or opened by JS */
.elementor-nav-menu--main li.menu-item-has-children:hover > ul.sub-menu,
.elementor-nav-menu--main li.menu-item-has-children:focus-within > ul.sub-menu,
.elementor-nav-menu--main li.menu-item-has-children.dropdown-open > ul.sub-menu,
.elementor-nav-menu--main li.menu-item-has-children > ul.sub-menu:hover {
    display: block !important;
}

/* Nested dropdown — Regulation */
.elementor-nav-menu--main
ul.sub-menu
li.menu-item-has-children
> ul.sub-menu {
    top: 0 !important;
    left: calc(100% - 1px) !important;
}

/* Dropdown items */
.elementor-nav-menu--main ul.sub-menu > li {
    display: block !important;
    position: relative !important;
    width: 100% !important;
}

/* Dropdown links */
.elementor-nav-menu--main ul.sub-menu a {
    display: block !important;
    width: 100% !important;
    padding: 12px 24px !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
}


/* Static mobile popup menu */
.elementor-399.elementor-location-popup {
    display: none;
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100vh;
    overflow-y: auto;
    background: #ffffff;
    z-index: 999999;
}

/* Open state */
.elementor-399.elementor-location-popup.mobile-menu-open {
    display: block !important;
}

/* Prevent page scrolling while menu is open */
body.mobile-menu-is-open {
    overflow: hidden;
}

/* Ensure the menu inside popup is visible */
.elementor-399 .elementor-nav-menu__container {
    display: block !important;
    max-height: none !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Optional close button */
.mobile-menu-close {
    position: absolute;
    top: 18px;
    right: 20px;
    z-index: 10;
    border: 0;
    background: transparent;
    font-size: 36px;
    line-height: 1;
    cursor: pointer;
}
/* Hide submenu by default */
.elementor-399 .menu-item-has-children > .sub-menu {
    display: none !important;
}

/* Show submenu when JS adds dropdown-open */
.elementor-399 .menu-item-has-children.dropdown-open > .sub-menu {
    display: block !important;
    position: static !important;
    width: 100% !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

/* Nested spacing */
.elementor-399 .sub-menu {
    padding-left: 18px !important;
}