/* Homepage catalog — isolated with the lsh- prefix. */
:root{--lsh-green:#087b47;--lsh-green-dark:#035c35;--lsh-green-pale:#e9f7ef;--lsh-ink:#101b24;--lsh-muted:#61707c;--lsh-line:#e4e9e6;--lsh-warm:#fff8e9;--lsh-shell:min(1480px,calc(100vw - 72px))}
body.home{background:#fff;color:var(--lsh-ink);overflow-x:hidden}.lsh-home,.lsh-home *{box-sizing:border-box}.lsh-home{font-family:'DM Sans',system-ui,sans-serif}.lsh-home h1,.lsh-home h2,.lsh-home h3,.lsh-home strong{font-family:'Plus Jakarta Sans',system-ui,sans-serif}.lsh-home a{text-decoration:none}.lsh-home svg{width:1.25rem;height:1.25rem;flex:0 0 auto}.lsh-shell{width:var(--lsh-shell);margin-inline:auto}.lsh-section{padding:32px 0}.lsh-subheading,.lsh-section-head h2{margin:0;color:var(--lsh-ink);font-size:clamp(1.2rem,1.6vw,1.55rem);line-height:1.2;letter-spacing:-.025em}.lsh-kicker{margin:0 0 14px;color:var(--lsh-green);font-size:.73rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.lsh-section-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:22px}.lsh-section-head>a,.lsh-section-head__actions>a{display:inline-flex;align-items:center;gap:8px;color:var(--lsh-green);font-size:.86rem;font-weight:800;white-space:nowrap}.lsh-section-head__actions{display:flex;align-items:center;gap:20px}.lsh-rail-nav{display:flex;gap:7px}.lsh-rail-nav button{display:grid;place-items:center;width:35px;height:35px;border:1px solid var(--lsh-line);border-radius:50%;background:#fff;color:var(--lsh-green);font-size:1.35rem;line-height:1;cursor:pointer}.lsh-rail-nav button:disabled{opacity:.3}.lsh-rail{scrollbar-width:none}.lsh-rail::-webkit-scrollbar{display:none}

.lsh-hero{position:relative;overflow:hidden;padding:42px 0 34px;background:radial-gradient(circle at 61% 48%,rgba(7,123,71,.09),transparent 34%),linear-gradient(135deg,#fbfcfb 0%,#f5f8f7 100%);border-bottom:1px solid #eef1ef}.lsh-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(7,123,71,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(7,123,71,.025) 1px,transparent 1px);background-size:38px 38px;mask-image:linear-gradient(90deg,transparent,black,transparent)}.lsh-hero__grid{position:relative;display:grid;grid-template-columns:minmax(500px,1.04fr) minmax(480px,1.16fr) minmax(260px,.56fr);align-items:center;min-height:410px;gap:18px}.lsh-hero__copy{position:relative;z-index:2}.lsh-hero h1{margin:0;font-size:clamp(2.65rem,2.7vw,2.82rem);line-height:1.04;letter-spacing:-.052em}.lsh-hero h1 span{color:var(--lsh-green)}.lsh-hero__lead{max-width:500px;margin:18px 0 0;color:#3f4d57;font-size:.91rem;line-height:1.55}.lsh-actions{display:flex;gap:12px;margin-top:23px}.lsh-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:47px;padding:0 20px;border:1px solid var(--lsh-green);border-radius:6px;font-size:.82rem;font-weight:800;transition:.2s ease}.lsh-button--primary{background:var(--lsh-green);color:#fff}.lsh-button--secondary{background:#fff;color:var(--lsh-green)}.lsh-button:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(6,95,55,.14)}.lsh-hero__checks{display:flex;flex-wrap:wrap;gap:21px;margin:27px 0 0;padding:0;list-style:none}.lsh-hero__checks li{display:flex;align-items:center;gap:8px;color:var(--lsh-green)}.lsh-hero__checks span{display:flex;flex-direction:column;color:var(--lsh-muted);font-size:.63rem;line-height:1.35}.lsh-hero__checks strong{color:var(--lsh-ink);font-size:.68rem}.lsh-hero__visual{position:relative;align-self:stretch;min-height:410px}.lsh-hero__visual picture{position:absolute;inset:-5% -8% -4% -7%;display:block}.lsh-hero__generated{width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 17px 17px rgba(31,48,39,.15))}.lsh-pickup{position:relative;z-index:2;padding:27px 25px;border:1px solid #dfe6e2;border-radius:16px;background:rgba(255,255,255,.96);box-shadow:0 17px 42px rgba(26,52,42,.11)}.lsh-pickup__icon{display:grid;place-items:center;width:46px;height:46px;margin-bottom:20px;border-radius:50%;background:var(--lsh-green-pale);color:var(--lsh-green)}.lsh-pickup__icon svg{width:23px;height:23px}.lsh-pickup .lsh-kicker{margin-bottom:7px}.lsh-pickup h2{margin:0;font-size:1.48rem;line-height:1.15;letter-spacing:-.04em}.lsh-pickup h2 strong{display:block;color:var(--lsh-green);font-size:2rem}.lsh-pickup>p:not(.lsh-kicker){margin:15px 0 21px;color:var(--lsh-muted);font-size:.81rem;line-height:1.5}.lsh-pickup>a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:41px;border:1px solid #7cb79b;border-radius:5px;color:var(--lsh-green);font-size:.77rem;font-weight:800}

.lsh-categories{padding-top:38px}.lsh-category-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(132px,1fr);gap:12px;overflow:auto;scroll-snap-type:x mandatory}.lsh-category-card{scroll-snap-align:start;display:flex;min-width:0;min-height:180px;flex-direction:column;align-items:center;padding:12px 10px 13px;border:1px solid var(--lsh-line);border-radius:9px;background:#fff;color:var(--lsh-ink);text-align:center;transition:.2s ease}.lsh-category-card:hover{border-color:#9ecbb4;box-shadow:0 10px 24px rgba(18,63,44,.08);transform:translateY(-3px)}.lsh-category-card>span{display:grid;place-items:center;width:100%;height:112px}.lsh-category-card img{width:100%;height:100%;object-fit:contain}.lsh-category-card strong{display:-webkit-box;overflow:hidden;min-height:34px;font-size:.74rem;line-height:1.35;-webkit-line-clamp:2;-webkit-box-orient:vertical}.lsh-category-card em{margin-top:auto;color:var(--lsh-green);font-style:normal}

.lsh-offer{padding-top:12px}.lsh-offer .lsh-subheading,.lsh-solutions .lsh-subheading{margin-bottom:16px}.lsh-benefits{display:grid;grid-template-columns:repeat(5,1fr);overflow:hidden;border:1px solid var(--lsh-line);border-radius:10px;background:#fafcfb}.lsh-benefits>div,.lsh-benefits>a{display:flex;align-items:center;gap:12px;min-height:78px;padding:14px 18px;border-right:1px solid var(--lsh-line);color:var(--lsh-green)}.lsh-benefits>*:last-child{border-right:0}.lsh-benefits svg{width:27px;height:27px}.lsh-benefits span{display:flex;min-width:0;flex-direction:column;color:var(--lsh-muted);font-size:.7rem;line-height:1.35}.lsh-benefits strong{overflow:hidden;color:var(--lsh-ink);font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}.lsh-promos{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:28px}.lsh-promo{position:relative;display:block;min-height:220px;overflow:hidden;border:1px solid var(--lsh-line);border-radius:12px;color:var(--lsh-ink)}.lsh-promo--about{background:linear-gradient(100deg,#eaf8f1,#f8fbfa)}.lsh-promo--loyalty{background:linear-gradient(100deg,#fff9e9,#fff4da)}.lsh-promo>span{position:relative;z-index:2;display:flex;width:56%;height:100%;min-height:220px;flex-direction:column;align-items:flex-start;justify-content:center;padding:27px}.lsh-promo small{margin-bottom:8px;color:var(--lsh-green);font-size:.76rem;font-weight:800}.lsh-promo strong{font-size:1.25rem;line-height:1.25;letter-spacing:-.03em}.lsh-promo em{margin-top:9px;color:var(--lsh-muted);font-size:.78rem;font-style:normal;line-height:1.45}.lsh-promo b{margin-top:17px;color:var(--lsh-green);font-size:.76rem}.lsh-promo img{position:absolute;inset:0 0 0 auto;width:51%;height:100%;object-fit:cover;mix-blend-mode:multiply}.lsh-promo--loyalty img{object-fit:contain;padding:5px;mix-blend-mode:normal}

.lsh-product-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);gap:13px;overflow:auto;scroll-snap-type:x mandatory}.lsh-product-card{scroll-snap-align:start;overflow:hidden;border:1px solid var(--lsh-line);border-radius:9px;background:#fff;transition:.2s ease}.lsh-product-card:hover{border-color:#a8cdbb;box-shadow:0 12px 28px rgba(12,56,38,.09);transform:translateY(-3px)}.lsh-product-card__image{display:grid;place-items:center;height:205px;padding:12px;background:linear-gradient(#fff,#fafbfa)}.lsh-product-card__image img{width:100%;height:100%;object-fit:contain}.lsh-product-card>div{padding:14px}.lsh-product-card h3{margin:0;min-height:50px;font-size:.82rem;line-height:1.4}.lsh-product-card h3 a{color:var(--lsh-ink)}.lsh-price{display:flex;align-items:baseline;gap:4px;margin:11px 0 4px;color:var(--lsh-ink);font-size:1rem;font-weight:800}.lsh-price .woocommerce-Price-amount{font-weight:800}.lsh-price small{color:var(--lsh-muted);font-size:.62rem;font-weight:500}.lsh-stock{display:block;margin-bottom:9px;color:#a63d34;font-size:.68rem}.lsh-stock.is-available{color:var(--lsh-green)}.lsh-product-card__button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:37px;border-radius:5px;background:var(--lsh-green);color:#fff;font-size:.72rem;font-weight:800}.lsh-product-card__button svg{width:15px;height:15px}

.lsh-solutions{padding-top:22px}.lsh-solutions__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.lsh-solution-card{position:relative;display:flex;min-height:170px;overflow:hidden;border:1px solid var(--lsh-line);border-radius:10px;background:linear-gradient(120deg,#f6f8f7,#fff);color:var(--lsh-ink)}.lsh-solution-card>span{position:relative;z-index:2;display:flex;width:60%;flex-direction:column;padding:20px}.lsh-solution-card strong{font-size:.95rem}.lsh-solution-card small{margin-top:7px;color:var(--lsh-muted);font-size:.73rem;line-height:1.45}.lsh-solution-card em{margin-top:auto;color:var(--lsh-green);font-size:.69rem;font-style:normal;font-weight:800}.lsh-solution-card img{position:absolute;right:-7%;bottom:-8%;width:53%;height:100%;object-fit:contain;transition:.2s ease}.lsh-solution-card:hover img{transform:scale(1.06)}

.lsh-reviews{margin-top:16px;padding:45px 0;background:linear-gradient(110deg,#eaf7f0,#f7fbf9)}.lsh-reviews__grid{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:60px}.lsh-reviews h2{max-width:570px;margin:0;font-size:clamp(1.9rem,3vw,3.1rem);line-height:1.07;letter-spacing:-.05em}.lsh-reviews__grid>div>p:not(.lsh-kicker){max-width:570px;color:var(--lsh-muted);line-height:1.55}.lsh-reviews__grid>div>a{color:var(--lsh-green);font-size:.84rem;font-weight:800}.lsh-reviews__widget{min-height:150px;padding:28px;border:1px solid #cfe4d9;border-radius:13px;background:#fff;box-shadow:0 12px 30px rgba(7,83,48,.08)}.lsh-reviews__widget>p{margin:10px 0 0!important;text-align:center;font-size:.69rem}.lsh-guides{padding-top:44px}.lsh-guides__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.lsh-guide-card{display:grid;grid-template-columns:39% 1fr;min-height:150px;overflow:hidden;border:1px solid var(--lsh-line);border-radius:9px;background:#fff;color:var(--lsh-ink)}.lsh-guide-card img{width:100%;height:100%;object-fit:cover;object-position:left center;background:#f7f8f7}.lsh-guide-card>span{display:flex;flex-direction:column;padding:18px}.lsh-guide-card strong{font-size:.83rem;line-height:1.38}.lsh-guide-card em{margin-top:auto;color:var(--lsh-green);font-size:.72rem;font-style:normal;font-weight:800}

.lsh-faq{padding:50px 0;background:#fbfcfb}.lsh-faq__grid{display:grid;grid-template-columns:.68fr 1.32fr;gap:70px}.lsh-faq h2{margin:0;font-size:clamp(1.8rem,2.7vw,3rem);letter-spacing:-.05em}.lsh-faq__grid>div:first-child>p:not(.lsh-kicker){color:var(--lsh-muted);line-height:1.6}.lsh-faq .lsh-button{margin-top:12px}.lsh-faq__items{border-top:1px solid var(--lsh-line)}.lsh-faq details{border-bottom:1px solid var(--lsh-line)}.lsh-faq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 2px;cursor:pointer;font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:.86rem;font-weight:700;list-style:none}.lsh-faq summary::-webkit-details-marker{display:none}.lsh-faq summary span{color:var(--lsh-green);font-size:1.25rem}.lsh-faq details[open] summary span{transform:rotate(45deg)}.lsh-faq details>div{padding:0 20px 19px 2px;color:var(--lsh-muted);font-size:.82rem;line-height:1.6}.lsh-prefooter{border-top:1px solid var(--lsh-line);background:#fff}.lsh-prefooter>.lsh-shell{display:grid;grid-template-columns:repeat(4,1fr)}.lsh-prefooter .lsh-shell>div{display:flex;align-items:center;justify-content:center;gap:12px;min-height:92px;color:var(--lsh-green)}.lsh-prefooter span{display:flex;flex-direction:column;color:var(--lsh-muted);font-size:.68rem}.lsh-prefooter strong{color:var(--lsh-ink);font-size:.74rem}.lsh-prefooter a{color:var(--lsh-muted)}

@media(max-width:1180px){:root{--lsh-shell:min(100% - 44px,1180px)}.lsh-hero__grid{grid-template-columns:1fr 1fr}.lsh-pickup{grid-column:1/-1;display:grid;grid-template-columns:auto .45fr .8fr 1fr;align-items:center;gap:18px;padding:18px 22px}.lsh-pickup__icon{margin:0}.lsh-pickup .lsh-kicker{margin:0}.lsh-pickup h2{font-size:1.15rem}.lsh-pickup h2 strong{font-size:1.4rem}.lsh-pickup>p:not(.lsh-kicker){margin:0}.lsh-benefits{grid-template-columns:repeat(3,1fr)}.lsh-benefits>*{border-bottom:1px solid var(--lsh-line)}.lsh-benefits>*:nth-child(3){border-right:0}.lsh-benefits>*:nth-child(n+4){border-bottom:0}.lsh-solutions__grid{grid-template-columns:repeat(2,1fr)}.lsh-product-rail{grid-auto-columns:230px}}
@media(max-width:780px){:root{--lsh-shell:calc(100% - 28px)}.lsh-section{padding:24px 0}.lsh-hero{padding:34px 0 28px}.lsh-hero__grid{grid-template-columns:1fr;min-height:0}.lsh-hero h1{font-size:clamp(2.35rem,12vw,3.4rem)}.lsh-hero__lead{font-size:.94rem}.lsh-actions{flex-direction:column}.lsh-button{width:100%}.lsh-hero__checks{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.lsh-hero__checks li{align-items:flex-start;gap:5px}.lsh-hero__checks svg{width:18px;height:18px}.lsh-hero__checks strong{font-size:.65rem}.lsh-hero__checks span{font-size:.6rem}.lsh-hero__visual{min-height:330px}.lsh-hero__visual picture{inset:-6% -8% -5%}.lsh-pickup{grid-column:auto;display:block;padding:24px}.lsh-pickup__icon{margin-bottom:18px}.lsh-pickup .lsh-kicker{margin-bottom:8px}.lsh-pickup h2{font-size:1.4rem}.lsh-pickup h2 strong{font-size:1.85rem}.lsh-pickup>p:not(.lsh-kicker){margin:14px 0 20px}.lsh-section-head{align-items:flex-end}.lsh-section-head__actions>a{display:none}.lsh-section-head h2{font-size:1.2rem}.lsh-category-rail{grid-auto-columns:126px}.lsh-category-card{min-height:165px}.lsh-category-card>span{height:100px}.lsh-benefits{display:flex;overflow:auto;scroll-snap-type:x mandatory;border-radius:8px}.lsh-benefits>div,.lsh-benefits>a{min-width:230px;border-right:1px solid var(--lsh-line)!important;border-bottom:0;scroll-snap-align:start}.lsh-promos{grid-template-columns:1fr}.lsh-promo>span{width:67%;padding:20px}.lsh-promo img{width:47%}.lsh-product-rail{grid-auto-columns:210px}.lsh-product-card__image{height:190px}.lsh-solutions__grid{display:flex;overflow:auto;scroll-snap-type:x mandatory}.lsh-solution-card{min-width:82vw;scroll-snap-align:start}.lsh-reviews{padding:35px 0}.lsh-reviews__grid{grid-template-columns:1fr;gap:25px}.lsh-reviews h2{font-size:2rem}.lsh-guides__grid{display:flex;overflow:auto;scroll-snap-type:x mandatory}.lsh-guide-card{min-width:84vw;scroll-snap-align:start}.lsh-faq__grid{grid-template-columns:1fr;gap:25px}.lsh-faq .lsh-button{width:auto}.lsh-prefooter>.lsh-shell{grid-template-columns:1fr 1fr}.lsh-prefooter .lsh-shell>div{justify-content:flex-start;min-height:75px;padding:8px}}
@media(max-width:430px){.lsh-hero__visual{min-height:300px}.lsh-promos{gap:12px}.lsh-promo{min-height:200px}.lsh-promo>span{min-height:200px;width:72%;padding:17px}.lsh-promo strong{font-size:1rem}.lsh-promo em{font-size:.69rem}.lsh-prefooter>.lsh-shell{grid-template-columns:1fr}.lsh-prefooter .lsh-shell>div{min-height:64px;border-bottom:1px solid var(--lsh-line)}}
.lsh-reviews__widget{min-height:210px;padding:24px 18px}

.lsh-promo--about img {
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	mix-blend-mode: normal;
}

.lsh-promo--about::after {
	position: absolute;
	z-index: 1;
	inset: 0;
	background: linear-gradient(90deg, rgba(234,248,241,.98) 0%, rgba(234,248,241,.94) 31%, rgba(234,248,241,.72) 45%, rgba(234,248,241,0) 68%);
	content: "";
	pointer-events: none;
}

/* Hero composita: un unico canvas con livelli sovrapposti. */
.lsh-hero {
	padding: 0;
}

.lsh-hero__grid {
	position: relative;
	display: block;
	min-height: 445px;
}

.lsh-hero__copy {
	position: relative;
	z-index: 3;
	width: 42%;
	padding-top: 47px;
}

.lsh-hero__eyebrow {
	margin: 0 0 14px;
	color: var(--lsh-green);
	font-size: .69rem;
	font-weight: 800;
	letter-spacing: .15em;
	text-transform: uppercase;
}

.lsh-hero h1 {
	font-size: clamp(2.55rem, 2.7vw, 3.05rem);
}

.lsh-hero__visual {
	position: absolute;
	z-index: 1;
	top: 0;
	bottom: 0;
	left: 34%;
	width: 57%;
	min-height: 0;
}

.lsh-hero__visual picture {
	position: absolute;
	inset: -2% -5% -3% -4%;
	display: block;
}

.lsh-hero__generated {
	position: relative;
	z-index: 1;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center bottom;
	transform: scale(.94);
	transform-origin: center bottom;
	filter: drop-shadow(0 17px 17px rgba(31,48,39,.14));
}

.lsh-hero__visual::after {
	position: absolute;
	z-index: 2;
	top: 0;
	bottom: 0;
	left: -1px;
	width: 29%;
	background: linear-gradient(90deg, #f9fbfa 7%, rgba(249,251,250,.88) 32%, rgba(249,251,250,0) 100%);
	content: "";
	pointer-events: none;
}

.lsh-pickup {
	position: absolute;
	z-index: 4;
	top: 30px;
	right: 28px;
	width: 290px;
	padding: 25px 24px;
	border-radius: 18px;
	box-shadow: 0 18px 46px rgba(26,52,42,.12);
}

.lsh-hero__checks {
	position: absolute;
	z-index: 3;
	bottom: 35px;
	left: 0;
	width: 42%;
	margin: 0;
	gap: 18px;
}

@media (min-width: 781px) and (max-width: 1180px) {
	.lsh-hero__grid {
		display: block;
		min-height: 440px;
	}

	.lsh-hero__copy,
	.lsh-hero__checks {
		width: 47%;
	}

	.lsh-hero__copy {
		padding-top: 43px;
	}

	.lsh-hero h1 {
		font-size: clamp(2.2rem, 4.2vw, 2.75rem);
	}

	.lsh-hero__visual {
		left: 43%;
		width: 49%;
	}

	.lsh-hero__generated {
		transform: scale(.94);
		transform-origin: right bottom;
	}

	.lsh-pickup {
		display: block;
		top: 27px;
		right: 18px;
		width: 258px;
		padding: 21px;
	}

	.lsh-pickup__icon {
		margin-bottom: 15px;
	}

	.lsh-pickup > p:not(.lsh-kicker) {
		display: none;
	}
}

@media (max-width: 780px) {
	.lsh-hero {
		padding: 32px 0 28px;
	}

	.lsh-hero__grid {
		display: flex;
		min-height: 0;
		flex-direction: column;
		gap: 20px;
	}

	.lsh-hero__copy {
		order: 1;
		width: 100%;
		padding-top: 0;
	}

	.lsh-hero__eyebrow {
		margin-bottom: 11px;
		font-size: .64rem;
	}

	.lsh-hero h1 {
		font-size: clamp(2.25rem, 11vw, 3rem);
	}

	.lsh-hero__visual {
		position: relative;
		z-index: 1;
		order: 2;
		top: auto;
		bottom: auto;
		left: auto;
		width: 100%;
		min-height: 300px;
	}

	.lsh-hero__visual picture {
		inset: -5% -7% -4%;
	}

	.lsh-hero__generated {
		transform: none;
	}

	.lsh-hero__visual::after {
		display: none;
	}

	.lsh-pickup {
		position: relative;
		z-index: 4;
		order: 3;
		top: auto;
		right: auto;
		width: 100%;
	}

	.lsh-hero__checks {
		position: relative;
		z-index: 3;
		order: 4;
		bottom: auto;
		left: auto;
		width: 100%;
		margin: 2px 0 0;
	}
}

/* Hero slider: conserva il layout LEN SERVICE e varia solo contenuti e visual. */
.lsh-hero-slider {
	position: relative;
	padding: 0;
}

.lsh-hero-slider__stage {
	position: relative;
	min-height: 445px;
}

.lsh-hero-slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	visibility: hidden;
	transform: translateX(18px);
	transition: opacity .45s ease, transform .45s ease, visibility .45s;
	pointer-events: none;
}

.lsh-hero-slide::before {
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at 62% 48%, rgba(7,123,71,.09), transparent 35%);
	content: "";
	pointer-events: none;
}

.lsh-hero-slide.is-active {
	z-index: 2;
	opacity: 1;
	visibility: visible;
	transform: none;
	pointer-events: auto;
}

.lsh-hero-slide .lsh-hero__grid {
	min-height: 445px;
}

.lsh-hero-slider .lsh-hero__title,
.lsh-hero-slider h1 {
	margin: 0;
	font-size: clamp(2.55rem, 2.7vw, 3.05rem);
	line-height: 1.04;
	letter-spacing: -.052em;
}

.lsh-hero-slider .lsh-hero__title span,
.lsh-hero-slider h1 span {
	color: var(--lsh-green);
}

.lsh-hero-slide .lsh-hero__visual {
	display: grid;
	place-items: end center;
}

.lsh-hero-slide .lsh-hero__visual picture {
	display: none;
}

.lsh-hero-slide .lsh-hero__generated {
	position: relative;
	z-index: 1;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center bottom;
	filter: drop-shadow(0 17px 17px rgba(31,48,39,.14));
}

.lsh-hero-slide .lsh-hero__generated--compact {
	width: min(76%, 390px);
	height: auto;
	max-height: 88%;
	aspect-ratio: 1 / 1;
	object-position: center bottom;
	transform: none;
	transform-origin: center bottom;
}

.lsh-hero-slide .lsh-hero__generated--rich {
	width: min(96%, 660px);
	height: auto;
	max-height: 440px;
	aspect-ratio: 3 / 2;
	object-position: 42% bottom;
	transform: none;
}

.lsh-hero-card {
	position: absolute;
	z-index: 4;
	top: 30px;
	right: 28px;
	width: 290px;
	padding: 25px 24px;
	border: 1px solid #dfe6e2;
	border-radius: 18px;
	background: rgba(255,255,255,.96);
	box-shadow: 0 18px 46px rgba(26,52,42,.12);
}

.lsh-hero-card__icon {
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	margin-bottom: 20px;
	border-radius: 50%;
	background: var(--lsh-green-pale);
	color: var(--lsh-green);
}

.lsh-hero-card__icon svg {
	width: 23px;
	height: 23px;
}

.lsh-hero-card .lsh-kicker {
	margin-bottom: 7px;
}

.lsh-hero-card h2 {
	margin: 0;
	font-size: 1.48rem;
	line-height: 1.15;
	letter-spacing: -.04em;
}

.lsh-hero-card h2 strong {
	display: block;
	color: var(--lsh-green);
	font-size: 2rem;
}

.lsh-hero-card > p:not(.lsh-kicker) {
	margin: 15px 0 21px;
	color: var(--lsh-muted);
	font-size: .81rem;
	line-height: 1.5;
}

.lsh-hero-card > a {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 41px;
	border: 1px solid #7cb79b;
	border-radius: 5px;
	color: var(--lsh-green);
	font-size: .77rem;
	font-weight: 800;
}

.lsh-hero-slider__arrow {
	position: absolute;
	z-index: 8;
	top: 50%;
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	padding: 0;
	border: 1px solid #cfe1d7;
	border-radius: 50%;
	background: rgba(255,255,255,.92);
	color: var(--lsh-green);
	box-shadow: 0 8px 22px rgba(24,57,43,.08);
	cursor: pointer;
	transform: translateY(-50%);
}

.lsh-hero-slider__arrow--prev {
	left: 12px;
}

.lsh-hero-slider__arrow--prev svg {
	transform: rotate(180deg);
}

.lsh-hero-slider__arrow--next {
	right: 12px;
}

.lsh-hero-slider__dots {
	position: absolute;
	z-index: 8;
	right: 0;
	bottom: 11px;
	left: 0;
	display: flex;
	justify-content: center;
	gap: 7px;
}

.lsh-hero-slider__dots button {
	width: 8px;
	height: 8px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: #d5ddda;
	cursor: pointer;
	transition: width .2s ease, background .2s ease;
}

.lsh-hero-slider__dots button[aria-selected="true"] {
	width: 24px;
	background: var(--lsh-green);
}

@media (min-width: 781px) and (max-width: 1180px) {
	.lsh-hero-slide .lsh-hero__grid {
		min-height: 440px;
	}

	.lsh-hero-slider .lsh-hero__title,
	.lsh-hero-slider h1 {
		font-size: clamp(2.2rem, 4.2vw, 2.75rem);
	}

	.lsh-hero-card {
		top: 27px;
		right: 18px;
		width: 258px;
		padding: 21px;
	}

	.lsh-hero-card__icon {
		margin-bottom: 15px;
	}

	.lsh-hero-card > p:not(.lsh-kicker) {
		display: none;
	}
}

@media (max-width: 780px) {
	.lsh-hero-slider {
		padding: 32px 0 28px;
	}

	.lsh-hero-slider__stage {
		min-height: 0;
	}

	.lsh-hero-slide {
		position: relative;
		display: none;
		transform: none;
		transition: opacity .25s ease;
	}

	.lsh-hero-slide.is-active {
		display: block;
	}

	.lsh-hero-slide .lsh-hero__grid {
		min-height: 0;
	}

	.lsh-hero-slider .lsh-hero__title,
	.lsh-hero-slider h1 {
		font-size: clamp(2.25rem, 11vw, 3rem);
	}

	.lsh-hero-slide .lsh-hero__generated,
	.lsh-hero-slide .lsh-hero__generated--compact,
	.lsh-hero-slide .lsh-hero__generated--rich {
		transform: none;
	}

	.lsh-hero-card {
		position: relative;
		z-index: 4;
		order: 3;
		top: auto;
		right: auto;
		width: 100%;
	}

	.lsh-hero-slider__arrow {
		top: 48%;
		width: 34px;
		height: 34px;
	}

	.lsh-hero-slider__arrow--prev {
		left: 7px;
	}

	.lsh-hero-slider__arrow--next {
		right: 7px;
	}

	.lsh-hero-slider__dots {
		position: relative;
		bottom: auto;
		margin-top: 19px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.lsh-hero-slide,
	.lsh-hero-slider__dots button {
		transition: none;
	}
}

/* Bestseller showcase — larger, calmer and conversion-oriented product cards. */
.lsh-products {
	padding-top: 46px;
	padding-bottom: 42px;
}

.lsh-products .lsh-section-head {
	margin-bottom: 24px;
}

.lsh-products .lsh-section-head h2 {
	font-size: clamp(1.35rem, 1.7vw, 1.7rem);
}

.lsh-product-rail {
	grid-auto-columns: calc((100% - 64px) / 5);
	gap: 16px;
	padding: 2px 2px 12px;
}

.lsh-product-card {
	display: flex;
	min-height: 475px;
	flex-direction: column;
	isolation: isolate;
	contain: paint;
	border-color: #dce3df;
	border-radius: 10px;
	box-shadow: 0 5px 18px rgba(20,61,43,.035);
}

.lsh-product-card:hover {
	box-shadow: 0 14px 32px rgba(12,56,38,.09);
}

.lsh-product-card__image {
	position: relative;
	z-index: 1;
	height: 238px;
	min-height: 238px;
	flex: 0 0 238px;
	overflow: hidden;
	padding: 18px;
	background: linear-gradient(180deg, #fff 0%, #fafcfb 100%);
	contain: strict;
	clip-path: inset(0);
}

.lsh-product-card__image img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	transition: transform .2s ease;
}

.lsh-product-card:hover .lsh-product-card__image img {
	transform: none;
}

.lsh-product-card > .lsh-product-card__body {
	position: relative;
	z-index: 5;
	display: flex;
	min-height: 235px;
	flex: 1 1 auto;
	flex-direction: column;
	padding: 18px 16px 16px;
	background: #fff;
}

.lsh-category-card > .lsh-category-card__body {
	background: #edf7f1 !important;
}

.lsh-product-card h3 {
	display: -webkit-box;
	overflow: hidden;
	min-height: 2.7em;
	margin: 0;
	font-size: .9rem;
	line-height: 1.35;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.lsh-product-rating {
	display: flex;
	align-items: center;
	gap: 7px;
	min-height: 18px;
	margin-top: 11px;
}

.lsh-product-rating__stars {
	position: relative;
	display: inline-block;
	overflow: hidden;
	color: #d8ddd9;
	font-size: .75rem;
	letter-spacing: .08em;
	line-height: 1;
	white-space: nowrap;
}

.lsh-product-rating__stars i {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	overflow: hidden;
	color: #f5a500;
	font-style: normal;
	white-space: nowrap;
}

.lsh-product-rating small {
	color: var(--lsh-muted);
	font-size: .62rem;
}

.lsh-product-card .lsh-price {
	min-height: 28px;
	margin: 16px 0 5px;
	font-size: 1.25rem;
	line-height: 1.15;
}

.lsh-product-card .lsh-price small {
	font-size: .62rem;
	font-weight: 550;
}

.lsh-product-card .lsh-stock {
	margin: 0;
	font-size: .7rem;
	font-weight: 650;
}

.lsh-product-card__button {
	min-height: 44px;
	margin-top: auto;
	border-radius: 6px;
	font-size: .76rem;
}

.lsh-product-card__button svg {
	width: 16px;
	height: 16px;
}

@media (min-width: 1100px) and (max-width: 1399px) {
	.lsh-product-rail {
		grid-auto-columns: calc((100% - 48px) / 4);
	}
}

@media (min-width: 781px) and (max-width: 1099px) {
	.lsh-product-rail {
		grid-auto-columns: calc((100% - 32px) / 3);
	}
}

@media (max-width: 780px) {
	.lsh-products {
		padding-top: 34px;
		padding-bottom: 30px;
	}

	.lsh-products .lsh-section-head {
		margin-bottom: 18px;
	}

	.lsh-product-rail {
		grid-auto-columns: min(84vw, 340px);
		gap: 14px;
	}

	.lsh-product-card {
		min-height: 470px;
	}

	.lsh-product-card__image {
		height: 245px;
	}

	.lsh-product-card > .lsh-product-card__body {
		min-height: 225px;
	}
}

/* Category cards — product-forward layout from the approved reference. */
.lsh-categories {
	padding-top: 30px;
	padding-bottom: 18px;
}

.lsh-categories .lsh-section-head {
	margin-bottom: 14px;
}

.lsh-categories .lsh-rail-nav {
	display: none;
}

.lsh-category-rail {
	grid-template-columns: repeat(8, minmax(0, 1fr));
	grid-auto-flow: row;
	gap: 10px;
	overflow: visible;
}

.lsh-category-card {
	min-height: 190px;
	overflow: hidden;
	align-items: stretch;
	padding: 0;
	border-radius: 8px;
	background: #edf7f1;
	text-align: left;
}

.lsh-category-card > .lsh-category-card__media {
	position: relative;
	display: grid;
	place-items: center;
	width: 100%;
	height: 122px;
	overflow: hidden;
	background: linear-gradient(180deg, #fff 0%, #fbfdfc 100%);
}

.lsh-category-card__media::after {
	position: absolute;
	right: -10%;
	bottom: -42%;
	left: -10%;
	height: 88%;
	border-radius: 50% 50% 0 0;
	background: #edf7f1;
	content: "";
}

.lsh-category-card .lsh-category-card__media img {
	position: relative;
	z-index: 1;
	width: 94%;
	height: 112px;
	object-fit: contain;
	transition: transform .2s ease;
}

.lsh-category-card:hover .lsh-category-card__media img {
	transform: translateY(-3px) scale(1.03);
}

.lsh-category-card > .lsh-category-card__body {
	position: relative;
	display: flex;
	width: 100%;
	height: auto;
	min-height: 68px;
	flex-direction: column;
	align-items: flex-start;
	padding: 10px 38px 11px 11px;
}

.lsh-category-card__body strong {
	display: block;
	min-height: 0;
	font-size: .68rem;
	line-height: 1.25;
}

.lsh-category-card__body small {
	margin-top: 5px;
	color: var(--lsh-muted);
	font-size: .57rem;
	line-height: 1.25;
}

.lsh-category-card__body em {
	position: absolute;
	right: 10px;
	bottom: 13px;
	display: grid;
	place-items: center;
	width: 22px;
	height: 22px;
	margin: 0;
	border: 1px solid #8bbfa3;
	border-radius: 50%;
	font-size: .76rem;
}

/* Verified marketplace review cards replace the Trustpilot widget. */
.lsh-reviews {
	margin-top: 18px;
	padding: 42px 0;
	background: linear-gradient(110deg, #eef9f3, #f9fcfa);
}

.lsh-reviews .lsh-section-head {
	align-items: flex-end;
	margin-bottom: 20px;
}

.lsh-reviews .lsh-section-head .lsh-kicker {
	margin-bottom: 8px;
}

.lsh-reviews .lsh-section-head h2 {
	font-size: clamp(1.35rem, 2vw, 1.9rem);
}

.lsh-review-cards {
	display: grid;
	grid-template-columns: 1.06fr repeat(3, 1fr);
	gap: 12px;
}

.lsh-review-card {
	position: relative;
	display: flex;
	min-width: 0;
	min-height: 220px;
	flex-direction: column;
	padding: 20px;
	border: 1px solid #dce8e1;
	border-radius: 11px;
	background: #fff;
	color: var(--lsh-ink);
	box-shadow: 0 8px 24px rgba(14,68,43,.05);
}

.lsh-review-card--summary {
	justify-content: center;
	background: linear-gradient(145deg, #fff, #f4faf6);
}

.lsh-review-platforms,
.lsh-review-card__head,
.lsh-review-links,
.lsh-review-links a {
	display: flex;
	align-items: center;
}

.lsh-review-platforms {
	gap: 15px;
	margin-bottom: 12px;
}

.lsh-review-platforms img,
.lsh-review-card__head img,
.lsh-review-links img {
	width: 52px;
	height: 22px;
	object-fit: contain;
}

.lsh-google-logo {
	display: block;
	width: 30px;
	height: 30px;
	object-fit: contain;
}

.lsh-review-platforms .lsh-google-logo {
	width: 30px;
	height: 30px;
}

.lsh-review-card--summary > strong {
	font-size: 2rem;
	letter-spacing: -.05em;
}

.lsh-review-stars {
	color: #f5a500;
	font-size: .9rem;
	letter-spacing: .08em;
}

.lsh-review-card--summary p {
	margin: 10px 0 4px;
	color: var(--lsh-muted);
	font-size: .72rem;
	line-height: 1.45;
}

.lsh-review-card--summary small {
	color: var(--lsh-green);
	font-size: .66rem;
	font-weight: 750;
}

.lsh-review-card__head {
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 15px;
}

.lsh-review-card > p {
	margin: 0;
	color: #435149;
	font-size: .74rem;
	line-height: 1.55;
}

.lsh-review-card footer {
	display: flex;
	margin-top: auto;
	padding-top: 15px;
	flex-direction: column;
}

.lsh-review-card footer strong {
	font-size: .72rem;
}

.lsh-review-card footer small {
	margin-top: 2px;
	color: var(--lsh-muted);
	font-size: .6rem;
}

.lsh-review-links {
	justify-content: flex-end;
	gap: 22px;
	margin-top: 16px;
}

.lsh-review-links a {
	gap: 7px;
	color: var(--lsh-green);
	font-size: .7rem;
	font-weight: 750;
}

.lsh-review-links .lsh-google-logo {
	width: 20px;
	height: 20px;
}

.lsh-review-links img {
	width: 38px;
	height: 16px;
}

@media (max-width: 1180px) {
	.lsh-category-rail {
		grid-template-columns: none;
		grid-auto-flow: column;
		grid-auto-columns: 158px;
		overflow-x: auto;
	}

	.lsh-review-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 780px) {
	.lsh-category-card {
		min-height: 184px;
	}

	.lsh-review-cards {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
	}

	.lsh-review-card {
		min-width: 84vw;
		scroll-snap-align: start;
	}

	.lsh-review-links {
		align-items: flex-start;
		justify-content: flex-start;
		flex-direction: column;
	}
}
