/*
 * Frontend Craft pass, v2.5.0.
 * Direction: a crisp regional showroom catalogue, led by real kitchen imagery,
 * strong product hierarchy and direct consultation actions.
 */

:root {
	--lh-canvas: #f2f1ed;
	--lh-surface: #ffffff;
	--lh-surface-soft: #e8e7e1;
	--lh-surface-dark: #141817;
	--lh-text: #171a19;
	--lh-muted: #5d6561;
	--lh-border: #d4d5cf;
	--lh-brand: #a82f25;
	--lh-brand-dark: #84241d;
	--lh-accent: #c79a45;
	--lh-success: #366b50;
	--lh-container: 1320px;
	--lh-radius-s: 3px;
	--lh-radius-m: 6px;
	--lh-radius-l: 10px;
	--lh-shadow: 0 18px 44px rgb(18 23 21 / 10%);
	--lh-shadow-card: 0 8px 22px rgb(18 23 21 / 7%);
	--lh-font: "Be Vietnam Pro", sans-serif;
	--lh-display: "Be Vietnam Pro", sans-serif;
}

html {
	scroll-behavior: smooth;
}

body {
	background: var(--lh-canvas);
	color: var(--lh-text);
	font-family: var(--lh-font);
	font-size: 16px;
	line-height: 1.58;
}

a,
button,
input,
select,
textarea {
	touch-action: manipulation;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
	outline: 3px solid var(--lh-accent);
	outline-offset: 3px;
}

.lh-container {
	width: min(calc(100% - 48px), var(--lh-container));
}

.lh-utility {
	background: var(--lh-surface-dark);
}

.lh-utility__inner {
	min-height: 36px;
}

.lh-header-main {
	background: var(--lh-surface);
	box-shadow: none;
	border-bottom: 1px solid var(--lh-border);
}

.lh-header-main__inner {
	grid-template-columns: 245px minmax(320px, 1fr) auto;
	min-height: 88px;
}

.lh-brand img {
	width: 230px;
	max-height: 62px;
}

.lh-search-form {
	min-height: 50px;
	background: #f7f7f4;
	border-color: #c9cbc5;
	border-radius: var(--lh-radius-m);
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 80%);
}

.lh-search-field {
	font-size: 16px;
}

.lh-header-action {
	border-radius: var(--lh-radius-s);
}

.lh-nav {
	border-bottom-color: #c9cbc5;
	box-shadow: 0 4px 12px rgb(18 23 21 / 5%);
}

.lh-nav__catalog,
.lh-nav__hotline,
.lh-menu > li > a {
	min-height: 50px;
}

.lh-nav__catalog {
	width: 245px;
	background: var(--lh-brand);
}

.lh-menu > li > a {
	font-size: 14px;
}

.lh-button {
	min-height: 46px;
	border-radius: var(--lh-radius-s);
	font-weight: 700;
	transition: background-color 160ms ease-out, border-color 160ms ease-out, color 160ms ease-out;
}

.lh-button:hover {
	transform: none;
}

.lh-text-link {
	font-weight: 700;
	text-underline-offset: 4px;
}

.lh-eyebrow {
	margin-bottom: 10px;
	color: var(--lh-brand);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
}

.lh-hero {
	min-height: 620px;
	background: var(--lh-surface-dark);
	isolation: isolate;
}

.lh-hero__media::after {
	background: linear-gradient(90deg, rgb(12 16 15 / 92%) 0%, rgb(12 16 15 / 76%) 34%, rgb(12 16 15 / 24%) 66%, rgb(12 16 15 / 6%) 100%);
}

.lh-hero__media img {
	object-position: 64% center;
	filter: saturate(.82) contrast(1.05);
}

.lh-hero__grid {
	min-height: 620px;
	align-items: center;
}

.lh-hero__copy {
	width: min(600px, 52vw);
	padding-block: 84px;
}

.lh-hero__copy h1 {
	max-width: 11.5ch;
	margin: 0 0 24px;
	font-size: clamp(46px, 5vw, 76px);
	font-weight: 700;
	letter-spacing: -0.055em;
	line-height: 1.03;
}

.lh-hero__lead {
	max-width: 58ch;
	font-size: clamp(17px, 1.25vw, 20px);
	line-height: 1.65;
}

.lh-button-row {
	gap: 12px;
	margin-top: 30px;
}

.lh-hero__proof {
	display: flex;
	gap: 0;
	margin-top: 46px;
	border-top: 1px solid rgb(255 255 255 / 28%);
	border-bottom: 1px solid rgb(255 255 255 / 28%);
}

.lh-hero__proof > span {
	min-width: 220px;
	padding: 18px 28px 18px 0;
}

.lh-hero__proof > span + span {
	padding-left: 28px;
	border-left: 1px solid rgb(255 255 255 / 28%);
}

.lh-demo-note {
	display: none;
}

.lh-trust-strip {
	background: var(--lh-surface);
	border-bottom: 1px solid var(--lh-border);
}

.lh-trust-strip__grid {
	grid-template-columns: repeat(4, 1fr);
}

.lh-trust-strip__grid > div {
	min-height: 92px;
	padding: 20px 26px;
	border-right: 1px solid var(--lh-border);
}

.lh-trust-strip__grid > div:first-child {
	border-left: 1px solid var(--lh-border);
}

.lh-section {
	padding-block: clamp(72px, 7vw, 112px);
}

.lh-section-heading {
	align-items: flex-end;
	margin-bottom: 34px;
}

.lh-section-heading h2,
.lh-page-header h1,
.lh-catalog-hero h1,
.lh-entry-header h1 {
	font-family: var(--lh-display);
	font-weight: 700;
	letter-spacing: -0.04em;
	line-height: 1.08;
}

.lh-section-heading h2 {
	max-width: 18ch;
	font-size: clamp(34px, 4vw, 54px);
}

.lh-section--categories {
	background: #ecece6;
}

.lh-category-showcase {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	grid-auto-rows: 250px;
	gap: 12px;
}

.lh-category-tile,
.lh-category-tile--wide {
	grid-column: span 3;
	min-height: 250px;
	border: 1px solid #cfd1ca;
	border-radius: var(--lh-radius-m);
	background: var(--lh-surface);
	box-shadow: none;
	overflow: hidden;
}

.lh-category-tile--wide {
	grid-column: span 6;
}

.lh-category-tile__media {
	height: calc(100% - 72px);
	background: #f5f5f1;
}

.lh-category-tile__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: opacity 160ms ease-out;
}

.lh-category-tile:hover .lh-category-tile__media img {
	transform: none;
	opacity: .88;
}

.lh-category-tile__body {
	min-height: 72px;
	padding: 14px 16px;
	border-top: 1px solid var(--lh-border);
}

.lh-category-tile__body strong {
	font-size: 16px;
}

.lh-section--products {
	background: var(--lh-surface);
}

.lh-product-shelves {
	display: grid;
	gap: 0;
	border-top: 1px solid var(--lh-text);
}

.lh-product-shelf {
	padding-block: 34px 42px;
	background: transparent;
	border: 0;
	border-bottom: 1px solid var(--lh-border);
	border-radius: 0;
	box-shadow: none;
}

.lh-product-shelf__heading {
	margin-bottom: 20px;
	padding: 0;
	border: 0;
}

.lh-product-shelf__heading h3 {
	font-size: clamp(25px, 2vw, 34px);
	letter-spacing: -0.035em;
}

.lh-product-shelf__rail,
.lh-product-grid,
.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
}

.lh-product-card,
.woocommerce ul.products li.product {
	min-width: 0;
	margin: 0 !important;
	background: var(--lh-surface);
	border: 1px solid var(--lh-border);
	border-radius: var(--lh-radius-m);
	box-shadow: none;
	overflow: hidden;
	transition: border-color 160ms ease-out, box-shadow 160ms ease-out;
}

.lh-product-card:hover,
.woocommerce ul.products li.product:hover {
	transform: none;
	border-color: #9fa39d;
	box-shadow: var(--lh-shadow-card);
}

.lh-product-card__media,
.woocommerce ul.products li.product .woocommerce-loop-product__link {
	display: block;
}

.lh-product-card__media {
	aspect-ratio: 4 / 3;
	background: #f0f0ec;
	border-bottom: 1px solid var(--lh-border);
}

.lh-product-card__media img,
.woocommerce ul.products li.product img {
	width: 100%;
	height: 100%;
	margin: 0 !important;
	object-fit: cover;
}

.lh-product-card__body {
	padding: 18px;
}

.lh-product-card__meta {
	display: none;
}

.lh-product-card h3,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 16px;
	font-weight: 600;
	line-height: 1.45;
}

.lh-stock {
	margin-top: 16px;
	font-size: 12px;
	letter-spacing: 0;
	text-transform: none;
}

.lh-product-card__price,
.woocommerce ul.products li.product .price {
	font-size: 18px;
	font-variant-numeric: tabular-nums;
}

.lh-product-contact-actions--card {
	grid-template-columns: 1fr 1fr;
	gap: 8px;
}

.lh-product-contact-actions--card .lh-button {
	min-height: 42px;
	font-size: 13px;
}

.lh-section--solutions {
	background: #202523;
	color: #fff;
}

.lh-section--solutions .lh-eyebrow {
	color: #dfbd79;
}

.lh-solution-grid {
	grid-template-columns: 1.35fr .65fr;
	gap: 14px;
}

.lh-solution-card {
	min-height: 430px;
	border: 1px solid rgb(255 255 255 / 20%);
	border-radius: var(--lh-radius-m);
	box-shadow: none;
}

.lh-solution-card__image::after {
	background: linear-gradient(0deg, rgb(10 13 12 / 86%) 0%, rgb(10 13 12 / 8%) 68%);
}

.lh-solution-card__content strong {
	max-width: 19ch;
	font-size: clamp(25px, 2.5vw, 38px);
	line-height: 1.16;
}

.lh-brand-band {
	padding-block: 72px;
	background: var(--lh-surface);
}

.lh-brand-marquee {
	overflow: visible;
}

.lh-brand-marquee__track {
	display: block;
	width: auto;
	animation: none;
}

.lh-brand-marquee__group {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 10px;
	width: auto;
	padding: 0;
}

.lh-brand-marquee__group[aria-hidden="true"] {
	display: none;
}

.lh-brand-logo {
	min-width: 0;
	height: 94px;
	border: 1px solid var(--lh-border);
	border-radius: var(--lh-radius-s);
	background: #fff;
}

.lh-section--branches {
	background: #e7e7e1;
}

.lh-branch-grid {
	gap: 14px;
}

.lh-branch {
	border: 1px solid #c7c9c2;
	border-radius: var(--lh-radius-m);
	background: transparent;
	box-shadow: none;
}

.lh-branch__number {
	color: var(--lh-brand);
	font-variant-numeric: tabular-nums;
}

.lh-section--journal {
	background: var(--lh-surface);
}

.lh-post-card {
	border: 1px solid var(--lh-border);
	border-radius: var(--lh-radius-m);
	box-shadow: none;
}

.lh-post-card__media {
	border-bottom: 1px solid var(--lh-border);
}

.lh-footer__cta {
	background: var(--lh-brand);
}

.lh-footer {
	background: var(--lh-surface-dark);
}

.lh-contact-dock__item {
	box-shadow: 0 3px 12px rgb(18 23 21 / 22%);
}

.lh-catalog-hero {
	min-height: 310px;
	border-radius: var(--lh-radius-m);
	box-shadow: none;
}

.lh-catalog-layout {
	align-items: start;
}

.lh-filter-panel,
.lh-sidebar-help,
.lh-entry,
.lh-post-products,
.lh-comments,
.woocommerce div.product {
	border-radius: var(--lh-radius-m);
	box-shadow: none;
}

.lh-filter-panel {
	border: 1px solid var(--lh-border);
}

.woocommerce div.product div.images img {
	background: #f0f0ec;
	border: 1px solid var(--lh-border);
	border-radius: var(--lh-radius-m);
}

.lh-product-contact {
	border: 1px solid #c9cbc5;
	border-radius: var(--lh-radius-m);
	background: #eeeee8;
}

.lh-page-header,
.lh-entry-header {
	max-width: 780px;
}

.lh-prose {
	font-size: 17px;
	line-height: 1.68;
}

.lh-prose p,
.lh-prose li {
	max-width: 70ch;
}

@media (max-width: 1100px) {
	.lh-header-main__inner {
		grid-template-columns: 210px minmax(260px, 1fr) auto;
		gap: 18px;
	}

	.lh-product-shelf__rail,
	.lh-product-grid,
	.woocommerce ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.lh-category-tile,
	.lh-category-tile--wide {
		grid-column: span 4;
	}

	.lh-category-tile:first-child {
		grid-column: span 8;
	}
}

@media (max-width: 960px) {
	.lh-container {
		width: min(calc(100% - 32px), var(--lh-container));
	}

	.lh-header-main__inner {
		grid-template-columns: 48px minmax(0, 1fr) auto;
		min-height: 72px;
	}

	.lh-hero,
	.lh-hero__grid {
		min-height: 560px;
	}

	.lh-hero__copy {
		width: min(650px, 78vw);
		padding-block: 64px;
	}

	.lh-product-shelf__rail,
	.lh-product-grid,
	.woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.lh-brand-marquee__group {
		grid-template-columns: repeat(4, 1fr);
	}
}

@media (max-width: 680px) {
	body {
		font-size: 16px;
	}

	.lh-container {
		width: min(calc(100% - 32px), var(--lh-container));
	}

	.lh-utility__promise,
	.lh-utility__desktop {
		display: none;
	}

	.lh-utility__inner {
		justify-content: flex-end;
	}

	.lh-header-main__inner {
		min-height: 68px;
	}

	.lh-brand img {
		max-width: 180px;
		max-height: 52px;
	}

	.lh-hero,
	.lh-hero__grid {
		min-height: 610px;
	}

	.lh-hero__media::after {
		background: linear-gradient(0deg, rgb(12 16 15 / 94%) 0%, rgb(12 16 15 / 64%) 60%, rgb(12 16 15 / 18%) 100%);
	}

	.lh-hero__media img {
		object-position: 67% center;
	}

	.lh-hero__grid {
		align-items: end;
	}

	.lh-hero__copy {
		width: 100%;
		padding-block: 150px 44px;
	}

	.lh-hero__copy h1 {
		max-width: 12ch;
		font-size: clamp(42px, 13vw, 58px);
	}

	.lh-hero__lead {
		font-size: 16px;
	}

	.lh-button-row {
		display: grid;
		grid-template-columns: 1fr;
	}

	.lh-button-row .lh-button {
		min-height: 50px;
	}

	.lh-hero__proof {
		display: none;
	}

	.lh-trust-strip__grid {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}

	.lh-trust-strip__grid > div,
	.lh-trust-strip__grid > div:first-child {
		min-height: 82px;
		padding: 14px;
		border-left: 0;
		border-right: 0;
		border-bottom: 1px solid var(--lh-border);
	}

	.lh-section {
		padding-block: 64px;
	}

	.lh-section-heading {
		align-items: flex-start;
		gap: 18px;
	}

	.lh-section-heading h2 {
		font-size: 34px;
	}

	.lh-category-showcase {
		grid-template-columns: 1fr 1fr;
		grid-auto-rows: 220px;
		gap: 10px;
	}

	.lh-category-tile,
	.lh-category-tile--wide,
	.lh-category-tile:first-child {
		grid-column: span 1;
		min-height: 220px;
	}

	.lh-category-tile:first-child {
		grid-column: 1 / -1;
	}

	.lh-product-shelf {
		padding-block: 28px 34px;
	}

	.lh-product-shelf__rail,
	.lh-product-grid,
	.woocommerce ul.products {
		display: flex;
		gap: 12px;
		overflow-x: auto;
		scroll-snap-type: x proximity;
		scrollbar-width: thin;
		padding-bottom: 12px;
	}

	.lh-product-card,
	.woocommerce ul.products li.product {
		flex: 0 0 min(78vw, 310px);
		scroll-snap-align: start;
	}

	.lh-product-card__actions .lh-button {
		min-height: 48px;
	}

	.lh-solution-grid {
		grid-template-columns: 1fr;
	}

	.lh-solution-card {
		min-height: 390px;
	}

	.lh-brand-marquee__group {
		grid-template-columns: repeat(2, 1fr);
	}

	.lh-brand-logo {
		height: 86px;
	}

	.lh-contact-dock {
		inset-inline: 12px;
		bottom: max(10px, env(safe-area-inset-bottom));
		gap: 8px;
	}

	.lh-contact-dock__item {
		min-width: 52px;
		height: 52px;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
	}
}
