/* Product category mega menu: layout, hover bridge, and panel switching. */
@media (hover: hover) and (min-width: 1101px) {
	.primary-menu > li.menu-item-has-children {
		position: relative;
	}

	/* Bridge the gap between the nav bar and the flyout so the pointer does not drop hover. */
	.primary-menu > .product-taxonomy-parent::before {
		content: "";
		position: absolute;
		left: 50%;
		top: 100%;
		transform: translateX(-50%);
		width: min(1040px, calc(100vw - 64px));
		height: 14px;
	}

	.primary-menu > .product-taxonomy-parent > .sub-menu {
		left: 50%;
		top: calc(100% + 8px);
		transform: translateX(-50%);
		display: none;
		grid-template-columns: minmax(250px, 32%) minmax(0, 68%);
		grid-auto-rows: minmax(48px, max-content);
		align-content: start;
		width: min(1040px, calc(100vw - 64px));
		min-height: 360px;
		max-height: min(640px, calc(100vh - var(--site-header-height, 158px) - 24px));
		gap: 0;
		margin: 0;
		padding: 0;
		overflow: hidden;
		border-top: 3px solid var(--accent);
	}

	.primary-menu > .product-taxonomy-parent:hover > .sub-menu,
	.primary-menu > .product-taxonomy-parent:focus-within > .sub-menu,
	.primary-menu > .product-taxonomy-parent.is-open > .sub-menu {
		display: grid;
	}

	.primary-menu > .product-taxonomy-parent > .sub-menu > .product-taxonomy-item {
		position: static;
		grid-column: 1;
		min-width: 0;
		padding: 0;
		border: 0;
		border-right: 1px solid var(--line);
		background: var(--mist);
	}

	.primary-menu > .product-taxonomy-parent > .sub-menu > .product-taxonomy-item > .submenu-toggle {
		display: none;
	}

	.primary-menu > .product-taxonomy-parent > .sub-menu > .product-taxonomy-item > a {
		display: flex;
		align-items: center;
		justify-content: space-between;
		min-height: 52px;
		margin: 0;
		padding: 0.7rem 1.25rem;
		border: 0;
		border-bottom: 1px solid var(--line);
		font-size: 0.86rem;
		font-weight: 700;
		line-height: 1.25;
		letter-spacing: 0.02em;
		text-transform: uppercase;
		background: transparent;
	}

	.primary-menu > .product-taxonomy-parent > .sub-menu > .product-taxonomy-item > a:hover,
	.primary-menu > .product-taxonomy-parent > .sub-menu > .product-taxonomy-item:focus-within > a,
	.primary-menu > .product-taxonomy-parent > .sub-menu > .product-taxonomy-item.is-open > a {
		color: var(--accent);
		background: #e2f0f0;
		text-decoration: none;
	}

	.primary-menu > .product-taxonomy-parent > .sub-menu > .product-taxonomy-item > .sub-menu {
		position: absolute;
		inset: 0 0 0 32%;
		display: none;
		grid-template-columns: 1fr;
		align-content: start;
		width: auto;
		min-width: 0;
		max-height: none;
		margin: 0;
		padding: 1rem 1.25rem;
		overflow-y: auto;
		border: 0;
		border-left: 1px solid var(--line);
		border-radius: 0;
		background: #fff;
		box-shadow: none;
		transform: none;
	}

	.primary-menu > .product-taxonomy-parent > .sub-menu > .product-taxonomy-item:first-child > .sub-menu {
		display: grid;
	}

	.primary-menu > .product-taxonomy-parent > .sub-menu > .product-taxonomy-item.menu-item-has-children:hover > .sub-menu,
	.primary-menu > .product-taxonomy-parent > .sub-menu > .product-taxonomy-item.menu-item-has-children:focus-within > .sub-menu {
		display: grid;
	}

	.primary-menu > .product-taxonomy-parent > .sub-menu:has(> .product-taxonomy-item.menu-item-has-children:hover) > .product-taxonomy-item:not(:hover) > .sub-menu,
	.primary-menu > .product-taxonomy-parent > .sub-menu:has(> .product-taxonomy-item.menu-item-has-children:focus-within) > .product-taxonomy-item:not(:focus-within) > .sub-menu {
		display: none;
	}

	.primary-menu > .product-taxonomy-parent > .sub-menu > .product-taxonomy-item > .sub-menu > .product-taxonomy-item {
		min-width: 0;
		padding: 0;
		border: 0;
		background: transparent;
	}

	.primary-menu > .product-taxonomy-parent > .sub-menu > .product-taxonomy-item > .sub-menu > .product-taxonomy-item > a {
		display: block;
		min-height: 0;
		padding: 0.62rem 0.75rem;
		border-bottom: 1px solid var(--line);
		font-size: 0.86rem;
		font-weight: 600;
		line-height: 1.35;
		letter-spacing: 0;
		text-transform: none;
		background: transparent;
	}

	.primary-menu > .product-taxonomy-parent > .sub-menu > .product-taxonomy-item > .sub-menu > .product-taxonomy-item > a:hover,
	.primary-menu > .product-taxonomy-parent > .sub-menu > .product-taxonomy-item > .sub-menu > .product-taxonomy-item > a:focus-visible {
		color: var(--accent);
		background: var(--mist);
		text-decoration: none;
	}

	html[lang^="ru"] .primary-menu > .product-taxonomy-parent > .sub-menu {
		grid-template-columns: minmax(330px, 38%) minmax(0, 62%);
	}

	html[lang^="ru"] .primary-menu > .product-taxonomy-parent > .sub-menu > .product-taxonomy-item > a {
		min-height: 48px;
		white-space: normal;
		font-size: 0.72rem;
		line-height: 1.2;
	}

	html[lang^="ru"] .primary-menu > .product-taxonomy-parent > .sub-menu > .product-taxonomy-item > .sub-menu {
		inset: 0 0 0 38%;
	}
}
