

.lp-mega-section__desktop-head {
	display: none;
}

.lp-mega-panel {
	display: contents;  
}

@media (max-width: 1140px) {
	
	.lp-mega-panel {
		--lp-mega-icon-size: 30px;
	}

	.lp-mega-section__links-wrap {
		display: contents;
	}

	.main-navigation.is-open .lp-mega-panel {
		--lp-mega-mobile-indent: 18px; 
		--lp-mega-mobile-level2-size: 16px;
		--lp-mega-mobile-level3-size: 14.5px;
	}

	.main-navigation.is-open .lp-mega-section__links {
		max-height: none !important;
		overflow-y: visible !important;
	}

	.main-navigation.is-open .lp-mega-section__footer {
		padding-inline: var(--space-4);
	}

	.main-navigation.is-open .lp-mega-section__explore {
		min-height: 44px;
		font-size: var(--text-sm) !important;
		font-weight: var(--font-semibold) !important;
		padding: var(--space-3) var(--space-4) !important;
		text-align: center;
	}

	.main-navigation.is-open .lp-mega-panel > .sub-menu {
		position: static !important;
		display: none !important;
		padding: 0;
		background: transparent;
		border: none;
		box-shadow: none;
		backdrop-filter: none;
		transform: none;
		pointer-events: auto;
		width: 100%;
		opacity: 1 !important;
		visibility: visible !important;
	}

	.main-navigation.is-open .lp-mega-panel > .sub-menu::before {
		display: none !important;
	}

	.main-navigation.is-open .menu-item-has-children.is-active .lp-mega-panel > .sub-menu {
		display: block !important;
		padding: var(--space-1) 0 var(--space-3);
		opacity: 1 !important;
		visibility: visible !important;
	}

	.main-navigation.is-open .lp-mega-panel .lp-mega-section__links {
		display: none !important;
	}

	.main-navigation.is-open .lp-mega-panel .lp-mega-section.is-active .lp-mega-section__links {
		display: block !important;
	}

	.main-navigation.is-open .lp-mega-panel .sub-menu .sub-menu {
		position: static !important;
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
		background: transparent !important;
		border: none !important;
		box-shadow: none !important;
		backdrop-filter: none !important;
		padding: 0 !important;
		margin: 0 !important;
	}

	.main-navigation.is-open .lp-mega-panel .sub-menu .sub-menu::before,
	.main-navigation.is-open .lp-mega-panel .sub-menu .sub-menu::after {
		display: none !important;
	}

	.lp-mega-section__row {
		display: flex;
		flex-direction: row;
		align-items: center;
		gap: var(--space-3);
		padding-inline: var(--space-4);
	}

	.lp-mega-section__title-icon .lp-mega-section__icon {
		display: block;
		width: var(--lp-mega-icon-size, 28px);
		height: var(--lp-mega-icon-size, 28px);
		object-fit: contain;
	}

	.lp-mega-section__title-icon {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		margin-right: var(--space-2);
		vertical-align: middle;
	}

	.main-navigation.is-open .lp-mega-panel .lp-mega-section__title-icon {
		display: none !important;
	}

	.lp-mega-section__mobile-link {
		display: block !important;
	}

	.main-navigation.is-open .lp-mega-panel .sub-menu a {
		font-size: var(--text-lg, 18px);
		font-weight: 400;
		color: var(--color-text);
		padding: var(--space-2) var(--space-4);
		display: block;
		text-decoration: none;
		transition: color 0.15s ease;
		text-align: left;
		min-height: 44px;
		outline: none !important;
		-webkit-tap-highlight-color: transparent !important;
	}

	.main-navigation.is-open .lp-mega-panel .sub-menu a:hover {
		color: var(--color-brand);
		background: transparent;
	}

	.main-navigation.is-open .lp-mega-panel .sub-menu a::after {
		display: none !important;
	}

	.main-navigation.is-open .lp-mega-panel .lp-mega-section__mobile-link {
		display: flex !important;
		align-items: center;
		gap: var(--space-2);
		font-weight: var(--font-semibold);
		font-size: var(--lp-mega-mobile-level2-size, 16px);
		padding-top: var(--space-3);
		padding-bottom: var(--space-3);
		margin-top: var(--space-2);
		border-radius: 12px;
		background: color-mix(in srgb, var(--color-brand) 5%, transparent);
		letter-spacing: 0.01em;
		padding-inline: var(--space-4);
		position: relative;
	}

	.main-navigation.is-open .lp-mega-panel .lp-mega-section__mobile-link::before {
		display: none !important;
	}

	.main-navigation.is-open .lp-mega-panel .lp-mega-section__mobile-link[aria-controls]::after {
		content: '';
		position: absolute;
		right: var(--space-4);
		top: 50%;
		width: 18px;
		height: 18px;
		transform: translateY(-50%) rotate(0deg);
		transform-origin: center;
		background-color: currentColor;
		opacity: 0.65;
		transition: transform 0.18s ease, opacity 0.18s ease;
		-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 7.5L10 12l4.5-4.5' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
		-webkit-mask-repeat: no-repeat;
		-webkit-mask-position: center;
		-webkit-mask-size: 18px 18px;
		mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 7.5L10 12l4.5-4.5' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
		mask-repeat: no-repeat;
		mask-position: center;
		mask-size: 18px 18px;
	}

	.main-navigation.is-open .lp-mega-panel .lp-mega-section.is-active .lp-mega-section__mobile-link[aria-controls]::after {
		transform: translateY(-50%) rotate(180deg);
		opacity: 0.92;
	}

	.main-navigation.is-open .lp-mega-panel .lp-mega-section__mobile-link[aria-controls] {
		padding-right: calc(var(--space-4) + 22px);
	}

	.main-navigation.is-open .lp-mega-panel .lp-mega-section__links a {
		font-size: var(--lp-mega-mobile-level3-size, 14.5px);
		color: var(--color-text-muted);
		padding-left: calc(var(--space-4) + var(--lp-mega-mobile-indent, 18px));
		border-left: none;
		display: flex;
		align-items: baseline;
		gap: var(--space-2);
	}

	.main-navigation.is-open .lp-mega-panel .lp-mega-section__links a::before {
		content: "›";
		position: static;
		transform: none;
		color: color-mix(in srgb, var(--color-brand) 40%, transparent);
		font-weight: var(--font-bold);
		flex-shrink: 0;
		line-height: 1;
		position: relative;
		top: -1px;
	}

	.main-navigation.is-open .lp-mega-panel .lp-mega-section__mobile-link:hover,
	.main-navigation.is-open .lp-mega-panel .lp-mega-section__mobile-link:focus-visible {
		background: color-mix(in srgb, var(--color-brand) 9%, transparent);
	}

	.main-navigation.is-open .lp-mega-panel .lp-mega-section__links a:hover {
		color: var(--color-brand);
	}

	[data-theme="dark"] .main-navigation.is-open .lp-mega-panel .sub-menu a {
		color: var(--color-text-light, #e2e8f0);
	}

	[data-theme="dark"] .main-navigation.is-open .lp-mega-panel .sub-menu a:hover {
		color: var(--color-brand);
	}

	[data-theme="dark"] .main-navigation.is-open .lp-mega-panel .lp-mega-section__links a {
		color: var(--color-text-muted);
	}

	.lp-mega-section__desktop-head {
		display: none !important;
	}
}

@media (min-width: 1141px) {

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

	.lp-mega-panel {
		
		--lp-mega-pad-outer: var(--space-4);
		--lp-mega-pad-inner: var(--space-5);
		--lp-mega-grid-gap: var(--space-6);
		--lp-mega-icon-size: 20px;

		display: none !important;
		position: fixed;
		
		top: calc(112px + var(--header-glass-alpha, 0) * 10px + 8px);
		left: 50%;
		transform: translateX(-50%);
		width: min(1120px, calc(100vw - 48px));
		max-height: calc(100vh - 140px);
		z-index: 320;
		padding: var(--lp-mega-pad-outer);
		border-radius: var(--radius-xl);
		overflow-x: hidden;
		overflow-y: visible;
		background: var(--glass-submenu-bg, rgba(255, 255, 255, 0.96));
		backdrop-filter: blur(24px);
		-webkit-backdrop-filter: blur(24px);
		border: var(--border-width-default) solid var(--color-border-surface);
		box-shadow: var(--shadow-md);
		pointer-events: auto !important;
	}

	.lp-mega-panel *,
	.lp-mega-panel a,
	.lp-mega-panel ul,
	.lp-mega-panel li {
		pointer-events: auto !important;
	}

	/* opacity:0 (not visibility:hidden) avoids Safari paint artifact */
	.menu-item-has-mega.is-open > .lp-mega-panel {
		display: block !important;
		opacity: 0;
		pointer-events: none !important;
	}

	.menu-item-has-mega.is-open > .lp-mega-panel.is-visible {
		pointer-events: auto !important;
		animation: megaPanelReveal 0.25s cubic-bezier(0.16, 1, 0.3, 1) forwards;
	}

	@keyframes megaPanelReveal {
		from {
			opacity: 0;
			transform: translateX(-50%) translateY(-8px) scale(0.985);
		}
		to {
			opacity: 1;
			transform: translateX(-50%) translateY(0) scale(1);
		}
	}

	.lp-mega-panel__sections {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		grid-auto-rows: minmax(min-content, 1fr);
		align-items: stretch;
		gap: var(--lp-mega-grid-gap, var(--space-6));
		list-style: none;
		margin: 0;
		padding: 0;
		
		position: static !important;
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
		background: transparent !important;
		border: none !important;
		box-shadow: none !important;
		backdrop-filter: none !important;
		max-height: none !important;
		height: auto !important;
		transition: none !important;
	}

	.lp-mega-panel__sections::before,
	.lp-mega-panel__sections::after {
		display: none !important;
	}

	.lp-mega-panel:has(.lp-mega-panel__sections > .lp-mega-section:only-child) {
		width: min(380px, calc(100vw - 48px));
	}

	.lp-mega-panel__sections:has(> .lp-mega-section:only-child) {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.menu-item-has-mega.is-open > a::after {
		transform: scaleX(1) !important;
		opacity: 0.9 !important;
	}

	.lp-mega-panel:has(.lp-mega-panel__sections > .lp-mega-section:nth-child(2):last-child) {
		width: min(820px, calc(100vw - 48px));
	}

	.lp-mega-panel__sections:has(> .lp-mega-section:nth-child(2):last-child) {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.lp-mega-section {
		position: relative; 
		display: flex !important;
		flex-direction: column;
		padding: 0;
		min-height: 0;
		height: 100%;
		background: var(--color-surface);
		border: var(--border-width-default) solid var(--color-border-surface);
		border-radius: var(--radius-card);
		box-shadow: var(--shadow-none);
		overflow: hidden;
		transition:
			border-color var(--motion-duration-interactive) var(--motion-ease-standard),
			transform var(--motion-duration-interactive) var(--motion-ease-standard);
	}

	@media (hover: hover) and (pointer: fine) {
		.lp-mega-section:hover {
			transform: translateY(-2px);
			border-color: var(--color-border-surface-hover);
		}
	}

	.lp-mega-section__mobile-link {
		display: none !important;
	}

	.lp-mega-section__desktop-head {
		display: block;
	}

	.lp-mega-section__row {
		display: flex;
		flex-direction: row;
		align-items: center;
		gap: 0;
		padding-top: var(--lp-mega-pad-inner, var(--space-5));
		padding-inline: var(--lp-mega-pad-inner, var(--space-5));
		padding-bottom: var(--space-2);
		border-bottom: var(--border-width-default) solid var(--color-border-surface);
	}

	.lp-mega-section__title-icon {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		margin-right: var(--space-2);
		vertical-align: middle;
	}

	.lp-mega-section__title-icon .lp-mega-section__icon {
		display: block;
		width: var(--lp-mega-icon-size, 32px);
		height: var(--lp-mega-icon-size, 32px);
		object-fit: contain;
	}

	.lp-mega-section__title {
		display: block;
		margin: 0;
		padding-top: 0;
		padding-bottom: 0;
		font: inherit;
		border-bottom: none;
	}

	.lp-mega-section__title-link,
	.lp-mega-section__title-text {
		display: inline-flex;
		align-items: center;
		font-family: var(--font-body);
		font-size: var(--text-base);
		font-weight: var(--font-semibold);
		line-height: var(--leading-snug);
		letter-spacing: -0.01em;
		color: var(--color-dark);
		text-decoration: none;
	}

	.lp-mega-section__title-link:hover {
		color: var(--color-brand);
		text-decoration: none;
	}

	.sub-menu .menu-item a.lp-mega-section__title-link {
		position: static; 
		display: inline-flex;
		align-items: center;
		padding: 0;
		font-size: var(--text-base);
		font-weight: var(--font-semibold);
		line-height: var(--leading-snug);
		letter-spacing: -0.01em;
		white-space: normal;
	}

	.sub-menu .menu-item a.lp-mega-section__title-link::after {
		content: none !important;
		display: none !important;
	}

	.lp-mega-section__title-link::before {
		content: "";
		position: absolute;
		inset: 0;
		z-index: 0;
	}

	.lp-mega-section__desc {
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
		line-clamp: 3;
		overflow: hidden;
		margin: 0;
		padding-top: var(--space-2);
		padding-bottom: var(--space-2);
		font-family: var(--font-body);
		font-size: var(--text-xs);
		line-height: var(--leading-normal);
		font-weight: var(--font-normal);
		color: var(--color-text-muted);
		min-height: calc(3 * var(--leading-normal) * 1em + var(--space-2) * 2);
	}

	.lp-mega-section__links {
		list-style: none !important;
		margin: 0 !important;
		padding-inline: calc(var(--lp-mega-pad-inner, var(--space-5)) - var(--space-2)) !important;
		display: flex !important;
		flex-direction: column;
		gap: 1px;
		flex: 1 1 auto;
		min-height: 0;
		min-width: 0 !important;
		overflow-x: hidden;
		overflow-y: visible;
		
		position: static !important;
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
		background: transparent !important;
		border: none !important;
		box-shadow: none !important;
		backdrop-filter: none !important;
		transition: none !important;
	}

	.lp-mega-section:hover .lp-mega-section__links,
	.lp-mega-section:focus-within .lp-mega-section__links {
		transform: none !important;
	}

	.lp-mega-section__links-wrap {
		position: relative; 
		z-index: 1;
		display: flex;
		flex-direction: column;
		flex: 1 1 auto;
		min-height: 0;
		margin-top: var(--space-1);
	}

	.lp-mega-section__footer {
		flex-shrink: 0;
		margin-top: auto;
		padding: var(--space-3) var(--lp-mega-pad-inner, var(--space-5)) var(--space-4);
		border-top: var(--border-width-default) solid var(--color-border-surface);
	}

	.lp-mega-section__explore {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		box-sizing: border-box;
		min-height: 2.5rem;
		padding: var(--space-2) var(--space-4);
		font-family: var(--font-body);
		font-size: var(--text-sm);
		font-weight: var(--font-semibold);
		line-height: var(--leading-snug);
		color: var(--color-brand);
		text-decoration: none;
		text-align: center;
		border-radius: var(--radius-sm);
		border: var(--border-width-default) solid var(--color-border-surface);
		background: var(--color-surface);
		transition:
			border-color var(--motion-duration-interactive) var(--motion-ease-standard),
			background-color var(--motion-duration-interactive) var(--motion-ease-standard),
			color var(--motion-duration-interactive) var(--motion-ease-standard);
	}

	@media (hover: hover) and (pointer: fine) {
		.lp-mega-section__explore:hover {
			border-color: var(--color-border-surface-hover);
			background: var(--color-brand-light);
			color: var(--color-brand-hover);
		}
	}

	.lp-mega-section__explore:focus-visible {
		outline: var(--focus-ring-width) solid var(--focus-ring-color);
		outline-offset: var(--focus-ring-offset);
	}

	.lp-mega-section__links::before,
	.lp-mega-section__links::after {
		display: none !important;
	}

	.lp-mega-section .lp-mega-section__links {
		padding-top: var(--space-1) !important;
		padding-bottom: var(--space-5) !important;
		padding-inline: calc(var(--lp-mega-pad-inner, var(--space-5)) - var(--space-2)) !important;
	}

	.lp-mega-section__item {
		margin: 0;
		padding: 0;
	}

	.lp-mega-section__link {
		display: flex !important;
		align-items: center;
		width: 100% !important;
		box-sizing: border-box !important;
		min-height: 2.25rem;
		padding: var(--space-1) var(--space-2) !important;
		margin: 0 !important;
		font-family: var(--font-body) !important;
		font-size: var(--text-sm) !important;
		font-weight: var(--font-medium) !important;
		color: var(--color-text-muted) !important;
		text-decoration: none !important;
		border-radius: var(--radius-sm);
		background: transparent !important;
		transition:
			color var(--motion-duration-interactive) var(--motion-ease-standard),
			background-color var(--motion-duration-interactive) var(--motion-ease-standard) !important;
		white-space: normal !important;
		line-height: var(--leading-snug);
		transform: none !important;
		left: auto !important;
		right: auto !important;
		border: none !important;
	}

	.lp-mega-section__link::before {
		content: "›";
		margin-right: var(--space-1);
		font-weight: var(--font-bold);
		font-size: var(--text-xs);
		color: color-mix(in srgb, var(--color-brand) 35%, transparent);
		flex-shrink: 0;
		transition: color var(--motion-duration-interactive) var(--motion-ease-standard);
	}

	.lp-mega-section__link:hover::before {
		color: var(--color-brand);
	}

	.lp-mega-section__link::after {
		display: none !important;
		content: none !important;
	}

	.lp-mega-section__link:hover {
		color: var(--color-brand) !important;
		background: var(--color-brand-light) !important;
	}

	.lp-mega-section__link:focus-visible {
		outline: var(--focus-ring-width) solid var(--focus-ring-color);
		outline-offset: var(--focus-ring-offset);
		background: var(--color-brand-light) !important;
	}

	.lp-mega-panel .lp-mega-section__links > .menu-item-has-children {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
	}

	.lp-mega-panel .lp-mega-section__links ul.sub-menu {
		position: static !important;
		display: flex !important;
		flex-direction: column !important;
		gap: 1px;
		margin: var(--space-1) 0 var(--space-2) 0 !important;
		padding: 0 0 var(--space-2) var(--space-4) !important;
		min-width: 0 !important;
		list-style: none !important;
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
		background: transparent !important;
		border: none !important;
		border-left: var(--border-width-default) solid var(--color-border-surface) !important;
		box-shadow: none !important;
		backdrop-filter: none !important;
		max-height: none !important;
	}

	.lp-mega-panel .lp-mega-section__links ul.sub-menu::before,
	.lp-mega-panel .lp-mega-section__links ul.sub-menu::after {
		display: none !important;
	}

	.lp-mega-section__sublink {
		display: block !important;
		width: 100%;
		box-sizing: border-box;
		padding: var(--space-1) var(--space-2) !important;
		margin: 0 !important;
		font-family: var(--font-body) !important;
		font-size: var(--text-xs) !important;
		font-weight: var(--font-normal) !important;
		line-height: var(--leading-normal) !important;
		color: var(--color-text-muted) !important;
		text-decoration: none !important;
		border-radius: var(--radius-sm);
		transition:
			color var(--motion-duration-interactive) var(--motion-ease-standard),
			background-color var(--motion-duration-interactive) var(--motion-ease-standard);
	}

	.lp-mega-section__sublink:hover {
		color: var(--color-brand) !important;
		background: var(--color-brand-light) !important;
	}

	.lp-mega-section__sublink:focus-visible {
		outline: var(--focus-ring-width) solid var(--focus-ring-color);
		outline-offset: var(--focus-ring-offset);
		background: var(--color-brand-light) !important;
	}

	.lp-mega-section__sublink::after {
		display: none !important;
		content: none !important;
	}

	.lp-mega-section__links > .menu-item-has-children > .lp-mega-section__link {
		padding-bottom: var(--space-1) !important;
	}

	#primary-menu > .menu-item-has-mega > a::before {
		transition: transform 0.22s ease, opacity 0.22s ease;
		transform-origin: center;
		opacity: 0.78;
		margin-left: 10px;
		position: relative;
		top: 1px;
	}

	#primary-menu > .menu-item-has-mega.is-open > a::before {
		transform: rotate(180deg);
		opacity: 1;
	}

	[data-theme="dark"] .lp-mega-panel {
		background: rgba(13, 27, 46, 0.98);
		border-color: var(--color-border-surface);
		box-shadow: var(--shadow-lg);
	}

	html:has(.menu-item-has-mega.is-open) .header-inner {
		background: rgba(255, 255, 255, 0.96);
		backdrop-filter: blur(24px);
		-webkit-backdrop-filter: blur(24px);
	}

	html[data-theme="dark"]:has(.menu-item-has-mega.is-open) .header-inner {
		background: rgba(13, 27, 46, 0.98);
	}

	[data-theme="dark"] .lp-mega-section {
		background: var(--color-surface-alt);
		border-color: var(--color-border-surface);
	}

	@media (hover: hover) and (pointer: fine) {
		[data-theme="dark"] .lp-mega-section:hover {
			border-color: var(--color-border-surface-hover);
		}
	}

	[data-theme="dark"] .lp-mega-section__title {
		border-bottom-color: var(--color-border-surface);
	}

	[data-theme="dark"] .lp-mega-section__title-link,
	[data-theme="dark"] .lp-mega-section__title-text {
		color: #f3f7fb;
	}

	[data-theme="dark"] .lp-mega-section__title-link:hover {
		color: var(--color-brand);
	}

	[data-theme="dark"] .lp-mega-section__desc {
		color: var(--color-text-muted);
	}

	[data-theme="dark"] .lp-mega-section__link {
		color: #e3ebf4;
	}

	[data-theme="dark"] .lp-mega-section__link::before {
		color: rgba(61, 164, 224, 0.35);
	}

	[data-theme="dark"] .lp-mega-section__link:hover::before {
		color: var(--color-brand);
	}

	[data-theme="dark"] .lp-mega-section__link:hover {
		background: rgba(61, 164, 224, 0.12) !important;
		color: var(--color-brand) !important;
	}

	[data-theme="dark"] .lp-mega-panel .lp-mega-section__links ul.sub-menu {
		border-left-color: var(--color-border-surface) !important;
	}

	[data-theme="dark"] .lp-mega-section__sublink {
		color: var(--color-text-muted) !important;
	}

	[data-theme="dark"] .lp-mega-section__sublink:hover {
		background: rgba(61, 164, 224, 0.12) !important;
		color: var(--color-brand) !important;
	}

	[data-theme="dark"] .lp-mega-section__footer {
		border-top-color: var(--color-border-surface);
	}

	[data-theme="dark"] .lp-mega-section__explore {
		background: var(--color-surface-alt);
		border-color: var(--color-border-surface);
		color: var(--color-brand);
	}

	@media (hover: hover) and (pointer: fine) {
		[data-theme="dark"] .lp-mega-section__explore:hover {
			border-color: var(--color-border-surface-hover);
			background: rgba(61, 164, 224, 0.12);
			color: var(--color-brand-hover);
		}
	}
}

