/* MWS Navigation — scoped BEM + motion helpers */

.mws-ew-navigation {
	--mws-ew-nav-dropdown-bg: #ffffff;
	--mws-ew-nav-dropdown-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
	--mws-ew-nav-panel-bg: #ffffff;
	--mws-ew-nav-panel-shadow: 0 12px 28px rgba(0, 0, 0, 0.12);
	--mws-ew-nav-dropdown-min-width: 220px;
	--mws-ew-nav-dropdown-radius: 0px;
	--mws-ew-nav-toggle-size: 24px;
	--mws-ew-nav-dd-icon-size: 12px;
	--mws-ew-nav-underline: currentColor;
	--mws-ew-nav-ink-bg: #111111;
	--mws-ew-nav-ink-text: #ffffff;
	position: relative;
	width: 100%;
}

/* —— Toggle —— */
.mws-ew-navigation__toggle {
	display: none;
	align-items: center;
	width: 100%;
}

.mws-ew-navigation__toggle-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: 0;
	padding: 8px;
	margin: 0;
	cursor: pointer;
	color: inherit;
	line-height: 0;
	appearance: none;
	-webkit-appearance: none;
}

.mws-ew-navigation__toggle-btn:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

.mws-ew-navigation__toggle-btn .menu-icon,
.mws-ew-navigation__toggle-btn .close-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
	font-size: var(--mws-ew-nav-toggle-size);
}

.mws-ew-navigation__toggle-btn .menu-icon svg,
.mws-ew-navigation__toggle-btn .close-icon svg,
.mws-ew-navigation__toggle-btn .menu-icon i,
.mws-ew-navigation__toggle-btn .close-icon i {
	width: 1em;
	height: 1em;
	font-size: inherit;
	display: block;
}

.mws-ew-navigation__toggle-btn .close-icon {
	display: none;
}

.mws-ew-navigation__toggle-btn.is-active .menu-icon {
	display: none;
}

.mws-ew-navigation__toggle-btn.is-active .close-icon {
	display: inline-flex;
}

/* —— Menu shell —— */
.mws-ew-navigation__menu {
	position: relative;
	width: 100%;
}

.mws-ew-navigation__list,
.mws-ew-navigation__list ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.mws-ew-navigation__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--mws-ew-nav-gap, 0);
}

.mws-ew-navigation__list > .menu-item {
	position: relative;
}

.mws-ew-navigation__list a {
	display: block;
	text-decoration: none;
	color: inherit;
	position: relative;
	transition: color 0.25s ease, background-color 0.25s ease;
}

.mws-ew-navigation__list .menu-item-text {
	display: inline-block;
	position: relative;
	vertical-align: bottom;
}

.mws-ew-navigation__char {
	display: inline-block;
	will-change: transform, opacity;
}

/* —— Dropdown icon —— */
.mws-ew-navigation__dropdown-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
	font-size: var(--mws-ew-nav-dd-icon-size);
	flex-shrink: 0;
	transition: transform 0.3s ease;
}

.mws-ew-navigation__dropdown-icon svg,
.mws-ew-navigation__dropdown-icon i {
	width: 1em;
	height: 1em;
	display: block;
	font-size: inherit;
}

.mws-ew-navigation__list .menu-item-has-children.is-submenu-open > a .mws-ew-navigation__dropdown-icon,
.mws-ew-navigation__list .menu-item-has-children:hover > a .mws-ew-navigation__dropdown-icon {
	transform: rotate(180deg);
}

.mws-ew-navigation:not(.mws-ew-navigation--collapsed):not(.mws-ew-navigation--hamburger)
	.mws-ew-navigation__list
	.sub-menu
	.menu-item-has-children:hover
	> a
	.mws-ew-navigation__dropdown-icon,
.mws-ew-navigation:not(.mws-ew-navigation--collapsed):not(.mws-ew-navigation--hamburger)
	.mws-ew-navigation__list
	.sub-menu
	.menu-item-has-children.is-submenu-open
	> a
	.mws-ew-navigation__dropdown-icon {
	transform: rotate(-90deg);
}

/* Nested flyout opens toward inline-end; mirror chevron only in RTL */
.mws-ew-navigation:dir(rtl):not(.mws-ew-navigation--collapsed):not(.mws-ew-navigation--hamburger)
	.mws-ew-navigation__list
	.sub-menu
	.menu-item-has-children:hover
	> a
	.mws-ew-navigation__dropdown-icon,
.mws-ew-navigation:dir(rtl):not(.mws-ew-navigation--collapsed):not(.mws-ew-navigation--hamburger)
	.mws-ew-navigation__list
	.sub-menu
	.menu-item-has-children.is-submenu-open
	> a
	.mws-ew-navigation__dropdown-icon,
:is([dir="rtl"], .rtl) .mws-ew-navigation:not(.mws-ew-navigation--collapsed):not(.mws-ew-navigation--hamburger)
	.mws-ew-navigation__list
	.sub-menu
	.menu-item-has-children:hover
	> a
	.mws-ew-navigation__dropdown-icon,
:is([dir="rtl"], .rtl) .mws-ew-navigation:not(.mws-ew-navigation--collapsed):not(.mws-ew-navigation--hamburger)
	.mws-ew-navigation__list
	.sub-menu
	.menu-item-has-children.is-submenu-open
	> a
	.mws-ew-navigation__dropdown-icon {
	transform: rotate(90deg);
}

/* —— Desktop dropdown panels —— */
.mws-ew-navigation__list .sub-menu {
	display: none;
	list-style: none;
	margin: 0;
	padding: 8px 0;
	min-width: var(--mws-ew-nav-dropdown-min-width);
	position: absolute;
	top: 100%;
	inset-inline-start: 0;
	z-index: 100;
	background: var(--mws-ew-nav-dropdown-bg);
	box-shadow: var(--mws-ew-nav-dropdown-shadow);
	border-radius: var(--mws-ew-nav-dropdown-radius);
}

.mws-ew-navigation__list .sub-menu .sub-menu {
	top: 0;
	inset-inline-start: 100%;
}

.mws-ew-navigation__list .menu-item-has-children > a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.mws-ew-navigation__list .menu-item-has-children > a::after {
	content: "";
	flex-shrink: 0;
	width: 0;
	height: 0;
	border-inline-start: 4px solid transparent;
	border-inline-end: 4px solid transparent;
	border-top: 5px solid currentColor;
	opacity: 0.7;
}

.mws-ew-navigation--has-dropdown-icon .mws-ew-navigation__list .menu-item-has-children > a::after {
	display: none;
}

.mws-ew-navigation__list .sub-menu .menu-item-has-children > a::after {
	border-top: 4px solid transparent;
	border-bottom: 4px solid transparent;
	border-inline-start: 5px solid currentColor;
	border-inline-end: 0;
}

/* Desktop flyouts */
.mws-ew-navigation:not(.mws-ew-navigation--collapsed):not(.mws-ew-navigation--hamburger)
	.mws-ew-navigation__list
	.menu-item-has-children:hover
	> .sub-menu,
.mws-ew-navigation:not(.mws-ew-navigation--collapsed):not(.mws-ew-navigation--hamburger)
	.mws-ew-navigation__list
	.menu-item-has-children:focus-within
	> .sub-menu,
.mws-ew-navigation:not(.mws-ew-navigation--collapsed):not(.mws-ew-navigation--hamburger)
	.mws-ew-navigation__list
	.menu-item-has-children.is-submenu-open
	> .sub-menu {
	display: block;
}

/* —— Collapsed / hamburger —— */
.mws-ew-navigation--collapsed .mws-ew-navigation__toggle,
.mws-ew-navigation--hamburger .mws-ew-navigation__toggle {
	display: flex;
}

.mws-ew-navigation--collapsed .mws-ew-navigation__menu:not(.is-open),
.mws-ew-navigation--hamburger .mws-ew-navigation__menu:not(.is-open) {
	display: none;
}

.mws-ew-navigation--collapsed .mws-ew-navigation__menu.is-open,
.mws-ew-navigation--hamburger .mws-ew-navigation__menu.is-open {
	display: block;
	position: absolute;
	z-index: 110;
	top: 100%;
	inset-inline-start: 0;
	inset-inline-end: 0;
	width: 100%;
	max-width: 100%;
	background: var(--mws-ew-nav-panel-bg);
	box-shadow: var(--mws-ew-nav-panel-shadow);
}

.mws-ew-navigation--collapsed .mws-ew-navigation__list,
.mws-ew-navigation--hamburger .mws-ew-navigation__list {
	flex-direction: column;
	align-items: stretch;
	flex-wrap: nowrap;
}

.mws-ew-navigation--collapsed .mws-ew-navigation__list .sub-menu,
.mws-ew-navigation--collapsed .mws-ew-navigation__list .sub-menu .sub-menu,
.mws-ew-navigation--hamburger .mws-ew-navigation__list .sub-menu,
.mws-ew-navigation--hamburger .mws-ew-navigation__list .sub-menu .sub-menu {
	position: static;
	min-width: 0;
	width: 100%;
	box-shadow: none;
	border-radius: 0;
	padding-inline-start: 16px;
	background: transparent;
}

.mws-ew-navigation--collapsed .mws-ew-navigation__list .menu-item-has-children.is-submenu-open > .sub-menu,
.mws-ew-navigation--hamburger .mws-ew-navigation__list .menu-item-has-children.is-submenu-open > .sub-menu {
	display: block;
}

.mws-ew-navigation--collapsed .mws-ew-navigation__list .sub-menu .menu-item-has-children > a::after,
.mws-ew-navigation--hamburger .mws-ew-navigation__list .sub-menu .menu-item-has-children > a::after {
	border-inline-start: 4px solid transparent;
	border-inline-end: 4px solid transparent;
	border-top: 5px solid currentColor;
	border-bottom: 0;
}

.mws-ew-navigation--collapsed
	.mws-ew-navigation__list
	.sub-menu
	.menu-item-has-children:hover
	> a
	.mws-ew-navigation__dropdown-icon,
.mws-ew-navigation--hamburger
	.mws-ew-navigation__list
	.sub-menu
	.menu-item-has-children:hover
	> a
	.mws-ew-navigation__dropdown-icon {
	transform: rotate(180deg);
}

/* —— Entrance FOUC guard (only after JS confirms GSAP) —— */
.mws-ew-navigation.mws-ew-navigation--will-animate:not(.mws-ew-navigation--entered)
	.mws-ew-navigation__list
	> .menu-item {
	opacity: 0;
}

/* —— Link hover helpers —— */
.mws-ew-navigation--hover-underline-draw .mws-ew-navigation__list a {
	overflow: visible;
}

.mws-ew-navigation__underline {
	position: absolute;
	inset-inline: 0;
	bottom: 0;
	height: 1.5px;
	background: var(--mws-ew-nav-underline);
	pointer-events: none;
	transform: scaleX(0);
	transform-origin: left center;
	z-index: 1;
}

/* Underline draw origin — only when the nav (or page) is RTL */
.mws-ew-navigation__underline:dir(rtl),
.mws-ew-navigation:dir(rtl) .mws-ew-navigation__underline,
:is([dir="rtl"], .rtl) .mws-ew-navigation__underline {
	transform-origin: right center;
}

.mws-ew-navigation--hover-vertical-swap .mws-ew-navigation__list a {
	overflow: visible;
}

.mws-ew-navigation__swap-inner {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 1.2em;
	overflow: hidden;
	vertical-align: bottom;
}

.mws-ew-navigation__swap-face {
	display: flex;
	align-items: center;
	justify-content: center;
	white-space: nowrap;
	line-height: 1.2;
}

.mws-ew-navigation__swap-top {
	position: relative;
}

.mws-ew-navigation__swap-bottom {
	position: absolute;
	inset: 0;
}

.mws-ew-navigation--hover-ink-fill .mws-ew-navigation__list > .menu-item > a {
	overflow: hidden;
	isolation: isolate;
}

.mws-ew-navigation__ink {
	position: absolute;
	inset: 0;
	z-index: 0;
	background: var(--mws-ew-nav-ink-bg);
	clip-path: circle(0% at 50% 50%);
	pointer-events: none;
	border-radius: inherit;
}

.mws-ew-navigation--hover-ink-fill .mws-ew-navigation__list > .menu-item > a > .menu-item-text,
.mws-ew-navigation--hover-ink-fill .mws-ew-navigation__list > .menu-item > a > .mws-ew-navigation__dropdown-icon {
	position: relative;
	z-index: 1;
}

.mws-ew-navigation--hover-ink-fill .mws-ew-navigation__list > .menu-item > a.is-ink-active {
	color: var(--mws-ew-nav-ink-text);
}

.mws-ew-navigation--hover-magnetic .mws-ew-navigation__list > .menu-item > a,
.mws-ew-navigation--hover-soft-lift .mws-ew-navigation__list > .menu-item > a {
	will-change: transform;
}

/* No-JS / pre-init fallback */
@media screen and (max-width: 1023px) {
	.mws-ew-navigation:not(.mws-ew-navigation--ready) .mws-ew-navigation__toggle {
		display: flex;
	}

	.mws-ew-navigation:not(.mws-ew-navigation--ready) .mws-ew-navigation__menu:not(.is-open) {
		display: none;
	}

	.mws-ew-navigation:not(.mws-ew-navigation--ready) .mws-ew-navigation__menu.is-open {
		display: block;
		position: absolute;
		z-index: 110;
		top: 100%;
		inset-inline-start: 0;
		inset-inline-end: 0;
		width: 100%;
		background: var(--mws-ew-nav-panel-bg);
		box-shadow: var(--mws-ew-nav-panel-shadow);
	}

	.mws-ew-navigation:not(.mws-ew-navigation--ready) .mws-ew-navigation__list {
		flex-direction: column;
		align-items: stretch;
	}

	.mws-ew-navigation:not(.mws-ew-navigation--ready) .mws-ew-navigation__list .sub-menu,
	.mws-ew-navigation:not(.mws-ew-navigation--ready) .mws-ew-navigation__list .sub-menu .sub-menu {
		position: static;
		min-width: 0;
		width: 100%;
		box-shadow: none;
		padding-inline-start: 16px;
		background: transparent;
	}

	.mws-ew-navigation:not(.mws-ew-navigation--ready)
		.mws-ew-navigation__list
		.menu-item-has-children.is-submenu-open
		> .sub-menu {
		display: block;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mws-ew-navigation__list a,
	.mws-ew-navigation__dropdown-icon {
		transition: none;
	}

	.mws-ew-navigation.mws-ew-navigation--will-animate .mws-ew-navigation__list > .menu-item {
		opacity: 1 !important;
	}
}
