/* ===== HEADER BASE ===== */

body {
	font-family: 'Montserrat', sans-serif;
}

.site-header {
	background: var(--background);
	border-bottom: 1px solid rgba(0,0,0,.08);
	position: relative;
	z-index: 9999;
}

.site-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	min-height: 116px;
}

.site-header__logo,
.site-header__actions {
	flex: 0 0 auto;
}

.site-header__logo a {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
}

.site-header__logo img,
.site-header__logo .logo {
	display: block;
	width: auto !important;
	max-width: 285px !important;
	height: auto !important;
	max-height: 135px !important;
}

.site-header__nav-wrap {
	flex: 1 1 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}

.mainmenu {
	display: flex;
	align-items: center;
	justify-content: center;
}

.main-menu,
.main-menu ul,
.main-menu li {
	list-style: none;
	margin: 0;
	padding: 0;
}

.main-menu {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 44px;
}

.main-menu > li {
	position: relative;
}

.main-menu > li > a {
	display: inline-flex;
	align-items: center;
	min-height: 116px;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: .02em;
	text-transform: uppercase;
	color: var(--text);
	text-decoration: none;
}

.main-menu > li > a:hover {
	opacity: .75;
}

.main-menu > li.menu-item-has-children > a {
	padding-right: 18px;
	position: relative;
}

.main-menu > li.menu-item-has-children > a::after {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	width: 7px;
	height: 7px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: translateY(-70%) rotate(45deg);
}

.main-menu .sub-menu {
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	min-width: 220px;
	background: var(--background);
	border: 1px solid rgba(0,0,0,.08);
	box-shadow: 0 12px 28px rgba(0,0,0,.10);
	padding: 10px 0;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	z-index: 999;
}

.main-menu .sub-menu li {
	display: block;
	width: 100%;
}

.main-menu .sub-menu a {
	display: block;
	padding: 10px 18px;
	font-size: 14px;
	font-weight: 500;
	color: var(--text);
	text-decoration: none;
	white-space: nowrap;
}

.main-menu .sub-menu a:hover {
	background: rgba(0,0,0,.04);
}

@media (min-width: 992px) {
	.main-menu > li:hover > .sub-menu,
	.main-menu > li:focus-within > .sub-menu {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}
}

/* ===== CART ===== */

.site-header__actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	min-width: 64px;
}

.header-cart {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 54px;
	color: var(--primary) !important;
	text-decoration: none !important;
}

.header-cart__count {
	position: absolute;
	top: 6px;
	right: 4px;
	min-width: 20px;
	height: 20px;
	padding: 0 5px;
	border-radius: 999px;
	background: var(--primary);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	line-height: 20px;
	text-align: center;
}

/* ===== MEANMENU MOBILE ===== */

.mean-container .mean-bar {
	background: var(--background);
	padding: 0;
	min-height: 42px;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	z-index: 10001;
}

.mean-container a.meanmenu-reveal {
	width: 42px;
	height: 42px;
	padding: 0 !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	text-indent: 0 !important;
	font-size: 0 !important;
	color: var(--text) !important;
	text-decoration: none !important;
}

.mean-container a.meanmenu-reveal span {
	display: block;
	width: 24px;
	height: 2px;
	margin: 3px 0;
	background: var(--text);
	border-radius: 10px;
	position: relative;
}

.mean-container .mean-nav {
	background: var(--background);
	margin-top: 56px;
	box-shadow: 0 12px 28px rgba(0,0,0,.10);
	border: 1px solid rgba(0,0,0,.08);
}

.mean-container .mean-nav ul {
	padding: 0;
	margin: 0;
	list-style: none;
}

.mean-container .mean-nav ul li {
	position: relative;
	border-bottom: 1px solid rgba(0,0,0,.08);
}

.mean-container .mean-nav ul li a {
	display: block;
	width: 100%;
	padding: 16px 44px 16px 0;
	font-size: 15px;
	font-weight: 500;
	text-transform: uppercase;
	color: var(--text);
	text-decoration: none;
	background: transparent;
}

.mean-container .mean-nav ul li li a {
	padding: 12px 18px !important;
	font-size: 14px;
	font-weight: 500;
	text-transform: none;
}

.mean-container .mean-nav ul li a.mean-expand {
	width: 34px !important;
	height: 34px !important;
	padding: 0 !important;
	line-height: 34px !important;
	text-align: center !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--text) !important;
	right: 0 !important;
	top: 8px !important;
	font-size: 22px !important;
	font-weight: 400 !important;
}

.mean-container .mean-nav ul li a.mean-expand:hover {
	background: transparent !important;
}

.mean-container .mean-nav ul li a:hover {
	background: rgba(0,0,0,.04);
}

@media (max-width: 991px) {
	.site-header__inner {
		min-height: 78px;
	}

	.site-header__logo img,
	.site-header__logo .logo {
		max-width: 210px !important;
		max-height: 100px !important;
	}

	.mainmenu {
		width: 100%;
		justify-content: flex-end;
	}

	.main-menu {
		display: none;
	}
}