/* Etusivu */

.lv-h2 {
	margin-top: 0.35em;
	font-size: clamp(1.9rem, calc(1.6vw + 1.3rem), 3rem);
}
.lv-osio {
	padding-block: var(--wp--preset--spacing--10-x-large);
}
.lv-osio .lv-h2.has-text-align-center {
	margin-bottom: var(--wp--preset--spacing--6-x-large);
}

/* Hero: turkis koko leveydeltä, liukuväri tummenee sloganin puolelle (lohkon asetus) */
.lv-hero {
	margin-block: calc(var(--smi-main-padding-top) * -1) 0 !important;
	min-height: min(88vh, 54rem) !important;
	align-items: center;
}
/* Teksti samaan linjaan headerin logon ja muun sisällön kanssa */
.lv-hero .wp-block-cover__inner-container {
	width: 100%;
	max-width: var(--wp--style--global--wide-size);
	margin-inline: auto;
}
.lv-hero__sisus { width: max(42rem, 58%); max-width: 100%; color: #fff; } /* slogan kahdelle riville */
.lv-hero .lv-yla { color: var(--wp--preset--color--secondary); }
.lv-hero__otsikko {
	margin: 0.4em 0 0.5em;
	font-size: clamp(2.4rem, calc(3vw + 1.2rem), 5.25rem);
	line-height: 1.06;
	color: inherit;
}
.lv-hero__ingressi {
	max-width: 34em;
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.6;
	opacity: 0.92;
	margin-bottom: var(--wp--preset--spacing--4-x-large);
}
/* Leveällä näytöllä tummin kohta seuraa keskitettyä tekstiä, ei näytön reunaa */
@media (min-width: 1600px) {
	.lv-hero__sisus { width: 64%; }
	.lv-hero > .wp-block-cover__background {
		background: linear-gradient(90deg, rgb(36 26 21 / 0.96) 0%, rgb(36 26 21 / 0.88) calc(50% - 120px), rgb(36 26 21 / 0.45) calc(50% + 280px), rgb(36 26 21 / 0.08) 100%) !important;
	}
}
/* Puhelimessa teksti peittää koko kuvan → tummennus alhaalta ylös */
@media (max-width: 781px) {
	.lv-hero > .wp-block-cover__background {
		background: linear-gradient(180deg, rgb(36 26 21 / 0.55) 0%, rgb(36 26 21 / 0.92) 70%) !important;
	}
	.lv-hero { align-items: flex-end; min-height: 80vh !important; }
}

/* Esittely */
.lv-esittely {
	padding-block: var(--wp--preset--spacing--11-x-large);
	gap: var(--wp--preset--spacing--8-x-large) !important;
}
.lv-esittely .lv-h2 { margin-bottom: 0.7em; }

/* Tuoteryhmät: 5 → 3+2 → 1, vajaa rivi keskitetään (lohkon justifyContent) */
.lv-ryhmat {
	gap: var(--wp--preset--spacing--3-x-large);
	align-items: stretch !important;
}
.lv-ryhmat > .lv-ryhma {
	flex: 0 1 calc((100% - 2 * var(--wp--preset--spacing--3-x-large)) / 3);
	align-items: center !important;
	gap: 0.6em;
	padding-bottom: var(--wp--preset--spacing--2-x-large);
	background: var(--wp--preset--color--base);
	text-align: center;
	transition: box-shadow 200ms ease;
}
.lv-ryhmat > .lv-ryhma:hover { box-shadow: var(--lv-varjo); }
@media (max-width: 639px) {
	.lv-ryhmat > .lv-ryhma { flex-basis: 100%; }
}
.lv-ryhma__kuva { margin: 0 !important; align-self: stretch; overflow: hidden; }
.lv-ryhma__kuva img {
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	transition: transform 600ms ease;
}
.lv-ryhma:hover .lv-ryhma__kuva img { transform: scale(1.04); }
@media (prefers-reduced-motion: reduce) {
	.lv-ryhma:hover .lv-ryhma__kuva img { transform: none; }
}
/* padding, koska ytimen flex-sääntö nollaa lasten marginaalit */
.lv-ryhma__otsikko {
	padding: 0.6em 1.75em 0;
	font-size: var(--wp--preset--font-size--2-x-large);
	text-transform: uppercase;
	letter-spacing: 0.07em;
	text-wrap: balance;
}
.lv-ryhma__otsikko a { color: inherit; }
.lv-ryhma__kuvaus {
	padding: 0 1.5em 0.6em;
	font-size: var(--wp--preset--font-size--small);
	opacity: 0.8;
}

/* Tuotenostot: 4 / 2 saraketta */
.lv-nostovalilehdet .wp-block-tab-list { justify-content: center; margin-bottom: var(--wp--preset--spacing--4-x-large); }
.lv-nostot .wp-block-post-template.is-layout-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--4-x-large) var(--wp--preset--spacing--3-x-large);
}
@media (max-width: 1023px) {
	.lv-nostot .wp-block-post-template.is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.lv-nostot .tuote-kortti { gap: 0.4em; padding: 0 !important; }
.lv-nostot .tuote-kortti .wp-block-post-title { margin-top: 0.6em !important; }
.lv-nostot .tuote-kortti .wp-block-post-title { font-size: var(--wp--preset--font-size--large); }
.lv-nostovalilehdet .wp-block-tab-panel > .wp-block-buttons {
	justify-content: center;
	margin-top: var(--wp--preset--spacing--4-x-large);
}

/* Palvelukehote */
.lv-kehote .lv-yla { color: var(--wp--preset--color--secondary); }
.lv-kehote .lv-h2 { color: inherit; margin-bottom: 0.6em; }
.lv-kehote__teksti {
	max-width: 40em;
	margin-inline: auto !important;
	font-size: var(--wp--preset--font-size--large);
	opacity: 0.9;
	margin-bottom: var(--wp--preset--spacing--4-x-large);
}
/* Viimeinen osio kiinni footeriin */
.lv-kehote { margin-bottom: calc(var(--smi-main-padding-bottom) * -1) !important; }
@media (max-width: 639px) {
	.lv-ryhma__kuva img { aspect-ratio: 3 / 2; }
}
/* Painikkeet kortin alareunaan samalle linjalle; spesifisyys ohittaa ytimen flex-marginaalinollauksen */
.lv-ryhmat > .lv-ryhma > .wp-block-buttons { margin-top: auto; }
