/* GoodEarth static export: mobile nav, submenus, responsive */

html,
body {
	overflow-x: hidden;
}

body.ge-mobile-menu-open {
	overflow: hidden;
}

img,
video,
iframe {
	max-width: 100%;
	height: auto;
}

.elementor-location-header,
.elementor-widget-nav-menu,
.elementor-widget-nav-menu .elementor-widget-container {
	overflow: visible !important;
}

.elementor-menu-toggle {
	position: relative;
	z-index: 100002;
	cursor: pointer;
	pointer-events: auto;
}

/* Burger dropdown panel only (not nested Verticals/Services sub-menus) */
.elementor-widget-nav-menu nav.elementor-nav-menu--dropdown.elementor-nav-menu__container {
	z-index: 100001;
}

.elementor-nav-menu--dropdown.elementor-nav-menu__container.elementor-nav-menu--dropdown-open,
.elementor-nav-menu--dropdown.elementor-nav-menu__container[aria-hidden="false"] {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
}

.elementor-nav-menu--dropdown.elementor-nav-menu__container:not(.elementor-nav-menu--dropdown-open):not([aria-hidden="false"]) {
	display: none !important;
}

/* Mobile + tablet: full-width menu panel aligned to screen */
@media (max-width: 1024px) {
	.elementor-menu-toggle {
		display: inline-flex !important;
	}

	.elementor-widget-nav-menu nav.elementor-nav-menu--dropdown.elementor-nav-menu__container.elementor-nav-menu--dropdown-open,
	.elementor-widget-nav-menu nav.elementor-nav-menu--dropdown.elementor-nav-menu__container[aria-hidden="false"] {
		position: fixed !important;
		left: 0 !important;
		right: 0 !important;
		width: 100% !important;
		max-width: 100vw !important;
		margin: 0 !important;
		padding: 0 !important;
		transform: none !important;
		inset-inline: 0 !important;
		max-height: min(85vh, calc(100vh - 60px)) !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		background: #fff !important;
		box-shadow: 0 12px 32px rgba(0, 0, 0, 0.15);
	}

	.elementor-nav-menu--dropdown.elementor-nav-menu__container > .elementor-nav-menu {
		width: 100% !important;
	}

	.elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-item,
	.elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-sub-item {
		display: block;
		width: 100%;
		padding: 14px 20px !important;
		white-space: normal !important;
		word-wrap: break-word;
		box-sizing: border-box;
	}

	/* Verticals / Services accordion inside mobile hamburger only */
	.elementor-nav-menu--dropdown.elementor-nav-menu__container .sub-menu.elementor-nav-menu--dropdown {
		position: static !important;
		left: auto !important;
		right: auto !important;
		width: 100% !important;
		max-width: 100% !important;
		display: none !important;
		margin: 0 !important;
		padding: 0 !important;
		transform: none !important;
		box-shadow: none !important;
		background: #f5f7fa !important;
	}

	.elementor-nav-menu--dropdown.elementor-nav-menu__container .menu-item-has-children.ge-mobile-submenu-open > .sub-menu.elementor-nav-menu--dropdown {
		display: block !important;
	}

	.elementor-nav-menu--dropdown.elementor-nav-menu__container .menu-item-has-children > a .sub-arrow {
		float: right;
	}

	.elementor-nav-menu--dropdown.elementor-nav-menu__container .menu-item-has-children.ge-mobile-submenu-open > a .sub-arrow i {
		transform: rotate(180deg);
	}
}

/* Desktop: Verticals / Services flyout aligns to left edge of parent item */
@media (min-width: 1025px) {
	.elementor-nav-menu--main .menu-item-has-children {
		position: relative;
	}

	.elementor-nav-menu--main .menu-item-has-children > .sub-menu,
	.elementor-nav-menu--main .menu-item-has-children > .sub-menu.elementor-nav-menu--dropdown {
		position: absolute !important;
		top: 100% !important;
		left: 0 !important;
		right: auto !important;
		min-width: 260px !important;
		width: max-content !important;
		max-width: min(320px, 90vw) !important;
		white-space: normal !important;
		display: none !important;
		z-index: 10000 !important;
		background: #fff !important;
		box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) !important;
		padding: 8px 0 !important;
		margin: 0 !important;
		border-radius: 4px;
		list-style: none !important;
	}

	.elementor-nav-menu--main .menu-item-has-children:hover > .sub-menu,
	.elementor-nav-menu--main .menu-item-has-children.ge-desktop-submenu-open > .sub-menu,
	.elementor-nav-menu--main .menu-item-has-children > .sub-menu[aria-hidden="false"] {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
	}

	.elementor-nav-menu--main .elementor-sub-item {
		white-space: normal !important;
		padding: 10px 18px !important;
		display: block;
		box-sizing: border-box;
	}

	/* Burger clone stays hidden on desktop; only main nav flyouts show */
	.elementor-widget-nav-menu nav.elementor-nav-menu--dropdown.elementor-nav-menu__container {
		display: none !important;
	}
}
