/* Set your real mobile header height here */
:root {
    --mobile-header-height: 90px; /* change to your actual header height */
}

/* Header always above the menu */
.elementor-location-header,
header {
    position: relative;
    z-index: 100010 !important;
}

/* Nav widget and toggle above overlay */
.elementor-widget-nav-menu {
    position: relative;
    z-index: 100011 !important;
}

.elementor-widget-nav-menu .elementor-menu-toggle {
    position: relative;
    z-index: 100012 !important;
}

/* Fullscreen menu UNDER the header */
.elementor-widget-nav-menu nav.elementor-nav-menu--dropdown.elementor-nav-menu__container {
    position: fixed !important;

    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: calc(100vh - var(--mobile-header-height)) !important;
    max-width: 100vw !important;
    background: #fff !important;
    z-index: 100000 !important;
    margin: 0 !important;
    padding: 24px 32px 32px 18px !important;
    overflow-y: auto !important;
    box-sizing: border-box !important;
}

/* Left aligned menu */
.elementor-widget-nav-menu nav.elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-nav-menu {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    text-align: left !important;
}

.elementor-widget-nav-menu nav.elementor-nav-menu--dropdown.elementor-nav-menu__container .menu-item {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    text-align: left !important;
}

.elementor-widget-nav-menu nav.elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-item {
    display: block !important;
    width: 100% !important;
    padding: 14px 0 !important;
    text-align: left !important;
    font-size: 18px !important;
}

/* Keep only the menu stack controlled */
.elementor-location-header,
header,
.elementor-widget-nav-menu,
.elementor-widget-nav-menu .elementor-menu-toggle {
    position: relative;
}

.elementor-location-header,
header {
    z-index: 100010 !important;
}

.elementor-widget-nav-menu {
    z-index: 100011 !important;
}

.elementor-widget-nav-menu .elementor-menu-toggle {
    z-index: 100012 !important;
}

.elementor-widget-nav-menu nav.elementor-nav-menu--dropdown.elementor-nav-menu__container {
    z-index: 100000 !important;
}

/* Block page scroll when menu is open */
html.elementor-html,
body.elementor-default.elementor-page {
    overflow-x: hidden;
}

body.menu-open-lock,
html.menu-open-lock {
    overflow: hidden !important;
    height: 100% !important;
}


.elementor-widget-nav-menu 
nav.elementor-nav-menu--dropdown 
.elementor-item {
    position: relative;
}

.elementor-widget-nav-menu 
nav.elementor-nav-menu--dropdown 
.elementor-item::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 6px;
    width: 0;
    height: 2px;
    background: currentColor;
    transition: width 0.3s ease;

}

.elementor-widget-nav-menu 
nav.elementor-nav-menu--dropdown 
.elementor-item.elementor-item-active::after,
.elementor-widget-nav-menu 
nav.elementor-nav-menu--dropdown 
.current-menu-item > .elementor-item::after {
    width: 100%;
}

body.woocommerce-checkout .elementor-menu-toggle[aria-expanded="false"] .elementor-menu-toggle__icon--open {
  display: inline-block !important;
}

body.woocommerce-checkout .elementor-menu-toggle[aria-expanded="false"] .elementor-menu-toggle__icon--close {
  display: none !important;
}

body.woocommerce-checkout .elementor-menu-toggle[aria-expanded="true"] .elementor-menu-toggle__icon--open {
  display: none !important;
}

body.woocommerce-checkout .elementor-menu-toggle[aria-expanded="true"] .elementor-menu-toggle__icon--close {
  display: inline-block !important;
}