:root {
	--lvh-ink: #17372f;
	--lvh-paper: #f7f2e8;
	--lvh-paper-2: #eee5d6;
	--lvh-clay: #c76c45;
	--lvh-line: rgba(23, 55, 47, .16);
}

body:not(.elementor-editor-active) .page-header,
body:not(.elementor-editor-active) .page-header-place-holder,
body:not(.elementor-editor-active) .page-mobile-tabs {
	display: none !important;
}

body {
	--lvh-ink: #17372f;
}

.lvh-skip {
	position: fixed;
	left: 16px;
	top: -80px;
	z-index: 999999;
	padding: 12px 18px;
	background: var(--lvh-ink);
	color: #fff;
	transition: top .2s ease;
}

.lvh-skip:focus {
	top: 16px;
}

.lvh-announcement {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 13px;
	min-height: 34px;
	padding: 7px 20px;
	background: var(--lvh-ink);
	color: var(--lvh-paper);
	font: 500 11px/1.3 "Segoe UI", Arial, sans-serif;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.lvh-announcement span:nth-child(2),
.lvh-announcement span:nth-child(4) {
	opacity: .45;
}

.lvh-header {
	position: relative;
	z-index: 500;
	background: rgba(247, 242, 232, .98);
	border-bottom: 1px solid var(--lvh-line);
	color: var(--lvh-ink);
}

.lvh-shell {
	width: min(1440px, calc(100% - 64px));
	margin-inline: auto;
}

.lvh-header-inner {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr) 120px;
	align-items: center;
	min-height: 86px;
	gap: 28px;
}

.lvh-brand {
	display: inline-flex;
	align-items: center;
	width: max-content;
	max-width: 190px;
	color: inherit;
}

.lvh-brand img {
	display: block;
	width: 100%;
	height: auto;
}

.lvh-nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(18px, 2.4vw, 38px);
}

.lvh-nav a {
	position: relative;
	padding: 9px 0;
	color: var(--lvh-ink);
	font: 600 12px/1.2 "Segoe UI", Arial, sans-serif;
	letter-spacing: .11em;
	text-decoration: none;
	text-transform: uppercase;
}

.lvh-nav a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 3px;
	height: 1px;
	background: var(--lvh-clay);
	transform: scaleX(0);
	transform-origin: right;
	transition: transform .28s ease;
}

.lvh-nav a:hover::after,
.lvh-nav a:focus-visible::after {
	transform: scaleX(1);
	transform-origin: left;
}

.lvh-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
}

.lvh-icon-link {
	position: relative;
	display: inline-grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border: 1px solid transparent;
	border-radius: 50%;
	color: var(--lvh-ink);
	transition: background .2s ease, border-color .2s ease;
}

.lvh-icon-link:hover,
.lvh-icon-link:focus-visible {
	border-color: var(--lvh-line);
	background: var(--lvh-paper-2);
}

.lvh-icon-link svg {
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.55;
}

.lvh-cart-count {
	position: absolute;
	right: 1px;
	top: 1px;
	display: grid;
	place-items: center;
	min-width: 17px;
	height: 17px;
	padding: 0 4px;
	border-radius: 20px;
	background: var(--lvh-clay);
	color: #fff;
	font: 700 9px/1 "Segoe UI", Arial, sans-serif;
}

.lvh-menu-toggle,
.lvh-menu-close,
.lvh-menu-backdrop {
	display: none;
}

.lvh-mobile-panel {
	display: none;
}

@media (max-width: 1080px) {
	.lvh-shell {
		width: min(100% - 36px, 1440px);
	}

	.lvh-header-inner {
		grid-template-columns: 44px 1fr 94px;
		min-height: 72px;
		gap: 12px;
	}

	.lvh-menu-toggle {
		display: inline-flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 6px;
		width: 42px;
		height: 42px;
		padding: 0;
		border: 0;
		background: transparent;
		color: var(--lvh-ink);
	}

	.lvh-menu-toggle span {
		display: block;
		width: 21px;
		height: 1.5px;
		background: currentColor;
	}

	.lvh-brand {
		justify-self: center;
		width: 160px;
		max-width: 48vw;
	}

	.lvh-nav {
		display: none;
	}

	.lvh-actions {
		gap: 1px;
	}

	.lvh-icon-link {
		width: 40px;
		height: 40px;
	}

	.lvh-mobile-panel {
		position: fixed;
		left: 0;
		top: 0;
		bottom: 0;
		z-index: 510;
		display: flex;
		flex-direction: column;
		width: min(88vw, 390px);
		padding: 26px 26px 34px;
		background: var(--lvh-ink);
		color: var(--lvh-paper);
		transform: translateX(-102%);
		transition: transform .32s cubic-bezier(.22, .8, .2, 1);
	}

	.lvh-menu-backdrop {
		position: fixed;
		inset: 0;
		z-index: 505;
		width: 100%;
		height: 100%;
		padding: 0;
		border: 0;
		background: rgba(8, 22, 18, .45);
		opacity: 0;
		visibility: hidden;
		transition: opacity .3s ease, visibility .3s ease;
	}

	body.lvh-menu-open {
		overflow: hidden;
	}

	body.lvh-menu-open .lvh-mobile-panel {
		transform: translateX(0);
	}

	body.lvh-menu-open .lvh-menu-backdrop {
		display: block;
		opacity: 1;
		visibility: visible;
	}

	.lvh-mobile-head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding-bottom: 20px;
		border-bottom: 1px solid rgba(247, 242, 232, .2);
		font: 600 11px/1 "Segoe UI", Arial, sans-serif;
		letter-spacing: .15em;
		text-transform: uppercase;
	}

	.lvh-menu-close {
		display: grid;
		place-items: center;
		width: 38px;
		height: 38px;
		padding: 0;
		border: 1px solid rgba(247, 242, 232, .26);
		border-radius: 50%;
		background: transparent;
		color: inherit;
		font: 300 26px/1 Georgia, serif;
	}

	.lvh-mobile-nav {
		display: flex;
		flex-direction: column;
		margin-top: 18px;
	}

	.lvh-mobile-nav a {
		display: flex;
		align-items: baseline;
		gap: 18px;
		padding: 18px 0;
		border-bottom: 1px solid rgba(247, 242, 232, .14);
		color: var(--lvh-paper);
		font: 400 clamp(28px, 7vw, 40px)/1.05 Georgia, serif;
		text-decoration: none;
	}

	.lvh-mobile-nav a span {
		color: rgba(247, 242, 232, .48);
		font: 600 10px/1 "Segoe UI", Arial, sans-serif;
		letter-spacing: .12em;
	}

	.lvh-mobile-note {
		margin-top: auto;
		padding-top: 30px;
		color: rgba(247, 242, 232, .7);
		font-size: 13px;
		line-height: 1.6;
	}

	.lvh-mobile-note a {
		color: var(--lvh-paper);
		text-decoration: underline;
		text-underline-offset: 4px;
	}
}

@media (max-width: 640px) {
	.lvh-announcement {
		min-height: 30px;
		gap: 8px;
		padding-inline: 10px;
		font-size: 9px;
		letter-spacing: .08em;
	}

	.lvh-announcement span:nth-child(3),
	.lvh-announcement span:nth-child(4),
	.lvh-announcement span:nth-child(5) {
		display: none;
	}

	.lvh-header-inner {
		grid-template-columns: 38px minmax(0, 1fr) 82px;
	}
}

