.has-mega-menu { position: relative; }

.has-mega-menu > .sub-menu,
.has-mega-menu > ul.sub-menu,
.has-mega-menu > .children,
.has-mega-menu > .mega-fake-submenu { display: none !important; }

.has-mega-menu > .mega-menu-dropdown {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 9999;
	padding: 24px;
	overflow-y: auto;
	overflow-x: hidden;
}

body:not(.mega-menu-ready) .has-mega-menu > .mega-menu-dropdown {
	display: none !important;
}

.has-mega-menu > .mega-menu-dropdown.mega-full {
	position: absolute !important;
	top: 100% !important;
	width: 100vw !important;
	min-width: 100vw !important;
	max-width: 100vw !important;
	padding: 28px 60px !important;
}

.has-mega-menu > .mega-menu-dropdown::-webkit-scrollbar { width: 8px; }
.has-mega-menu > .mega-menu-dropdown::-webkit-scrollbar-track { background: rgba(0,0,0,0.04); }
.has-mega-menu > .mega-menu-dropdown::-webkit-scrollbar-thumb { background: rgba(0,0,0,0.25); border-radius: 4px; }
.has-mega-menu > .mega-menu-dropdown::-webkit-scrollbar-thumb:hover { background: rgba(0,0,0,0.4); }
.has-mega-menu > .mega-menu-dropdown { scrollbar-width: thin; scrollbar-color: rgba(0,0,0,0.25) rgba(0,0,0,0.04); }

.has-mega-menu > a .sub-arrow ~ .sub-arrow,
.has-mega-menu > a > svg ~ svg,
.has-mega-menu > a > .e-font-icon-svg ~ .e-font-icon-svg {
	display: none !important;
}

body.mega-menu-ready .has-mega-menu:hover > .mega-menu-dropdown,
body.mega-menu-ready .has-mega-menu:focus-within > .mega-menu-dropdown { display: block !important; }

.mega-menu-inner {
	display: flex !important;
	gap: 32px !important;
}

.mega-menu-column {
	flex: 1 !important;
	min-width: 120px !important;
}

.mega-menu-dropdown .mega-menu-column:only-child .mega-menu-links {
	display: grid !important;
	grid-template-columns: repeat(var(--mm-cols, 4), 1fr) !important;
	gap: 4px 24px !important;
}

.mega-menu-heading {
	font-size: 13px !important;
	font-weight: 700 !important;
	margin: 0 0 10px 0 !important;
	padding-bottom: 8px !important;
	border-bottom: 2px solid rgba(0,0,0,0.07) !important;
	display: block !important;
	text-transform: uppercase !important;
	letter-spacing: 0.04em !important;
}

.mega-menu-heading a { text-decoration: none !important; }
.mega-menu-heading a:hover { opacity: 0.75 !important; }

.mega-menu-links {
	display: block !important;
	padding: 0 !important;
	margin: 0 !important;
}

.mega-menu-link {
	display: block !important;
	text-decoration: none !important;
	padding: 5px 0 !important;
	margin: 0 !important;
	transition: opacity 0.15s ease, padding-left 0.15s ease !important;
	line-height: 1.5 !important;
}

.mega-menu-link:hover {
	opacity: 0.65 !important;
	padding-left: 4px !important;
}

@media (max-width: 1024px) {
	.has-mega-menu > .mega-menu-dropdown.mega-full .mega-menu-column:only-child .mega-menu-links {
		grid-template-columns: repeat(min(var(--mm-cols, 4), 3), 1fr) !important;
	}
}

@media (max-width: 1024px) {
	.has-mega-menu > .mega-menu-dropdown,
	.has-mega-menu > .mega-menu-dropdown.mega-full {
		position: static !important;
		left: auto !important;
		right: auto !important;
		top: auto !important;
		transform: none !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		max-height: none !important;
		overflow: visible !important;
		border: none !important;
		border-radius: 0 !important;
		box-shadow: none !important;
		padding: 0 0 0 16px !important;
		background: transparent !important;
		margin-top: 6px !important;
	}
	.has-mega-menu > .mega-menu-dropdown .mega-menu-inner {
		display: block !important;
		gap: 0 !important;
	}
	.has-mega-menu > .mega-menu-dropdown .mega-menu-column,
	.has-mega-menu > .mega-menu-dropdown .mega-menu-column:only-child .mega-menu-links {
		display: block !important;
		grid-template-columns: none !important;
		min-width: 0 !important;
	}
	.has-mega-menu > .mega-menu-dropdown .mega-menu-link {
		padding: 8px 0 !important;
		font-size: 14px !important;
	}
	.has-mega-menu > .mega-menu-dropdown .mega-menu-heading {
		margin: 12px 0 6px !important;
		padding-bottom: 4px !important;
		border-bottom: none !important;
		font-size: 12px !important;
	}
}
