.submenu-link[class],
.wp-block-navigation:has(.submenu-link) {
	position: initial !important;
}

/* Ensure consistent line height for all submenu items */
.wp-block-navigation__container .wp-block-navigation-item,
.submenu .wp-block-navigation-item,
.submenu-link,
.submenu .wp-block-navigation__container li {
	line-height: 1;
}

/* Ensure consistent padding for submenu items */
.submenu .wp-block-navigation-item .wp-block-navigation-item__content {
	padding-top: 0.33rem;
	padding-bottom: 0.33rem;
}

/* Ensure consistent styling for vertical navigation in submenus */
.submenu .is-vertical.wp-block-navigation {
	--navigation-layout-justification-setting: flex-start;
	--navigation-layout-direction: column;
	--navigation-layout-wrap: wrap;
	--navigation-layout-justify: flex-start;
	--navigation-layout-align: flex-start;
}

/* Handle no-wrap class consistently */
.submenu .is-vertical.no-wrap.wp-block-navigation {
	--navigation-layout-wrap: nowrap;
}

/* Ensure consistent spacing between submenu items */
.submenu .wp-block-navigation__container {
	row-gap: 0.25rem;
}

/* Ensure consistent height for all submenu items */
.submenu .wp-block-navigation-item {

	display: flex;
	align-items: center;
}

.submenu-link .mouse-area {
	position: absolute;
	top: 100%;
	opacity: 0;
	z-index: 99;
	pointer-events: none;
	overflow: visible;
}

.submenu-link.is-visible-submenu .mouse-area path {
	pointer-events: all;
}

.submenu-link:not(.menu-content .submenu-link) .submenu {
	position: absolute;
	width: 9999px;
	opacity: 0;
	pointer-events: none;
	transform-origin: center top;
	max-width: min(var(--max-width, 30rem), min(62.5rem, calc(100vw - 2.5rem)));
	background-color: var(--wp--preset--color--neutral-50);
	border: 1px solid var(--wp--preset--color--neutral-300);
	border-radius: 5px;
	z-index: 100;
	max-height: 75vh;
	overflow: auto;
}

@media (min-width: 85.375rem) {
	.submenu-link:not(.menu-content .submenu-link) .submenu {
		max-width: min(var(--max-width, 30rem), 70rem);
	}
}

@media (min-width: 90rem) {
	.submenu-link:not(.menu-content .submenu-link) .submenu {
		max-width: min(var(--max-width, 30rem),
				var(--wp--custom--container--size));
	}
}

.submenu-link:not(.menu-content .submenu-link).is-visible-submenu .submenu {
	opacity: 1;
	pointer-events: all;
}

/* menu content */
.menu-content .wp-block-navigation__container {
	width: 100%;
}

.menu-content .submenu-link {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	position: relative;
}

.submenu-link-wrapper {
	width: 100%;
	display: flex;
	gap: 0.5rem;
	align-items: center;
	justify-content: space-between;
}

.submenu-link:not(.menu-content .submenu-link, :has(.submenu-link-wrapper)) .wp-block-navigation-item__content {
	position: relative;
	padding-right: 1.25rem;
}

.submenu-link:not(.menu-content .submenu-link, :has(.submenu-link-wrapper))>.wp-block-navigation-item__content::after {
	position: absolute;
	content: "";
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	display: block;
	width: 0.75rem;
	height: 0.75rem;
	background-color: currentColor;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg width='11' height='8' viewBox='0 0 11 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.69689 5.01758L9.82189 0.892578L11.0002 2.07091L5.69689 7.37424L0.393555 2.07091L1.57189 0.892578L5.69689 5.01758Z' fill='%234787F3'/%3E%3C/svg%3E%0A");
	mask-image: url("data:image/svg+xml,%3Csvg width='11' height='8' viewBox='0 0 11 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.69689 5.01758L9.82189 0.892578L11.0002 2.07091L5.69689 7.37424L0.393555 2.07091L1.57189 0.892578L5.69689 5.01758Z' fill='%234787F3'/%3E%3C/svg%3E%0A");
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-position: center;
	mask-position: center;
}

.submenu-link:not(.menu-content .submenu-link) .submenu-link-wrapper .submenu-toggle {
	display: block;
	width: 0.75rem;
	height: 0.75rem;
	background-color: currentColor;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg width='11' height='8' viewBox='0 0 11 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.69689 5.01758L9.82189 0.892578L11.0002 2.07091L5.69689 7.37424L0.393555 2.07091L1.57189 0.892578L5.69689 5.01758Z' fill='%234787F3'/%3E%3C/svg%3E%0A");
	mask-image: url("data:image/svg+xml,%3Csvg width='11' height='8' viewBox='0 0 11 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.69689 5.01758L9.82189 0.892578L11.0002 2.07091L5.69689 7.37424L0.393555 2.07091L1.57189 0.892578L5.69689 5.01758Z' fill='%234787F3'/%3E%3C/svg%3E%0A");
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: 0.75rem;
	mask-size: 0.75rem;
	-webkit-mask-position: center;
	mask-position: center;
}

@media (hover: none) {
	.submenu-link:not(.menu-content .submenu-link) .submenu-link-wrapper .submenu-toggle {
		padding: 1rem;
		margin: -1rem;
	}
}

.menu-content .submenu-link:not(:has(.submenu-link-wrapper)) .wp-block-navigation-item__content {
	position: relative;
	padding-right: 1.5rem;
	width: 100%;
	box-sizing: border-box;
}

.menu-content .submenu-link:not(:has(.submenu-link-wrapper))>.wp-block-navigation-item__content::after {
	display: block;
	position: absolute;
	content: "";
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	width: 1rem;
	height: 1rem;
	background-color: currentColor;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.8247 7.08524L6.90766 2.16824L8.20382 0.87207L15.3337 8.0019L8.20382 15.1317L6.90766 13.8356L11.8247 8.91857L0.666992 8.91857L0.666992 7.08524L11.8247 7.08524Z' fill='%234787F3'/%3E%3C/svg%3E%0A");
	mask-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.8247 7.08524L6.90766 2.16824L8.20382 0.87207L15.3337 8.0019L8.20382 15.1317L6.90766 13.8356L11.8247 8.91857L0.666992 8.91857L0.666992 7.08524L11.8247 7.08524Z' fill='%234787F3'/%3E%3C/svg%3E%0A");
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: 1rem;
	mask-size: 1rem;
	-webkit-mask-position: center;
	mask-position: center;
}

.submenu-link .submenu-link-wrapper>a {
	position: relative;
	z-index: 101;
}

.menu-content .submenu-link .submenu-link-wrapper .submenu-toggle {
	flex: 1 0;
	padding: 1rem 0;
	margin: -1rem 0;
	min-width: 1rem;
	height: 1rem;
	cursor: pointer;
	position: relative;
}

.menu-content .submenu-link .submenu-link-wrapper .submenu-toggle::after {
	display: block;
	content: "";
	background-color: currentColor;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 1rem;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.8247 7.08524L6.90766 2.16824L8.20382 0.87207L15.3337 8.0019L8.20382 15.1317L6.90766 13.8356L11.8247 8.91857L0.666992 8.91857L0.666992 7.08524L11.8247 7.08524Z' fill='%234787F3'/%3E%3C/svg%3E%0A");
	mask-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.8247 7.08524L6.90766 2.16824L8.20382 0.87207L15.3337 8.0019L8.20382 15.1317L6.90766 13.8356L11.8247 8.91857L0.666992 8.91857L0.666992 7.08524L11.8247 7.08524Z' fill='%234787F3'/%3E%3C/svg%3E%0A");
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: 1rem;
	mask-size: 1rem;
	-webkit-mask-position: center right;
	mask-position: center right;
}

.menu-content .submenu-link .submenu {
	width: 100%;
	display: grid;
	grid-template-rows: 0fr;
	overflow: hidden;
}

.menu-content .submenu-link .submenu-content {
	min-height: 0;
	visibility: hidden;
}

.menu-content .submenu-link.is-visible-submenu .submenu {
	grid-template-rows: 1fr;
}

.menu-content .submenu-link.is-visible-submenu .submenu-content {
	/* padding-top: 1rem; */
	visibility: visible;
}

.menu-content .submenu-link.is-visible-submenu .submenu-link-wrapper .submenu-toggle::after {
	transform: rotate(90deg);
}

.menu-content .submenu-link:not(:has(.submenu-link-wrapper)).is-visible-submenu .wp-block-navigation-item__content::after {
	transform: translateY(-50%) rotate(90deg);
}

@media (prefers-reduced-motion: no-preference) {
	.menu-content .submenu-link .submenu {
		transition: grid-template-rows 300ms;
	}

	.menu-content .submenu-link .submenu-content {
		transition: all 300ms;
	}

	.menu-content .submenu-link .submenu-link-wrapper .submenu-toggle::after,
	.menu-content .submenu-link:not(:has(.submenu-link-wrapper)) .wp-block-navigation-item__content::after {
		transition: transform ease 200ms;
	}

	.submenu-link:not(.menu-content .submenu-link) .submenu {
		transition: all ease 200ms;
	}
}