/**
 * Header nav — burger shell shared below desktop (Figma mobile 4299:25277).
 *
 * Breakpoint: 0–1439px shell; accordion list max-width 767px;
 * column layout in header-nav-columns.css (768–1439px).
 */

@media (max-width: 1439px) {
	/* Instant open/close for the menu panel only (Elementor slide/max-height). */
	.techbbq-header:not(.elementor-sticky__spacer)
		.elementor-nav-menu__container.elementor-nav-menu--dropdown {
		transition: none !important;
		animation: none !important;
		transform: none !important;
	}

	/* Elementor toggle animation uses max-height: var(--menu-height) — use grid height instead. */
	body.techbbq-mobile-menu-open
		.techbbq-header:not(.elementor-sticky__spacer)
		.elementor-menu-toggle.elementor-active
		+ .elementor-nav-menu__container.elementor-nav-menu--dropdown {
		max-height: 100% !important;
	}

	/* Figma 4299:20473 — logo left; Get Tickets + burger grouped on the right (24px gap).
	 * space-between with three children pushes the CTA to the horizontal center. */
	.techbbq-header:not(.elementor-sticky__spacer) {
		justify-content: flex-start !important;
		column-gap: 0;
	}

	.techbbq-header:not(.elementor-sticky__spacer) > .e-con.e-child {
		margin-left: auto;
	}

	/* Burger sits after the CTA; dropdown must not affect bar flow. */
	.techbbq-header:not(.elementor-sticky__spacer) .elementor-widget-nav-menu {
		order: 9;
		position: relative;
		align-self: center;
		flex: 0 0 44px;
		width: 44px;
		margin-left: var(--techbbq-space-3);
	}

	.techbbq-header:not(.elementor-sticky__spacer)
		.elementor-widget-nav-menu
		.elementor-widget-container {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		position: relative;
	}

	/* Closed dropdown stays out of the header row (open panel uses fixed rules below). */
	.techbbq-header:not(.elementor-sticky__spacer)
		.elementor-menu-toggle:not(.elementor-active)
		+ .elementor-nav-menu__container.elementor-nav-menu--dropdown,
	/* Same collapse between toggle flip and JS scroll lock — prevents bar height jump. */
	body:not(.techbbq-mobile-menu-open)
		.techbbq-header:not(.elementor-sticky__spacer)
		.elementor-menu-toggle.elementor-active
		+ .elementor-nav-menu__container.elementor-nav-menu--dropdown {
		position: absolute;
		inset: auto;
		width: 0 !important;
		min-width: 0 !important;
		max-width: 0 !important;
		height: 0 !important;
		min-height: 0 !important;
		max-height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: hidden !important;
		opacity: 0;
		pointer-events: none;
	}

	/* Mobile: horizontal nav hidden; burger dropdown is the menu. */
	.techbbq-header:not(.elementor-sticky__spacer) .elementor-nav-menu--main {
		display: none !important;
	}

	/* Lock page scroll while keeping the scrollbar gutter (avoids horizontal jump). */
	html.techbbq-mobile-menu-open {
		overflow: hidden;
	}

	/* Lenis .lenis-stopped sets overflow: clip — keep the viewport locked instead. */
	html.lenis.lenis-stopped.techbbq-mobile-menu-open {
		overflow: hidden;
	}

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

	/* Block taps on page content behind the menu (including the bottom inset gap). */
	body.techbbq-mobile-menu-open::before {
		content: "";
		position: fixed;
		inset: 0;
		z-index: 109;
	}

	/*
	 * Open menu = expanded header panel (Figma 4299:25277).
	 * Same glass background and corner radius as the closed bar.
	 */
	body.techbbq-mobile-menu-open .techbbq-header:not(.elementor-sticky__spacer) {
		position: fixed !important;
		top: var(--techbbq-mobile-menu-header-top, 0px) !important;
		left: 50% !important;
		display: grid;
		grid-template-columns: auto 1fr auto;
		grid-template-rows: var( --techbbq-mobile-menu-bar-height, auto ) minmax( 0, 1fr );
		grid-template-areas:
			"logo cta toggle"
			"menu menu menu";
		align-content: start;
		align-items: start;
		box-sizing: border-box;
		width: min(
			var(--techbbq-content-max),
			calc(100% - 2 * var(--techbbq-header-inset))
		) !important;
		max-width: var(--techbbq-content-max);
		height: calc(
			100vh - var(--techbbq-mobile-menu-header-top, 0px) - var(--techbbq-space-1)
		);
		max-height: calc(
			100vh - var(--techbbq-mobile-menu-header-top, 0px) - var(--techbbq-space-1)
		);
		padding-bottom: 0 !important;
		border-bottom-left-radius: var(--techbbq-radius-md) !important;
		border-bottom-right-radius: var(--techbbq-radius-md) !important;
		overflow: hidden;
		touch-action: pan-y;
		transform: translateX(-50%);
		z-index: 110;
	}

	body.techbbq-mobile-menu-open .techbbq-header:not(.elementor-sticky__spacer) > .elementor-widget-theme-site-logo {
		grid-area: logo;
		align-self: start;
		margin-top: var( --techbbq-mobile-menu-logo-offset, 0 );
	}

	body.techbbq-mobile-menu-open .techbbq-header:not(.elementor-sticky__spacer) > .e-con.e-child {
		grid-area: cta;
		margin-left: 0;
		justify-self: end;
		align-self: start;
		margin-top: var( --techbbq-mobile-menu-cta-offset, 0 );
	}

	/* Toggle + dropdown participate in the header grid. */
	body.techbbq-mobile-menu-open .techbbq-header:not(.elementor-sticky__spacer) > .elementor-widget-nav-menu {
		display: contents;
	}

	body.techbbq-mobile-menu-open .techbbq-header:not(.elementor-sticky__spacer) .elementor-menu-toggle {
		grid-area: toggle;
		justify-self: end;
		align-self: start;
		margin-top: var( --techbbq-mobile-menu-toggle-offset, 0 );
		margin-left: var(--techbbq-space-3);
	}

	/* 44px tap target for burger / close (Figma ic-burger-44 / ic-close-44). */
	.techbbq-header:not(.elementor-sticky__spacer) .elementor-menu-toggle {
		box-sizing: border-box;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		padding: 0;
		border-radius: var(--techbbq-radius-md);
	}

	/* Figma ic-burger-44 / ic-close-44 — replace Elementor toggle icons. */
	.techbbq-header:not(.elementor-sticky__spacer)
		.elementor-menu-toggle
		.elementor-menu-toggle__icon--open,
	.techbbq-header:not(.elementor-sticky__spacer)
		.elementor-menu-toggle
		.elementor-menu-toggle__icon--close {
		display: none !important;
	}

	.techbbq-header:not(.elementor-sticky__spacer)
		.elementor-menu-toggle:not(.elementor-active)::after {
		content: "";
		display: block;
		flex-shrink: 0;
		width: 44px;
		height: 9px;
		background-color: currentColor;
		-webkit-mask: url("../../images/icon-burger-44.svg") center / contain no-repeat;
		mask: url("../../images/icon-burger-44.svg") center / contain no-repeat;
	}

	.techbbq-header:not(.elementor-sticky__spacer)
		.elementor-menu-toggle.elementor-active::after {
		content: "";
		display: block;
		flex-shrink: 0;
		width: 44px;
		height: 44px;
		background-color: currentColor;
		-webkit-mask: url("../../images/icon-close-44.svg") center / contain no-repeat;
		mask: url("../../images/icon-close-44.svg") center / contain no-repeat;
	}

	/* Menu body — attached to header row, shares header glass (no own background). */
	body.techbbq-mobile-menu-open
		.techbbq-header:not(.elementor-sticky__spacer)
		.elementor-menu-toggle.elementor-active
		+ .elementor-nav-menu__container.elementor-nav-menu--dropdown {
		grid-area: menu;
		align-self: stretch;
		position: static;
		z-index: auto;
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100% !important;
		height: 100% !important;
		max-height: 100% !important;
		min-height: 0;
		margin: 0 !important;
		padding: 0;
		border: 0;
		border-radius: 0;
		background: transparent;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
		overflow-x: hidden;
		overflow-y: scroll;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
		touch-action: pan-y;
		-ms-touch-action: pan-y;
		transform: none !important;
		animation: none !important;
		opacity: 1;
		pointer-events: auto;
	}
}

/* ── Mobile link list (0–767) — accordion columns hidden on tablet ── */
@media (max-width: 767px) {
	.techbbq-header:not(.elementor-sticky__spacer)
		.elementor-nav-menu--dropdown.elementor-nav-menu__container
		> .elementor-nav-menu {
		display: flex;
		flex-direction: column;
		gap: var(--techbbq-space-1);
		width: 100%;
	}

	/* Top-level mobile links */
	.techbbq-header:not(.elementor-sticky__spacer)
		.elementor-nav-menu--dropdown.elementor-nav-menu__container
		> .elementor-nav-menu
		> .menu-item {
		width: 100%;
	}

	.techbbq-header:not(.elementor-sticky__spacer)
		.elementor-nav-menu--dropdown.elementor-nav-menu__container
		> .elementor-nav-menu
		> .menu-item
		> .elementor-item {
		box-sizing: border-box;
		display: flex;
		align-items: center;
		gap: 6px;
		width: 100%;
		min-height: 40px;
		padding: 0;
		border-radius: 0;
		background: transparent;
		color: var(--techbbq-content-secondary);
		font-family: var(--techbbq-font-family-body);
		font-size: var(--techbbq-text-paragraph-xs-size);
		font-weight: 400;
		line-height: 1.2;
		letter-spacing: 0.12em;
		text-transform: uppercase;
		white-space: nowrap;
	}

	.techbbq-header:not(.elementor-sticky__spacer)
		.elementor-nav-menu--dropdown.elementor-nav-menu__container
		> .elementor-nav-menu
		> .menu-item
		> .elementor-item.highlighted,
	.techbbq-header:not(.elementor-sticky__spacer)
		.elementor-nav-menu--dropdown.elementor-nav-menu__container
		> .elementor-nav-menu
		> .menu-item
		> .elementor-item[aria-expanded="true"] {
		color: var(--techbbq-content-primary);
	}

	/* Custom 12px chevron on parent items — ::after from first paint
	 * (menu-item-has-children is server HTML). SmartMenus .sub-arrow is
	 * injected later and must not affect layout. */
	.techbbq-header:not(.elementor-sticky__spacer)
		.elementor-nav-menu--dropdown.elementor-nav-menu__container
		> .elementor-nav-menu
		> .menu-item-has-children
		> .elementor-item::after {
		content: "";
		/* Reset Elementor pointer ::after (absolute, left: 0, opacity: 0). */
		display: inline-flex;
		align-items: center;
		justify-content: center;
		align-self: center;
		position: static;
		inset: auto;
		z-index: auto;
		flex: 0 0 12px;
		flex-shrink: 0;
		width: 12px;
		height: 12px;
		margin-left: auto;
		opacity: 1;
		line-height: 1;
		background-color: currentColor;
		-webkit-mask: url("../../images/icon-chevron-down-12.svg") center / contain no-repeat;
		mask: url("../../images/icon-chevron-down-12.svg") center / contain no-repeat;
		transform: none;
	}

	/* Instant submenu close — override Elementor link / panel transitions. */
	.techbbq-header:not(.elementor-sticky__spacer)
		.elementor-nav-menu--dropdown
		.elementor-nav-menu
		a,
	.techbbq-header:not(.elementor-sticky__spacer)
		.elementor-nav-menu--dropdown
		.elementor-nav-menu
		a::after,
	.techbbq-header:not(.elementor-sticky__spacer)
		.elementor-nav-menu--dropdown
		.sub-menu.elementor-nav-menu--dropdown {
		transition: none !important;
		animation: none !important;
	}

	/* Chevron rotation when submenu opens/closes. */
	.techbbq-header:not(.elementor-sticky__spacer)
		.elementor-nav-menu--dropdown.elementor-nav-menu__container
		> .elementor-nav-menu
		> .menu-item-has-children
		> .elementor-item::after {
		transition: transform 250ms ease !important;
	}

	.techbbq-header:not(.elementor-sticky__spacer)
		.elementor-nav-menu--dropdown.elementor-nav-menu__container
		> .elementor-nav-menu
		> .menu-item-has-children
		> .elementor-item:hover::after,
	.techbbq-header:not(.elementor-sticky__spacer)
		.elementor-nav-menu--dropdown.elementor-nav-menu__container
		> .elementor-nav-menu
		> .menu-item-has-children
		> .elementor-item:focus::after,
	.techbbq-header:not(.elementor-sticky__spacer)
		.elementor-nav-menu--dropdown.elementor-nav-menu__container
		> .elementor-nav-menu
		> .menu-item-has-children
		> .elementor-item:focus-visible::after {
		opacity: 1;
		transform: none;
	}

	.techbbq-header:not(.elementor-sticky__spacer)
		.elementor-nav-menu--dropdown.elementor-nav-menu__container
		> .elementor-nav-menu
		> .menu-item-has-children
		> .elementor-item.highlighted::after,
	.techbbq-header:not(.elementor-sticky__spacer)
		.elementor-nav-menu--dropdown.elementor-nav-menu__container
		> .elementor-nav-menu
		> .menu-item-has-children
		> .elementor-item[aria-expanded="true"]::after {
		opacity: 1;
		transform: rotate(180deg);
	}

	.techbbq-header:not(.elementor-sticky__spacer)
		.elementor-nav-menu--dropdown.elementor-nav-menu__container
		> .elementor-nav-menu
		> .menu-item-has-children
		> .elementor-item
		.sub-arrow {
		display: none !important;
	}

	/* Nested submenu list — only show when SmartMenus expands the parent. */
	.techbbq-header:not(.elementor-sticky__spacer)
		.elementor-nav-menu--dropdown.elementor-nav-menu__container
		.sub-menu.elementor-nav-menu--dropdown[aria-hidden="true"] {
		display: none !important;
	}

	.techbbq-header:not(.elementor-sticky__spacer)
		.elementor-nav-menu--dropdown.elementor-nav-menu__container
		.sub-menu.elementor-nav-menu--dropdown[aria-hidden="false"] {
		position: static;
		display: flex;
		flex-direction: column;
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
		margin: 0;
		padding: 0;
		border: 0;
		border-radius: 0;
		background: transparent;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.techbbq-header:not(.elementor-sticky__spacer)
		.elementor-nav-menu--dropdown.elementor-nav-menu__container
		.sub-menu.elementor-nav-menu--dropdown[aria-hidden="false"]
		> .menu-item
		> .elementor-sub-item,
	.techbbq-header:not(.elementor-sticky__spacer)
		.elementor-nav-menu--dropdown.elementor-nav-menu__container
		.sub-menu.elementor-nav-menu--dropdown[aria-hidden="false"]
		> .menu-item
		> .elementor-item {
		box-sizing: border-box;
		display: flex;
		align-items: center;
		width: 100%;
		min-height: 40px;
		padding: 6px 0 6px var(--techbbq-space-3);
		border-radius: 0;
		background: transparent;
		color: var(--techbbq-content-primary);
		font-family: var(--techbbq-font-family-body);
		font-size: var(--techbbq-text-paragraph-s-size);
		font-weight: 400;
		line-height: 1.4;
		letter-spacing: 0.02em;
		text-transform: none;
		white-space: normal;
	}

	.techbbq-header:not(.elementor-sticky__spacer)
		.elementor-nav-menu--dropdown.elementor-nav-menu__container
		.sub-menu.elementor-nav-menu--dropdown[aria-hidden="false"]
		> .menu-item
		> .elementor-sub-item:hover,
	.techbbq-header:not(.elementor-sticky__spacer)
		.elementor-nav-menu--dropdown.elementor-nav-menu__container
		.sub-menu.elementor-nav-menu--dropdown[aria-hidden="false"]
		> .menu-item
		> .elementor-sub-item:focus,
	.techbbq-header:not(.elementor-sticky__spacer)
		.elementor-nav-menu--dropdown.elementor-nav-menu__container
		.sub-menu.elementor-nav-menu--dropdown[aria-hidden="false"]
		> .menu-item
		> .elementor-sub-item.highlighted,
	.techbbq-header:not(.elementor-sticky__spacer)
		.elementor-nav-menu--dropdown.elementor-nav-menu__container
		.sub-menu.elementor-nav-menu--dropdown[aria-hidden="false"]
		> .menu-item
		> .elementor-sub-item.elementor-item-active {
		background: transparent;
		color: var(--techbbq-content-primary);
	}
}
