/**
 * Authoritative header, primary navigation, search, and Max Mega Menu styles.
 * Max Mega Menu's configured mobile breakpoint is 768px.
 */

:root {
	--serene-trust-height: 36px;
	--serene-header-height: 94px;
	--serene-header-offset: calc(var(--serene-trust-height) + var(--serene-header-height));
	--serene-header-max-width: 1400px;
	--serene-header-radius: 0 0 22px 22px;
	--serene-header-shadow: 0 14px 38px rgba(13, 37, 34, .14);
}

html {
	overflow-x: clip;
}

body {
	overflow-x: clip;
}

.topHeader.site-header {
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	z-index: 1000;
	width: 100%;
	background: transparent;
	box-shadow: none;
}

body.admin-bar .topHeader.site-header {
	top: 32px;
}

.serene-trust-bar {
	height: var(--serene-trust-height);
	background: var(--serene-primary);
	color: var(--serene-white);
	font-size: 12px;
	font-weight: 700;
}

.serene-trust-bar .container {
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: var(--serene-header-max-width);
	height: 100%;
	overflow: hidden;
}

.serene-trust-bar__list,
.serene-trust-menu {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0;
	list-style: none;
	white-space: nowrap;
}

.serene-trust-bar__list li,
.serene-trust-menu li {
	display: inline-flex;
	gap: 8px;
	align-items: center;
	padding: 0 clamp(14px, 2vw, 28px);
	border-right: 1px solid rgba(255, 255, 255, .18);
	color: var(--serene-white);
	line-height: 1;
}

.serene-trust-bar__list li:last-child,
.serene-trust-menu li:last-child {
	border-right: 0;
}

.serene-trust-bar i {
	color: var(--serene-accent);
	font-size: 13px;
}

.serene-trust-menu a {
	color: var(--serene-white);
}

.serene-trust-menu a:hover,
.serene-trust-menu a:focus {
	color: var(--serene-accent);
}

.serene-header-shell {
	position: relative;
	display: grid;
	grid-template-columns: minmax(150px, 210px) minmax(0, 1fr);
	gap: clamp(16px, 2vw, 30px);
	align-items: center;
	width: min(calc(100% - 24px), var(--serene-header-max-width));
	height: var(--serene-header-height);
	margin: 0 auto;
	padding: 10px clamp(18px, 2.2vw, 32px);
	border-radius: var(--serene-header-radius);
	background: rgba(255, 255, 255, .98);
	box-shadow: var(--serene-header-shadow);
}

.site-header.is-sticky .serene-header-shell {
	box-shadow: 0 12px 34px rgba(13, 37, 34, .18);
}

.siteLogo {
	min-width: 0;
	padding: 0;
	background: transparent;
	text-align: left;
}

.siteLogo a {
	display: inline-flex;
	align-items: center;
}

.siteLogo a img,
.siteLogo .custom-logo {
	display: block;
	width: auto;
	max-width: 100%;
	max-height: 72px;
}

.MenuWrap,
.mainMenu,
.serene-primary-nav {
	position: static;
	min-width: 0;
}

.mainMenu.navbar {
	display: block;
	width: 100%;
	height: auto;
	padding: 0;
	background: transparent;
}

.serene-primary-nav {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	width: 100%;
}

.mainMenu ul,
.mainMenu li {
	list-style: none;
}

.mainMenu a {
	text-decoration: none;
}

.site,
.home .site {
	padding-top: var(--serene-header-offset);
}

.mainslider,
.mainslider.serene-hero {
	padding-top: 0;
}

/* Desktop search: the trigger is in-flow; the panel is not. */
.serene-header-search {
	position: relative;
	flex: 0 0 46px;
	width: 46px;
	height: 46px;
	margin-left: 16px;
	list-style: none;
}

.serene-search-form {
	position: relative;
	width: 46px;
	height: 46px;
}

.serene-search-toggle,
.serene-header-search .search-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--serene-border);
	background: var(--serene-white);
	color: var(--serene-primary);
	box-shadow: 0 7px 18px rgba(30, 89, 83, .1);
	cursor: pointer;
	transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, box-shadow 180ms ease;
}

.serene-search-toggle {
	width: 46px;
	height: 46px;
	padding: 0;
	border-radius: 14px;
}

.serene-search-toggle:hover,
.serene-search-toggle:focus-visible,
.serene-header-search .search-submit:hover,
.serene-header-search .search-submit:focus-visible {
	border-color: rgba(244, 213, 48, .9);
	background: var(--serene-cream);
	color: var(--serene-primary);
	box-shadow: 0 9px 22px rgba(30, 89, 83, .14);
}

.serene-search-toggle:focus-visible,
.serene-header-search .search-submit:focus-visible,
.serene-header-search .search-field:focus {
	outline: 3px solid rgba(244, 213, 48, .45);
	outline-offset: 2px;
}

.serene-search-panel {
	position: absolute;
	top: calc(100% + 12px);
	right: 0;
	display: flex;
	gap: 10px;
	align-items: center;
	width: min(390px, calc(100vw - 32px));
	padding: 12px;
	border: 1px solid var(--serene-border);
	border-radius: 16px;
	background: var(--serene-white);
	box-shadow: var(--serene-header-shadow);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(-6px);
	transition: opacity 160ms ease, transform 160ms ease, visibility 0s linear 160ms;
}

.serene-header-search.is-open .serene-search-panel {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
	transition-delay: 0s;
}

.serene-header-search .search-field {
	flex: 1 1 auto;
	min-width: 0;
	height: 46px;
	padding: 9px 14px;
	border: 1px solid var(--serene-border);
	border-radius: 11px;
	background: var(--serene-white);
	color: var(--serene-dark);
	box-shadow: none;
}

.serene-header-search .search-submit,
.mainMenu .serene-header-search .serene-button--search {
	position: static;
	flex: 0 0 46px;
	width: 46px;
	min-width: 46px;
	height: 46px;
	min-height: 46px;
	padding: 0;
	border-radius: 11px;
	transform: none;
}

/* Max Mega Menu: overrides are intentionally narrow and plugin-scoped. */
#mega-menu-wrap-primary {
	position: static !important;
	flex: 1 1 auto;
	min-width: 0;
	background: transparent !important;
}

#mega-menu-wrap-primary .mega-menu-toggle {
	display: none !important;
}

#mega-menu-wrap-primary #mega-menu-primary {
	position: static !important;
	display: flex !important;
	gap: clamp(12px, 1.5vw, 24px);
	align-items: center !important;
	justify-content: flex-end !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item {
	position: static !important;
	margin: 0 !important;
	background: transparent !important;
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	height: 46px !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: #173f3a !important;
	font-family: 'Lato-Regular', Arial, sans-serif !important;
	font-size: clamp(13px, 1vw, 15px) !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	text-transform: none !important;
	white-space: nowrap !important;
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link::after {
	position: absolute;
	right: 0;
	bottom: 2px;
	left: 0;
	height: 2px;
	border-radius: 999px;
	background: var(--serene-accent);
	content: '';
	opacity: 0;
	transform: scaleX(.35);
	transition: opacity 160ms ease, transform 160ms ease;
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-current-menu-item > a.mega-menu-link,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-current-menu-ancestor > a.mega-menu-link,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link:hover,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link:focus {
	background: transparent !important;
	color: var(--serene-primary) !important;
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-current-menu-item > a.mega-menu-link::after,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-current-menu-ancestor > a.mega-menu-link::after,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link:hover::after,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link:focus::after {
	opacity: 1;
	transform: scaleX(1);
}

#mega-menu-wrap-primary #mega-menu-primary > #mega-menu-item-57 > #mega-sub-menu-57 {
	top: 100% !important;
	left: 50% !important;
	width: min(calc(100% - 32px), 1280px) !important;
	max-width: calc(100vw - 32px) !important;
	margin: 0 !important;
	padding: 24px !important;
	border: 1px solid rgba(234, 223, 207, .9) !important;
	border-radius: 0 0 20px 20px !important;
	background: rgba(255, 255, 255, .99) !important;
	box-shadow: 0 20px 46px rgba(13, 37, 34, .16) !important;
	transform: translateX(-50%) !important;
}

#mega-menu-wrap-primary #mega-menu-57-0,
#mega-menu-wrap-primary #mega-menu-57-0 > ul.mega-sub-menu {
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

#mega-menu-wrap-primary #mega-menu-57-0 > ul.mega-sub-menu {
	display: grid !important;
	grid-template-columns: minmax(190px, 1.05fr) minmax(210px, 1.05fr) repeat(2, minmax(190px, 1fr));
	gap: 24px;
	align-items: stretch;
}

#mega-menu-wrap-primary #mega-menu-57-0-0,
#mega-menu-wrap-primary #mega-menu-57-0-1,
#mega-menu-wrap-primary #mega-menu-57-0-2,
#mega-menu-wrap-primary #mega-menu-57-0-3 {
	float: none !important;
	width: auto !important;
	padding: 0 !important;
}

#mega-menu-wrap-primary #mega-menu-57-0-0 > ul,
#mega-menu-wrap-primary #mega-menu-57-0-1 > ul,
#mega-menu-wrap-primary #mega-menu-57-0-2 > ul,
#mega-menu-wrap-primary #mega-menu-57-0-3 > ul {
	margin: 0 !important;
	padding: 0 !important;
}

#mega-menu-wrap-primary #mega-menu-57-0-0 img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	min-height: 230px;
	max-height: 300px;
	border-radius: 12px;
	object-fit: cover;
}

#mega-menu-wrap-primary #mega-menu-57-0-1 {
	padding: 4px 18px 4px 4px !important;
	border-right: 1px solid var(--serene-border);
}

#mega-menu-wrap-primary #mega-menu-57-0-1 .mega-block-title {
	margin: 0 0 14px !important;
	color: var(--serene-primary) !important;
	font-family: 'Lato-Regular', Arial, sans-serif !important;
	font-size: 24px !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	text-transform: none !important;
}

#mega-menu-wrap-primary #mega-menu-57-0-1 p {
	margin: 0 0 16px;
	color: var(--serene-text);
	font-size: 14px;
	line-height: 1.55;
}

#mega-menu-wrap-primary #mega-menu-item-text-3 p {
	display: flex;
	gap: 9px;
	align-items: flex-start;
	color: var(--serene-primary);
	font-weight: 700;
}

#mega-menu-wrap-primary #mega-menu-item-text-3 p::before {
	color: var(--serene-accent);
	content: '●';
	font-size: 10px;
	line-height: 2;
}

#mega-menu-wrap-primary #mega-menu-57-0-2 .menu,
#mega-menu-wrap-primary #mega-menu-57-0-3 .menu {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

#mega-menu-wrap-primary #mega-menu-57-0-2 .menu > li,
#mega-menu-wrap-primary #mega-menu-57-0-3 .menu > li {
	margin: 0 !important;
	padding: 0 !important;
	border-bottom: 1px solid var(--serene-border);
	list-style: none !important;
}

#mega-menu-wrap-primary #mega-menu-57-0-2 .menu > li:last-child,
#mega-menu-wrap-primary #mega-menu-57-0-3 .menu > li:last-child {
	border-bottom: 0;
}

#mega-menu-wrap-primary #mega-menu-57-0-2 .menu > li > a,
#mega-menu-wrap-primary #mega-menu-57-0-3 .menu > li > a {
	display: flex !important;
	gap: 12px;
	align-items: center;
	justify-content: space-between;
	min-height: 46px;
	padding: 9px 10px !important;
	border-radius: 8px;
	background: transparent !important;
	color: var(--serene-primary) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	text-decoration: none;
	transition: background-color 160ms ease, color 160ms ease;
}

#mega-menu-wrap-primary #mega-menu-57-0-2 .menu > li > a::after,
#mega-menu-wrap-primary #mega-menu-57-0-3 .menu > li > a::after {
	flex: 0 0 auto;
	color: var(--serene-secondary);
	content: '›';
	font-size: 22px;
	font-weight: 400;
	line-height: 1;
}

#mega-menu-wrap-primary #mega-menu-57-0-2 .menu > li > a:hover,
#mega-menu-wrap-primary #mega-menu-57-0-2 .menu > li > a:focus,
#mega-menu-wrap-primary #mega-menu-57-0-3 .menu > li > a:hover,
#mega-menu-wrap-primary #mega-menu-57-0-3 .menu > li > a:focus {
	background: #fff9dc !important;
	color: #143f39 !important;
}

@media (max-width: 1199px) and (min-width: 769px) {
	.serene-header-shell {
		grid-template-columns: 150px minmax(0, 1fr);
		gap: 16px;
		width: calc(100% - 16px);
		padding-right: 18px;
		padding-left: 18px;
	}

	#mega-menu-wrap-primary #mega-menu-primary {
		gap: 10px;
	}

	#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link {
		font-size: 12.5px !important;
	}

	.serene-header-search {
		margin-left: 10px;
	}
}

@media (max-width: 768px) {
	:root {
		--serene-trust-height: 34px;
		--serene-header-height: 78px;
	}

	body.admin-bar .topHeader.site-header {
		top: 46px;
	}

	.serene-trust-bar .container {
		justify-content: flex-start;
		overflow-x: auto;
		overflow-y: hidden;
		scrollbar-width: thin;
	}

	.serene-trust-bar__list,
	.serene-trust-menu {
		justify-content: flex-start;
	}

	.serene-trust-bar__list li,
	.serene-trust-menu li {
		padding: 0 15px;
	}

	.serene-header-shell {
		display: grid;
		grid-template-columns: minmax(130px, 1fr) 48px;
		gap: 12px;
		width: calc(100% - 12px);
		height: var(--serene-header-height);
		padding: 8px 14px;
		border-radius: 0 0 17px 17px;
	}

	.siteLogo a img,
	.siteLogo .custom-logo {
		max-width: 160px;
		max-height: 60px;
	}

	.MenuWrap,
	.mainMenu,
	.serene-primary-nav,
	#mega-menu-wrap-primary {
		width: 48px;
	}

	#mega-menu-wrap-primary .mega-menu-toggle {
		display: flex !important;
		align-items: center;
		justify-content: center;
		width: 48px;
		height: 48px;
		min-height: 48px;
		border: 1px solid var(--serene-border);
		border-radius: 13px;
		background: var(--serene-white) !important;
		box-shadow: 0 7px 18px rgba(30, 89, 83, .1);
	}

	#mega-menu-wrap-primary #mega-menu-primary {
		position: absolute !important;
		top: calc(100% + 8px) !important;
		right: 0 !important;
		left: auto !important;
		display: none !important;
		width: min(360px, calc(100vw - 24px)) !important;
		height: auto !important;
		max-height: calc(100vh - var(--serene-header-offset) - 30px) !important;
		overflow-y: auto !important;
		padding: 14px !important;
		border: 1px solid var(--serene-border) !important;
		border-radius: 16px !important;
		background: var(--serene-white) !important;
		box-shadow: var(--serene-header-shadow) !important;
	}

	#mega-menu-wrap-primary .mega-menu-toggle.mega-menu-open + #mega-menu-primary,
	#mega-menu-wrap-primary #mega-menu-primary.mega-menu-open {
		display: block !important;
	}

	#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link {
		justify-content: space-between !important;
		width: 100% !important;
		height: auto !important;
		min-height: 46px;
		padding: 11px 8px !important;
		font-size: 14px !important;
		white-space: normal !important;
	}

	#mega-menu-wrap-primary #mega-menu-primary > #mega-menu-item-57 > #mega-sub-menu-57 {
		position: static !important;
		width: 100% !important;
		max-width: none !important;
		padding: 8px 0 4px 12px !important;
		border: 0 !important;
		border-radius: 0 !important;
		box-shadow: none !important;
		transform: none !important;
	}

	#mega-menu-wrap-primary #mega-menu-57-0 > ul.mega-sub-menu {
		display: block !important;
	}

	#mega-menu-wrap-primary #mega-menu-57-0-0,
	#mega-menu-wrap-primary #mega-menu-57-0-1 {
		display: none !important;
	}

	#mega-menu-wrap-primary #mega-menu-57-0-2,
	#mega-menu-wrap-primary #mega-menu-57-0-3 {
		border: 0;
	}

	#mega-menu-wrap-primary #mega-menu-57-0-2 .menu > li > a,
	#mega-menu-wrap-primary #mega-menu-57-0-3 .menu > li > a {
		min-height: 44px;
		font-size: 13px !important;
	}

	#mega-menu-wrap-primary .serene-mobile-search-item {
		display: block !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 0 12px !important;
		list-style: none !important;
	}

	#mega-menu-wrap-primary .serene-header-search {
		position: static;
		display: block;
		width: 100%;
		height: auto;
		margin: 0;
	}

	.serene-search-form {
		width: 100%;
		height: auto;
	}

	.serene-search-toggle {
		display: none;
	}

	.serene-search-panel,
	.serene-header-search.is-open .serene-search-panel {
		position: static;
		display: flex;
		width: 100%;
		padding: 10px;
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: none;
	}

	#mega-menu-wrap-primary .serene-search-panel {
		border-color: rgba(30, 89, 83, .28);
		background: #f7faf9;
		box-shadow: 0 7px 18px rgba(30, 89, 83, .09);
	}

	.serene-header-search .search-field {
		height: 44px;
		border-color: #c7d8d3;
	}

	.serene-header-search .search-submit,
	.mainMenu .serene-header-search .serene-button--search {
		flex-basis: 44px;
		width: 44px;
		min-width: 44px;
		height: 44px;
		min-height: 44px;
		border-color: var(--serene-primary);
		background: var(--serene-primary);
		color: var(--serene-white);
	}
}

@media (max-width: 600px) {
	body:not(.admin-bar) .topHeader.site-header {
		top: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.serene-search-panel,
	#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link::after {
		transition: none;
	}
}
