/*
 * High Star header menu refinement.
 * The header starts in the expanded full-width state. No reveal animation.
 * Menu item hover only uses a white highlight background.
 */
:root {
	--hs-dropdown-top: 80px;
	--hs-glass-bg: rgba(255, 255, 255, 0.3);
	--hs-glass-strong: rgba(255, 255, 255, 0.74);
	--hs-header-highlight: rgba(255, 255, 255, 0.96);
	--hs-menu-text: #233443;
	--hs-menu-text-hover: #e60012;
	--hs-panel-shadow: 0 18px 34px rgba(4, 18, 32, 0.1);
}

@media (min-width: 1025px) {
	html body.ast-desktop .site-header,
	html body.ast-desktop #masthead,
	.ast-desktop .site-header,
	.ast-desktop .main-header-bar-wrap,
	.ast-desktop .ast-primary-header,
	.ast-desktop .ast-primary-header-bar,
	.ast-desktop .main-header-bar {
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		border-radius: 0 !important;
		overflow: visible;
	}

	html body.ast-desktop .site-header .ast-builder-grid-row-container,
	html body.ast-desktop .site-header .ast-builder-grid-row-container-inner,
	html body.ast-desktop .site-header .site-primary-header-wrap,
	html body.ast-desktop .site-header .ast-container,
	html body.ast-desktop .site-header .ast-builder-grid-row,
	html body.ast-desktop .site-header .main-header-bar,
	html body.ast-desktop .site-header .ast-primary-header-bar,
	html body.ast-desktop .site-header .ast-primary-header {
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		border-radius: 0 !important;
	}

	.ast-desktop .ast-primary-header,
	.ast-desktop .ast-primary-header-bar,
	.ast-desktop .main-header-bar {
		position: relative;
		background: var(--hs-glass-bg) !important;
		-webkit-backdrop-filter: saturate(160%) blur(20px);
		backdrop-filter: saturate(160%) blur(20px);
		border-bottom: 1px solid rgba(255, 255, 255, 0.34);
		box-shadow: 0 12px 30px rgba(4, 18, 32, 0.08);
	}

	html body.ast-desktop .site-header .ast-builder-grid-row,
	html body.ast-desktop .site-header .ast-container {
		padding-right: clamp(28px, 7vw, 0px) !important;
		padding-left: clamp(28px, 7vw, 70px) !important;
	}

	.ast-desktop .ast-builder-grid-row-container,
	.ast-desktop .ast-builder-grid-row,
	.ast-desktop .site-header-section {
		position: relative;
		z-index: 1;
	}

	.ast-desktop .main-header-menu,
	.ast-desktop .ast-builder-menu-1 .main-header-menu {
		position: relative;
		z-index: 10020;
		display: inline-flex;
		align-items: center;
		gap: 4px;
		min-height: 72px;
		padding: 0;
		border: 0;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
	}

	.ast-desktop .main-header-menu > .menu-item {
		display: flex;
		align-items: center;
		min-height: 72px;
	}

	.ast-desktop .main-header-menu > .menu-item > a,
	.ast-desktop .main-header-menu > .menu-item > .menu-link,
	.ast-desktop .ast-builder-menu-1 .menu-item > .menu-link {
		position: relative;
		display: inline-flex;
		align-items: center;
		min-height: 48px;
		padding: 0 18px !important;
		border-radius: 999px;
		background: transparent !important;
		color: var(--hs-menu-text) !important;
		font-size: 18px !important;
		font-weight: 650;
		line-height: 1;
		letter-spacing: 0;
		text-transform: none;
		white-space: nowrap;
		transition: none !important;
		transform: none !important;
	}

	html body.ast-desktop .site-header .main-header-menu > .menu-item > a:focus,
	html body.ast-desktop .site-header .main-header-menu > .menu-item > a:active,
	html body.ast-desktop .site-header .main-header-menu > .menu-item > a:focus-visible,
	html body.ast-desktop .site-header .main-header-menu > .menu-item > .menu-link:focus,
	html body.ast-desktop .site-header .main-header-menu > .menu-item > .menu-link:active,
	html body.ast-desktop .site-header .main-header-menu > .menu-item > .menu-link:focus-visible,
	html body.ast-desktop .site-header .ast-builder-menu-1 .menu-item > .menu-link:focus,
	html body.ast-desktop .site-header .ast-builder-menu-1 .menu-item > .menu-link:active,
	html body.ast-desktop .site-header .ast-builder-menu-1 .menu-item > .menu-link:focus-visible {
		outline: 0 !important;
		border-color: transparent !important;
		box-shadow: none !important;
	}

	.ast-desktop .main-header-menu > .menu-item:hover > a,
	.ast-desktop .main-header-menu > .menu-item:hover > .menu-link,
	.ast-desktop .main-header-menu > .current-menu-item > a,
	.ast-desktop .main-header-menu > .current-menu-item > .menu-link {
		color: var(--hs-menu-text-hover) !important;
		transform: none !important;
	}

	.ast-desktop .main-header-menu > .menu-item > a > .dropdown-menu-toggle,
	.ast-desktop .main-header-menu > .menu-item > .menu-link > .dropdown-menu-toggle {
		display: none;
	}

	html body.ast-desktop .site-header .ast-grid-right-section {
		gap: clamp(18px, 2vw, 34px);
	}

	html body.ast-desktop .site-header .header-right-box {
		display: inline-flex;
		align-items: center;
		gap: 22px;
		height: 80px;
		margin: 0;
		padding: 0;
		list-style: none;
		color: var(--hs-menu-text);
	}

	html body.ast-desktop .site-header:hover .header-right-box,
	html body.ast-desktop .site-header:focus-within .header-right-box {
		color: var(--hs-menu-text);
	}

	html body.ast-desktop .site-header .header-right-item {
		position: relative;
		display: inline-flex;
		align-items: center;
		height: 80px;
		margin: 0;
		padding: 0;
	}

	html body.ast-desktop .site-header .header-right-trigger {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 9px;
		min-width: 28px;
		height: 44px;
		margin: 0;
		padding: 0;
		border: 0;
		border-radius: 0;
		background: transparent !important;
		color: inherit !important;
		box-shadow: none !important;
		font: inherit;
		font-size: 17px;
		font-weight: 500;
		line-height: 1;
		letter-spacing: 0;
		text-transform: none;
		cursor: pointer;
		outline: 0 !important;
	}

	html body.ast-desktop .site-header .header-right-trigger:hover,
	html body.ast-desktop .site-header .header-right-trigger:focus,
	html body.ast-desktop .site-header .header-right-trigger:active {
		background: transparent !important;
		color: inherit !important;
		border-color: transparent !important;
		box-shadow: none !important;
		outline: 0 !important;
	}

	html body.ast-desktop .site-header .header-right-icon {
		display: block;
		width: 22px;
		height: 22px;
		flex: 0 0 22px;
	}

	html body.ast-desktop .site-header .header-language-trigger .header-right-icon {
		width: 21px;
		height: 21px;
		flex-basis: 21px;
	}

	html body.ast-desktop .site-header .header-right-chevron {
		display: block;
		width: 17px;
		height: 17px;
		flex: 0 0 17px;
		margin-left: 3px;
	}

	html body.ast-desktop .site-header .header-right-popover {
		position: absolute;
		top: calc(100% - 1px);
		right: 0;
		z-index: 10030;
		margin: 0;
		border: 0;
		border-radius: 8px;
		background: rgba(255, 255, 255, 0.98);
		box-shadow: 0 18px 34px rgba(4, 18, 32, 0.13);
		color: #30343b;
		visibility: hidden;
		opacity: 0;
		pointer-events: none;
		transform: none;
		transition: none;
	}

	html body.ast-desktop .site-header .header-right-item:hover > .header-right-popover,
	html body.ast-desktop .site-header .header-right-item:focus-within > .header-right-popover {
		visibility: visible;
		opacity: 1;
		pointer-events: auto;
	}

	html body.ast-desktop .site-header .header-language-popover {
		width: 240px;
		padding: 18px 30px;
		list-style: none;
	}

	html body.ast-desktop .site-header .header-language-popover li {
		margin: 0;
		padding: 0;
	}

	html body.ast-desktop .site-header .header-language-popover a {
		display: block;
		padding: 9px 0;
		color: #30343b !important;
		font-size: 16px;
		font-weight: 400;
		line-height: 1.35;
		text-decoration: none;
		white-space: nowrap;
		outline: 0 !important;
		box-shadow: none !important;
	}

	html body.ast-desktop .site-header .header-language-popover a:hover,
	html body.ast-desktop .site-header .header-language-popover a:focus {
		color: var(--hs-menu-text-hover) !important;
		background: transparent !important;
	}

	html body.ast-desktop .site-header .header-contact-popover {
		width: 436px;
		padding: 44px 39px;
	}

	html body.ast-desktop .site-header .header-contact-row {
		display: grid;
		grid-template-columns: 104px minmax(0, 1fr);
		align-items: center;
		gap: 18px;
		margin: 0 0 22px;
		font-size: 16px;
		line-height: 1.25;
		white-space: nowrap;
	}

	html body.ast-desktop .site-header .header-contact-row:last-child {
		margin-bottom: 0;
	}

	html body.ast-desktop .site-header .header-contact-row strong {
		color: #15171b;
		font-size: 16px;
		font-weight: 700;
	}

	html body.ast-desktop .site-header .header-contact-row a {
		color: #4b4f58 !important;
		font-size: 16px;
		font-weight: 400;
		text-decoration: none;
		outline: 0 !important;
		box-shadow: none !important;
	}

	html body.ast-desktop .site-header .header-contact-row a:hover,
	html body.ast-desktop .site-header .header-contact-row a:focus {
		color: var(--hs-menu-text-hover) !important;
		background: transparent !important;
	}

	.ast-desktop .main-header-menu > .menu-item-has-children,
	.ast-desktop .ast-builder-menu .menu-item-has-children {
		position: relative;
	}

	.ast-desktop .main-header-menu > .menu-item-has-children::after,
	.ast-desktop .ast-builder-menu .main-header-menu > .menu-item-has-children::after {
		position: absolute;
		top: 100%;
		right: 0;
		left: 0;
		z-index: 10001;
		height: 16px;
		content: "";
		pointer-events: auto;
	}

	.ast-desktop .main-header-menu > .menu-item-has-children > .sub-menu,
	.ast-desktop .ast-builder-menu .menu-item-has-children > .sub-menu,
	.ast-desktop .main-header-menu > .menu-item-has-children > .mega-inner,
	.ast-desktop .ast-builder-menu .menu-item-has-children > .mega-inner {
		display: block !important;
		position: fixed !important;
		top: var(--hs-dropdown-top, 80px) !important;
		left: 0 !important;
		right: 0 !important;
		z-index: 10000;
		width: auto !important;
		max-width: none !important;
		margin-top: 0 !important;
		margin-left: 0 !important;
		padding: 30px 0 !important;
		border: 0;
		border-radius: 0 !important;
		background: var(--hs-header-highlight) !important;
		-webkit-backdrop-filter: saturate(120%) blur(10px);
		backdrop-filter: saturate(120%) blur(10px);
		box-shadow: var(--hs-panel-shadow);
		visibility: hidden;
		opacity: 0;
		pointer-events: none;
		clip-path: inset(0 0 100% 0);
		transform: translateY(-12px) !important;
		transform-origin: top center;
		transition:
			opacity 0.2s ease,
			clip-path 0.3s cubic-bezier(0.22, 0.61, 0.36, 1),
			transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1),
			visibility 0s linear 0.3s !important;
		will-change: opacity, clip-path, transform;
	}

	.ast-desktop .main-header-menu > .menu-item-has-children:hover > .sub-menu,
	.ast-desktop .main-header-menu > .menu-item-has-children:focus-within > .sub-menu,
	.ast-desktop .main-header-menu > .menu-item-has-children.open > .sub-menu,
	.ast-desktop .ast-builder-menu .menu-item-has-children:hover > .sub-menu,
	.ast-desktop .ast-builder-menu .menu-item-has-children:focus-within > .sub-menu,
	.ast-desktop .main-header-menu > .menu-item-has-children:hover > .mega-inner,
	.ast-desktop .main-header-menu > .menu-item-has-children:focus-within > .mega-inner,
	.ast-desktop .main-header-menu > .menu-item-has-children.open > .mega-inner,
	.ast-desktop .ast-builder-menu .menu-item-has-children:hover > .mega-inner,
	.ast-desktop .ast-builder-menu .menu-item-has-children:focus-within > .mega-inner {
		visibility: visible;
		opacity: 1;
		pointer-events: auto;
		clip-path: inset(0 0 0 0);
		transform: translateY(0) !important;
		transition:
			opacity 0.18s ease,
			clip-path 0.32s cubic-bezier(0.22, 0.61, 0.36, 1),
			transform 0.32s cubic-bezier(0.22, 0.61, 0.36, 1),
			visibility 0s linear 0s !important;
	}

	html body.ast-desktop .main-header-menu > .menu-item-has-children.highstar-menu-closing > .sub-menu,
	html body.ast-desktop .main-header-menu > .menu-item-has-children.highstar-menu-closing:hover > .sub-menu,
	html body.ast-desktop .main-header-menu > .menu-item-has-children.highstar-menu-closing:focus-within > .sub-menu,
	html body.ast-desktop .main-header-menu > .menu-item-has-children.highstar-menu-closing.open > .sub-menu,
	html body.ast-desktop .main-header-menu > .menu-item-has-children.highstar-menu-closing > .mega-inner,
	html body.ast-desktop .main-header-menu > .menu-item-has-children.highstar-menu-closing:hover > .mega-inner,
	html body.ast-desktop .main-header-menu > .menu-item-has-children.highstar-menu-closing:focus-within > .mega-inner,
	html body.ast-desktop .main-header-menu > .menu-item-has-children.highstar-menu-closing.open > .mega-inner {
		visibility: hidden !important;
		opacity: 0 !important;
		pointer-events: none !important;
		clip-path: inset(0 0 100% 0) !important;
		transform: translateY(-8px) !important;
	}

	html body.ast-desktop .site-header:hover .main-header-menu > .menu-item-has-children > .sub-menu,
	html body.ast-desktop .site-header:focus-within .main-header-menu > .menu-item-has-children > .sub-menu,
	html body.ast-desktop .site-header:hover .main-header-menu > .menu-item-has-children > .mega-inner,
	html body.ast-desktop .site-header:focus-within .main-header-menu > .menu-item-has-children > .mega-inner,
	html body.ast-desktop .site-header:hover .ast-builder-menu .menu-item-has-children > .sub-menu,
	html body.ast-desktop .site-header:focus-within .ast-builder-menu .menu-item-has-children > .sub-menu,
	html body.ast-desktop .site-header:hover .ast-builder-menu .menu-item-has-children > .mega-inner,
	html body.ast-desktop .site-header:focus-within .ast-builder-menu .menu-item-has-children > .mega-inner {
		background: var(--hs-header-highlight) !important;
		-webkit-backdrop-filter: saturate(120%) blur(10px) !important;
		backdrop-filter: saturate(120%) blur(10px) !important;
	}

	.ast-desktop .main-header-menu > .menu-item-has-children > .mega-inner .mega-container {
		width: min(100%, 1200px);
		max-width: 1200px;
		margin-right: auto;
		margin-left: auto;
		padding-right: clamp(24px, 3vw, 44px) !important;
		padding-left: clamp(24px, 3vw, 44px) !important;
		padding-top: 0 !important;
		gap: clamp(56px, 6vw, 96px) !important;
		grid-template-columns: 280px minmax(0, 1fr) !important;
	}

	.ast-desktop .mega-inner .mega-right {
		min-width: 0;
	}

	.ast-desktop .mega-inner .mega-grid {
		gap: 24px 28px !important;
		justify-items: center;
	}

	.ast-desktop .mega-inner .mega-left-item > a,
	.ast-desktop .mega-inner .mega-left-item > .menu-link {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 14px;
		width: 100%;
		color: var(--ast-global-color-2, #233443);
		transition: none !important;
		transform: none !important;
	}

	.ast-desktop .mega-inner .mega-left-item > a::after,
	.ast-desktop .mega-inner .mega-left-item > .menu-link::after {
		flex: 0 0 auto;
		width: 8px;
		height: 8px;
		border-top: 2px solid currentColor;
		border-right: 2px solid currentColor;
		content: "";
		opacity: 0.62;
		transform: rotate(45deg);
		transition: none !important;
	}

	.ast-desktop .mega-inner .product {
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 100%;
		text-align: center;
		transition: none !important;
		transform: none !important;
	}

	.ast-desktop .mega-inner .product-thumb {
		width: 100%;
		aspect-ratio: 4 / 3;
		margin-top: 0 !important;
		padding: 14px;
		background: rgba(255, 255, 255, 0.72) !important;
		border-radius: 10px !important;
		box-shadow: none !important;
	}

	.ast-desktop .mega-inner .product-thumb img,
	.ast-desktop .mega-inner .product img {
		width: auto;
		max-width: 100%;
		height: auto;
		max-height: 100%;
		margin-right: auto;
		margin-left: auto;
		object-fit: contain;
	}

	.ast-desktop .mega-inner .product .product-title,
	.ast-desktop .mega-inner .product-title {
		width: 100%;
		text-align: center;
		transition: none !important;
		transform: none !important;
		text-shadow: none !important;
	}
}

@media (min-width: 1025px) and (max-width: 1240px) {
	.ast-desktop .main-header-menu,
	.ast-desktop .ast-builder-menu-1 .main-header-menu {
		gap: 2px;
		padding-right: 12px;
		padding-left: 18px;
	}

	.ast-desktop .main-header-menu > .menu-item > a,
	.ast-desktop .main-header-menu > .menu-item > .menu-link {
		padding: 0 11px !important;
		font-size: 15px !important;
	}
}

/*
 * Footer height reset.
 * Astra customizer output currently forces the primary footer to 600px tall,
 * which leaves a large empty band above the footer widgets on every page.

.site-primary-footer-wrap[data-section="section-primary-footer-builder"] {
	min-height: 0 !important;
	align-content: flex-start !important;
	grid-template-rows: max-content !important;
}

.site-primary-footer-wrap[data-section="section-primary-footer-builder"] .ast-builder-grid-row {
	height: auto !important;
	min-height: max-content !important;
	align-items: flex-start !important;
}
 */
