/**
 * Public styles for plugin-owned Header and sidebar menus.
 *
 * Header interaction remains owned by site-chrome.js. This file only extends
 * its existing menu classes with builder typography and mega-menu layouts.
 */

.sblp-builder-menu {
	font-family: var(--sblp-menu-font, inherit);
	font-size: var(--sblp-menu-size, 15px);
	font-weight: var(--sblp-menu-weight, 600);
	text-transform: var(--sblp-menu-case, none);
}

.sblp-builder-menu,
.sblp-builder-menu a,
.sblp-builder-menu button {
	color: var(--sblp-menu-color, var(--sblp-design-text, #20262d));
}

.sblp-builder-menu .sblp-builder-menu__link {
	box-sizing: border-box;
	font: inherit;
	text-transform: inherit;
}

.sblp-builder-menu__description {
	display: block;
	margin-top: 3px;
	color: var(--sblp-design-muted, #68727d);
	font-family: inherit;
	font-size: .76em;
	font-weight: 500;
	line-height: 1.35;
	text-transform: none;
}

.sblp-menu-placeholder {
	appearance: none;
	border: 0;
	background: transparent;
	text-align: start;
}

.sblp-menu-placeholder:not([aria-disabled="true"]),
.sblp-builder-menu button:not([aria-disabled="true"]) {
	cursor: pointer;
}

.sblp-menu-placeholder[aria-disabled="true"] {
	cursor: default;
}

.sblp-builder-menu__link:focus-visible,
.sblp-custom-section-menu button:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--sblp-design-accent, #2563eb) 32%, transparent);
	outline-offset: 2px;
}

/* Header navigation and mega menus. */
.sblp-primary-nav > .sblp-builder-menu {
	color: var(--sblp-menu-color, var(--sblp-design-text, #20262d));
}

.sblp-primary-nav .sblp-builder-menu > .sblp-builder-menu__item > .sblp-builder-menu__link,
.sblp-primary-nav .sblp-builder-menu .sub-menu > .sblp-builder-menu__item > .sblp-builder-menu__link {
	font-family: var(--sblp-menu-font, inherit);
	font-size: var(--sblp-menu-size, 15px);
	font-weight: var(--sblp-menu-weight, 600);
	text-transform: var(--sblp-menu-case, none);
}

.sblp-primary-nav .sub-menu .sblp-builder-menu__link {
	flex-direction: column;
	align-items: flex-start;
	overflow-wrap: anywhere;
}

.sblp-primary-nav > .sblp-builder-menu > li > .sblp-builder-menu__link > .sblp-builder-menu__description {
	display: none;
}

.sblp-primary-nav .sblp-menu-placeholder.sblp-builder-menu__link {
	display: flex;
	min-width: 0;
	min-height: 44px;
	align-items: center;
	padding: 9px 13px;
	border-radius: 12px;
}

.sblp-primary-nav .sblp-menu-placeholder.sblp-builder-menu__link:hover,
.sblp-primary-nav .sblp-menu-placeholder.sblp-builder-menu__link:focus-visible,
.sblp-primary-nav .current-menu-ancestor > .sblp-builder-menu__link {
	background: var(--sblp-design-accent-soft, #e5ebef);
	color: var(--sblp-design-heading, #171c22);
}

.sblp-primary-nav .sblp-mega-menu {
	box-sizing: border-box;
	gap: 8px;
	max-height: min(72vh, 720px);
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	scrollbar-gutter: stable;
}

.sblp-primary-nav .sblp-mega-menu__section,
.sblp-primary-nav .sblp-mega-menu__section-items {
	box-sizing: border-box;
	min-width: 0;
	padding: 0;
	margin: 0;
	list-style: none;
}

.sblp-primary-nav .sblp-mega-menu__section {
	display: block;
	align-self: stretch;
	padding: 5px;
	border-radius: 14px;
	background: color-mix(in srgb, var(--sblp-design-accent-soft, #e5ebef) 42%, transparent);
}

.sblp-primary-nav .sblp-mega-menu__section-title {
	display: block;
	padding: 7px 9px 5px;
	color: var(--sblp-design-muted, #68727d);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .06em;
	line-height: 1.3;
	text-transform: uppercase;
}

.sblp-primary-nav .sblp-mega-menu__section-items {
	display: grid;
	gap: 2px;
}

@media (min-width: 901px) {
	.sblp-primary-nav {
		position: relative;
	}

	.sblp-primary-nav > .sblp-builder-menu > .sblp-menu-item--mega {
		position: static;
	}

	.sblp-primary-nav .sblp-menu-item--mega > .sblp-mega-menu {
		top: calc(100% + 8px);
		right: auto;
		left: 0;
		display: none;
		width: min(760px, calc(100vw - 40px));
		max-width: none;
		grid-template-columns: repeat(var(--sblp-mega-columns, 3), minmax(0, 1fr));
		align-items: start;
		padding: 14px;
		transform: translateX(var(--sblp-mega-shift, 0px));
	}

	.sblp-primary-nav .sblp-menu-item--mega.is-submenu-open > .sblp-mega-menu {
		display: grid;
	}

	.sblp-primary-nav .sblp-menu-item--mega-wide > .sblp-mega-menu {
		width: min(1040px, calc(100vw - 40px));
	}

	.sblp-primary-nav .sblp-menu-item--mega-full > .sblp-mega-menu {
		width: min(1440px, calc(100vw - 40px));
	}

	.sblp-primary-nav .sblp-menu-item--align-left > .sblp-mega-menu {
		right: auto;
		left: 0;
		transform: translateX(var(--sblp-mega-shift, 0px));
	}

	.sblp-primary-nav .sblp-menu-item--align-center > .sblp-mega-menu {
		left: 50%;
		transform: translateX(calc(-50% + var(--sblp-mega-shift, 0px)));
	}

	.sblp-primary-nav .sblp-menu-item--align-right > .sblp-mega-menu {
		right: 0;
		left: auto;
		transform: translateX(var(--sblp-mega-shift, 0px));
	}

	.sblp-primary-nav .sblp-mega-menu > li {
		display: block;
		min-width: 0;
		padding: 2px;
	}

	.sblp-primary-nav .sblp-mega-menu > li.menu-item-has-children {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
	}

	.sblp-primary-nav .sblp-mega-menu > li.menu-item-has-children > .sblp-builder-menu__link {
		grid-column: 1;
	}

	.sblp-primary-nav .sblp-mega-menu > li.menu-item-has-children > .sblp-submenu-toggle {
		grid-column: 2;
		margin-left: -4px;
	}

	.sblp-primary-nav .sblp-mega-menu > li.menu-item-has-children > .sub-menu {
		grid-column: 1 / -1;
	}

	.sblp-primary-nav .sblp-mega-menu--sections > .sblp-mega-menu__section {
		display: block;
		padding: 5px;
	}

	.sblp-primary-nav .sblp-mega-menu__section-items > .sblp-builder-menu__item > .sblp-builder-menu__link {
		width: 100%;
		min-height: 38px;
		align-items: flex-start;
		padding: 8px 10px;
	}

	.sblp-primary-nav .sblp-mega-menu__section-items > .sblp-builder-menu__item > .sub-menu {
		position: static;
		display: none;
		width: auto;
		min-width: 0;
		max-width: none;
		padding: 2px 0 0 8px;
		border: 0;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
	}

	.sblp-primary-nav .sblp-mega-menu__section-items > .is-submenu-open > .sub-menu {
		display: block;
	}

	.sblp-primary-nav .sblp-mega-menu > li > .sblp-builder-menu__link {
		width: 100%;
		min-height: 38px;
		align-items: flex-start;
		padding: 8px 10px;
	}

	.sblp-primary-nav .sblp-mega-menu > li > .sblp-menu-placeholder {
		color: var(--sblp-design-heading, #171c22);
		font-weight: 800;
	}

	.sblp-primary-nav .sblp-mega-menu > li > .sub-menu {
		position: static;
		display: none;
		width: auto;
		min-width: 0;
		max-width: none;
		padding: 2px 0 0;
		border: 0;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
	}

	.sblp-primary-nav .sblp-mega-menu > li.is-submenu-open > .sub-menu {
		display: block;
	}

	.sblp-primary-nav .sblp-mega-menu > li > .sub-menu li {
		display: block;
	}

	.sblp-primary-nav .sblp-mega-menu > li > .sub-menu .sblp-builder-menu__link {
		width: 100%;
		min-height: 36px;
		padding: 7px 10px;
		font-size: max(12px, calc(var(--sblp-menu-size, 15px) - 1px));
		font-weight: 550;
	}
}

/* Custom section/sidebar menu. */
.sblp-custom-section-menu {
	--sblp-navigation-border: var(--sblp-design-border, #d9dfe4);
	--sblp-navigation-surface: var(--sblp-design-card-bg, var(--sblp-design-surface, #fff));
	--sblp-navigation-soft: var(--sblp-design-accent-soft, #e5ebef);
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	border: 1px solid var(--sblp-navigation-border);
	border-radius: 18px;
	background: var(--sblp-navigation-surface);
	color: var(--sblp-menu-color, var(--sblp-design-text, #20262d));
	font-family: var(--sblp-menu-font, inherit);
	font-size: var(--sblp-menu-size, 14px);
	font-weight: var(--sblp-menu-weight, 600);
	text-transform: var(--sblp-menu-case, none);
	overflow: hidden;
}

.sblp-custom-section-menu *,
.sblp-custom-section-menu *::before,
.sblp-custom-section-menu *::after {
	box-sizing: border-box;
}

.sblp-custom-section-menu__header {
	display: grid;
	gap: 3px;
	padding: 15px 16px 13px;
	border-bottom: 1px solid var(--sblp-navigation-border);
	background: transparent;
}

.sblp-custom-section-menu__header > span {
	color: var(--sblp-design-muted, #68727d);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .08em;
	line-height: 1.3;
	text-transform: uppercase;
}

.sblp-custom-section-menu__header > strong {
	color: var(--sblp-design-heading, #171c22);
	font-size: 16px;
	font-weight: 800;
	line-height: 1.3;
	text-transform: none;
	overflow-wrap: anywhere;
}

.sblp-custom-section-menu__viewport {
	max-height: var(--sblp-section-collapsed-height, 500px);
	padding: 9px;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	scrollbar-gutter: stable;
}

.sblp-custom-section-menu.is-navigation-enhanced .sblp-custom-section-menu__viewport,
.sblp-custom-section-menu.is-expanded .sblp-custom-section-menu__viewport {
	max-height: var(--sblp-section-expanded-height, 500px);
	overflow-y: auto;
}

.sblp-custom-section-menu ul {
	padding: 0;
	margin: 0;
	list-style: none;
}

.sblp-custom-section-menu__list {
	display: grid;
	gap: 3px;
}

.sblp-custom-section-menu .sblp-builder-menu__item {
	position: relative;
	display: grid;
	min-width: 0;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: start;
}

.sblp-custom-section-menu .sblp-builder-menu__link {
	display: block;
	min-width: 0;
	min-height: 38px;
	padding: 9px 10px;
	border: 0;
	border-radius: 9px;
	background: transparent;
	color: inherit;
	line-height: 1.36;
	text-decoration: none;
	overflow-wrap: anywhere;
}

.sblp-custom-section-menu .sblp-builder-menu__link:hover,
.sblp-custom-section-menu .sblp-builder-menu__link:focus-visible,
.sblp-custom-section-menu .current-menu-item > .sblp-builder-menu__link,
.sblp-custom-section-menu .current-menu-ancestor > .sblp-builder-menu__link {
	background: var(--sblp-navigation-soft);
	color: var(--sblp-design-heading, #171c22);
}

.sblp-custom-section-menu .current-menu-item > .sblp-builder-menu__link {
	font-weight: 800;
}

.sblp-custom-section-menu .sub-menu {
	display: block;
	min-width: 0;
	grid-column: 1 / -1;
	padding: 3px 0 3px 12px;
	margin-left: 9px;
	border-left: 1px solid var(--sblp-navigation-border);
}

.sblp-custom-section-menu.is-navigation-enhanced .sub-menu {
	display: none;
}

.sblp-custom-section-menu.is-navigation-enhanced .is-submenu-open > .sub-menu {
	display: block;
}

.sblp-custom-section-menu .sub-menu .sblp-builder-menu__link {
	min-height: 34px;
	padding-block: 7px;
	font-size: max(11px, calc(var(--sblp-menu-size, 14px) - 1px));
	font-weight: 550;
}

.sblp-sidebar-submenu-toggle {
	display: inline-grid;
	width: 32px;
	height: 32px;
	place-items: center;
	align-self: center;
	padding: 0;
	margin: 3px 3px 0 -2px;
	border: 0;
	border-radius: 9px;
	background: transparent;
	color: inherit;
	cursor: pointer;
}

.sblp-custom-section-menu .menu-item-has-children > .sblp-menu-placeholder::after,
.sblp-sidebar-submenu-toggle::before { display: none; content: none; }

.sblp-custom-section-menu .menu-item-has-children > .sblp-menu-placeholder {
	display: grid;
	grid-column: 1 / -1;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 8px;
	align-items: center;
	width: 100%;
}

.sblp-custom-section-menu .menu-item-has-children > .sblp-menu-placeholder > .sblp-submenu-symbol { margin-right: 2px; }

.sblp-custom-section-menu__more {
	display: flex;
	width: 100%;
	min-height: 41px;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 8px 12px;
	border: 0;
	border-top: 1px solid var(--sblp-navigation-border);
	background: var(--sblp-navigation-soft);
	color: var(--sblp-design-heading, #171c22);
	font: inherit;
	font-size: 12px;
	font-weight: 800;
	text-transform: none;
	cursor: pointer;
}

.sblp-custom-section-menu__more[hidden] {
	display: none;
}

.sblp-custom-section-menu .sblp-section-menu__chevron {
	width: 7px;
	height: 7px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: translateY(-2px) rotate(45deg);
	transition: transform .16s ease;
}

.sblp-custom-section-menu.is-expanded .sblp-section-menu__chevron {
	transform: translateY(2px) rotate(225deg);
}

@media (max-width: 900px) {
	.sblp-primary-nav .sblp-menu-item--mega > .sblp-mega-menu,
	.sblp-primary-nav .sblp-menu-item--mega-wide > .sblp-mega-menu,
	.sblp-primary-nav .sblp-menu-item--mega-full > .sblp-mega-menu {
		position: static;
		width: auto;
		min-width: 0;
		max-width: none;
		max-height: none;
		transform: none;
	}

	.sblp-primary-nav .sblp-mega-menu > li > .sub-menu {
		position: static;
		width: auto;
		min-width: 0;
		max-width: none;
	}

	.sblp-primary-nav .sblp-mega-menu__section {
		padding: 4px;
		border-radius: 11px;
	}

	.sblp-primary-nav .sblp-mega-menu__section + .sblp-mega-menu__section {
		margin-top: 7px;
	}

	.sblp-primary-nav .sblp-mega-menu__section-items > .sblp-builder-menu__item > .sub-menu {
		position: static;
		width: auto;
		min-width: 0;
		max-width: none;
	}

	.sblp-primary-nav .sblp-menu-placeholder.sblp-builder-menu__link {
		width: 100%;
		min-height: 42px;
		padding-inline: 9px;
	}
}

@media (max-width: 600px) {
	.sblp-custom-section-menu {
		border-radius: 15px;
	}

	.sblp-custom-section-menu__header {
		padding: 13px 14px 12px;
	}

	.sblp-custom-section-menu__viewport {
		padding: 7px;
	}
}

/* Header navigation 3.6.1: persistent, card-based mega menu. */
.sblp-primary-nav {
	--sblp-nav-accent: var(--sblp-design-accent, #2563eb);
	--sblp-nav-border: var(--sblp-design-border, #d9dfe4);
	--sblp-nav-heading: var(--sblp-design-heading, #171c22);
	--sblp-nav-muted: var(--sblp-design-muted, #68727d);
	--sblp-nav-on-accent: var(--sblp-design-on-accent, var(--sblp-on-accent, #fff));
	--sblp-nav-surface: var(--sblp-design-card-bg, var(--sblp-design-surface, #fff));
	--sblp-nav-panel-base: var(--sblp-design-page-bg, #fff);
	--sblp-nav-soft: var(--sblp-design-accent-soft, #e5ebef);
}

.sblp-primary-nav > .sblp-builder-menu {
	gap: 7px;
}

.sblp-primary-nav > .sblp-builder-menu > .sblp-builder-menu__item {
	gap: 3px;
	padding: 2px;
	border: 1px solid color-mix(in srgb, var(--sblp-nav-border) 84%, transparent);
	border-radius: 13px;
	background: color-mix(in srgb, var(--sblp-nav-soft) 30%, var(--sblp-nav-surface));
	transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease;
}

.sblp-primary-nav > .sblp-builder-menu > .sblp-builder-menu__item:hover,
.sblp-primary-nav > .sblp-builder-menu > .sblp-builder-menu__item:focus-within,
.sblp-primary-nav > .sblp-builder-menu > .sblp-builder-menu__item.is-submenu-open,
.sblp-primary-nav > .sblp-builder-menu > .current-menu-item,
.sblp-primary-nav > .sblp-builder-menu > .current-menu-ancestor {
	border-color: color-mix(in srgb, var(--sblp-nav-accent) 30%, var(--sblp-nav-border));
	background: color-mix(in srgb, var(--sblp-nav-accent) 6%, var(--sblp-nav-surface));
	box-shadow: 0 5px 14px rgba(20, 32, 48, .06);
}

.sblp-primary-nav > .sblp-builder-menu > .sblp-builder-menu__item > .sblp-builder-menu__link {
	min-height: 42px;
	padding: 8px 13px;
	border: 0;
	border-radius: 11px;
	background: transparent;
	color: var(--sblp-menu-color, var(--sblp-nav-heading));
	line-height: 1.2;
	transition: border-color .16s ease, background-color .16s ease, color .16s ease, transform .16s ease;
}

.sblp-primary-nav > .sblp-builder-menu > .sblp-builder-menu__item > .sblp-builder-menu__link:hover,
.sblp-primary-nav > .sblp-builder-menu > .sblp-builder-menu__item > .sblp-builder-menu__link:focus-visible,
.sblp-primary-nav > .sblp-builder-menu > .is-submenu-open > .sblp-builder-menu__link,
.sblp-primary-nav > .sblp-builder-menu > .current-menu-item > .sblp-builder-menu__link,
.sblp-primary-nav > .sblp-builder-menu > .current-menu-ancestor > .sblp-builder-menu__link {
	border: 0;
	background: transparent;
	box-shadow: none;
	color: var(--sblp-nav-heading);
}

.sblp-primary-nav .sblp-submenu-toggle {
	display: inline-grid;
	width: 32px;
	height: 32px;
	flex: 0 0 32px;
	place-items: center;
	padding: 0;
	margin: 0 0 0 -3px;
	border: 1px solid color-mix(in srgb, var(--sblp-nav-border) 84%, transparent);
	border-radius: 9px;
	background: color-mix(in srgb, var(--sblp-nav-soft) 64%, var(--sblp-nav-surface));
	color: var(--sblp-nav-heading);
	cursor: pointer;
	transition: border-color .16s ease, background-color .16s ease, color .16s ease;
}

.sblp-primary-nav .sblp-submenu-toggle::before {
	display: none !important;
	content: none !important;
}

.sblp-submenu-symbol {
	display: inline-grid;
	width: 18px;
	height: 18px;
	flex: 0 0 18px;
	place-items: center;
	border-radius: 6px;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	color: var(--sblp-nav-accent, var(--sblp-design-accent, #2563eb));
	font-size: 17px;
	font-weight: 500;
	line-height: 1;
	text-transform: none;
}

[data-sblp-submenu-icon] .sblp-submenu-symbol::before {
	display: block;
	box-sizing: border-box;
	color: inherit;
	content: "+";
	font: 800 17px/1 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	text-align: center;
}

[data-sblp-submenu-icon="plus"] .sblp-submenu-symbol[data-sblp-submenu-state="open"]::before { content: "−"; }

[data-sblp-submenu-icon="check_small"] .sblp-submenu-symbol::before,
[data-sblp-submenu-icon="check_large"] .sblp-submenu-symbol::before {
	width: 7px;
	height: 7px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	content: "";
	transform: translateY(-2px) rotate(45deg);
	transition: transform .16s ease;
}

[data-sblp-submenu-icon="check_large"] .sblp-submenu-symbol::before {
	width: 10px;
	height: 10px;
	border-width: 0 3px 3px 0;
}

[data-sblp-submenu-icon="check_small"] .sblp-submenu-symbol[data-sblp-submenu-state="open"]::before,
[data-sblp-submenu-icon="check_large"] .sblp-submenu-symbol[data-sblp-submenu-state="open"]::before { transform: translateY(2px) rotate(225deg); }
[data-sblp-submenu-icon="arrow"] .sblp-submenu-symbol::before { content: "↓"; font-size: 16px; }
[data-sblp-submenu-icon="arrow"] .sblp-submenu-symbol[data-sblp-submenu-state="open"]::before { content: "↑"; }
[data-sblp-submenu-icon="triangle"] .sblp-submenu-symbol::before { content: "▾"; font-size: 17px; }
[data-sblp-submenu-icon="triangle"] .sblp-submenu-symbol[data-sblp-submenu-state="open"]::before { content: "▴"; }

.sblp-primary-nav .sblp-submenu-toggle--attached,
.sblp-custom-section-menu .sblp-sidebar-submenu-toggle--attached {
	border: 0;
	background: transparent;
	box-shadow: none;
}

.sblp-primary-nav .sblp-submenu-toggle:hover,
.sblp-primary-nav .sblp-submenu-toggle:focus-visible,
.sblp-primary-nav .sblp-submenu-toggle[aria-expanded="true"] {
	border-color: color-mix(in srgb, var(--sblp-nav-accent) 38%, var(--sblp-nav-border));
	background: color-mix(in srgb, var(--sblp-nav-accent) 10%, transparent);
	color: var(--sblp-nav-accent);
}

.sblp-primary-nav .sblp-submenu-toggle.sblp-submenu-toggle--attached,
.sblp-primary-nav .sblp-submenu-toggle.sblp-submenu-toggle--attached:hover,
.sblp-primary-nav .sblp-submenu-toggle.sblp-submenu-toggle--attached:focus-visible,
.sblp-primary-nav .sblp-submenu-toggle.sblp-submenu-toggle--attached[aria-expanded="true"] {
	margin-left: -8px;
	border: 0;
	background: transparent;
	box-shadow: none;
	color: var(--sblp-nav-accent);
}

.sblp-primary-nav .sblp-submenu-toggle.sblp-submenu-toggle--attached:focus-visible {
	outline: 2px solid var(--sblp-nav-accent);
	outline-offset: 1px;
}

.sblp-primary-nav .sblp-menu-placeholder[data-sblp-submenu-toggle] {
	display: flex;
	justify-content: space-between;
	gap: 10px;
}

.sblp-primary-nav .sblp-menu-placeholder[data-sblp-submenu-toggle] > .sblp-submenu-symbol {
	background: color-mix(in srgb, var(--sblp-nav-accent) 9%, transparent);
}

.sblp-primary-nav .sblp-menu-placeholder[data-sblp-submenu-toggle][aria-expanded="true"] > .sblp-submenu-symbol {
	background: color-mix(in srgb, var(--sblp-nav-accent) 14%, var(--sblp-nav-surface));
	color: var(--sblp-nav-accent);
}

.sblp-primary-nav .sblp-mega-menu {
	font-family: var(--sblp-mega-font, var(--sblp-menu-font, inherit));
	font-size: var(--sblp-mega-size, 14px);
	font-weight: var(--sblp-mega-weight, 600);
	text-transform: var(--sblp-mega-case, none);
	color: var(--sblp-mega-color, var(--sblp-menu-color, var(--sblp-nav-heading)));
	scrollbar-width: thin;
	scrollbar-color: color-mix(in srgb, var(--sblp-nav-accent) 46%, transparent) transparent;
}

.sblp-primary-nav .sblp-mega-menu::-webkit-scrollbar {
	width: 9px;
}

.sblp-primary-nav .sblp-mega-menu::-webkit-scrollbar-thumb {
	border: 2px solid transparent;
	border-radius: 999px;
	background: color-mix(in srgb, var(--sblp-nav-accent) 46%, transparent);
	background-clip: padding-box;
}

.sblp-primary-nav .sblp-mega-menu,
.sblp-primary-nav .sblp-mega-menu a,
.sblp-primary-nav .sblp-mega-menu button:not(.sblp-mega-menu__close) {
	font-family: var(--sblp-mega-font, var(--sblp-menu-font, inherit));
	font-size: var(--sblp-mega-size, 14px);
	font-weight: var(--sblp-mega-weight, 600);
	text-transform: var(--sblp-mega-case, none);
	color: var(--sblp-mega-color, var(--sblp-menu-color, var(--sblp-nav-heading)));
}

.sblp-primary-nav .sblp-mega-menu__toolbar {
	display: flex !important;
	min-width: 0;
	grid-column: 1 / -1;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 2px 2px 14px !important;
	margin: 0 0 2px;
	border: 0 !important;
	border-bottom: 1px solid color-mix(in srgb, var(--sblp-nav-border) 82%, transparent) !important;
	border-radius: 0 !important;
	background: transparent !important;
}

.sblp-mega-menu__heading {
	display: grid;
	min-width: 0;
	gap: 2px;
	text-transform: none;
}

.sblp-mega-menu__heading small {
	color: var(--sblp-nav-muted);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .11em;
	line-height: 1.2;
	text-transform: uppercase;
}

.sblp-mega-menu__heading strong {
	overflow: hidden;
	color: var(--sblp-nav-heading);
	font-size: max(15px, var(--sblp-mega-size, 14px));
	font-weight: 800;
	line-height: 1.25;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.sblp-primary-nav .sblp-mega-menu__close {
	display: inline-grid;
	width: 38px;
	height: 38px;
	flex: 0 0 38px;
	place-items: center;
	padding: 0;
	border: 1px solid var(--sblp-nav-border);
	border-radius: 11px;
	background: color-mix(in srgb, var(--sblp-nav-soft) 62%, var(--sblp-nav-surface));
	color: var(--sblp-nav-heading);
	cursor: pointer;
	transition: border-color .16s ease, background-color .16s ease, color .16s ease, transform .16s ease;
}

.sblp-primary-nav .sblp-mega-menu__close > span {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 25px;
	font-weight: 350;
	line-height: 1;
	transform: translateY(-1px);
}

.sblp-primary-nav .sblp-mega-menu__close:hover,
.sblp-primary-nav .sblp-mega-menu__close:focus-visible {
	border-color: var(--sblp-nav-accent);
	background: var(--sblp-nav-accent);
	color: var(--sblp-nav-on-accent);
	transform: translateY(-1px);
}

@media (min-width: 901px) {
	.sblp-primary-nav .sblp-menu-item--mega > .sblp-mega-menu {
		--sblp-mega-anchor-x: 0%;
		z-index: 80;
		top: calc(100% + 10px);
		display: none;
		gap: 12px;
		max-height: min(76vh, 760px);
		padding: 18px;
		border: 1px solid color-mix(in srgb, var(--sblp-nav-border) 92%, transparent);
		border-radius: 22px;
		background-color: var(--sblp-nav-panel-base);
		background-image: linear-gradient(145deg, color-mix(in srgb, var(--sblp-nav-surface) 96%, var(--sblp-nav-soft)) 0%, var(--sblp-nav-surface) 68%);
		box-shadow: 0 28px 70px rgba(20, 32, 48, .16), 0 8px 22px rgba(20, 32, 48, .08);
		animation: sblp-mega-enter .16s ease-out both;
	}

	.sblp-primary-nav .sblp-menu-item--mega.sblp-menu-item--align-center > .sblp-mega-menu {
		--sblp-mega-anchor-x: -50%;
	}

	.sblp-primary-nav .sblp-menu-item--mega.sblp-menu-item--align-left > .sblp-mega-menu,
	.sblp-primary-nav .sblp-menu-item--mega.sblp-menu-item--align-right > .sblp-mega-menu {
		--sblp-mega-anchor-x: 0%;
	}

	.sblp-primary-nav .sblp-menu-item--mega > .sblp-mega-menu::before {
		position: absolute;
		right: 0;
		bottom: 100%;
		left: 0;
		height: 12px;
		content: "";
		pointer-events: none;
	}

	.sblp-primary-nav .sblp-menu-item--mega:hover > .sblp-mega-menu,
	.sblp-primary-nav .sblp-menu-item--mega:focus-within > .sblp-mega-menu {
		display: none;
	}

	.sblp-primary-nav .sblp-menu-item--mega.is-submenu-open > .sblp-mega-menu,
	.sblp-primary-nav .sblp-menu-item--mega.is-submenu-open:hover > .sblp-mega-menu,
	.sblp-primary-nav .sblp-menu-item--mega.is-submenu-open:focus-within > .sblp-mega-menu {
		display: grid;
	}

	.sblp-primary-nav .sblp-mega-menu > .sblp-builder-menu__item:not(.sblp-mega-menu__toolbar),
	.sblp-primary-nav .sblp-mega-menu__section-items > .sblp-builder-menu__item {
		display: grid;
		min-width: 0;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
		padding: 4px;
		border: 1px solid color-mix(in srgb, var(--sblp-nav-border) 82%, transparent);
		border-radius: 13px;
		background: color-mix(in srgb, var(--sblp-nav-soft) 46%, var(--sblp-nav-surface));
		transition: border-color .16s ease, background-color .16s ease, transform .16s ease;
	}

	.sblp-primary-nav .sblp-mega-menu > .sblp-builder-menu__item:not(.sblp-mega-menu__toolbar):hover,
	.sblp-primary-nav .sblp-mega-menu__section-items > .sblp-builder-menu__item:hover,
	.sblp-primary-nav .sblp-mega-menu .sblp-builder-menu__item.is-submenu-open {
		border-color: color-mix(in srgb, var(--sblp-nav-accent) 32%, var(--sblp-nav-border));
		background: color-mix(in srgb, var(--sblp-nav-accent) 7%, var(--sblp-nav-surface));
	}

	.sblp-primary-nav .sblp-mega-menu .sblp-builder-menu__link {
		min-height: 40px;
		padding: 9px 10px;
		border: 0;
		border-radius: 9px;
		background: transparent;
		line-height: 1.3;
	}

	.sblp-primary-nav .sblp-mega-menu .sblp-builder-menu__link:hover,
	.sblp-primary-nav .sblp-mega-menu .sblp-builder-menu__link:focus-visible {
		background: color-mix(in srgb, var(--sblp-nav-accent) 9%, transparent);
		color: var(--sblp-nav-heading);
	}

	.sblp-primary-nav .sblp-mega-menu .sblp-submenu-toggle {
		width: 30px;
		height: 30px;
		flex-basis: 30px;
		margin: 0 4px 0 0;
		border-radius: 9px;
	}

	.sblp-primary-nav .sblp-mega-menu .sblp-menu-placeholder[data-sblp-submenu-toggle] {
		grid-column: 1 / -1;
	}

	.sblp-primary-nav .sblp-mega-menu__section {
		padding: 7px;
		border: 0;
		border-radius: 15px;
		background: transparent;
	}

	.sblp-primary-nav .sblp-mega-menu__section + .sblp-mega-menu__section {
		border-left: 1px solid color-mix(in srgb, var(--sblp-nav-border) 72%, transparent);
		border-radius: 0 15px 15px 0;
	}

	.sblp-primary-nav .sblp-mega-menu__section-title {
		padding: 4px 7px 9px;
		color: var(--sblp-nav-muted);
		font-size: 10px;
		font-weight: 800;
		letter-spacing: .09em;
		line-height: 1.25;
		text-transform: uppercase;
	}

	.sblp-primary-nav .sblp-mega-menu__section-items {
		gap: 7px;
	}

	.sblp-primary-nav .sblp-mega-menu li:hover > .sub-menu:not(.is-forced-open) {
		display: none;
	}

	.sblp-primary-nav .sblp-mega-menu li.is-submenu-open > .sub-menu,
	.sblp-primary-nav .sblp-mega-menu li.is-submenu-open:hover > .sub-menu {
		display: grid;
		gap: 4px;
		padding: 5px 3px 3px 12px;
	}

	.sblp-primary-nav .sblp-mega-menu li.is-submenu-open > .sub-menu > li {
		border-left: 2px solid color-mix(in srgb, var(--sblp-nav-accent) 24%, var(--sblp-nav-border));
	}
}

@keyframes sblp-mega-enter {
	from { transform: translateX(calc(var(--sblp-mega-anchor-x, 0%) + var(--sblp-mega-shift, 0px))) translateY(-5px); }
	to { transform: translateX(calc(var(--sblp-mega-anchor-x, 0%) + var(--sblp-mega-shift, 0px))) translateY(0); }
}

@media (min-width: 901px) and (max-width: 1180px) {
	.sblp-primary-nav .sblp-menu-item--columns-3 > .sblp-mega-menu,
	.sblp-primary-nav .sblp-menu-item--columns-4 > .sblp-mega-menu {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sblp-primary-nav .sblp-menu-item--columns-3 > .sblp-mega-menu--sections > .sblp-mega-menu__section,
	.sblp-primary-nav .sblp-menu-item--columns-4 > .sblp-mega-menu--sections > .sblp-mega-menu__section {
		border-left: 0;
		border-radius: 15px;
	}

	.sblp-primary-nav .sblp-menu-item--columns-3 > .sblp-mega-menu--sections > .sblp-mega-menu__section:nth-child(odd),
	.sblp-primary-nav .sblp-menu-item--columns-4 > .sblp-mega-menu--sections > .sblp-mega-menu__section:nth-child(odd) {
		border-left: 1px solid color-mix(in srgb, var(--sblp-nav-border) 72%, transparent);
		border-radius: 0 15px 15px 0;
	}
}

@media (max-width: 900px) {
	.sblp-primary-nav > .sblp-builder-menu {
		display: grid;
		gap: 7px;
	}

	.sblp-primary-nav > .sblp-builder-menu > .sblp-builder-menu__item {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 5px;
		padding: 4px;
		border: 1px solid color-mix(in srgb, var(--sblp-nav-border) 82%, transparent);
		border-radius: 13px;
		background: color-mix(in srgb, var(--sblp-nav-soft) 38%, var(--sblp-nav-surface));
	}

	.sblp-primary-nav > .sblp-builder-menu > .sblp-builder-menu__item > .sblp-builder-menu__link {
		width: 100%;
		min-height: 40px;
		grid-column: 1;
		padding: 8px 9px;
	}

	.sblp-primary-nav > .sblp-builder-menu > .sblp-builder-menu__item > .sblp-menu-placeholder[data-sblp-submenu-toggle] {
		grid-column: 1 / -1;
	}

	.sblp-primary-nav .sblp-menu-item--mega:hover > .sblp-mega-menu:not(.is-forced-open) {
		display: none;
	}

	.sblp-primary-nav .sblp-menu-item--mega.is-submenu-open > .sblp-mega-menu {
		display: grid;
	}

	.sblp-primary-nav .sblp-menu-item--mega > .sblp-mega-menu,
	.sblp-primary-nav .sblp-menu-item--mega-wide > .sblp-mega-menu,
	.sblp-primary-nav .sblp-menu-item--mega-full > .sblp-mega-menu {
		grid-template-columns: 1fr;
		gap: 9px;
		max-height: min(62vh, 520px);
		padding: 12px;
		margin-top: 7px;
		border: 1px solid color-mix(in srgb, var(--sblp-nav-border) 88%, transparent);
		border-radius: 15px;
		background: var(--sblp-nav-surface);
		box-shadow: inset 0 1px 0 color-mix(in srgb, #fff 74%, transparent);
		overflow-y: auto;
	}

	.sblp-primary-nav .sblp-mega-menu__toolbar {
		position: sticky;
		top: -12px;
		z-index: 3;
		padding: 12px 2px 11px !important;
		background: var(--sblp-nav-surface) !important;
	}

	.sblp-primary-nav .sblp-mega-menu__section {
		padding: 5px;
		border: 0;
		border-radius: 12px;
		background: transparent;
	}

	.sblp-primary-nav .sblp-mega-menu__section + .sblp-mega-menu__section {
		padding-top: 10px;
		margin-top: 0;
		border-top: 1px solid color-mix(in srgb, var(--sblp-nav-border) 72%, transparent);
	}

	.sblp-primary-nav .sblp-mega-menu__section-items,
	.sblp-primary-nav .sblp-mega-menu > .sblp-builder-menu__item:not(.sblp-mega-menu__toolbar) {
		display: grid;
		gap: 6px;
	}

	.sblp-primary-nav .sblp-mega-menu .sblp-builder-menu__item {
		display: grid;
		min-width: 0;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
		padding: 4px;
		border: 1px solid color-mix(in srgb, var(--sblp-nav-border) 78%, transparent);
		border-radius: 11px;
		background: color-mix(in srgb, var(--sblp-nav-soft) 42%, var(--sblp-nav-surface));
	}

	.sblp-primary-nav .sblp-mega-menu .sblp-builder-menu__link {
		width: 100%;
		min-height: 38px;
		padding: 8px 9px;
		border-radius: 8px;
	}

	.sblp-primary-nav .sblp-mega-menu .sblp-menu-placeholder[data-sblp-submenu-toggle] {
		grid-column: 1 / -1;
	}

	.sblp-primary-nav .sblp-mega-menu li.is-submenu-open > .sub-menu {
		display: grid;
		gap: 5px;
		padding: 5px 2px 2px 10px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sblp-builder-menu *,
	.sblp-custom-section-menu * {
		scroll-behavior: auto !important;
		transition: none !important;
	}

	.sblp-primary-nav .sblp-menu-item--mega > .sblp-mega-menu {
		animation: none !important;
	}
}

/* Automatic and custom mega menus intentionally share one surface language. */
.sblp-primary-nav .sblp-mega-menu--sections > .sblp-mega-menu__section,
.sblp-primary-nav .sblp-mega-menu--sections > .sblp-mega-menu__section + .sblp-mega-menu__section {
	padding: 5px;
	margin-top: 0;
	border: 0;
	border-radius: 15px;
	background: transparent;
}

@media print {
	.sblp-custom-section-menu {
		display: none !important;
	}
}
