/**
 * Mobile / tablet drawer menu — readable white links on dark panel.
 * Loads last to override light theme variable swaps (--wa-white = navy).
 */

@media (max-width: 1024px) {
	/* Hamburger — visible 3 lines when closed (light theme --wa-white is navy) */
	.wa-menu-toggle {
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.wa-menu-toggle .wa-hamburger,
	.wa-menu-toggle .wa-hamburger::before,
	.wa-menu-toggle .wa-hamburger::after {
		background: #ffffff !important;
		opacity: 1 !important;
		visibility: visible !important;
		box-shadow: 0 1px 6px rgba(11, 20, 35, 0.45);
	}

	.wa-menu-toggle:not(.active) .wa-hamburger {
		background: #ffffff !important;
	}

	.wa-menu-toggle:not(.active) .wa-hamburger::before {
		top: -8px;
		transform: none;
	}

	.wa-menu-toggle:not(.active) .wa-hamburger::after {
		top: 8px;
		transform: none;
	}

	.wa-menu-toggle.active .wa-hamburger {
		background: transparent !important;
		box-shadow: none;
	}

	.wa-menu-toggle.active .wa-hamburger::before {
		top: 0;
		transform: rotate(45deg);
	}

	.wa-menu-toggle.active .wa-hamburger::after {
		top: 0;
		transform: rotate(-45deg);
	}

	/* Drawer must stay rendered — parent .wa-header is collapsed, not display:none */
	.wa-front-page .wa-main-navigation.wa-mobile-drawer {
		display: block !important;
		pointer-events: auto !important;
	}

	/* Header above overlay when open — fixes blocked clicks / scroll on drawer */
	body.wa-menu-open .wa-site-header,
	body.wa-theme-light.wa-front-page.wa-menu-open .wa-site-header,
	body.wa-theme-light.wa-front-page.wa-menu-open .wa-site-header.scrolled,
	body.wa-theme-light.wa-inner-page.wa-menu-open .wa-site-header,
	body.wa-theme-light.wa-inner-page.wa-menu-open .wa-site-header.scrolled {
		z-index: 1004 !important;
	}

	body.wa-menu-open .wa-nav-overlay,
	body.wa-menu-open .wa-nav-overlay.is-visible {
		z-index: 1001 !important;
		/* Dim page only — do not cover the drawer panel (overlay was blocking taps/scroll) */
		right: min(340px, 90vw) !important;
		left: 0 !important;
		width: auto !important;
	}

	body.wa-menu-open .wa-main-navigation.wa-mobile-drawer,
	body.wa-menu-open .wa-main-navigation.wa-mobile-drawer.active {
		z-index: 1005 !important;
		pointer-events: auto !important;
		touch-action: pan-y !important;
		overscroll-behavior: contain !important;
		-webkit-overflow-scrolling: touch !important;
		overflow-y: auto !important;
	}

	.wa-front-page .wa-header,
	.wa-front-page .wa-header-inner {
		pointer-events: none !important;
	}

	.wa-main-navigation.wa-mobile-drawer {
		--wa-white: #ffffff;
		--wa-text: #ffffff;
		--wa-text-muted: rgba(255, 255, 255, 0.82);
		--wa-navy: #ffffff;
		--wa-navy-mid: rgba(255, 255, 255, 0.06);
		background: linear-gradient(180deg, #121f33 0%, #0b1423 55%, #0a1220 100%) !important;
		color: #ffffff !important;
	}

	.wa-main-navigation.wa-mobile-drawer .wa-nav-menu {
		position: relative;
		z-index: 1;
	}

	.wa-main-navigation.wa-mobile-drawer .wa-nav-menu > li > a,
	.wa-main-navigation.wa-mobile-drawer .wa-nav-menu .sub-menu a,
	body.wa-theme-light .wa-main-navigation.wa-mobile-drawer .wa-nav-menu > li > a,
	body.wa-theme-light .wa-main-navigation.wa-mobile-drawer .wa-nav-menu .sub-menu a,
	body.wa-theme-light.wa-front-page .wa-main-navigation.wa-mobile-drawer .wa-nav-menu > li > a,
	body.wa-theme-light.wa-front-page .wa-main-navigation.wa-mobile-drawer .wa-nav-menu .sub-menu a {
		color: #ffffff !important;
		text-shadow: none !important;
		-webkit-font-smoothing: antialiased;
		opacity: 1 !important;
		visibility: visible !important;
	}

	.wa-main-navigation.wa-mobile-drawer .wa-nav-menu > li > a,
	body.wa-theme-light .wa-main-navigation.wa-mobile-drawer .wa-nav-menu > li > a,
	body.wa-theme-light.wa-front-page .wa-main-navigation.wa-mobile-drawer .wa-nav-menu > li > a {
		font-size: 15px !important;
		font-weight: 600 !important;
		letter-spacing: 0.05em !important;
		line-height: 1.35 !important;
		text-transform: uppercase !important;
		padding: 15px 14px !important;
		border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
		border-radius: 10px !important;
	}

	.wa-main-navigation.wa-mobile-drawer .wa-nav-menu > li > a:hover,
	.wa-main-navigation.wa-mobile-drawer .wa-nav-menu > li.current-menu-item > a,
	.wa-main-navigation.wa-mobile-drawer .wa-nav-menu > li.current_page_item > a {
		color: #5ec8ed !important;
		background: rgba(94, 200, 237, 0.16) !important;
		box-shadow: inset 3px 0 0 #5ec8ed;
	}

	/* Services sub-menu — hidden until parent is tapped */
	.wa-main-navigation.wa-mobile-drawer .wa-nav-menu .sub-menu {
		position: static !important;
		display: none !important;
		background: rgba(255, 255, 255, 0.06) !important;
		border: none !important;
		border-radius: 10px !important;
		box-shadow: none !important;
		padding: 0 !important;
		margin: 0 !important;
		min-height: 0 !important;
		max-height: 0 !important;
		overflow: hidden !important;
		opacity: 0 !important;
		visibility: hidden !important;
		transform: none !important;
		transition: opacity var(--wa-transition), max-height 0.35s ease !important;
	}

	.wa-main-navigation.wa-mobile-drawer .wa-nav-menu > .menu-item-has-children.is-submenu-open > .sub-menu,
	.wa-main-navigation.wa-mobile-drawer .wa-nav-menu > .has-dropdown.is-submenu-open > .sub-menu {
		display: block !important;
		border: 1px solid rgba(94, 200, 237, 0.18) !important;
		padding: 6px 8px 10px !important;
		margin: 2px 0 12px 8px !important;
		max-height: 480px !important;
		opacity: 1 !important;
		visibility: visible !important;
	}

	.wa-main-navigation.wa-mobile-drawer .wa-nav-menu .sub-menu li {
		min-height: 0;
	}

	.wa-main-navigation.wa-mobile-drawer .wa-nav-menu .sub-menu a,
	body.wa-theme-light .wa-main-navigation.wa-mobile-drawer .wa-nav-menu .sub-menu a,
	body.wa-theme-light.wa-front-page .wa-main-navigation.wa-mobile-drawer .wa-nav-menu .sub-menu a {
		font-size: 14px !important;
		font-weight: 500 !important;
		line-height: 1.45 !important;
		text-transform: none !important;
		letter-spacing: 0.02em !important;
		color: rgba(255, 255, 255, 0.94) !important;
		padding: 11px 12px !important;
		border-radius: 8px !important;
		border-bottom: none !important;
	}

	.wa-main-navigation.wa-mobile-drawer .wa-nav-menu .sub-menu a:hover {
		color: #5ec8ed !important;
		background: rgba(94, 200, 237, 0.12) !important;
	}

	/* Book Now — last item in mobile drawer (after Contact) */
	.wa-main-navigation.wa-mobile-drawer .wa-nav-menu {
		display: flex !important;
		flex-direction: column !important;
	}

	.wa-main-navigation.wa-mobile-drawer .wa-nav-menu > li:has(> a[href*="book-now"]),
	.wa-main-navigation.wa-mobile-drawer .wa-nav-menu > li:has(> a[href*="book_now"]) {
		order: 99 !important;
		margin-top: 12px !important;
	}

	/* Services parent — chevron + tap to expand */
	.wa-main-navigation.wa-mobile-drawer .wa-nav-menu > .menu-item-has-children > a,
	.wa-main-navigation.wa-mobile-drawer .wa-nav-menu > .has-dropdown > a {
		position: relative;
		padding-right: 36px !important;
	}

	.wa-main-navigation.wa-mobile-drawer .wa-nav-menu > .menu-item-has-children > a::after,
	.wa-main-navigation.wa-mobile-drawer .wa-nav-menu > .has-dropdown > a::after {
		content: '\f078';
		font-family: 'Font Awesome 6 Free';
		font-weight: 900;
		position: absolute;
		right: 14px;
		top: 50%;
		transform: translateY(-50%);
		font-size: 11px;
		opacity: 0.75;
		transition: transform var(--wa-transition);
		pointer-events: none;
	}

	.wa-main-navigation.wa-mobile-drawer .wa-nav-menu > .menu-item-has-children.is-submenu-open > a::after,
	.wa-main-navigation.wa-mobile-drawer .wa-nav-menu > .has-dropdown.is-submenu-open > a::after {
		transform: translateY(-50%) rotate(180deg);
	}

	/* Book Now in menu — stand out */
	.wa-main-navigation.wa-mobile-drawer .wa-nav-menu > li:has(> a[href*="book-now"]) > a,
	.wa-main-navigation.wa-mobile-drawer .wa-nav-menu > li:has(> a[href*="book_now"]) > a {
		background: linear-gradient(135deg, #5ec8ed 0%, #2a8ccf 100%) !important;
		color: #0b1423 !important;
		text-align: center;
		border: none !important;
		box-shadow: 0 6px 24px rgba(94, 200, 237, 0.35);
	}

	.wa-main-navigation.wa-mobile-drawer .wa-nav-menu > li:has(> a[href*="book-now"]) > a:hover,
	.wa-main-navigation.wa-mobile-drawer .wa-nav-menu > li:has(> a[href*="book_now"]) > a:hover {
		color: #0b1423 !important;
		transform: translateY(-1px);
	}

	/* Hamburger / close — always visible on dark drawer */
	body.wa-menu-open .wa-menu-toggle .wa-hamburger::before,
	body.wa-menu-open .wa-menu-toggle .wa-hamburger::after,
	body.wa-menu-open .wa-menu-toggle.active .wa-hamburger::before,
	body.wa-menu-open .wa-menu-toggle.active .wa-hamburger::after {
		background: #ffffff !important;
		box-shadow: none !important;
	}

	body.wa-theme-light.wa-menu-open .wa-menu-toggle .wa-hamburger::before,
	body.wa-theme-light.wa-menu-open .wa-menu-toggle .wa-hamburger::after,
	body.wa-theme-light.wa-menu-open .wa-menu-toggle.active .wa-hamburger::before,
	body.wa-theme-light.wa-menu-open .wa-menu-toggle.active .wa-hamburger::after,
	body.wa-theme-light:not(.wa-front-page) .wa-menu-toggle.active .wa-hamburger::before,
	body.wa-theme-light:not(.wa-front-page) .wa-menu-toggle.active .wa-hamburger::after {
		background: #ffffff !important;
	}
}
