/**
 * Site header — exact match to JSM nav mockup.
 * Restyles HFE #masthead: blue utility bar + white icon-nav + cart.
 */

body.jsm-sticky-nav {
	--jsm-nav-blue: #016cc6;
	--jsm-nav-navy: #162b4a;
	--jsm-nav-ink: #1a3558;
	--jsm-nav-line: #d7dee8;
	--jsm-nav-radius: 0px;
	--jsm-nav-inset: 0px;
	--jsm-sticky-header-offset: 84px;
}

body.jsm-sticky-nav #masthead {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	z-index: 100000;
	background: #fff !important;
	border: 0 !important;
	border-radius: 0 !important;
	overflow: visible;
	box-shadow: 0 1px 0 rgba(10, 47, 92, 0.10);
	transition: box-shadow 0.2s ease;
}

body.jsm-sticky-nav.admin-bar #masthead {
	top: 32px;
}

@media screen and (max-width: 782px) {
	body.jsm-sticky-nav.admin-bar #masthead {
		top: 46px;
	}
}

body.jsm-sticky-nav.is-header-scrolled #masthead {
	box-shadow: 0 4px 14px rgba(0, 40, 80, 0.10);
}

body.jsm-sticky-nav #page {
	padding-top: 0 !important;
}

body.jsm-sticky-nav #content.site-content,
body.jsm-sticky-nav .site-content {
	padding-top: var(--jsm-sticky-header-offset) !important;
	margin-top: 0 !important;
}

/* Outer Elementor wrappers */
body.jsm-sticky-nav #masthead .elementor-30,
body.jsm-sticky-nav #masthead .elementor {
	background: transparent !important;
}

/* ===== Top utility bar (blue) ===== */
body.jsm-sticky-nav #masthead .elementor-element-8b355c8 {
	--padding-top: 0px;
	--padding-bottom: 0px;
	background-color: var(--jsm-nav-blue) !important;
	background-image: none !important;
	border-radius: 0;
	min-height: 0 !important;
}

body.jsm-sticky-nav #masthead .elementor-element-27be84c,
body.jsm-sticky-nav #masthead .elementor-element-ca806ec {
	--padding-top: 0px !important;
	--padding-bottom: 0px !important;
	--padding-left: 0px !important;
	--padding-right: 0px !important;
	padding: 4px 22px !important;
	align-items: center !important;
}

body.jsm-sticky-nav #masthead .elementor-element-d60fcb7 {
	--e-icon-list-icon-size: 13px;
	--e-icon-list-icon-color: #ffffff;
	--e-icon-list-text-color: #ffffff;
}

body.jsm-sticky-nav #masthead .elementor-element-d60fcb7 .elementor-icon-list-items {
	gap: 26px;
}

body.jsm-sticky-nav #masthead .elementor-element-d60fcb7 .elementor-icon-list-item {
	margin: 0 !important;
	padding: 0 !important;
}

body.jsm-sticky-nav #masthead .elementor-element-d60fcb7 .elementor-icon-list-icon {
	color: #fff !important;
	fill: #fff !important;
}

body.jsm-sticky-nav #masthead .elementor-element-d60fcb7 .elementor-icon-list-icon svg {
	width: 13px;
	height: 13px;
	fill: #fff !important;
}

body.jsm-sticky-nav #masthead .elementor-element-d60fcb7 .elementor-icon-list-item > .elementor-icon-list-text,
body.jsm-sticky-nav #masthead .elementor-element-d60fcb7 .elementor-icon-list-item > a,
body.jsm-sticky-nav #masthead .elementor-element-d60fcb7 .elementor-icon-list-text {
	color: #fff !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	line-height: 1.15 !important;
	letter-spacing: 0.01em;
}

body.jsm-sticky-nav #masthead .elementor-element-d60fcb7 a {
	color: #fff !important;
	text-decoration: none !important;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

/* Social icons — white on blue */
body.jsm-sticky-nav #masthead .elementor-element-1a75211 .elementor-social-icon {
	background: transparent !important;
	color: #fff !important;
	fill: #fff !important;
	width: 22px !important;
	height: 22px !important;
	margin: 0 2px !important;
}

body.jsm-sticky-nav #masthead .elementor-element-1a75211 .elementor-social-icon svg {
	width: 15px;
	height: 15px;
	fill: #fff !important;
}

body.jsm-sticky-nav #masthead .elementor-element-1a75211 .elementor-grid {
	gap: 6px;
	justify-content: flex-end;
}

/* ===== Main white navigation bar ===== */
body.jsm-sticky-nav #masthead .elementor-element-48a8d5f {
	--padding-top: 0px;
	--padding-bottom: 0px;
	background-color: #ffffff !important;
	background-image: none !important;
	border-radius: 0;
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	/* ~15% of icon+label stack (~40px) => ~6px top/bottom */
	padding: 6px 18px !important;
	gap: 8px;
	min-height: 0 !important;
}

body.jsm-sticky-nav #masthead .elementor-element-b42328f,
body.jsm-sticky-nav #masthead .elementor-element-3b55298,
body.jsm-sticky-nav #masthead .elementor-element-758d9df,
body.jsm-sticky-nav #masthead .elementor-element-1086968 {
	--padding-top: 0px !important;
	--padding-bottom: 0px !important;
	padding: 0 !important;
	align-items: center !important;
	align-self: center !important;
}

/* Logo */
body.jsm-sticky-nav #masthead .elementor-element-3fda4da {
	padding: 0 !important;
	margin: 0 !important;
}

body.jsm-sticky-nav #masthead .elementor-element-3fda4da img {
	width: auto !important;
	max-width: 112px !important;
	max-height: 44px !important;
	height: auto !important;
	object-fit: contain;
	display: block;
}

/* ===== Icon-over-label navigation ===== */
/* IMPORTANT: only target the UL — HFE also uses .hfe-nav-menu on an outer wrapper. */
body.jsm-sticky-nav #masthead .elementor-element-fbbe66a ul.hfe-nav-menu {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 28px;
	margin: 0;
	padding: 0;
	height: auto !important;
	min-height: 0 !important;
}

body.jsm-sticky-nav #masthead .elementor-element-fbbe66a .hfe-nav-menu.hfe-layout-horizontal,
body.jsm-sticky-nav #masthead .elementor-element-fbbe66a .hfe-nav-menu__layout-horizontal {
	height: auto !important;
	min-height: 0 !important;
	gap: 0 !important;
}

body.jsm-sticky-nav #masthead .elementor-element-fbbe66a ul.hfe-nav-menu > .menu-item {
	margin: 0 !important;
}

body.jsm-sticky-nav #masthead .elementor-element-fbbe66a ul.hfe-nav-menu > .menu-item > a.hfe-menu-item,
body.jsm-sticky-nav #masthead .elementor-element-fbbe66a ul.hfe-nav-menu > .menu-item > .hfe-has-submenu-container > a.hfe-menu-item {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 3px;
	padding: 2px 4px 4px !important;
	color: #1e3a5f !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1.1 !important;
	letter-spacing: 0.01em;
	text-align: center;
	border-radius: 0;
	position: relative;
	white-space: nowrap;
}

body.jsm-sticky-nav #masthead .elementor-element-fbbe66a ul.hfe-nav-menu > .menu-item > a.hfe-menu-item:hover,
body.jsm-sticky-nav #masthead .elementor-element-fbbe66a ul.hfe-nav-menu > .menu-item > .hfe-has-submenu-container > a.hfe-menu-item:hover,
body.jsm-sticky-nav #masthead .elementor-element-fbbe66a ul.hfe-nav-menu > .menu-item.current-menu-item > a.hfe-menu-item,
body.jsm-sticky-nav #masthead .elementor-element-fbbe66a ul.hfe-nav-menu > .menu-item.current_page_item > a.hfe-menu-item {
	color: #016cc6 !important;
	background: transparent !important;
}

/* Active underline under Home (and current items) */
body.jsm-sticky-nav #masthead .elementor-element-fbbe66a ul.hfe-nav-menu > .menu-item.current-menu-item > a.hfe-menu-item::after,
body.jsm-sticky-nav #masthead .elementor-element-fbbe66a ul.hfe-nav-menu > .menu-item.current_page_item > a.hfe-menu-item::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	width: 36px;
	height: 1.5px;
	background: #4aa3e0;
	border-radius: 1px;
}


body.jsm-sticky-nav #masthead .jsm-nav-label {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 2px;
	line-height: 1.15;
}

body.jsm-sticky-nav #masthead .jsm-nav-ico {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	color: inherit;
	line-height: 0;
}

body.jsm-sticky-nav #masthead .jsm-nav-ico svg {
	width: 20px;
	height: 20px;
	display: block;
	stroke: currentColor;
	fill: none;
	stroke-width: 1.65;
}

body.jsm-sticky-nav #masthead .jsm-nav-ico svg [data-fill="1"] {
	fill: currentColor;
	stroke: none;
}

/* Keep submenu chevron inline with label */
body.jsm-sticky-nav #masthead .elementor-element-fbbe66a .hfe-menu-toggle.sub-arrow {
	display: inline-flex !important;
	align-items: center;
	margin-left: 3px;
	position: static !important;
	transform: none !important;
	font-size: 9px !important;
	line-height: 1;
	color: inherit;
}

body.jsm-sticky-nav #masthead .elementor-element-fbbe66a .hfe-menu-toggle.sub-arrow i::before,
body.jsm-sticky-nav #masthead .elementor-element-fbbe66a .hfe-menu-toggle.sub-arrow::before {
	color: inherit;
}

/* Submenus stay normal horizontal dropdowns */
body.jsm-sticky-nav #masthead .elementor-element-fbbe66a .sub-menu .hfe-sub-menu-item {
	flex-direction: row !important;
	align-items: flex-start !important;
	padding: 10px 16px !important;
	font-size: 14px !important;
	text-align: left;
}

body.jsm-sticky-nav #masthead .elementor-element-fbbe66a .sub-menu .jsm-nav-ico {
	display: none !important;
}

/* Let dropdowns escape the header (must not clip) */
body.jsm-sticky-nav #masthead .elementor,
body.jsm-sticky-nav #masthead .elementor-30,
body.jsm-sticky-nav #masthead .elementor-element-48a8d5f,
body.jsm-sticky-nav #masthead .elementor-element-fbbe66a,
body.jsm-sticky-nav #masthead .elementor-element-b42328f,
body.jsm-sticky-nav #masthead .elementor-element-3b55298,
body.jsm-sticky-nav #masthead .hfe-nav-menu.hfe-layout-horizontal,
body.jsm-sticky-nav #masthead .hfe-nav-menu__layout-horizontal {
	overflow: visible !important;
}

/* Stable white nav height across pages */
body.jsm-sticky-nav #masthead .elementor-element-48a8d5f {
	min-height: 58px !important;
	max-height: none;
	box-sizing: border-box;
	align-items: center !important;
}

body.jsm-sticky-nav #masthead .elementor-element-fbbe66a ul.hfe-nav-menu > .menu-item {
	position: relative;
}

/* Force visible dropdown panels on hover/focus-within (HFE click mode otherwise hides them) */
body.jsm-sticky-nav #masthead .elementor-element-fbbe66a ul.hfe-nav-menu > .menu-item-has-children:hover > .sub-menu,
body.jsm-sticky-nav #masthead .elementor-element-fbbe66a ul.hfe-nav-menu > .menu-item-has-children:focus-within > .sub-menu,
body.jsm-sticky-nav #masthead .elementor-element-fbbe66a ul.hfe-nav-menu > .menu-item-has-children.hfe-active-menu > .sub-menu {
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
}

body.jsm-sticky-nav #masthead .elementor-element-fbbe66a ul.hfe-nav-menu > .menu-item > .sub-menu,
body.jsm-sticky-nav #masthead .elementor-element-fbbe66a ul.hfe-nav-menu > .menu-item > .hfe-has-submenu-container + .sub-menu {
	position: absolute !important;
	top: 100% !important;
	left: 50% !important;
	transform: translateX(-50%);
	min-width: 220px;
	z-index: 100001 !important;
	background: #fff !important;
	box-shadow: 0 10px 28px rgba(10, 47, 92, 0.14);
	border: 1px solid #e2e8f0;
	border-radius: 6px;
	padding: 6px 0 !important;
	margin: 0 !important;
}

/* Keep phone + cart from collapsing when menu height changes */
body.jsm-sticky-nav #masthead .elementor-element-758d9df,
body.jsm-sticky-nav #masthead .elementor-element-e919876 {
	min-height: 44px !important;
}

/* FA is not enqueued on every page — draw our own chevron so height stays consistent */
body.jsm-sticky-nav #masthead .elementor-element-fbbe66a .hfe-menu-toggle.sub-arrow i {
	display: none !important;
}

body.jsm-sticky-nav #masthead .elementor-element-fbbe66a .hfe-menu-toggle.sub-arrow::after {
	content: "";
	display: inline-block;
	width: 5px;
	height: 5px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(45deg) translateY(-1px);
}

/* ===== Phone + account + cart (single row, no divider lines) ===== */
body.jsm-sticky-nav #masthead .elementor-element-758d9df {
	border-left: 0 !important;
	padding-left: 12px !important;
	margin-left: 4px;
	min-height: 0;
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	align-self: center !important;
	gap: 10px;
}

@media (min-width: 768px) {
	body.jsm-sticky-nav #masthead .elementor-element-758d9df,
	body.jsm-sticky-nav #masthead .elementor-element-e919876 {
		display: flex !important;
	}
}

body.jsm-sticky-nav #masthead .elementor-element-e919876 {
	padding: 0 !important;
	margin: 0 !important;
	align-items: center !important;
	align-self: center !important;
}

body.jsm-sticky-nav #masthead .elementor-element-e919876 .elementor-widget-container,
body.jsm-sticky-nav #masthead .elementor-element-e919876 .elementor-icon-box-wrapper {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px;
	margin: 0 !important;
	padding: 0 !important;
}

body.jsm-sticky-nav #masthead .elementor-element-e919876 .elementor-icon-box-icon,
body.jsm-sticky-nav #masthead .elementor-element-e919876 .elementor-icon {
	color: var(--jsm-nav-navy) !important;
	fill: var(--jsm-nav-navy) !important;
	margin: 0 !important;
}

body.jsm-sticky-nav #masthead .elementor-element-e919876 .elementor-icon svg {
	width: 16px;
	height: 16px;
	fill: var(--jsm-nav-navy) !important;
}

body.jsm-sticky-nav #masthead .elementor-element-e919876 .elementor-icon-box-description,
body.jsm-sticky-nav #masthead .elementor-element-e919876 .elementor-icon-box-description a {
	margin: 0 !important;
	padding: 0 !important;
	color: var(--jsm-nav-navy) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	letter-spacing: 0.01em;
	text-decoration: none !important;
	white-space: nowrap;
	line-height: 1 !important;
}

body.jsm-sticky-nav #masthead .elementor-element-e919876 .elementor-icon-box-icon {
	display: flex !important;
	align-items: center !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* Hide Login/Signup from main nav — relocated beside phone/cart */
body.jsm-sticky-nav #masthead .jsm-nav-login-source,
body.jsm-sticky-nav #masthead ul.hfe-nav-menu > .menu-item.jsm-nav-login-source {
	display: none !important;
}

/* Account icon between phone and cart */
body.jsm-sticky-nav #masthead .jsm-nav-account {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	align-self: center !important;
	width: 40px;
	height: 40px;
	margin: 0;
	padding: 0;
	border-left: 0 !important;
	border-right: 0 !important;
	color: var(--jsm-nav-navy) !important;
	text-decoration: none !important;
	box-sizing: border-box;
	flex: 0 0 auto;
}

body.jsm-sticky-nav #masthead .jsm-nav-account__ico {
	display: inline-flex;
	width: 22px;
	height: 22px;
	color: inherit;
}

body.jsm-sticky-nav #masthead .jsm-nav-account__ico svg {
	width: 22px;
	height: 22px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.65;
}

body.jsm-sticky-nav #masthead .jsm-nav-account:hover {
	color: var(--jsm-nav-blue) !important;
}

/* Cart — navy pill with total + bag */
body.jsm-sticky-nav #masthead .elementor-element-4cc0940 .hfe-menu-cart__toggle .elementor-button,
body.jsm-sticky-nav #masthead .hfe-menu-cart__toggle .elementor-button,
body.jsm-sticky-nav #masthead a.hfe-cart-container {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 12px;
	min-height: 34px !important;
	padding: 6px 12px !important;
	border-radius: 3px !important;
	background: var(--jsm-nav-navy) !important;
	border: 0 !important;
	box-shadow: none !important;
	line-height: 1.2 !important;
}

body.jsm-sticky-nav #masthead .hfe-subtotal,
body.jsm-sticky-nav #masthead .hfe-subtotal .amount,
body.jsm-sticky-nav #masthead .hfe-subtotal .woocommerce-Price-currencySymbol {
	color: #fff !important;
	font-size: 14px !important;
	font-weight: 700 !important;
}

body.jsm-sticky-nav #masthead .elementor-button-icon,
body.jsm-sticky-nav #masthead .elementor-button-icon i,
body.jsm-sticky-nav #masthead .elementor-button-icon .eicon {
	color: #fff !important;
	fill: #fff !important;
}

body.jsm-sticky-nav #masthead .elementor-button-icon {
	order: 2;
}

body.jsm-sticky-nav #masthead .hfe-subtotal {
	order: 1;
}

/* Hide cart qty bubble on empty to match mockup */
body.jsm-sticky-nav #masthead .elementor-button-icon[data-counter="0"]::before,
body.jsm-sticky-nav #masthead .elementor-button-icon[data-counter="0"]::after {
	display: none !important;
}

/* Mobile: keep usable header, less inset */
@media (max-width: 1024px) {
	body.jsm-sticky-nav {
		--jsm-nav-inset: 0px;
		--jsm-nav-radius: 0px;
	}

	body.jsm-sticky-nav #masthead .elementor-element-fbbe66a .hfe-nav-menu {
		gap: 18px;
	}

	body.jsm-sticky-nav #masthead .elementor-element-fbbe66a .hfe-nav-menu > .menu-item > a.hfe-menu-item,
	body.jsm-sticky-nav #masthead .elementor-element-fbbe66a .hfe-nav-menu > .menu-item > .hfe-has-submenu-container > a.hfe-menu-item {
		padding: 2px 2px 4px !important;
		font-size: 12.5px !important;
	}
}

@media (max-width: 767px) {
	body.jsm-sticky-nav {
		--jsm-nav-inset: 0px;
		--jsm-nav-radius: 0px;
		--jsm-sticky-header-offset: 72px;
	}

	body.jsm-sticky-nav #masthead {
		border-radius: 0;
		left: 0;
		right: 0;
		top: 0;
		overflow: visible;
		box-shadow: 0 1px 0 rgba(10, 47, 92, 0.08);
	}

	body.jsm-sticky-nav.admin-bar #masthead {
		top: 46px;
	}

	/* Compact single-row mobile header: logo + burger (+ cart if shown) */
	body.jsm-sticky-nav #masthead .elementor-element-48a8d5f {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 8px !important;
		padding: 8px 12px !important;
		min-height: 56px !important;
		height: auto !important;
	}

	body.jsm-sticky-nav #masthead .elementor-element-b42328f,
	body.jsm-sticky-nav #masthead .elementor-element-3b55298,
	body.jsm-sticky-nav #masthead .elementor-element-1086968 {
		width: auto !important;
		max-width: none !important;
		flex: 0 0 auto !important;
		min-height: 0 !important;
		height: auto !important;
	}

	body.jsm-sticky-nav #masthead .elementor-element-3b55298,
	body.jsm-sticky-nav #masthead .elementor-element-fbbe66a,
	body.jsm-sticky-nav #masthead .elementor-element-fbbe66a .elementor-widget-container,
	body.jsm-sticky-nav #masthead .hfe-nav-menu.hfe-layout-horizontal {
		position: relative !important;
		height: auto !important;
		min-height: 0 !important;
		overflow: visible !important;
	}

	/* Respect Elementor mobile visibility (do not force phone/cart back on) */
	body.jsm-sticky-nav #masthead .elementor-hidden-mobile,
	body.jsm-sticky-nav #masthead .elementor-element-758d9df.elementor-hidden-mobile,
	body.jsm-sticky-nav #masthead .elementor-element-e919876.elementor-hidden-mobile {
		display: none !important;
	}

	body.jsm-sticky-nav #masthead .jsm-nav-ico {
		display: none !important;
	}

	/* Mobile drawer: fully hide when closed (no leftover hit-area / shadow) */
	body.jsm-sticky-nav #masthead .elementor-element-fbbe66a .hfe-nav-menu__layout-horizontal,
	body.jsm-sticky-nav #masthead .elementor-element-fbbe66a nav.hfe-dropdown {
		position: fixed !important;
		top: var(--jsm-sticky-header-offset, 72px) !important;
		left: 0 !important;
		right: 0 !important;
		transform: none !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		max-height: calc(100vh - var(--jsm-sticky-header-offset, 72px));
		overflow-x: hidden !important;
		overflow-y: auto !important;
		background: #fff !important;
		border: 0;
		border-top: 1px solid #e2e8f0;
		border-radius: 0;
		box-shadow: 0 12px 28px rgba(10, 47, 92, 0.16);
		z-index: 100002 !important;
		padding: 0 !important;
		visibility: hidden !important;
		opacity: 0 !important;
		height: 0 !important;
		pointer-events: none !important;
	}

	/* Open state — full-bleed under sticky header */
	body.jsm-sticky-nav #masthead .elementor-element-fbbe66a .hfe-active-menu + .hfe-nav-menu__layout-horizontal,
	body.jsm-sticky-nav #masthead .elementor-element-fbbe66a .hfe-active-menu + nav.hfe-dropdown,
	body.jsm-sticky-nav #masthead .elementor-element-fbbe66a nav.hfe-dropdown.menu-is-active,
	body.jsm-sticky-nav #masthead .elementor-element-fbbe66a .hfe-nav-menu__layout-horizontal.menu-is-active {
		visibility: visible !important;
		opacity: 1 !important;
		height: auto !important;
		pointer-events: auto !important;
		padding: 8px 0 16px !important;
	}

	body.jsm-sticky-nav #masthead .elementor-element-fbbe66a ul.hfe-nav-menu {
		display: flex !important;
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
		justify-content: flex-start !important;
		gap: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		box-sizing: border-box !important;
	}

	body.jsm-sticky-nav #masthead .elementor-element-fbbe66a ul.hfe-nav-menu > .menu-item > a.hfe-menu-item,
	body.jsm-sticky-nav #masthead .elementor-element-fbbe66a ul.hfe-nav-menu > .menu-item > .hfe-has-submenu-container > a.hfe-menu-item {
		flex-direction: row !important;
		justify-content: flex-start !important;
		align-items: center !important;
		padding: 12px 16px !important;
		font-size: 15px !important;
		width: 100%;
	}

	/* Lock page scroll while the drawer is open */
	body.jsm-sticky-nav:has(#masthead .hfe-nav-menu__layout-horizontal.menu-is-active),
	body.jsm-sticky-nav:has(#masthead nav.hfe-dropdown.menu-is-active) {
		overflow: hidden;
	}

	/* All submenu depths: inline accordion (not desktop flyouts).
	   Selectors must match/exceed desktop absolute flyout specificity. */
	body.jsm-sticky-nav #masthead .elementor-element-fbbe66a ul.hfe-nav-menu > .menu-item > .sub-menu,
	body.jsm-sticky-nav #masthead .elementor-element-fbbe66a ul.hfe-nav-menu > .menu-item > .hfe-has-submenu-container + .sub-menu,
	body.jsm-sticky-nav #masthead .elementor-element-fbbe66a ul.hfe-nav-menu .sub-menu .sub-menu,
	body.jsm-sticky-nav #masthead .elementor-element-fbbe66a ul.hfe-nav-menu .menu-item > .hfe-has-submenu-container + .sub-menu {
		position: static !important;
		transform: none !important;
		left: auto !important;
		top: auto !important;
		right: auto !important;
		min-width: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		box-shadow: none !important;
		border: 0 !important;
		border-radius: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		background: #f7fafc !important;
		z-index: auto !important;
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
	}

	/* Open state — any depth (HFE toggles aria / active class) */
	body.jsm-sticky-nav #masthead .elementor-element-fbbe66a ul.hfe-nav-menu > .menu-item-has-children.hfe-active-menu > .sub-menu,
	body.jsm-sticky-nav #masthead .elementor-element-fbbe66a ul.hfe-nav-menu > .menu-item-has-children.hfe-active-menu > .hfe-has-submenu-container + .sub-menu,
	body.jsm-sticky-nav #masthead .elementor-element-fbbe66a ul.hfe-nav-menu .menu-item-has-children.hfe-active-menu > .sub-menu,
	body.jsm-sticky-nav #masthead .elementor-element-fbbe66a ul.hfe-nav-menu .menu-item-has-children.hfe-active-menu > .hfe-has-submenu-container + .sub-menu,
	body.jsm-sticky-nav #masthead .elementor-element-fbbe66a ul.hfe-nav-menu .sub-menu .menu-item-has-children.hfe-active-menu > .sub-menu,
	body.jsm-sticky-nav #masthead .elementor-element-fbbe66a ul.hfe-nav-menu .sub-menu .hfe-has-submenu-container[aria-expanded="true"] + .sub-menu,
	body.jsm-sticky-nav #masthead .elementor-element-fbbe66a ul.hfe-nav-menu .hfe-has-submenu-container[aria-expanded="true"] + .sub-menu {
		display: flex !important;
		flex-direction: column !important;
		visibility: visible !important;
		opacity: 1 !important;
		height: auto !important;
		max-height: none !important;
		overflow: visible !important;
		pointer-events: auto !important;
		padding: 0 0 4px !important;
		left: auto !important;
		position: static !important;
	}

	body.jsm-sticky-nav #masthead .elementor-element-fbbe66a ul.hfe-nav-menu .sub-menu > .menu-item {
		width: 100% !important;
		display: block !important;
		float: none !important;
	}

	body.jsm-sticky-nav #masthead .elementor-element-fbbe66a ul.hfe-nav-menu .menu-item-has-children,
	body.jsm-sticky-nav #masthead .elementor-element-fbbe66a ul.hfe-nav-menu .sub-menu > .menu-item-has-children {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		width: 100% !important;
	}

	body.jsm-sticky-nav #masthead .elementor-element-fbbe66a ul.hfe-nav-menu .sub-menu .menu-item > a.hfe-menu-item,
	body.jsm-sticky-nav #masthead .elementor-element-fbbe66a ul.hfe-nav-menu .sub-menu .menu-item > .hfe-has-submenu-container > a.hfe-menu-item {
		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;
		justify-content: flex-start !important;
		width: 100% !important;
		padding: 10px 16px 10px 28px !important;
		font-size: 14px !important;
		line-height: 1.3 !important;
		white-space: normal !important;
		box-sizing: border-box !important;
		visibility: visible !important;
		opacity: 1 !important;
		color: #1e3a5f !important;
	}

	body.jsm-sticky-nav #masthead .elementor-element-fbbe66a ul.hfe-nav-menu .sub-menu .sub-menu {
		background: #eef3f8 !important;
	}

	body.jsm-sticky-nav #masthead .elementor-element-fbbe66a ul.hfe-nav-menu .sub-menu .sub-menu .menu-item > a.hfe-menu-item,
	body.jsm-sticky-nav #masthead .elementor-element-fbbe66a ul.hfe-nav-menu .sub-menu .sub-menu .menu-item > .hfe-has-submenu-container > a.hfe-menu-item {
		padding-left: 40px !important;
		color: #1e3a5f !important;
		visibility: visible !important;
		opacity: 1 !important;
	}
}


/* Flatten cart bag chip so it reads as one navy button */
body.jsm-sticky-nav #masthead .elementor-button-icon {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
	min-width: auto !important;
	width: auto !important;
	height: auto !important;
}

body.jsm-sticky-nav #masthead .elementor-button-icon::before,
body.jsm-sticky-nav #masthead .elementor-button-icon::after {
	display: none !important;
}

body.jsm-sticky-nav #masthead .toggle-icon--bag-solid .elementor-button-icon i::before {
	color: #fff !important;
}


/* ===== JSM MOBILE UX PHASE A ===== */
@media (max-width: 767px) {
	/* Logo left · Account + Cart + Hamburger far right */
	body.jsm-sticky-nav #masthead .elementor-element-48a8d5f {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: flex-start !important;
		gap: 6px !important;
		padding: 6px 12px !important;
		min-height: 56px !important;
	}

	body.jsm-sticky-nav #masthead .elementor-element-b42328f {
		order: 1 !important;
		margin-right: auto !important;
		flex: 0 0 auto !important;
	}

	body.jsm-sticky-nav #masthead .jsm-nav-account {
		order: 3 !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 44px !important;
		height: 44px !important;
		min-width: 44px !important;
		min-height: 44px !important;
		margin: 0 !important;
		padding: 0 !important;
		border-radius: 999px;
		color: var(--jsm-nav-navy) !important;
		flex: 0 0 auto !important;
	}

	body.jsm-sticky-nav #masthead .jsm-nav-account__ico svg {
		width: 22px;
		height: 22px;
		stroke: currentColor;
		fill: none;
	}

	/* Show header cart icon on mobile (beside account + hamburger) */
	body.jsm-sticky-nav #masthead .elementor-element-1086968,
	body.jsm-sticky-nav #masthead .elementor-element-1086968.elementor-hidden-mobile {
		order: 4 !important;
		display: flex !important;
		align-items: center !important;
		visibility: visible !important;
		opacity: 1 !important;
		pointer-events: auto !important;
		width: auto !important;
		flex: 0 0 auto !important;
	}

	body.jsm-sticky-nav #masthead .elementor-element-3b55298 {
		order: 5 !important;
		flex: 0 0 auto !important;
		width: auto !important;
		margin: 0 !important;
	}

	body.jsm-sticky-nav #masthead .elementor-element-758d9df.elementor-hidden-mobile,
	body.jsm-sticky-nav #masthead .elementor-element-e919876.elementor-hidden-mobile {
		display: none !important;
	}

	body.jsm-sticky-nav #masthead .hfe-nav-menu__toggle {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 44px !important;
		height: 44px !important;
		min-width: 44px !important;
		min-height: 44px !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
	}

	body.jsm-sticky-nav #masthead .elementor-element-4cc0940 .hfe-menu-cart__toggle .elementor-button,
	body.jsm-sticky-nav #masthead .hfe-menu-cart__toggle .elementor-button,
	body.jsm-sticky-nav #masthead a.hfe-cart-container {
		width: 44px !important;
		height: 44px !important;
		min-width: 44px !important;
		min-height: 44px !important;
		padding: 0 !important;
		gap: 0 !important;
		border-radius: 999px !important;
		background: var(--jsm-nav-navy) !important;
	}

	body.jsm-sticky-nav #masthead .hfe-subtotal {
		display: none !important;
	}

	body.jsm-sticky-nav #masthead .elementor-button-icon {
		order: 0 !important;
		position: relative !important;
	}

	body.jsm-sticky-nav #masthead .elementor-button-icon[data-counter]:not([data-counter="0"])::after {
		display: flex !important;
		align-items: center;
		justify-content: center;
		content: attr(data-counter);
		position: absolute;
		top: -4px;
		right: -6px;
		min-width: 16px;
		height: 16px;
		padding: 0 4px;
		border-radius: 999px;
		background: #e11d48;
		color: #fff;
		font-size: 10px;
		font-weight: 700;
		line-height: 1;
	}

	/* Compact drawer rows */
	body.jsm-sticky-nav #masthead .elementor-element-fbbe66a ul.hfe-nav-menu > .menu-item > a.hfe-menu-item,
	body.jsm-sticky-nav #masthead .elementor-element-fbbe66a ul.hfe-nav-menu > .menu-item > .hfe-has-submenu-container > a.hfe-menu-item {
		min-height: 52px !important;
		padding: 12px 16px !important;
		border-bottom: 1px solid #e8eef5 !important;
		box-sizing: border-box !important;
	}

	body.jsm-sticky-nav #masthead .elementor-element-fbbe66a ul.hfe-nav-menu .sub-menu .menu-item > a.hfe-menu-item,
	body.jsm-sticky-nav #masthead .elementor-element-fbbe66a ul.hfe-nav-menu .sub-menu .menu-item > .hfe-has-submenu-container > a.hfe-menu-item {
		min-height: 48px !important;
	}

	body.jsm-sticky-nav #masthead .jsm-nav-mobile-hide,
	body.jsm-sticky-nav #masthead .jsm-nav-login-source,
	body.jsm-sticky-nav #masthead .elementor-element-fbbe66a ul.hfe-nav-menu > .menu-item.jsm-nav-mobile-hide,
	body.jsm-sticky-nav #masthead .elementor-element-fbbe66a ul.hfe-nav-menu .sub-menu > .menu-item.jsm-nav-mobile-hide {
		display: none !important;
		visibility: hidden !important;
		height: 0 !important;
		overflow: hidden !important;
		pointer-events: none !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
	}

	/* Products / Resources collapsed unless explicitly opened */
	body.jsm-sticky-nav #masthead .elementor-element-fbbe66a ul.hfe-nav-menu > .menu-item-has-children:not(.hfe-active-menu) > .sub-menu,
	body.jsm-sticky-nav #masthead .elementor-element-fbbe66a ul.hfe-nav-menu > .menu-item-has-children:not(.hfe-active-menu) > .hfe-has-submenu-container + .sub-menu {
		display: none !important;
		height: 0 !important;
		overflow: hidden !important;
		visibility: hidden !important;
		opacity: 0 !important;
		pointer-events: none !important;
	}

	body.jsm-sticky-nav #masthead .elementor-element-fbbe66a ul.hfe-nav-menu > .menu-item-has-children.hfe-active-menu > .sub-menu,
	body.jsm-sticky-nav #masthead .elementor-element-fbbe66a ul.hfe-nav-menu > .menu-item-has-children.hfe-active-menu > .hfe-has-submenu-container + .sub-menu,
	body.jsm-sticky-nav #masthead .elementor-element-fbbe66a ul.hfe-nav-menu > .menu-item-has-children > .hfe-has-submenu-container[aria-expanded="true"] + .sub-menu {
		display: flex !important;
		flex-direction: column !important;
		height: auto !important;
		max-height: none !important;
		overflow: visible !important;
		visibility: visible !important;
		opacity: 1 !important;
		pointer-events: auto !important;
	}

	body.jsm-sticky-nav #masthead .elementor-element-fbbe66a .hfe-menu-toggle.sub-arrow {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 44px !important;
		height: 44px !important;
		min-width: 44px !important;
		min-height: 44px !important;
		margin-left: auto !important;
		pointer-events: auto !important;
		z-index: 2 !important;
		cursor: pointer !important;
	}

	body.jsm-sticky-nav #masthead .elementor-element-fbbe66a ul.hfe-nav-menu > .menu-item-has-children > .hfe-has-submenu-container,
	body.jsm-sticky-nav #masthead .elementor-element-fbbe66a ul.hfe-nav-menu > .menu-item-has-children > .hfe-has-submenu-container > a.hfe-menu-item {
		display: flex !important;
		align-items: center !important;
		width: 100% !important;
		cursor: pointer !important;
	}

	/* Hide footer while drawer open */
	body.jsm-mobile-nav-open #jsm-site-footer,
	body.jsm-sticky-nav:has(#masthead .hfe-nav-menu__layout-horizontal.menu-is-active) #jsm-site-footer,
	body.jsm-sticky-nav:has(#masthead nav.hfe-dropdown.menu-is-active) #jsm-site-footer {
		visibility: hidden !important;
		pointer-events: none !important;
	}

	body.jsm-mobile-nav-open .ht-ctc-chat,
	body.jsm-sticky-nav:has(#masthead nav.hfe-dropdown.menu-is-active) .ht-ctc-chat {
		opacity: 0 !important;
		pointer-events: none !important;
	}
}


/* Mobile: move Account into drawer as a clear first row */
@media (max-width: 767px) {
	/* Keep header account icon visible; drawer also has Account row */
	body.jsm-sticky-nav #masthead .jsm-nav-account.jsm-nav-account--drawer-only {
		display: inline-flex !important;
		visibility: visible !important;
		pointer-events: auto !important;
	}

	body.jsm-sticky-nav #masthead .jsm-nav-drawer-account > a.hfe-menu-item,
	body.jsm-sticky-nav #masthead .jsm-nav-drawer-account > a.jsm-nav-drawer-account__link {
		display: flex !important;
		align-items: center !important;
		gap: 12px !important;
		min-height: 54px !important;
		padding: 12px 16px !important;
		font-weight: 700 !important;
		color: var(--jsm-nav-navy) !important;
		background: #f3f7fb !important;
		border-bottom: 1px solid #d7dee8 !important;
	}

	body.jsm-sticky-nav #masthead .jsm-nav-drawer-account__ico {
		display: inline-flex;
		width: 28px;
		height: 28px;
		align-items: center;
		justify-content: center;
		border-radius: 999px;
		background: #162b4a;
		color: #fff;
		flex: 0 0 auto;
	}

	body.jsm-sticky-nav #masthead .jsm-nav-drawer-account__ico svg {
		width: 16px;
		height: 16px;
		stroke: #fff;
		fill: none;
	}
}
