/* Plattio Theme 2.11.48 — single-source Plattio Block mega menus. */
.ptb-mega-menu {
	box-sizing: border-box;
	color: var(--plattio-navigation-active-dropdown-text, var(--plattio-navigation-dropdown-text, var(--plattio-text)));
}
.ptb-mega-menu__surface {
	box-sizing: border-box;
	width: 100%;
	max-height: min(78vh, 760px);
	overflow: auto;
	border: 1px solid var(--plattio-navigation-active-dropdown-border, var(--plattio-navigation-dropdown-border, var(--plattio-border)));
	border-radius: max(10px, var(--plattio-card-radius, 12px));
	background: var(--plattio-navigation-active-dropdown-bg, var(--plattio-navigation-dropdown-bg, var(--plattio-surface)));
	box-shadow: 0 24px 70px rgba(5, 22, 37, .18);
	overscroll-behavior: contain;
}
.ptb-mega-menu__inner {
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
}
.has-plattio-mega-menu.is-mega-open > a > .ptb-navigation__submenu-arrow {
	transform: rotate(180deg);
}

@media (min-width: 1101px) {
	/* The desktop panel is rendered directly below body. Its geometry can never
	 * inherit coordinates, transforms or containment from the navigation item. */
	#ptb-mega-menu-portal[data-plattio-mega-portal] {
		position: fixed !important;
		z-index: 10020 !important;
		inset: 0 !important;
		box-sizing: border-box !important;
		width: auto !important;
		height: auto !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 !important;
		transform: none !important;
		contain: none !important;
		overflow: visible !important;
		pointer-events: none !important;
	}
	#ptb-mega-menu-portal[data-plattio-mega-portal] > .ptb-mega-menu {
		position: absolute !important;
		z-index: 1 !important;
		box-sizing: border-box !important;
		margin: 0 !important;
		visibility: hidden !important;
		opacity: 0 !important;
		pointer-events: none !important;
		transform: translateY(-8px) !important;
		transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
	}
	#ptb-mega-menu-portal[data-plattio-mega-portal] > .ptb-mega-menu.is-mega-portal-open {
		visibility: visible !important;
		opacity: 1 !important;
		pointer-events: auto !important;
		transform: translateY(0) !important;
	}
	#ptb-mega-menu-portal[data-plattio-mega-portal] > .ptb-mega-menu[data-width="full"] {
		left: 0 !important;
		right: 0 !important;
		width: auto !important;
		max-width: none !important;
		margin-inline: 0 !important;
	}
	#ptb-mega-menu-portal > .ptb-mega-menu[data-width="full"] > .ptb-mega-menu__surface {
		width: 100% !important;
		max-width: none !important;
		border-inline-width: 0;
		border-radius: 0;
	}
	#ptb-mega-menu-portal .ptb-mega-menu__inner,
	#ptb-mega-menu-portal .plattio-builder-content {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0;
		overflow: visible;
	}
	/* Builder CSS loads before this file. Neutralize its viewport full-bleed
	 * section rule inside a Mega Menu so the Block is scoped to the panel. */
	#ptb-mega-menu-portal .plattio-builder-content > .ptb-section.is-section-full {
		position: relative !important;
		left: auto !important;
		right: auto !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		transform: none !important;
	}
	#ptb-mega-menu-portal .ptb-section.is-section-full > .ptb-section__inner {
		width: 100% !important;
		max-width: 100% !important;
		margin-inline: auto !important;
	}
	.has-plattio-mega-menu > .sub-menu {
		display: none !important;
	}
}

@media (max-width: 1100px) {
	/* The document portal is desktop-only. Header Builder creates a local clone
	 * for inline mobile disclosure using the link's aria-controls target. */
	#ptb-mega-menu-portal[data-plattio-mega-portal] {
		display: none !important;
	}
	.plattio-builder-header__mobile-panel .ptb-navigation__menu > li.has-plattio-mega-menu {
		position: relative;
	}
	.plattio-builder-header__mobile-panel .ptb-navigation__menu > li.has-plattio-mega-menu > .ptb-mega-menu {
		position: static !important;
		grid-column: 1 / -1;
		box-sizing: border-box;
		width: 100% !important;
		max-width: none !important;
		margin: 0;
		visibility: visible;
		opacity: 1;
		pointer-events: auto;
		transform: none !important;
		transition: none;
	}
	.plattio-builder-header__mobile-panel .ptb-navigation__menu > li.has-plattio-mega-menu:not(.is-submenu-open) > .ptb-mega-menu,
	.plattio-builder-header__mobile-panel .ptb-navigation__menu > li.has-plattio-mega-menu > .ptb-mega-menu[hidden],
	.plattio-builder-header__mobile-panel .ptb-navigation__menu > li.has-plattio-mega-menu.is-mega-mobile-submenu > .ptb-mega-menu,
	.plattio-builder-header__mobile-panel .ptb-navigation__menu > li.has-plattio-mega-menu > .ptb-mega-menu[data-mobile="submenu"] {
		display: none !important;
	}
	.plattio-builder-header__mobile-panel .ptb-navigation__menu > li.has-plattio-mega-menu.is-mega-mobile-inline.is-submenu-open > .ptb-mega-menu[data-mobile="inline"] {
		display: block !important;
	}
	.plattio-builder-header__mobile-panel .ptb-mega-menu__surface {
		max-height: none;
		overflow: visible;
		border-width: 0 0 1px;
		border-radius: 0;
		box-shadow: none;
	}
	.plattio-builder-header__mobile-panel .ptb-mega-menu__inner {
		padding-inline: .75rem;
	}
	.plattio-builder-header__mobile-panel .ptb-navigation__menu > li.has-plattio-mega-menu.is-mega-mobile-submenu > .sub-menu {
		display: grid !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	#ptb-mega-menu-portal > .ptb-mega-menu { transition: none; }
}
