/* NAZADA Site Enhancements: overlay-to-sticky navigation */

body.nazada-overlay-menu-enabled:not(.et-fb) header.et-l--header {
	position: relative;
	z-index: var(--nazada-overlay-menu-z-index, 99999);
	overflow: visible !important;
}

body.nazada-overlay-menu-enabled:not(.et-fb) header.et-l--header .et_builder_inner_content {
	position: relative;
	overflow: visible !important;
}

/*
 * Remove the menu section from the Theme Builder header flow at every size.
 * This lets the first body section rise behind the menu on desktop and mobile.
 * Divi remains responsible for the section, row, menu colors, spacing, and widths.
 */
body.nazada-overlay-menu-enabled:not(.et-fb) .nazada-overlay-menu-active {
	position: absolute !important;
	top: 100% !important;
	left: 0;
	right: 0;
	width: 100%;
	margin: 0 !important;
	z-index: var(--nazada-overlay-menu-z-index, 99999) !important;
	overflow: visible !important;
}

body.nazada-overlay-menu-enabled:not(.et-fb) .nazada-overlay-menu-active.nazada-is-stuck {
	position: fixed !important;
	top: var(--nazada-overlay-menu-admin-offset, 0px) !important;
	left: 0;
	right: 0;
	width: 100%;
	margin: 0 !important;
	z-index: var(--nazada-overlay-menu-z-index, 99999) !important;
}

/* Prevent Divi containers from clipping the dropdown. */
body.nazada-overlay-menu-enabled.nazada-mobile-dropdown-fix:not(.et-fb) .nazada-overlay-menu-active,
body.nazada-overlay-menu-enabled.nazada-mobile-dropdown-fix:not(.et-fb) .nazada-overlay-menu-active > .et_pb_row,
body.nazada-overlay-menu-enabled.nazada-mobile-dropdown-fix:not(.et-fb) .nazada-overlay-menu-active .et_pb_column,
body.nazada-overlay-menu-enabled.nazada-mobile-dropdown-fix:not(.et-fb) .nazada-overlay-menu-active .et_pb_menu,
body.nazada-overlay-menu-enabled.nazada-mobile-dropdown-fix:not(.et-fb) .nazada-overlay-menu-active .et_pb_menu_inner_container,
body.nazada-overlay-menu-enabled.nazada-mobile-dropdown-fix:not(.et-fb) .nazada-overlay-menu-active .et_pb_menu__wrap,
body.nazada-overlay-menu-enabled.nazada-mobile-dropdown-fix:not(.et-fb) .nazada-overlay-menu-active .et_mobile_nav_menu,
body.nazada-overlay-menu-enabled.nazada-mobile-dropdown-fix:not(.et-fb) .nazada-overlay-menu-active .mobile_nav {
	overflow: visible !important;
}

@media (max-width: 980px) {
	/* Give Divi's mobile navigation wrapper the complete width of the menu module. */
	body.nazada-overlay-menu-enabled.nazada-mobile-dropdown-fix:not(.et-fb) .nazada-overlay-menu-active .et_pb_menu__wrap,
	body.nazada-overlay-menu-enabled.nazada-mobile-dropdown-fix:not(.et-fb) .nazada-overlay-menu-active .et_mobile_nav_menu,
	body.nazada-overlay-menu-enabled.nazada-mobile-dropdown-fix:not(.et-fb) .nazada-overlay-menu-active .mobile_nav {
		width: 100% !important;
		max-width: none !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
	}

	body.nazada-overlay-menu-enabled.nazada-mobile-dropdown-fix:not(.et-fb) .nazada-overlay-menu-active .et_pb_menu__wrap {
		justify-content: center !important;
	}

	body.nazada-overlay-menu-enabled.nazada-mobile-dropdown-fix:not(.et-fb) .nazada-overlay-menu-active .et_mobile_nav_menu,
	body.nazada-overlay-menu-enabled.nazada-mobile-dropdown-fix:not(.et-fb) .nazada-overlay-menu-active .mobile_nav {
		position: relative !important;
		z-index: calc(var(--nazada-overlay-menu-z-index, 99999) + 1) !important;
	}

	/* Keep the hamburger centered without making its dropdown only icon-width. */
	body.nazada-overlay-menu-enabled.nazada-mobile-dropdown-fix:not(.et-fb) .nazada-overlay-menu-active .mobile_menu_bar {
		display: block !important;
		width: 100% !important;
		text-align: center !important;
	}

	body.nazada-overlay-menu-enabled.nazada-mobile-dropdown-fix:not(.et-fb) .nazada-overlay-menu-active .mobile_menu_bar::before {
		position: static !important;
		display: inline-block !important;
	}

	/* Expand the dropdown to the menu row instead of the 32px hamburger wrapper. */
	body.nazada-overlay-menu-enabled.nazada-mobile-dropdown-fix:not(.et-fb) .nazada-overlay-menu-active ul.et_mobile_menu {
		position: absolute !important;
		top: 100% !important;
		left: 0 !important;
		right: 0 !important;
		width: 100% !important;
		min-width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		box-sizing: border-box !important;
		z-index: calc(var(--nazada-overlay-menu-z-index, 99999) + 2) !important;
	}

	body.nazada-overlay-menu-enabled.nazada-mobile-dropdown-fix:not(.et-fb) .nazada-overlay-menu-active ul.et_mobile_menu li,
	body.nazada-overlay-menu-enabled.nazada-mobile-dropdown-fix:not(.et-fb) .nazada-overlay-menu-active ul.et_mobile_menu li a {
		width: 100% !important;
		max-width: none !important;
		box-sizing: border-box !important;
	}

	body.nazada-overlay-menu-enabled.nazada-mobile-dropdown-fix:not(.et-fb) .nazada-overlay-menu-active ul.et_mobile_menu li a {
		display: block !important;
		white-space: normal !important;
		line-height: 1.35 !important;
	}

	/* Accessible mobile submenu accordion controls. */
	body.nazada-overlay-menu-enabled.nazada-mobile-submenus:not(.et-fb) .nazada-overlay-menu-active .et_mobile_menu li.nazada-has-submenu {
		position: relative !important;
	}

	body.nazada-overlay-menu-enabled.nazada-mobile-submenus:not(.et-fb) .nazada-overlay-menu-active .et_mobile_menu li.nazada-has-submenu > a {
		padding-right: 58px !important;
	}

	body.nazada-overlay-menu-enabled.nazada-mobile-submenus:not(.et-fb) .nazada-overlay-menu-active .nazada-submenu-toggle {
		position: absolute;
		top: 0;
		right: 0;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 48px;
		height: 48px;
		margin: 0;
		padding: 0;
		border: 0;
		border-left: 1px solid rgba(0, 0, 0, 0.14);
		border-radius: 0;
		background: transparent;
		color: inherit;
		font: inherit;
		cursor: pointer;
		z-index: 3;
	}

	body.nazada-overlay-menu-enabled.nazada-mobile-submenus:not(.et-fb) .nazada-overlay-menu-active .nazada-submenu-toggle::before {
		content: "+";
		display: block;
		font-size: 28px;
		font-weight: 400;
		line-height: 1;
	}

	body.nazada-overlay-menu-enabled.nazada-mobile-submenus:not(.et-fb) .nazada-overlay-menu-active li.nazada-submenu-open > .nazada-submenu-toggle::before {
		content: "−";
	}

	body.nazada-overlay-menu-enabled.nazada-mobile-submenus:not(.et-fb) .nazada-overlay-menu-active .nazada-submenu-toggle:focus-visible {
		outline: 3px solid currentColor;
		outline-offset: -3px;
	}

	body.nazada-overlay-menu-enabled.nazada-mobile-submenus:not(.et-fb) .nazada-overlay-menu-active .et_mobile_menu li.nazada-has-submenu > ul.sub-menu[hidden] {
		display: none !important;
	}

	body.nazada-overlay-menu-enabled.nazada-mobile-submenus:not(.et-fb) .nazada-overlay-menu-active .et_mobile_menu li.nazada-submenu-open > ul.sub-menu {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
	}
}

/*
 * Optional content offset: preserve Divi's existing top padding, then add the
 * current overlay menu height so the first section's heading/content is clear.
 * The section background still begins immediately below the announcement bar.
 */
body.nazada-overlay-menu-enabled.nazada-first-section-padding-enabled:not(.et-fb) .nazada-overlay-first-section-offset {
	padding-top: calc(
		var(--nazada-first-section-base-padding, 0px) +
		var(--nazada-overlay-menu-content-offset, 0px)
	) !important;
}

/*
 * Explicit suppression wins over any stale cached offset class/variables. This
 * is primarily used by the homepage when its dedicated offset checkbox is off.
 */
body.nazada-overlay-menu-enabled.nazada-first-section-padding-suppressed:not(.et-fb) .nazada-overlay-first-section-offset {
	padding-top: var(--nazada-first-section-base-padding, 0px) !important;
}

/* =========================================================
 * v2.6.8 — Divi mobile/tablet submenu accordion
 * ========================================================= */
@media (max-width: 980px) {
	/*
	 * Hide every child menu before JavaScript runs so the first paint contains
	 * only top-level items. The PHP body class is present in the initial HTML,
	 * which avoids the brief "all submenus open" flash on slower phones/tablets.
	 */
	body.nazada-mobile-submenus:not(.et-fb) header.et-l--header .et_mobile_menu li.menu-item-has-children > ul.sub-menu,
	body.nazada-mobile-submenus:not(.et-fb) header.et-l--header .et_mobile_menu li.page_item_has_children > ul.children,
	body.nazada-mobile-submenus:not(.et-fb) header.et-l--header .et_mobile_menu li.cat-parent > ul.children {
		display: none !important;
	}

	body.nazada-mobile-submenus:not(.et-fb) header.et-l--header .et_mobile_menu li.nazada-submenu-open > ul.sub-menu,
	body.nazada-mobile-submenus:not(.et-fb) header.et-l--header .et_mobile_menu li.nazada-submenu-open > ul.children {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		animation: nazada-mobile-submenu-reveal 180ms ease-out both;
	}

	/* Comfortable tap targets for the primary and nested links. */
	body.nazada-mobile-submenus:not(.et-fb) header.et-l--header .et_mobile_menu li > a {
		min-height: 52px;
		display: flex !important;
		align-items: center;
		box-sizing: border-box;
	}

	body.nazada-mobile-submenus:not(.et-fb) header.et-l--header .et_mobile_menu li.nazada-has-submenu > a {
		padding-right: 64px !important;
	}

	/* Parent link navigates normally; this separate button only opens children. */
	body.nazada-mobile-submenus:not(.et-fb) header.et-l--header .nazada-submenu-toggle {
		position: absolute !important;
		top: 0 !important;
		right: 0 !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 56px !important;
		height: 52px !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		border-left: 1px solid rgba(0, 0, 0, 0.12) !important;
		border-radius: 0 !important;
		background: transparent !important;
		color: inherit !important;
		font: inherit !important;
		cursor: pointer !important;
		z-index: 5 !important;
		-webkit-tap-highlight-color: transparent;
	}

	/* Remove the old plus/minus presentation. */
	body.nazada-mobile-submenus:not(.et-fb) header.et-l--header .nazada-submenu-toggle::before,
	body.nazada-mobile-submenus:not(.et-fb) header.et-l--header li.nazada-submenu-open > .nazada-submenu-toggle::before {
		content: none !important;
		display: none !important;
	}

	/* Chevron points down when closed and up when open. */
	body.nazada-mobile-submenus:not(.et-fb) header.et-l--header .nazada-submenu-toggle__icon {
		display: block;
		width: 10px;
		height: 10px;
		border-right: 2px solid currentColor;
		border-bottom: 2px solid currentColor;
		transform: translateY(-2px) rotate(45deg);
		transform-origin: center;
		transition: transform 160ms ease;
	}

	body.nazada-mobile-submenus:not(.et-fb) header.et-l--header li.nazada-submenu-open > .nazada-submenu-toggle .nazada-submenu-toggle__icon {
		transform: translateY(3px) rotate(225deg);
	}

	body.nazada-mobile-submenus:not(.et-fb) header.et-l--header .nazada-submenu-toggle:hover,
	body.nazada-mobile-submenus:not(.et-fb) header.et-l--header .nazada-submenu-toggle:focus-visible {
		background: rgba(0, 0, 0, 0.045) !important;
	}

	body.nazada-mobile-submenus:not(.et-fb) header.et-l--header .nazada-submenu-toggle:focus-visible {
		outline: 2px solid currentColor !important;
		outline-offset: -4px !important;
	}

	/* Visually nest deeper levels without changing Divi's configured colors. */
	body.nazada-mobile-submenus:not(.et-fb) header.et-l--header .et_mobile_menu ul.sub-menu > li > a,
	body.nazada-mobile-submenus:not(.et-fb) header.et-l--header .et_mobile_menu ul.children > li > a {
		padding-left: 28px !important;
	}

	body.nazada-mobile-submenus:not(.et-fb) header.et-l--header .et_mobile_menu ul.sub-menu ul.sub-menu > li > a,
	body.nazada-mobile-submenus:not(.et-fb) header.et-l--header .et_mobile_menu ul.children ul.children > li > a {
		padding-left: 44px !important;
	}

	/* Long menus remain usable while the header itself stays sticky. */
	body.nazada-overlay-menu-enabled.nazada-mobile-dropdown-fix:not(.et-fb) .nazada-overlay-menu-active ul.et_mobile_menu {
		max-height: calc(100dvh - var(--nazada-overlay-menu-admin-offset, 0px) - 72px) !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
	}
}

@keyframes nazada-mobile-submenu-reveal {
	from {
		opacity: 0;
		transform: translateY(-5px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (prefers-reduced-motion: reduce) {
	body.nazada-mobile-submenus:not(.et-fb) header.et-l--header .et_mobile_menu li.nazada-submenu-open > ul.sub-menu,
	body.nazada-mobile-submenus:not(.et-fb) header.et-l--header .et_mobile_menu li.nazada-submenu-open > ul.children,
	body.nazada-mobile-submenus:not(.et-fb) header.et-l--header .nazada-submenu-toggle__icon {
		animation: none !important;
		transition: none !important;
	}
}

/* =========================================================
 * v2.6.9 — robust Divi mobile/tablet submenu controls
 * ========================================================= */
@media (max-width: 980px) {
	/* A nested UL is a submenu regardless of which parent classes Divi supplies. */
	body.nazada-mobile-submenus:not(.et-fb) header.et-l--header .et_mobile_menu li > ul {
		display: none !important;
		visibility: hidden !important;
		opacity: 0 !important;
	}

	body.nazada-mobile-submenus:not(.et-fb) header.et-l--header .et_mobile_menu li.nazada-submenu-open > ul {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
	}

	/* Use the JS enhancement class as the main styling hook; no Divi parent class required. */
	header.et-l--header .et_mobile_menu.nazada-mobile-menu-enhanced li.nazada-has-submenu {
		position: relative !important;
	}

	header.et-l--header .et_mobile_menu.nazada-mobile-menu-enhanced li.nazada-has-submenu > a {
		position: relative !important;
		z-index: 2 !important;
		padding-right: 68px !important;
		pointer-events: auto !important;
	}

	header.et-l--header .et_mobile_menu.nazada-mobile-menu-enhanced .nazada-submenu-toggle {
		position: absolute !important;
		top: 0 !important;
		right: 0 !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 58px !important;
		height: 52px !important;
		min-width: 58px !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		border-left: 1px solid rgba(0, 0, 0, 0.12) !important;
		border-radius: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		color: #633391 !important;
		font: inherit !important;
		line-height: 1 !important;
		cursor: pointer !important;
		z-index: 6 !important;
		visibility: visible !important;
		opacity: 1 !important;
		pointer-events: auto !important;
		-webkit-appearance: none !important;
		appearance: none !important;
		-webkit-tap-highlight-color: transparent;
	}

	header.et-l--header .et_mobile_menu.nazada-mobile-menu-enhanced .nazada-submenu-toggle::before,
	header.et-l--header .et_mobile_menu.nazada-mobile-menu-enhanced .nazada-submenu-toggle::after {
		content: none !important;
		display: none !important;
	}

	header.et-l--header .et_mobile_menu.nazada-mobile-menu-enhanced .nazada-submenu-toggle__svg {
		display: block !important;
		width: 20px !important;
		height: 20px !important;
		color: currentColor !important;
		transform: rotate(0deg);
		transform-origin: 50% 50%;
		transition: transform 160ms ease;
		pointer-events: none !important;
	}

	header.et-l--header .et_mobile_menu.nazada-mobile-menu-enhanced li.nazada-submenu-open > .nazada-submenu-toggle .nazada-submenu-toggle__svg {
		transform: rotate(180deg);
	}

	header.et-l--header .et_mobile_menu.nazada-mobile-menu-enhanced .nazada-submenu-toggle:hover,
	header.et-l--header .et_mobile_menu.nazada-mobile-menu-enhanced .nazada-submenu-toggle:focus-visible {
		background: rgba(99, 51, 145, 0.08) !important;
	}

	header.et-l--header .et_mobile_menu.nazada-mobile-menu-enhanced .nazada-submenu-toggle:focus-visible {
		outline: 2px solid currentColor !important;
		outline-offset: -4px !important;
	}
}
