.msc-design-system .site-header-row-container-inner,
.msc-design-system .item-is-stuck { transition: none; }
.msc-design-system .site-header-item,
.msc-design-system .header-navigation .menu > li > a { min-width: 0; }
.msc-design-system .header-navigation .menu > li > a { gap: .55em; }
.msc-design-system .header-navigation .menu > li > a:hover,
.msc-design-system .header-navigation .menu > li.current-menu-item > a {
	background: color-mix(in srgb, var(--msc-blue) 9%, transparent);
	color: var(--msc-blue);
}
.msc-design-system .header-navigation .sub-menu,
.msc-design-system .wp-block-kadence-navigation .sub-menu {
	border-radius: 0 0 12px 12px;
	overflow: hidden;
}
.msc-design-system .header-navigation img.avatar,
.msc-design-system .kadence-account-image img { aspect-ratio: 1; border-radius: 50%; object-fit: cover; }
.msc-design-system .item-is-stuck { transform: none !important; }
.msc-design-system .kb-user-info-avatar img { width: 40px; height: 40px; object-fit: cover; }
.msc-design-system .link-highlight-label-text { text-align: center; }
.msc-design-system .wp-block-kadence-header.header-desktop-sticky .item-is-stuck,
.msc-design-system .wp-block-kadence-navigation.navigation-desktop-orientation-horizontal .sub-menu {
	box-shadow: none;
}

/* Keep icon-only header controls independent from global link/button colours. */
.msc-design-system :where(.wp-block-kadence-header,.kb-off-canvas-inner-wrap)
	:where(a,button):has(> .kb-nav-item-title-wrap .link-svg-icon-fe_user),
.msc-design-system :where(.wp-block-kadence-header,.kb-off-canvas-inner-wrap)
	:where(a,button):has(> .kb-nav-item-title-wrap .link-svg-icon-fe_heart),
.msc-design-system :where(.wp-block-kadence-header,.kb-off-canvas-inner-wrap)
	:where(a,button):has(> .kb-nav-item-title-wrap .link-svg-icon-fe_search),
.msc-design-system :where(.wp-block-kadence-header,.kb-off-canvas-inner-wrap)
	button.kb-nav-dropdown-toggle-btn {
	border-color: transparent !important;
	background: transparent !important;
	background-image: none !important;
	color: var(--msc-text, #232c39) !important;
	box-shadow: none !important;
	outline-color: transparent;
	transform: none !important;
}
.msc-design-system :where(.wp-block-kadence-header,.kb-off-canvas-inner-wrap)
	:where(a,button):has(> .kb-nav-item-title-wrap :where(.link-svg-icon-fe_user,.link-svg-icon-fe_heart,.link-svg-icon-fe_search))
	:where(:hover,:focus,:focus-visible,:active),
.msc-design-system :where(.wp-block-kadence-header,.kb-off-canvas-inner-wrap)
	button.kb-nav-dropdown-toggle-btn:where(:hover,:focus,:focus-visible,:active) {
	border-color: transparent !important;
	background: transparent !important;
	background-image: none !important;
	color: var(--msc-text, #232c39) !important;
	box-shadow: none !important;
	outline-color: transparent;
}

.msc-design-system .wp-block-kadence-off-canvas-trigger .msc-foundation-menu-icon {
	display: block;
	width: 30px;
	height: 30px;
	overflow: visible;
}
.msc-design-system .wp-block-kadence-off-canvas-trigger .msc-foundation-menu-icon .line {
	fill: none;
	stroke: currentColor;
	stroke-width: 2px !important;
	stroke-linecap: round;
	vector-effect: non-scaling-stroke;
	transform-box: fill-box;
	transform-origin: center;
	transition: transform .24s ease, opacity .18s ease;
}
.msc-design-system .wp-block-kadence-off-canvas-trigger.triggered .msc-foundation-menu-icon .line1 {
	transform: translateY(6px) rotate(45deg);
}
.msc-design-system .wp-block-kadence-off-canvas-trigger.triggered .msc-foundation-menu-icon .line2 {
	transform: translateY(-6px) rotate(-45deg);
}
.msc-design-system .wp-block-kadence-off-canvas-trigger.triggered .msc-foundation-menu-icon .line {
	stroke: #EF3E46;
	stroke-width: 2.8px !important;
}

@media (min-width:1025px) {
	/*
	 * Keep the header glass on a sibling pseudo-layer. Applying backdrop-filter
	 * directly to the row creates a backdrop root and prevents its descendant
	 * mega menus from sampling the page behind them.
	 */
	.msc-design-system .wp-block-kadence-header-desktop .kadence-header-row-inner {
		position: relative;
		width: min(calc(100vw - var(--msc-site-horizontal-gutters, 32px)), var(--msc-site-container-width, 1104px));
		margin-inline: auto;
		padding-inline: 24px;
		background: transparent !important;
	}
	.msc-design-system .wp-block-kadence-header-desktop .kadence-header-row-inner::before {
		content: "";
		position: absolute;
		z-index: 0;
		inset: 0;
		pointer-events: none;
		background: rgba(238,238,238,.7);
		border-radius: 12px;
		-webkit-backdrop-filter: blur(12px);
		backdrop-filter: blur(12px);
		transition: border-radius .16s ease;
	}
	.msc-design-system .wp-block-kadence-header-desktop .kadence-header-row-inner:has(.menu-item:hover > .sub-menu.mega-menu)::before,
	.msc-design-system .wp-block-kadence-header-desktop .kadence-header-row-inner:has(.menu-item:focus-within > .sub-menu.mega-menu)::before,
	.msc-design-system .wp-block-kadence-header-desktop .kadence-header-row-inner:has(.menu-item--toggled-on > .sub-menu.mega-menu)::before {
		border-radius: 12px 12px 0 0;
	}
	.msc-design-system .wp-block-kadence-header-desktop .kadence-header-row-inner > .wp-block-kadence-header-section {
		position: relative;
		z-index: 1;
	}
	.msc-design-system ul.sub-menu.kb-nav-sub-menu.mega-menu {
		left: var(--msc-mega-left, calc(var(--kb-nav-dropdown-show-left) - 16px)) !important;
		width: var(--msc-mega-width, calc(var(--kb-nav-dropdown-width) + 32px)) !important;
		background: rgba(238,238,238,.7);
		-webkit-backdrop-filter: blur(12px);
		backdrop-filter: blur(12px);
		border-radius: 0 0 12px 12px !important;
		overflow: hidden;
	}
	.msc-design-system ul.sub-menu.kb-nav-sub-menu.mega-menu > li:last-child,
	.msc-design-system ul.sub-menu.kb-nav-sub-menu.mega-menu > li:last-child > .kb-link-wrap {
		border-radius: 0 0 12px 12px;
	}
	.msc-design-system button.kb-nav-dropdown-toggle-btn { display: none !important; }
	.msc-design-system .main-menu-navigation .navigation > .menu-container > .menu > .wp-block-kadence-navigation-link > .kb-link-wrap > .kb-nav-link-content {
		padding-right: 0;
		padding-left: 0;
		margin-right: 20px;
	}
}

@media (max-width:1024px) {
	.msc-design-system .kadence-header-row-inner,
	.msc-design-system .mega-menu-blur {
		-webkit-backdrop-filter: blur(12px);
		backdrop-filter: blur(12px);
	}
	.msc-design-system .wp-block-kadence-navigation .menu .menu-item--toggled-on > .sub-menu { margin-left: 0; }
	.msc-design-system .kb-off-canvas-inner-wrap { margin-top: 76px; }
	.msc-design-system .kb-off-canvas-inner { justify-content: space-between; }
	.msc-design-system .mobile-menu-sticky-footer { position: sticky; bottom: 0; }
	.msc-design-system .kb-off-canvas-inner-wrap .wp-block-kadence-navigation-link > .kb-link-wrap {
		width: 100%;
	}
}

/* Tablet: visually join the header bar to its open menu. */
@media (min-width:768px) and (max-width:1024px) {
	/*
	 * Header geometry is a Foundation concern. Do not allow a receiver site's
	 * Kadence page-edge token to make the shared tablet header narrower.
	 */
	.msc-design-system .wp-block-kadence-header-tablet .kb-header-sticky-wrapper,
	.msc-design-system .wp-block-kadence-header-tablet .kadence-header-row-inner {
		padding-inline: 16px !important;
	}
	.msc-design-system .wp-block-kadence-header-tablet .kadence-header-row-inner:has(.wp-block-kadence-off-canvas-trigger.triggered) {
		border-radius: 12px 12px 0 0 !important;
	}
	.msc-design-system .wp-block-kadence-off-canvas .kb-off-canvas-inner-wrap {
		border-radius: 0 0 12px 12px !important;
		overflow: hidden;
	}
}

/* Mobile only: the animated header trigger is the sole close control. */
@media (max-width:767px) {
	.msc-design-system .wp-block-kadence-header-tablet .kadence-header-row-inner {
		transition: width .24s ease, max-width .24s ease, margin .24s ease, border-radius .24s ease;
	}
	.msc-design-system .wp-block-kadence-header-tablet .kadence-header-row-inner:has(.wp-block-kadence-off-canvas-trigger.triggered) {
		width: 100vw !important;
		max-width: 100vw !important;
		margin-inline: calc(50% - 50vw) !important;
		border-radius: 12px 12px 0 0 !important;
	}
	.msc-design-system .kb-off-canvas-inner-wrap > .kb-off-canvas-close {
		display: none !important;
	}
}
