/* Front page aligned with the collection-page visual system. */
body.home {
	--lsh-ink: #143e46;
	--lsh-muted: #607c82;
	--lsh-teal: #07989b;
	--lsh-green: #0b5f4a;
	--lsh-mint: #28b983;
	--lsh-page-bg: #e8f8f6;
	background: var(--lsh-page-bg) !important;
	color: var(--lsh-ink);
}

body.home #main-container,
body.home #main-container > main {
	background: var(--lsh-page-bg) !important;
}

body.home .ls-hero {
	background: var(--lsh-page-bg);
	height: auto;
	padding-top: 16px;
}

body.home .ls-main-nav {
	background: linear-gradient(145deg, rgba(255, 255, 255, 0.96), rgba(241, 253, 250, 0.86)) !important;
}

body.home .ls-main-nav::before {
	display: none;
}

body.home .ls-hero-inner,
body.home .ct-container-full {
	box-sizing: border-box;
	margin-inline: auto !important;
	max-width: 1380px !important;
	width: calc(100% - 80px) !important;
}

body.home .entry-content.is-layout-constrained {
	margin-inline: 0 !important;
	max-width: none !important;
	width: 100% !important;
}

body.home .ls-hero-inner {
	border-radius: 14px;
	box-shadow: 0 16px 36px rgba(20, 103, 108, 0.12);
	height: 380px;
	overflow: hidden;
}

body.home .ls-hero-slide::after {
	opacity: 0.18;
}

body.home .ls-hero-arrow {
	color: var(--lsh-ink);
	height: 42px;
	width: 42px;
}

body.home .ls-hero-arrow svg {
	height: 20px;
	width: 20px;
}

html body.home main#main.site-main > .ct-container-full[data-content="normal"] {
	padding: 28px 0 72px !important;
}

body.home .hero-section[data-type="type-1"] {
	display: none;
}

body.home .entry-content.is-layout-constrained > * {
	margin-inline: 0 !important;
	max-width: none !important;
	width: 100% !important;
}

body.home .ls-section-title {
	color: var(--lsh-ink);
	font-size: 26px;
	font-weight: 760;
	letter-spacing: 0;
	line-height: 1.25;
	margin: 0 0 18px !important;
}

body.home .entry-content > .woocommerce {
	margin: 0 0 38px !important;
}

body.home .entry-content > .woocommerce + .ls-section-title {
	margin-top: 4px !important;
}

body.home ul.products.columns-3 {
	display: grid !important;
	gap: 22px !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	margin: 0 !important;
}

body.home ul.products.columns-3::before,
body.home ul.products.columns-3::after {
	display: none !important;
}

body.home ul.products.columns-3 > li.product {
	background: linear-gradient(145deg, rgba(255, 255, 255, 0.96), rgba(241, 253, 250, 0.86));
	border: 1px solid rgba(255, 255, 255, 0.96);
	border-radius: 8px;
	box-shadow: 0 16px 38px rgba(20, 103, 108, 0.1);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	margin: 0 !important;
	min-width: 0;
	overflow: hidden;
	padding-bottom: 20px;
	position: relative;
	transition: border-color 200ms ease, box-shadow 200ms ease, transform 200ms ease;
	width: auto !important;
}

body.home ul.products.columns-3 > li.product::before {
	background: linear-gradient(90deg, var(--lsh-teal), var(--lsh-mint));
	content: "";
	height: 3px;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 300ms ease;
	z-index: 4;
}

body.home ul.products.columns-3 > li.product:hover::before,
body.home ul.products.columns-3 > li.product:focus-within::before {
	transform: scaleX(1);
}

body.home ul.products.columns-3 > li.product:hover,
body.home ul.products.columns-3 > li.product:focus-within {
	border-color: rgba(11, 95, 74, 0.24);
	box-shadow: 0 24px 50px rgba(20, 103, 108, 0.17);
	transform: translateY(-5px);
}

body.home ul.products.columns-3 > li.product figure {
	background: #fff;
	margin: 0 0 18px !important;
	overflow: hidden;
}

body.home ul.products.columns-3 > li.product figure .ct-media-container,
body.home ul.products.columns-3 > li.product figure img {
	aspect-ratio: 5 / 4 !important;
}

body.home ul.products.columns-3 > li.product figure img {
	height: 100% !important;
	object-fit: contain !important;
	transform: scale(0.94);
	transition: transform 260ms ease;
	width: 100% !important;
}

body.home ul.products.columns-3 > li.product:hover figure img,
body.home ul.products.columns-3 > li.product:focus-within figure img {
	transform: scale(0.99);
}

body.home ul.products.columns-3 .woocommerce-loop-product__title {
	color: var(--lsh-ink) !important;
	font-size: 18px !important;
	font-weight: 720 !important;
	letter-spacing: 0;
	line-height: 1.42;
	margin: 0 20px 12px !important;
	min-height: 61px;
	padding: 0 !important;
}

body.home ul.products.columns-3 .price,
body.home ul.products.columns-3 .entry-meta,
body.home ul.products.columns-3 .ct-woo-card-actions {
	margin-inline: 20px !important;
}

body.home ul.products.columns-3 .price {
	color: #344b67 !important;
	display: flex !important;
	font-size: 19px !important;
	font-weight: 700 !important;
	justify-content: flex-end;
	margin-block: auto 12px !important;
	text-align: right !important;
}

body.home ul.products.columns-3 .price:has(.amount) {
	align-self: flex-end;
	justify-content: center;
	max-width: calc(100% - 40px);
	min-width: min(120px, calc(100% - 40px));
	text-align: center !important;
}

body.home ul.products.columns-3 .price .amount {
	font-size: 19px !important;
	font-weight: 700 !important;
}

body.home ul.products.columns-3 .lspv-price-notice {
	color: var(--lsh-green) !important;
}

body.home ul.products.columns-3 .entry-meta {
	display: none !important;
	margin: 0 !important;
}

body.home ul.products.columns-3 .ct-woo-card-actions {
	display: flex;
	justify-content: flex-end;
	margin-top: 0 !important;
	padding-top: 0;
}

body.home ul.products.columns-3 .ct-woo-card-actions .button {
	background: var(--lsh-green) !important;
	border-radius: 7px !important;
	color: #fff !important;
	font-size: 16px !important;
	justify-content: center;
	max-width: 100%;
	min-height: 40px;
}

body.home ul.products.columns-3 .ct-woo-card-actions .add_to_cart_button {
	box-sizing: border-box;
	flex: 0 1 120px;
	width: 120px;
}

body.home ul.products.columns-3 .ct-woo-card-actions .button:hover,
body.home ul.products.columns-3 .ct-woo-card-actions .button:focus-visible {
	background: #084638 !important;
}

body.home .ls-vs {
	background: transparent;
	margin-top: 46px;
}

body.home .ls-vs-inner {
	align-items: center;
	background: linear-gradient(145deg, rgba(255, 255, 255, 0.94), rgba(241, 253, 250, 0.82));
	border: 1px solid rgba(255, 255, 255, 0.96);
	border-radius: 8px;
	box-shadow: 0 18px 42px rgba(20, 103, 108, 0.11);
	box-sizing: border-box;
	gap: 32px;
	overflow: hidden;
	padding: 24px;
	position: relative;
}

body.home .ls-vs-inner::before {
	background: linear-gradient(90deg, var(--lsh-teal), var(--lsh-mint));
	content: "";
	height: 3px;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}

body.home .ls-vs-media {
	background: #fff;
	border-radius: 7px;
	flex-basis: 56%;
}

body.home .ls-vs-text {
	color: var(--lsh-muted);
	font-size: 15px;
	gap: 14px;
	line-height: 1.72;
}

@media (max-width: 900px) {
	body.home .ls-hero-inner,
	body.home .ct-container-full {
		width: calc(100% - 32px) !important;
	}

	body.home ul.products.columns-3 {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	body.home .ls-vs-inner {
		align-items: stretch;
		flex-direction: column;
	}

	body.home .ls-vs-media {
		flex-basis: auto;
		width: 100%;
	}
}

@media (max-width: 620px) {
	body.home .ls-hero {
		height: auto;
		padding-top: 12px;
	}

	body.home .ls-hero-inner {
		height: 260px;
	}

	body.home ul.products.columns-3 {
		grid-template-columns: 1fr !important;
	}

	html body.home main#main.site-main > .ct-container-full[data-content="normal"] {
		padding: 22px 0 48px !important;
	}

	body.home .ls-section-title {
		font-size: 23px;
	}

	body.home .ls-vs-inner {
		padding: 16px;
	}
}

/* Keep the full mobile banner visible with its controls inside the image. */
@media (max-width: 780px) {
	body.home .ls-hero-inner {
		display: block;
		height: auto;
		overflow: hidden;
	}

	body.home .ls-hero-slides {
		/* The configured banners are 2000 x 548; contain also fits other image ratios. */
		aspect-ratio: 2000 / 548;
		border-radius: inherit;
		inset: auto;
		min-width: 0;
		overflow: hidden;
		position: relative;
	}

	body.home .ls-hero-slide {
		background-repeat: no-repeat;
		background-size: contain;
	}

	body.home .ls-hero-arrow {
		height: 32px;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		width: 32px;
	}
	body.home .ls-hero-prev { left: 8px; }
	body.home .ls-hero-next { right: 8px; }

	body.home .ls-hero-dots {
		align-items: center;
		bottom: 2px;
		gap: 4px;
		justify-content: center;
		left: 50%;
		position: absolute;
		transform: translateX(-50%);
	}
	body.home .ls-hero-dot {
		background: transparent;
		display: grid;
		height: 32px;
		opacity: 1;
		place-items: center;
		width: 24px;
	}
	body.home .ls-hero-dot::before {
		background: #fff;
		border-radius: 50%;
		box-shadow: 0 1px 3px rgba(0, 0, 0, .5);
		content: "";
		height: 8px;
		opacity: .45;
		width: 8px;
	}
	body.home .ls-hero-dot.is-active::before { opacity: 1; }

	html body.home main#main.site-main > .ct-container-full[data-content="normal"] {
		padding-top: 12px !important;
	}
}
