/* Native menus only. No Header shell, SGGW overlay, JS or renderer replacement.
 * Wrapper variables lose to generated document controls, independent of order.
 */
.elementor .elementor-widget-nav-menu {
	--e-nav-menu-horizontal-menu-item-margin: 8px;
	--nav-menu-icon-size: 24px;
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
}
.elementor .elementor-widget-nav-menu .elementor-nav-menu,
.elementor .elementor-widget-nav-menu .elementor-nav-menu :where(li, ul) {
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
}
.elementor .elementor-widget-nav-menu .elementor-nav-menu .elementor-item,
.elementor .elementor-widget-nav-menu .elementor-nav-menu .elementor-sub-item {
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
	color: var(--sggw-text);
	fill: currentColor;
}
.elementor .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item {
	font-weight: 600;
	padding: 0;
}
.elementor .elementor-widget-nav-menu .elementor-nav-menu--dropdown {
	background-color: var(--sggw-surface-current);
	color: var(--sggw-text);
	border: 1px solid var(--sggw-line);
	border-radius: 0;
	box-shadow: none;
}
.elementor .elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item,
.elementor .elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-sub-item {
	font-weight: 400;
	padding: .5em 1em;
}
.elementor .elementor-widget-nav-menu .elementor-nav-menu :is(.elementor-item, .elementor-sub-item):where(:hover, :focus, .highlighted, .elementor-item-active) {
	color: var(--wp--custom--component--navigation--interaction-accent, var(--sggw-link-foreground));
	background-color: transparent;
}
/* Do not disable any native pointer, animation, local color or border setting. */
.elementor-widget-nav-menu :where(.e--pointer-underline, .e--pointer-overline, .e--pointer-double-line, .e--pointer-background) .elementor-item::before,
.elementor-widget-nav-menu :where(.e--pointer-underline, .e--pointer-overline, .e--pointer-double-line, .e--pointer-background) .elementor-item::after {
	background-color: var(--sggw-link-foreground);
}
.elementor-widget-nav-menu :where(.e--pointer-framed) .elementor-item::before,
.elementor-widget-nav-menu :where(.e--pointer-framed) .elementor-item::after { border-color: var(--sggw-link-foreground); }
.elementor .elementor-widget-nav-menu .elementor-nav-menu .sub-arrow {
	padding: 0;
	margin: 0;
	margin-inline-start: 6px;
	color: inherit;
}
.elementor .elementor-widget-nav-menu .elementor-menu-toggle {
	background-color: transparent;
	color: var(--sggw-text);
	border-radius: 0;
	padding: 0;
}
.elementor .elementor-widget-nav-menu .elementor-menu-toggle:where(:hover, :focus) { color: var(--sggw-link-foreground); }

.elementor .elementor-widget-n-menu {
	--n-menu-title-color-normal: var(--sggw-text);
	--n-menu-title-color-hover: var(--sggw-link-foreground);
	--n-menu-title-hover-color-fallback: var(--sggw-link-foreground);
	--n-menu-title-color-active: var(--sggw-link-foreground);
	--n-menu-title-font-size: 1em;
	--n-menu-title-line-height: inherit;
	--n-menu-title-space-between: 16px;
	--n-menu-title-padding: 0;
	--n-menu-toggle-icon-size: 24px;
	--n-menu-toggle-icon-color: var(--sggw-text);
	--n-menu-toggle-icon-color-hover: var(--sggw-link-foreground);
	--n-menu-toggle-icon-color-active: var(--sggw-link-foreground);
	--n-menu-dropdown-icon-gap: 0px;
	--n-menu-dropdown-indicator-space: 6px;
	--n-menu-dropdown-content-box-border-color: var(--sggw-line);
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
}
.elementor .elementor-widget-n-menu .e-n-menu-title { font-family: inherit; font-weight: 600; }
/* Pro's calc(font-size * line-height) only accepts ratios, not length units.
 * Use intrinsic height; the title's native alignment, size and spacing still work.
 */
.elementor .elementor-widget-n-menu .e-n-menu-title .e-n-menu-dropdown-icon { height: auto; }
/* Low specificity: panel controls (2) and child container controls (3) win.
 * Do not touch padding, display, dimensions or descendants of the panel.
 */
.e-con:where(.elementor-widget-n-menu .e-n-menu-content > .e-con) {
	--border-radius: 0px;
	border: 1px solid var(--sggw-line);
	box-shadow: none;
	background-color: var(--sggw-surface-current);
	color: var(--sggw-text);
}
/* Submenu links only. Nested menus and Icon Lists can form the native Menu
 * panel; decorate their labels, never icons, toggles or arbitrary CTA widgets.
 * :where() keeps document typography/decorations stronger than this default.
 */
@media (hover: hover) {
	.elementor .elementor-widget-nav-menu .elementor-sub-item:where(:hover),
	.elementor :where(.elementor-widget-n-menu .e-n-menu-content) .elementor-widget-nav-menu .elementor-item:where(:hover),
	.elementor :where(.elementor-widget-n-menu .e-n-menu-content) .e-n-menu-title-container:where(a[href]:hover) .e-n-menu-title-text,
	.elementor :where(.elementor-widget-n-menu .e-n-menu-content) .elementor-icon-list-item > a:where([href]:hover) .elementor-icon-list-text {
		text-decoration-line: underline;
		text-decoration-thickness: var(--sggw-link-decoration-thickness, .08em);
		text-underline-offset: var(--sggw-link-underline-offset, .18em);
	}
}
/* Visible focus is a safety invariant, not a decorative menu pointer. */
:where(.elementor-widget-nav-menu, .elementor-widget-n-menu) :where(a, button, [role="button"]):focus-visible {
	outline: var(--wp--custom--line--focus-ring-width, 3px) solid var(--sggw-line-focus);
	outline-offset: var(--wp--custom--line--focus-ring-offset, 3px);
}
@media (forced-colors: active) {
	:where(.elementor-widget-nav-menu .elementor-nav-menu--dropdown, .elementor-widget-n-menu .e-n-menu-content > .e-con) {
		background-color: Canvas !important;
		color: CanvasText !important;
		border-color: CanvasText !important;
	}
	:where(.elementor-widget-nav-menu, .elementor-widget-n-menu) :where(a, button, [role="button"]):focus-visible { outline-color: Highlight !important; }
}
@media (prefers-reduced-motion: reduce) {
	:where(.elementor-widget-nav-menu, .elementor-widget-n-menu) :where(a, button, .elementor-item::before, .elementor-item::after, .e-n-menu-title, .e-n-menu-title-text) { transition-duration: 0s !important; animation-duration: 0s !important; }
}
