﻿/**
 * Ultra Menu (frontend only)
 * Goal: generic selectors + graceful degradation.
 *
 * Note: all changes are gated by the body class `.ultra-menu-enhancer`
 * to avoid affecting unrelated elements.
 */

/* -------------------------------------------------------
 * Baseline: keep specificity low and avoid layout breaks
 * ----------------------------------------------------- */

/* Navbar background: scope to the detected target navbar container (many themes have multiple navbars). */
.ultra-menu-enhancer :where(.ultra-menu-target) {
    position: relative;
    isolation: isolate;
}

/* Keep navbar above page content only when the dropdown layering fix is enabled. */
.ultra-menu-enhancer.um-dropdown-fix .ultra-menu-target {
	z-index: var(--um-submenu-z, 99999) !important;
	position: relative !important;
}

/* Force overflow visibility when the theme clips the navbar background/dropdowns. */
.ultra-menu-enhancer.um-overflow-visible .ultra-menu-target,
.ultra-menu-enhancer.um-overflow-visible .ultra-menu-target-parent {
	overflow: visible !important;
}

@media (min-width: 641px) {
	/* Full-width cover behind the target navbar (helps when the nav is inside a centered container). */
	.ultra-menu-enhancer.um-navbar-bg-on :where(.ultra-menu-target)::before {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		left: 50%;
		transform: translateX(-50%);
		width: 100vw;
		background: var(--me-navbar-bg);
		background-repeat: no-repeat;
		background-size: cover;
		z-index: -1;
		pointer-events: none;
	}

	.ultra-menu-enhancer.um-navbar-bg-match :where(.ultra-menu-target)::before {
		content: none;
	}

	.ultra-menu-enhancer.um-navbar-bg-on :where(
		.ultra-menu-target :where(ul.menu, .menu)
	) {
		background: var(--me-navbar-bg);
		background-repeat: no-repeat;
		background-size: cover;
	}

	.ultra-menu-enhancer.um-navbar-bg-match .ultra-menu-target,
	.ultra-menu-enhancer.um-navbar-bg-match .ultra-menu-target-parent,
	.ultra-menu-enhancer.um-navbar-bg-match .ultra-menu-target-shell {
		background: transparent !important;
	}

	.ultra-menu-enhancer.um-navbar-width :where(.ultra-menu-target)::before {
		content: none;
	}
}

.ultra-menu-enhancer.um-navbar-transparent .ultra-menu-target,
.ultra-menu-enhancer.um-navbar-transparent .ultra-menu-target-parent,
.ultra-menu-enhancer.um-navbar-transparent .ultra-menu-target-shell,
.ultra-menu-enhancer.um-navbar-transparent .ultra-menu-target :where(ul.menu, .menu) {
	background: transparent !important;
}

.ultra-menu-enhancer.um-navbar-transparent :where(.ultra-menu-target)::before {
	content: none !important;
}

@media (min-width: 641px) {
	.ultra-menu-enhancer.um-navbar-width .ultra-menu-target,
	.ultra-menu-enhancer.um-navbar-width .ultra-menu-target-parent,
	.ultra-menu-enhancer.um-navbar-width .ultra-menu-target-shell {
		width: var(--um-navbar-width) !important;
		max-width: 100% !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.ultra-menu-enhancer.um-navbar-width :where(.ultra-menu-target) :where(
		ul.menu:not(.sub-menu):not(.children),
		.menu:not(.sub-menu):not(.children),
		ul:not(.sub-menu):not(.children)
	) {
		width: 100%;
	}
}

/* Dropdown submenu layering fix (desktop) */
@media (min-width: 641px) {
	.ultra-menu-enhancer.um-dropdown-fix .ultra-menu-target li:hover > ul.sub-menu,
	.ultra-menu-enhancer.um-dropdown-fix .ultra-menu-target li:hover > ul.children,
	.ultra-menu-enhancer.um-dropdown-fix .ultra-menu-target li:focus-within > ul.sub-menu,
	.ultra-menu-enhancer.um-dropdown-fix .ultra-menu-target li:focus-within > ul.children {
		z-index: 999999 !important;
		display: block !important;
		visibility: visible !important;
	}
}

/* Dropdown layering fix (mobile): keep submenus above the menu stack without forcing display. */
@media (max-width: 640px) {
	.ultra-menu-enhancer.um-dropdown-fix .ultra-menu-target :where(ul.sub-menu, .sub-menu, ul.children, .children) {
		position: relative;
		z-index: var(--um-submenu-z, 999999) !important;
	}
	.ultra-menu-enhancer.um-dropdown-fix .ultra-menu-target :where(li.menu-item-has-children, li.page_item_has_children) {
		position: relative;
		z-index: var(--um-submenu-z, 999999) !important;
	}
}

/* WooCommerce mini cart drawers should appear above the menu */
.ultra-menu-enhancer :where(
	.wc-block-mini-cart__drawer,
	.wc-block-mini-cart__drawer-content,
	.wc-block-mini-cart__drawer-overlay,
	.wc-block-mini-cart__drawer .components-modal__frame,
	.wc-block-mini-cart__drawer .components-modal__screen-overlay,
	.wc-block-components-drawer,
	.wc-block-components-drawer__screen-overlay,
	.wc-block-components-drawer__content,
	.wc-block-components-drawer__overlay,
	.wc-block-components-drawer__content-container
) {
	z-index: 2147483000 !important;
}

/* Ensure the menu does not sit above WooCommerce drawers */
.ultra-menu-enhancer :where(.ultra-menu-target, .ultra-menu-target-parent, .ultra-menu-target-shell) {
	z-index: 20;
}

/* Some themes create competing stacking contexts; raise the parent item on hover/focus so the submenu can overlay content. */
@media (min-width: 641px) {
	.ultra-menu-enhancer.um-dropdown-fix .ultra-menu-target :where(li.menu-item-has-children, li.page_item_has_children, li:has(> ul.sub-menu), li:has(> ul.children)) {
		position: relative;
	}
	.ultra-menu-enhancer.um-dropdown-fix .ultra-menu-target :where(li.menu-item-has-children, li.page_item_has_children):where(:hover, :focus-within) {
		z-index: var(--um-submenu-z) !important;
	}
}

/* Optional: remove theme borders on dropdown submenus */
.ultra-menu-enhancer.um-dropdown-borderless :where(.ultra-menu-target) :where(
	ul.sub-menu,
	.sub-menu,
	ul.children,
	.children,
	ul.sub-menu li,
	.sub-menu li,
	ul.children li,
	.children li,
	ul.sub-menu a,
	.sub-menu a,
	ul.children a,
	.children a
) {
	border: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
}

/* Extra coverage for themes that draw borders with pseudo-elements or border sides. */
.ultra-menu-enhancer.um-dropdown-borderless :where(.ultra-menu-target) :where(
	ul.sub-menu,
	.sub-menu,
	ul.children,
	.children,
	ul.sub-menu li,
	.sub-menu li,
	ul.children li,
	.children li,
	ul.sub-menu a,
	.sub-menu a,
	ul.children a,
	.children a
)::before,
.ultra-menu-enhancer.um-dropdown-borderless :where(.ultra-menu-target) :where(
	ul.sub-menu,
	.sub-menu,
	ul.children,
	.children,
	ul.sub-menu li,
	.sub-menu li,
	ul.children li,
	.children li,
	ul.sub-menu a,
	.sub-menu a,
	ul.children a,
	.children a
)::after {
	border: 0 !important;
	box-shadow: none !important;
}

.ultra-menu-enhancer.um-dropdown-borderless :where(.ultra-menu-target) :where(ul.sub-menu, .sub-menu, ul.children, .children) {
	border-top: 0 !important;
	border-right: 0 !important;
	border-bottom: 0 !important;
	border-left: 0 !important;
}

.ultra-menu-enhancer.um-dropdown-borderless :where(.ultra-menu-target) :where(ul.sub-menu li, .sub-menu li, ul.children li, .children li) {
	border-top: 0 !important;
	border-right: 0 !important;
	border-bottom: 0 !important;
	border-left: 0 !important;
}

.ultra-menu-enhancer.um-dropdown-borderless :where(.ultra-menu-target) :where(ul.sub-menu a, .sub-menu a, ul.children a, .children a) {
	border-top: 0 !important;
	border-right: 0 !important;
	border-bottom: 0 !important;
	border-left: 0 !important;
}

/* Custom submenu border (overrides theme borders when enabled). */
.ultra-menu-enhancer.um-dropdown-border-custom :where(.ultra-menu-target) :where(ul.sub-menu, .sub-menu, ul.children, .children) {
	border: var(--um-submenu-border-width) solid var(--um-submenu-border-color) !important;
	box-shadow: none !important;
	outline: 0 !important;
}

.ultra-menu-enhancer.um-dropdown-border-custom :where(.ultra-menu-target) :where(ul.sub-menu li, .sub-menu li, ul.children li, .children li) {
	border-top: var(--um-submenu-border-width) solid var(--um-submenu-border-color) !important;
	box-shadow: none !important;
	outline: 0 !important;
}

/* Only apply submenu custom border to submenu links. */
.ultra-menu-enhancer.um-dropdown-border-custom :where(.ultra-menu-target) :where(
	ul.sub-menu li > a,
	.sub-menu li > a,
	ul.children li > a,
	.children li > a
) {
	border: var(--um-submenu-border-width) solid var(--um-submenu-border-color) !important;
	box-sizing: border-box;
	box-shadow: none !important;
	outline: 0 !important;
}

/* Remove theme pseudo-element borders when custom borders are enabled. */
.ultra-menu-enhancer.um-dropdown-border-custom :where(.ultra-menu-target) :where(
	ul.menu > li,
	.menu > li,
	.menu-item,
	ul.menu > li > a,
	.menu > li > a,
	.menu-item > a,
	ul.sub-menu,
	.sub-menu,
	ul.children,
	.children,
	ul.sub-menu li,
	.sub-menu li,
	ul.children li,
	.children li,
	ul.sub-menu a,
	.sub-menu a,
	ul.children a,
	.children a
)::before,
.ultra-menu-enhancer.um-dropdown-border-custom :where(.ultra-menu-target) :where(
	ul.menu > li,
	.menu > li,
	.menu-item,
	ul.menu > li > a,
	.menu > li > a,
	.menu-item > a,
	ul.sub-menu,
	.sub-menu,
	ul.children,
	.children,
	ul.sub-menu li,
	.sub-menu li,
	ul.children li,
	.children li,
	ul.sub-menu a,
	.sub-menu a,
	ul.children a,
	.children a
)::after {
	border: 0 !important;
	box-shadow: none !important;
}

/* Custom border for top-level menu buttons (separate toggle). */
.ultra-menu-enhancer.um-top-menu-border-custom :where(.ultra-menu-target) :where(
	ul.menu > li > a,
	.menu > li > a,
	.menu-item > a
) {
	border: var(--um-top-border-width) solid var(--um-top-border-color) !important;
	box-sizing: border-box;
	box-shadow: none !important;
	outline: 0 !important;
}

/* Optional border around the whole navbar container. */
.ultra-menu-enhancer.um-top-menu-border-custom :where(.ultra-menu-target, .ultra-menu-target-parent, .ultra-menu-target-shell) {
	border: var(--um-top-border-width) solid var(--um-top-border-color) !important;
	box-shadow: none !important;
}

/* Nuclear reset for top-level menu items when gradients are active. */
.ultra-menu-enhancer.um-gradients :where(.ultra-menu-target) ul:not(.sub-menu):not(.children),
.ultra-menu-enhancer.um-gradients :where(.ultra-menu-target) li {
	border: 0 !important;
	box-shadow: none !important;
	background-color: transparent !important;
	margin: 0 !important;
}

.ultra-menu-enhancer.um-gradients :where(.ultra-menu-target) :where(
	ul:not(.sub-menu):not(.children) > li:not(.menu-item-has-children):not(.page_item_has_children)
)::before,
.ultra-menu-enhancer.um-gradients :where(.ultra-menu-target) :where(
	ul:not(.sub-menu):not(.children) > li:not(.menu-item-has-children):not(.page_item_has_children)
)::after {
	display: none !important;
	content: none !important;
}

/* Clear theme arrow background blocks. */
.ultra-menu-enhancer.um-gradients :where(.ultra-menu-target) :where(.menu-item-has-children > a span, .menu-item-has-children > a i) {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

/* Ensure submenu arrows and theme arrow buttons are also cleared. */
.ultra-menu-enhancer.um-gradients :where(.ultra-menu-target) :where(.sub-menu, .children) :where(.menu-item-has-children > a span, .menu-item-has-children > a i),
.ultra-menu-enhancer.um-gradients :where(.ultra-menu-target) :where(button.main-navigation-arrow-btn, button.menu-toggle, button.sub-menu-toggle) {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

/* Extra safety: when gradients/layout rules are active, force dropdowns above page content. */
@media (min-width: 641px) {
	.ultra-menu-enhancer.um-dropdown-fix.um-gradients :where(.ultra-menu-target) :where(ul.sub-menu, .sub-menu, ul.children, .children) {
		z-index: var(--um-submenu-z) !important;
	}
}

/* Navbar height: keep safe by applying min-height to links (no forced flex on ul/li). */
.ultra-menu-enhancer.um-navbar-height :where(.ultra-menu-target) :where(ul.menu > li > a, .menu > li > a, .menu-item > a) {
	min-height: var(--um-navbar-height) !important;
	height: var(--um-navbar-height) !important;
	display: flex;
	align-items: center;
	line-height: 1 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.ultra-menu-enhancer.um-navbar-height :where(.ultra-menu-target) :where(ul.menu > li, .menu > li, .menu-item) {
	height: var(--um-navbar-height) !important;
}

/* Match the wrapper height so the theme background does not peek through. */
.ultra-menu-enhancer.um-navbar-height .ultra-menu-target-parent {
	height: var(--um-navbar-height) !important;
	display: flex !important;
	align-items: stretch !important;
}

.ultra-menu-enhancer.um-navbar-height .ultra-menu-target {
	height: 100% !important;
}

@media (min-width: 641px) {
	/* If navbar background is enabled, also paint the wrapper to avoid gaps. */
	.ultra-menu-enhancer.um-navbar-bg-on .ultra-menu-target-parent {
		background: var(--me-navbar-bg);
		background-repeat: no-repeat;
		background-size: cover;
	}

	/* Ensure the target itself also paints the background in case the wrapper is transparent. */
	.ultra-menu-enhancer.um-navbar-bg-on .ultra-menu-target {
		background: var(--me-navbar-bg);
		background-repeat: no-repeat;
		background-size: cover;
	}

	/* Theme-specific wrapper: remove vertical gaps in primary navbar wraps. */
	.ultra-menu-enhancer.um-navbar-bg-on .ultra-menu-target-shell .u-wrapper,
	.ultra-menu-enhancer.um-navbar-bg-on .ultra-menu-target-shell.u-wrapper,
	.ultra-menu-enhancer.um-navbar-bg-on .ultra-menu-target-shell .u-wrapper.primary-navbar-wrap,
	.ultra-menu-enhancer.um-navbar-bg-on .ultra-menu-target-shell.primary-navbar-wrap {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}

	/* Ensure the theme's primary navbar container is also painted. */
	.ultra-menu-enhancer.um-navbar-bg-on .ultra-menu-target-shell {
		background: var(--me-navbar-bg);
		background-repeat: no-repeat;
		background-size: cover;
	}

	/* Remove residual borders/shadows that can look like a dark strip. */
	.ultra-menu-enhancer.um-navbar-bg-on .ultra-menu-target-shell,
	.ultra-menu-enhancer.um-navbar-bg-on .ultra-menu-target-shell .u-wrapper,
	.ultra-menu-enhancer.um-navbar-bg-on .ultra-menu-target-shell.u-wrapper,
	.ultra-menu-enhancer.um-navbar-bg-on .ultra-menu-target-shell.primary-navbar-wrap {
		border: 0 !important;
		box-shadow: none !important;
	}
}

/* When navbar height is enabled, make top-level menus stretch cleanly within the bar. */
@media (min-width: 641px) {
	.ultra-menu-enhancer.um-navbar-height :where(.ultra-menu-target) :where(
		ul.menu:not(.sub-menu):not(.children),
		.menu:not(.sub-menu):not(.children),
		ul:not(.sub-menu):not(.children)
	) {
		margin: 0 !important;
		padding: 0 !important;
		display: flex !important;
		align-items: stretch !important;
		gap: 0 !important;
	}

	.ultra-menu-enhancer.um-navbar-height :where(.ultra-menu-target) :where(
		ul.menu:not(.sub-menu):not(.children) > li,
		.menu:not(.sub-menu):not(.children) > li,
		ul:not(.sub-menu):not(.children) > li
	) {
		height: var(--um-navbar-height) !important;
		display: flex !important;
		align-items: stretch !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.ultra-menu-enhancer.um-navbar-height :where(.ultra-menu-target) :where(
		ul.menu:not(.sub-menu):not(.children) > li > a,
		.menu:not(.sub-menu):not(.children) > li > a,
		ul:not(.sub-menu):not(.children) > li > a
	) {
		height: 100% !important;
		width: 100% !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
	}

}

.ultra-menu-enhancer .ultra-menu-target :where(ul.menu, .menu, ul.menu > li, .menu > li, .menu-item) {
	/* Ensure separators can position safely without changing layout models. */
	position: relative;
}

/* 1. Base link styles */
.ultra-menu-enhancer .ultra-menu-target li a {
	font-size: var(--um-link-font-size) !important;
	transition: color 180ms ease, background-image 220ms ease, background-size 220ms ease, opacity 180ms ease;
	text-decoration: none;
	position: relative;
	z-index: 1;
	padding-top: var(--um-link-py, 0px) !important;
	padding-bottom: var(--um-link-py, 0px) !important;
	text-align: center !important;
}

@media (min-width: 641px) {
	/* 2. Force link color (independent) */
	.ultra-menu-enhancer.um-link-color .ultra-menu-target li a {
		color: var(--me-link-color) !important;
	}

	/* 3. Force hover color (independent of underline effects) */
	.ultra-menu-enhancer.um-link-hover-color .ultra-menu-target li a:hover,
	.ultra-menu-enhancer.um-link-hover-color .ultra-menu-target li:hover > a {
		color: var(--me-link-hover-color) !important;
	}

	/* 4. Active/current menu item color */
	.ultra-menu-enhancer.um-link-active-color .ultra-menu-target :where(
		li.current-menu-item > a,
		li.current_page_item > a,
		li.current-menu-ancestor > a,
		li.current_page_ancestor > a,
		li.current-menu-parent > a,
		li.current_page_parent > a
	) {
		color: var(--me-link-active-color) !important;
	}
}

@media (max-width: 640px) {
	.ultra-menu-enhancer.um-mobile-navbar-bg .ultra-menu-target,
	.ultra-menu-enhancer.um-mobile-navbar-bg .ultra-menu-target-parent,
	.ultra-menu-enhancer.um-mobile-navbar-bg .ultra-menu-target-shell,
	.ultra-menu-enhancer.um-mobile-navbar-bg .ultra-menu-target :where(ul.menu, .menu) {
		background: var(--um-mobile-navbar-bg);
		background-repeat: no-repeat;
		background-size: cover;
	}

	.ultra-menu-enhancer.um-mobile-link-color .ultra-menu-target li a {
		color: var(--um-mobile-link-color) !important;
	}

	.ultra-menu-enhancer.um-mobile-link-hover .ultra-menu-target li a:hover,
	.ultra-menu-enhancer.um-mobile-link-hover .ultra-menu-target li:hover > a {
		color: var(--um-mobile-link-hover-color) !important;
	}

	.ultra-menu-enhancer.um-mobile-link-active .ultra-menu-target :where(
		li.current-menu-item > a,
		li.current_page_item > a,
		li.current-menu-ancestor > a,
		li.current_page_ancestor > a,
		li.current-menu-parent > a,
		li.current_page_parent > a
	) {
		color: var(--um-mobile-link-active-color) !important;
	}
}

/* Optional underline animation (no layout shift) */
.ultra-menu-enhancer.um-hover-effects .ultra-menu-target ul.menu > li > a::after,
.ultra-menu-enhancer.um-hover-effects .ultra-menu-target .menu > li > a::after,
.ultra-menu-enhancer.um-hover-effects .ultra-menu-target .menu-item > a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0.1em;
	height: 2px;
	background: currentColor;
	opacity: 0;
	transform: scaleX(0.7);
	transform-origin: center;
	transition: transform 200ms ease, opacity 200ms ease;
	pointer-events: none;
}

.ultra-menu-enhancer.um-hover-effects .ultra-menu-target ul.menu > li > a:hover::after,
.ultra-menu-enhancer.um-hover-effects .ultra-menu-target .menu > li > a:hover::after,
.ultra-menu-enhancer.um-hover-effects .ultra-menu-target .menu-item > a:hover::after,
.ultra-menu-enhancer.um-hover-effects .ultra-menu-target ul.menu > li > a:focus-visible::after,
.ultra-menu-enhancer.um-hover-effects .ultra-menu-target .menu > li > a:focus-visible::after,
.ultra-menu-enhancer.um-hover-effects .ultra-menu-target .menu-item > a:focus-visible::after {
	opacity: 0.9;
	transform: scaleX(1);
}

/* Gradient background for links/buttons (only if vars exist) */
.ultra-menu-enhancer.um-gradients :where(.ultra-menu-target) :where(
	ul.menu:not(.sub-menu):not(.children) > li > a,
	.menu:not(.sub-menu):not(.children) > li > a,
	ul:not(.sub-menu):not(.children) > li > a
) {
    /* Use background shorthand to beat theme hover/background shorthands. */
    background: var(--me-link-bg);
}

.ultra-menu-enhancer.um-gradients .ultra-menu-target ul.menu:not(.sub-menu):not(.children) > li > a,
.ultra-menu-enhancer.um-gradients .ultra-menu-target .menu:not(.sub-menu):not(.children) > li > a,
.ultra-menu-enhancer.um-gradients .ultra-menu-target ul:not(.sub-menu):not(.children) > li > a {
    /* Many themes override link backgrounds with higher specificity; var() stays ignored if unset. */
    background: var(--me-link-bg) !important;
}

/* Full-height buttons (desktop): remove list padding and use flex stretch so background fills the bar. */
@media (min-width: 641px) {
	.ultra-menu-enhancer.um-gradients :where(.ultra-menu-target) :where(
		nav > ul.menu,
		nav > .menu,
		nav .menu > ul.menu,
		.main-navigation > ul.menu,
		.primary-navigation > ul.menu,
		.primary-navbar > ul.menu,
		#site-navigation > ul.menu
	) {
		margin: 0;
		padding: 0;
		display: flex;
		align-items: stretch;
		gap: 0;
		column-gap: 0;
		row-gap: 0;
	}

	/* Fallback for themes without `ul.menu` on the main nav: target only top-level (not .sub-menu). */
	.ultra-menu-enhancer.um-gradients :where(.ultra-menu-target) ul:not(.sub-menu):not(.children) {
		margin: 0;
		padding: 0;
		display: flex;
		align-items: stretch;
		gap: 0;
		column-gap: 0;
		row-gap: 0;
	}

	.ultra-menu-enhancer.um-gradients :where(.ultra-menu-target) :where(
		nav > ul.menu > li,
		nav > .menu > li,
		nav .menu > ul.menu > li,
		.main-navigation > ul.menu > li,
		.primary-navigation > ul.menu > li,
		.primary-navbar > ul.menu > li,
		#site-navigation > ul.menu > li
	) {
		display: flex;
		align-items: stretch;
		margin: 0;
		padding: 0;
	}

	.ultra-menu-enhancer.um-gradients :where(.ultra-menu-target) ul:not(.sub-menu):not(.children) > li {
		display: flex;
		align-items: stretch;
		margin: 0;
		padding: 0;
	}

	.ultra-menu-enhancer.um-gradients :where(.ultra-menu-target) :where(
		nav > ul.menu > li > a,
		nav > .menu > li > a,
		nav .menu > ul.menu > li > a,
		.main-navigation > ul.menu > li > a,
		.primary-navigation > ul.menu > li > a,
		.primary-navbar > ul.menu > li > a,
		#site-navigation > ul.menu > li > a
	) {
		display: flex;
		align-items: center;
		height: 100%;
		width: 100%;
		margin: 0;
	}

	.ultra-menu-enhancer.um-gradients :where(.ultra-menu-target) ul:not(.sub-menu):not(.children) > li > a {
		display: flex;
		align-items: center;
		height: 100%;
		width: 100%;
		margin: 0;
	}
}

.ultra-menu-enhancer.um-gradients :where(.ultra-menu-target) :where(
	ul.menu:not(.sub-menu):not(.children) > li > a,
	.menu:not(.sub-menu):not(.children) > li > a,
	ul:not(.sub-menu):not(.children) > li > a
):where(:hover, :focus-visible) {
	background: var(--me-link-bg-hover) !important;
}

/* Higher-specificity hover gradient override (some themes ship !important hover backgrounds). */
.ultra-menu-enhancer.um-gradients .ultra-menu-target ul.menu:not(.sub-menu):not(.children) > li > a:hover,
.ultra-menu-enhancer.um-gradients .ultra-menu-target .menu:not(.sub-menu):not(.children) > li > a:hover,
.ultra-menu-enhancer.um-gradients .ultra-menu-target ul:not(.sub-menu):not(.children) > li > a:hover,
.ultra-menu-enhancer.um-gradients .ultra-menu-target ul.menu:not(.sub-menu):not(.children) > li:hover > a,
.ultra-menu-enhancer.um-gradients .ultra-menu-target .menu:not(.sub-menu):not(.children) > li:hover > a,
.ultra-menu-enhancer.um-gradients .ultra-menu-target ul:not(.sub-menu):not(.children) > li:hover > a,
.ultra-menu-enhancer.um-gradients .ultra-menu-target ul.menu:not(.sub-menu):not(.children) > li > a:focus-visible,
.ultra-menu-enhancer.um-gradients .ultra-menu-target .menu:not(.sub-menu):not(.children) > li > a:focus-visible,
.ultra-menu-enhancer.um-gradients .ultra-menu-target ul:not(.sub-menu):not(.children) > li > a:focus-visible {
	background: var(--me-link-bg-hover) !important;
}

.ultra-menu-enhancer.um-gradients.um-btn-agradient :where(.ultra-menu-target) :where(
	ul.menu:not(.sub-menu):not(.children) > li.current-menu-item > a,
	ul.menu:not(.sub-menu):not(.children) > li.current_page_item > a,
	ul.menu:not(.sub-menu):not(.children) > li.current-menu-ancestor > a,
	ul.menu:not(.sub-menu):not(.children) > li.current_page_ancestor > a,
	ul.menu:not(.sub-menu):not(.children) > li.current-menu-parent > a,
	ul.menu:not(.sub-menu):not(.children) > li.current_page_parent > a,
	.menu:not(.sub-menu):not(.children) > li.current-menu-item > a,
	.menu:not(.sub-menu):not(.children) > li.current_page_item > a,
	.menu:not(.sub-menu):not(.children) > li.current-menu-ancestor > a,
	.menu:not(.sub-menu):not(.children) > li.current_page_ancestor > a,
	.menu:not(.sub-menu):not(.children) > li.current-menu-parent > a,
	.menu:not(.sub-menu):not(.children) > li.current_page_parent > a,
	ul:not(.sub-menu):not(.children) > li.current-menu-item > a,
	ul:not(.sub-menu):not(.children) > li.current_page_item > a,
	ul:not(.sub-menu):not(.children) > li.current-menu-ancestor > a,
	ul:not(.sub-menu):not(.children) > li.current_page_ancestor > a,
	ul:not(.sub-menu):not(.children) > li.current-menu-parent > a,
	ul:not(.sub-menu):not(.children) > li.current_page_parent > a
) {
	background: var(--me-link-bg-active) !important;
}

/* Higher-specificity active gradient override (for themes with strong active selectors). */
.ultra-menu-enhancer.um-gradients.um-btn-agradient .ultra-menu-target ul.menu:not(.sub-menu):not(.children) > li.current-menu-item > a,
.ultra-menu-enhancer.um-gradients.um-btn-agradient .ultra-menu-target ul.menu:not(.sub-menu):not(.children) > li.current_page_item > a,
.ultra-menu-enhancer.um-gradients.um-btn-agradient .ultra-menu-target ul.menu:not(.sub-menu):not(.children) > li.current-menu-ancestor > a,
.ultra-menu-enhancer.um-gradients.um-btn-agradient .ultra-menu-target ul.menu:not(.sub-menu):not(.children) > li.current_page_ancestor > a,
.ultra-menu-enhancer.um-gradients.um-btn-agradient .ultra-menu-target ul.menu:not(.sub-menu):not(.children) > li.current-menu-parent > a,
.ultra-menu-enhancer.um-gradients.um-btn-agradient .ultra-menu-target ul.menu:not(.sub-menu):not(.children) > li.current_page_parent > a,
.ultra-menu-enhancer.um-gradients.um-btn-agradient .ultra-menu-target .menu:not(.sub-menu):not(.children) > li.current-menu-item > a,
.ultra-menu-enhancer.um-gradients.um-btn-agradient .ultra-menu-target .menu:not(.sub-menu):not(.children) > li.current_page_item > a,
.ultra-menu-enhancer.um-gradients.um-btn-agradient .ultra-menu-target .menu:not(.sub-menu):not(.children) > li.current-menu-ancestor > a,
.ultra-menu-enhancer.um-gradients.um-btn-agradient .ultra-menu-target .menu:not(.sub-menu):not(.children) > li.current_page_ancestor > a,
.ultra-menu-enhancer.um-gradients.um-btn-agradient .ultra-menu-target .menu:not(.sub-menu):not(.children) > li.current-menu-parent > a,
.ultra-menu-enhancer.um-gradients.um-btn-agradient .ultra-menu-target .menu:not(.sub-menu):not(.children) > li.current_page_parent > a,
.ultra-menu-enhancer.um-gradients.um-btn-agradient .ultra-menu-target ul:not(.sub-menu):not(.children) > li.current-menu-item > a,
.ultra-menu-enhancer.um-gradients.um-btn-agradient .ultra-menu-target ul:not(.sub-menu):not(.children) > li.current_page_item > a,
.ultra-menu-enhancer.um-gradients.um-btn-agradient .ultra-menu-target ul:not(.sub-menu):not(.children) > li.current-menu-ancestor > a,
.ultra-menu-enhancer.um-gradients.um-btn-agradient .ultra-menu-target ul:not(.sub-menu):not(.children) > li.current_page_ancestor > a,
.ultra-menu-enhancer.um-gradients.um-btn-agradient .ultra-menu-target ul:not(.sub-menu):not(.children) > li.current-menu-parent > a,
.ultra-menu-enhancer.um-gradients.um-btn-agradient .ultra-menu-target ul:not(.sub-menu):not(.children) > li.current_page_parent > a {
	background: var(--me-link-bg-active) !important;
}

@media (max-width: 640px) {
	/* Desktop gradients should not affect mobile unless mobile overrides are enabled. */
	.ultra-menu-enhancer.um-gradients :where(.ultra-menu-target) :where(
		ul.menu:not(.sub-menu):not(.children) > li > a,
		.menu:not(.sub-menu):not(.children) > li > a,
		ul:not(.sub-menu):not(.children) > li > a
	) {
		background: transparent !important;
	}

	.ultra-menu-enhancer.um-gradients .ultra-menu-target ul.menu:not(.sub-menu):not(.children) > li > a:hover,
	.ultra-menu-enhancer.um-gradients .ultra-menu-target .menu:not(.sub-menu):not(.children) > li > a:hover,
	.ultra-menu-enhancer.um-gradients .ultra-menu-target ul:not(.sub-menu):not(.children) > li > a:hover,
	.ultra-menu-enhancer.um-gradients .ultra-menu-target ul.menu:not(.sub-menu):not(.children) > li > a:focus-visible,
	.ultra-menu-enhancer.um-gradients .ultra-menu-target .menu:not(.sub-menu):not(.children) > li > a:focus-visible,
	.ultra-menu-enhancer.um-gradients .ultra-menu-target ul:not(.sub-menu):not(.children) > li > a:focus-visible {
		background: transparent !important;
	}
}

@media (min-width: 641px) {
	/* Optional: apply button gradient on submenu links (only when button gradients are active). */
	.ultra-menu-enhancer.um-btn-gradient .ultra-menu-target ul.sub-menu li > a,
	.ultra-menu-enhancer.um-btn-gradient .ultra-menu-target ul.children li > a {
		background: var(--me-link-bg) !important;
	}

	/* Match submenu hover background to button hover gradient when configured. */
	.ultra-menu-enhancer.um-btn-hgradient .ultra-menu-target :where(ul.sub-menu, ul.children) li > a:hover,
	.ultra-menu-enhancer.um-btn-hgradient .ultra-menu-target :where(ul.sub-menu, ul.children) li:hover > a,
	.ultra-menu-enhancer.um-btn-hgradient .ultra-menu-target :where(ul.sub-menu, ul.children) li:focus-within > a,
	.ultra-menu-enhancer.um-btn-hgradient .ultra-menu-target :where(ul.sub-menu, ul.children) li > a:focus-visible {
		background: var(--me-link-bg-hover) !important;
	}

	/* Match submenu active/current background to button active gradient when configured. */
	.ultra-menu-enhancer.um-btn-agradient .ultra-menu-target :where(ul.sub-menu, ul.children) :where(
		li.current-menu-item > a,
		li.current_page_item > a,
		li.current-menu-ancestor > a,
		li.current_page_ancestor > a,
		li.current-menu-parent > a,
		li.current_page_parent > a
	) {
		background: var(--me-link-bg-active) !important;
	}
}

/* Keep submenu arrows inside the button when gradients are active. */
.ultra-menu-enhancer.um-gradients .ultra-menu-target :where(.menu-item-has-children > a, .page_item_has_children > a) {
	padding-right: 1.6em !important;
}

.ultra-menu-enhancer.um-gradients .ultra-menu-target :where(.menu-item-has-children > a::after, .page_item_has_children > a::after) {
	position: absolute !important;
	right: 0.5em !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	margin: 0 !important;
}

/* Theme-specific arrow button (separate element) */
.ultra-menu-enhancer.um-gradients .ultra-menu-target :where(li.menu-item-has-children, li.page_item_has_children) {
	position: relative;
}

.ultra-menu-enhancer.um-gradients .ultra-menu-target button.main-navigation-arrow-btn {
	position: absolute !important;
	right: 0.5em !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	margin: 0 !important;
}

.ultra-menu-enhancer.um-gradients .ultra-menu-target li.menu-item-has-children > a,
.ultra-menu-enhancer.um-gradients .ultra-menu-target li.page_item_has_children > a {
	padding-right: 2.2em !important;
}

/* Alignment (works only when the menu uses flex). */
@media (min-width: 641px) {
	/* Per-menu alignment overrides (menu location targeting). */
	.ultra-menu-align-left :where(ul.menu, .menu, ul:not(.sub-menu):not(.children)) {
		justify-content: flex-start !important;
	}
	.ultra-menu-align-center :where(ul.menu, .menu, ul:not(.sub-menu):not(.children)) {
		justify-content: center !important;
	}
	.ultra-menu-align-right :where(ul.menu, .menu, ul:not(.sub-menu):not(.children)) {
		justify-content: flex-end !important;
	}

	/* Higher specificity + after flex rules to override theme defaults. */
	.ultra-menu-enhancer.um-gradients.um-align-left :where(.ultra-menu-target) :where(
		nav > ul.menu,
		nav > .menu,
		nav .menu > ul.menu,
		.main-navigation > ul.menu,
		.primary-navigation > ul.menu,
		.primary-navbar > ul.menu,
		#site-navigation > ul.menu,
		nav ul:not(.sub-menu):not(.children)
	) {
		justify-content: flex-start;
	}

	.ultra-menu-enhancer.um-gradients.um-align-center :where(.ultra-menu-target) :where(
		nav > ul.menu,
		nav > .menu,
		nav .menu > ul.menu,
		.main-navigation > ul.menu,
		.primary-navigation > ul.menu,
		.primary-navbar > ul.menu,
		#site-navigation > ul.menu,
		nav ul:not(.sub-menu):not(.children)
	) {
		justify-content: center;
	}

	.ultra-menu-enhancer.um-gradients.um-align-right :where(.ultra-menu-target) :where(
		nav > ul.menu,
		nav > .menu,
		nav .menu > ul.menu,
		.main-navigation > ul.menu,
		.primary-navigation > ul.menu,
		.primary-navbar > ul.menu,
		#site-navigation > ul.menu,
		nav ul:not(.sub-menu):not(.children)
	) {
		justify-content: flex-end;
	}
}

/* Alignment fallback for themes that use floats/inline-block (not flex). */
@media (min-width: 641px) {
	.ultra-menu-enhancer.um-align-center :where(.ultra-menu-target) :where(ul:not(.sub-menu):not(.children), .menu:not(.sub-menu):not(.children)) {
		text-align: center;
	}

	.ultra-menu-enhancer.um-align-right :where(.ultra-menu-target) :where(ul:not(.sub-menu):not(.children), .menu:not(.sub-menu):not(.children)) {
		text-align: right;
	}

	.ultra-menu-enhancer.um-align-center :where(.ultra-menu-target) :where(ul:not(.sub-menu):not(.children), .menu:not(.sub-menu):not(.children)) > li,
	.ultra-menu-enhancer.um-align-right :where(.ultra-menu-target) :where(ul:not(.sub-menu):not(.children), .menu:not(.sub-menu):not(.children)) > li {
		float: none !important;
		display: inline-flex;
		vertical-align: middle;
	}
}

/* Equal width buttons (desktop): distribute space evenly. */
@media (min-width: 641px) {
	@supports (display: flex) {
	}
}

/* Custom button width (desktop). */
@media (min-width: 641px) {
	@supports (display: flex) {
		.ultra-menu-enhancer.um-btn-width :where(
			.ultra-menu-target ul:not(.sub-menu):not(.children) > li,
			.ultra-menu-target ul.menu > li,
			.ultra-menu-target .menu > li
		) {
			flex: 0 0 var(--um-btn-width);
			max-width: var(--um-btn-width);
		}
	}

	/* Non-flex fallback: min-width only */
	.ultra-menu-enhancer.um-btn-width :where(
		.ultra-menu-target ul:not(.sub-menu):not(.children) > li,
		.ultra-menu-target .menu:not(.sub-menu) > li
	) {
		min-width: var(--um-btn-width);
	}
}

/* Auto-fit button width based on widest item (desktop). */
@media (min-width: 641px) {
	.ultra-menu-enhancer.um-btn-auto :where(
		.ultra-menu-target ul:not(.sub-menu):not(.children) > li,
		.ultra-menu-target ul.menu > li,
		.ultra-menu-target .menu > li
	) {
		flex: 1 1 0;
		min-width: var(--um-btn-width-auto, auto);
	}

	.ultra-menu-enhancer.um-btn-auto :where(
		.ultra-menu-target ul:not(.sub-menu):not(.children),
		.ultra-menu-target ul.menu,
		.ultra-menu-target .menu
	) {
		width: 100%;
		display: flex;
		flex-wrap: nowrap;
	}
}

/* Text alignment inside buttons (works with our flex links; also sets text-align for wrapped labels). */
@media (min-width: 641px) {
	.ultra-menu-enhancer.um-text-left :where(.ultra-menu-target) :where(ul:not(.sub-menu):not(.children) > li > a, ul.menu > li > a, .menu > li > a, .menu-item > a) {
		justify-content: flex-start;
		text-align: left;
	}

	.ultra-menu-enhancer.um-text-center :where(.ultra-menu-target) :where(ul:not(.sub-menu):not(.children) > li > a, ul.menu > li > a, .menu > li > a, .menu-item > a) {
		justify-content: center;
		text-align: center;
	}

	.ultra-menu-enhancer.um-text-right :where(.ultra-menu-target) :where(ul:not(.sub-menu):not(.children) > li > a, ul.menu > li > a, .menu > li > a, .menu-item > a) {
		justify-content: flex-end;
		text-align: right;
	}
}

@media (min-width: 641px) {
	.ultra-menu-enhancer .ultra-menu-target :where(ul.sub-menu li > a, ul.children li > a, .sub-menu li > a, .children li > a) {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		text-align: center !important;
	}
}


/* -------------------------------------------------------
 * 1) Separators (li + li::before)
 * ----------------------------------------------------- */

.ultra-menu-enhancer.um-separators :where(.ultra-menu-target) :where(
	ul.menu > li + li,
	.menu > li + li,
	.menu-item + .menu-item,
	ul:not(.sub-menu):not(.children) > li + li,
	.wp-block-navigation__container > li + li
) {
	/* Ensure the separator has a coordinate system. */
	position: relative;
}

.ultra-menu-enhancer.um-separators :where(.ultra-menu-target) :where(
	ul.menu > li + li,
	.menu > li + li,
	.menu-item + .menu-item,
	ul:not(.sub-menu):not(.children) > li + li,
	.wp-block-navigation__container > li + li
)::before {
	content: "" !important;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: var(--me-sep-thickness, 1px);
	/* Allow full height while preventing overflow */
	height: min(var(--me-sep-height, 18px), 100%);
	background: var(--me-sep-color, rgba(0, 0, 0, 0.25)) !important;
	opacity: var(--um-sep-opacity, 0.7);
	pointer-events: none;
	display: block !important;
	z-index: 9;
}

/* Optional: separators on the outer edges (start/end) without double separators between items */
.ultra-menu-enhancer.um-separators.um-separators-edges :where(.ultra-menu-target) :where(
	ul.menu > li:first-child,
	.menu > li:first-child,
	.menu-item:first-child,
	ul:not(.sub-menu):not(.children) > li:first-child,
	.wp-block-navigation__container > li:first-child
)::before,
.ultra-menu-enhancer.um-separators.um-separators-edges :where(.ultra-menu-target) :where(
	ul.menu > li:last-child,
	.menu > li:last-child,
	.menu-item:last-child,
	ul:not(.sub-menu):not(.children) > li:last-child,
	.wp-block-navigation__container > li:last-child
)::after {
	content: "" !important;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: var(--me-sep-thickness, 1px);
	height: min(var(--me-sep-height, 18px), 100%);
	background: var(--me-sep-color, rgba(0, 0, 0, 0.25)) !important;
	opacity: var(--um-sep-opacity, 0.7);
	pointer-events: none;
	display: block !important;
	z-index: 9;
}

.ultra-menu-enhancer.um-separators.um-separators-edges :where(.ultra-menu-target) :where(
	ul.menu > li:first-child,
	.menu > li:first-child,
	.menu-item:first-child,
	ul:not(.sub-menu):not(.children) > li:first-child,
	.wp-block-navigation__container > li:first-child
)::before {
	left: 0;
}

.ultra-menu-enhancer.um-separators.um-separators-edges :where(.ultra-menu-target) :where(
	ul.menu > li:last-child,
	.menu > li:last-child,
	.menu-item:last-child,
	ul:not(.sub-menu):not(.children) > li:last-child,
	.wp-block-navigation__container > li:last-child
)::after {
	right: 0;
}

/* Gradient-safe separators: draw an inset line on the button itself. */
.ultra-menu-enhancer.um-separators.um-gradients :where(.ultra-menu-target) :where(
	ul.menu:not(.sub-menu):not(.children) > li + li > a,
	.menu:not(.sub-menu):not(.children) > li + li > a,
	ul:not(.sub-menu):not(.children) > li + li > a,
	.wp-block-navigation__container > li + li > a
) {
	box-shadow: inset var(--me-sep-thickness, 1px) 0 0 0 var(--me-sep-color, rgba(0, 0, 0, 0.25));
}

/* Avoid drawing separators in stacked/mobile menus where items are full-width */
@media (max-width: 640px) {
	.ultra-menu-enhancer.um-separators :where(.ultra-menu-target) :where(
		ul.menu > li + li,
		.menu > li + li,
		.menu-item + .menu-item,
		ul:not(.sub-menu):not(.children) > li + li,
		.wp-block-navigation__container > li + li
	)::before {
		display: none;
	}
	.ultra-menu-enhancer.um-separators.um-separators-edges :where(.ultra-menu-target) :where(
		ul.menu > li:first-child,
		.menu > li:first-child,
		.menu-item:first-child,
		ul:not(.sub-menu):not(.children) > li:first-child,
		.wp-block-navigation__container > li:first-child
	)::before,
	.ultra-menu-enhancer.um-separators.um-separators-edges :where(.ultra-menu-target) :where(
		ul.menu > li:last-child,
		.menu > li:last-child,
		.menu-item:last-child,
		ul:not(.sub-menu):not(.children) > li:last-child,
		.wp-block-navigation__container > li:last-child
	)::after {
		display: none;
	}
}

/* -------------------------------------------------------
 * 3) Hover icon (no layout shift)
 * ----------------------------------------------------- */

.ultra-menu-enhancer.um-hover-icons :where(.ultra-menu-target) :where(
	ul.menu > li > a,
	.menu > li > a,
	.menu-item > a,
	.wp-block-navigation__container > li > a,
	.wp-block-navigation-item__content
) {
	position: relative;
	overflow: visible !important;
	display: flex;
	align-items: center;
}

.ultra-menu-enhancer.um-hover-icons .um-hover-icon {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	opacity: 0;
	transition: opacity 160ms ease, transform 180ms ease;
	pointer-events: none;
	display: inline-block;
	line-height: 1;
	font-size: var(--um-icon-size, 0.9em);
	color: currentColor;
	z-index: 2;
}

.ultra-menu-enhancer.um-hover-icons.um-icons-always .um-hover-icon {
	opacity: 0.65;
}

.ultra-menu-enhancer.um-hover-icons.um-icon-size-md {
	--um-icon-size: 0.9em;
	--um-icon-pad: 1.4em;
}

.ultra-menu-enhancer.um-hover-icons.um-icon-size-lg {
	--um-icon-size: 1.35em;
	--um-icon-pad: 2.1em;
}

.ultra-menu-enhancer.um-hover-icons.um-icon-size-xxl {
	--um-icon-size: 1.7em;
	--um-icon-pad: 2.6em;
}

.ultra-menu-enhancer .um-hover-icon.um-icon-wheel,
.ultra-menu-enhancer .um-hover-icon.um-icon-soccer-3 {
	width: 1em;
	height: 1em;
	background-color: currentColor;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: contain;
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
}

.ultra-menu-enhancer .um-hover-icon.um-icon-wheel {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><path d='M12 3v4'/><path d='M12 17v4'/><path d='M3 12h4'/><path d='M17 12h4'/><path d='M7.5 7.5l2.5 2.5'/><path d='M14 14l2.5 2.5'/><path d='M16.5 7.5L14 10'/><path d='M10 14l-2.5 2.5'/></svg>");
	mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><path d='M12 3v4'/><path d='M12 17v4'/><path d='M3 12h4'/><path d='M17 12h4'/><path d='M7.5 7.5l2.5 2.5'/><path d='M14 14l2.5 2.5'/><path d='M16.5 7.5L14 10'/><path d='M10 14l-2.5 2.5'/></svg>");
}

.ultra-menu-enhancer .um-hover-icon.um-icon-soccer-3 {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><polygon points='12,5 8,8 9,13 15,13 16,8'/><path d='M8 8l-3 2'/><path d='M16 8l3 2'/><path d='M9 13l-2 4'/><path d='M15 13l2 4'/></svg>");
	mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><polygon points='12,5 8,8 9,13 15,13 16,8'/><path d='M8 8l-3 2'/><path d='M16 8l3 2'/><path d='M9 13l-2 4'/><path d='M15 13l2 4'/></svg>");
}

.ultra-menu-enhancer.um-hover-icons.um-icon-right .um-hover-icon {
	right: 0.25em;
	transform: translateY(-50%);
}

.ultra-menu-enhancer.um-hover-icons.um-icon-left .um-hover-icon {
	left: 0.25em;
	transform: translateY(-50%);
}

.ultra-menu-enhancer.um-hover-icons.um-icon-right :where(.ultra-menu-target) :where(
	ul.menu > li > a,
	.menu > li > a,
	.menu-item > a,
	.wp-block-navigation__container > li > a,
	.wp-block-navigation-item__content
) {
	padding-right: var(--um-icon-pad, 1.4em) !important;
}

.ultra-menu-enhancer.um-hover-icons.um-icon-left :where(.ultra-menu-target) :where(
	ul.menu > li > a,
	.menu > li > a,
	.menu-item > a,
	.wp-block-navigation__container > li > a,
	.wp-block-navigation-item__content
) {
	padding-left: var(--um-icon-pad, 1.4em) !important;
}

.ultra-menu-enhancer.um-hover-icons :where(.ultra-menu-target) :where(
	ul.menu > li > a,
	.menu > li > a,
	.menu-item > a,
	.wp-block-navigation__container > li > a,
	.wp-block-navigation-item__content
):where(:hover, :focus-visible) .um-hover-icon {
	opacity: 1;
	transform: translateY(-50%) scale(1.15);
}


