/* Lakitasku — front-end styles.
   Dynaamiset CSS-muuttujat tulevat Yleisistä asetuksista (inc/settings.php).
   Fallback-arvot määritetään :root-säännössä, jotta tyylit toimivat ilman asetuksia.
*/

:root {
	/* Colors — primary scale (turkoosi-brändi, Figma) */
	--lt-primary-100: #e8f6f8;   /* hover-vaalea, vaalea section-tausta */
	--lt-primary-200: #94dae4;   /* palvelukorttien tausta */
	--lt-primary-300: #80ccd9;
	--lt-primary: #2ab8ca;        /* alias = primary-500, CTA-banneri */
	--lt-primary-500: #2ab8ca;
	--lt-primary-d: #1f8fa0;      /* alias = primary-700, hover */
	--lt-primary-700: #1f8fa0;
	--lt-primary-800: #156870;    /* eyebrow, focus-kontrasti */
	--lt-accent: #ffd866;
	--lt-accent-orange: #ed6f1c;
	--lt-text: #242d33;
	--lt-text-2: #3a4048;
	--lt-muted: #6f7480;
	--lt-border: #c9ccd0;
	--lt-border-hover: #9da1a8;
	--lt-bg-100: #f5f6f7;
	--lt-bg-200: #e7e7ea;
	--lt-eyebrow: var(--lt-primary-800);

	/* Typography — families */
	--lt-font-heading: 'Roboto Slab', Georgia, serif;
	--lt-font-body: 'proxima-nova', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;

	/* Typography — fluid sizes (375 → 1440 px viewport) */
	--lt-fs-h1: clamp(2rem, 1.5rem + 2.5vw, 3rem);          /* 32 → 48 */
	--lt-fs-h2: clamp(1.5rem, 1.2rem + 1.5vw, 2rem);        /* 24 → 32 */
	--lt-fs-h3: clamp(1.25rem, 1.15rem + 0.5vw, 1.5rem);    /* 20 → 24 */
	--lt-fs-body-lg: clamp(1.125rem, 1.05rem + 0.4vw, 1.25rem); /* 18 → 20 */
	--lt-fs-body: 1rem;          /* 16 */
	--lt-fs-small: 0.875rem;     /* 14 */
	--lt-fs-eyebrow: 0.875rem;   /* 14 */
	--lt-fs-tiny: 0.75rem;       /* 12 */

	/* Typography — line heights */
	--lt-lh-h1: 56px;
	--lt-lh-h2: 40px;
	--lt-lh-h3: 32px;
	--lt-lh-body: 24px;
	--lt-lh-small: 20px;

	/* Typography — letter spacing */
	--lt-ls-eyebrow: 0.08em;

	/* Layout */
	--lt-content: 1200px;
	--lt-content-narrow: 992px;
	--lt-gutter: clamp(20px, 8.33vw, 120px);

	/* Spacing scale (T-shirt sizing, Figma) */
	--lt-space-3xs: 4px;
	--lt-space-2xs: 8px;
	--lt-space-xs: 12px;
	--lt-space-sm: 16px;
	--lt-space-md: 24px;
	--lt-space-lg: 32px;
	--lt-space-xl: 48px;
	--lt-space-2xl: 64px;
	--lt-space-3xl: 96px;
	--lt-space-4xl: 120px;
}

/* Responsive gutters — Figma: desktop 120, tablet 32, mobile 24 */
@media (max-width: 1024px) { :root { --lt-gutter: 32px; } }
@media (max-width: 767px) { :root { --lt-gutter: 24px; } }

/* Base ----------------------------------------------------------------- */

body { font-family: var(--lt-font-body); color: var(--lt-text); }

h1, h2, h3, h4, h5, h6 { font-family: var(--lt-font-heading); color: var(--lt-text); }

/* Container & nav ------------------------------------------------------ */

.lakitasku-container {
	max-width: var(--lt-content);
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.lakitasku-nav-wrap {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	flex-wrap: wrap;
}

.lakitasku-logo img,
.lakitasku-logo-white img {
	display: block;
	height: 76px;
	width: auto;
}

.lakitasku-logo-white img { height: 84px; }

@media (max-width: 767px) {
	.lakitasku-logo img { height: 56px; }
	.lakitasku-logo-white img { height: 64px; }
}

/* Primary navigation (classic menu, valitaan Sivuston asetuksista) ------ */
.lakitasku-nav { display: flex; align-items: center; }

.lakitasku-nav__toggle,
.lakitasku-nav__burger { display: none; }

.lakitasku-nav__list {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: clamp(14px, 1.3vw, 30px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.lakitasku-nav__list li { position: relative; margin: 0; flex: 0 0 auto; }

.lakitasku-nav__list a {
	display: inline-block;
	font-family: var(--lt-font-heading);
	font-weight: 600;
	font-size: 14px;
	line-height: 1;
	color: var(--lt-text);
	text-decoration: none;
	white-space: nowrap;
}

.lakitasku-nav__list a:hover,
.lakitasku-nav__list .current-menu-item > a,
.lakitasku-nav__list .current-menu-ancestor > a {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
}

/* Alavalikko (desktop dropdown) */
.lakitasku-nav__list .sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 50;
	display: none;
	min-width: 240px;
	margin: 0;
	padding: 8px 0;
	list-style: none;
	background: #fff;
	box-shadow: 0 8px 24px rgba(36, 45, 51, .12);
}
.lakitasku-nav__list li:hover > .sub-menu,
.lakitasku-nav__list li:focus-within > .sub-menu { display: block; }
.lakitasku-nav__list .sub-menu a {
	display: block;
	padding: 8px 20px;
	font-weight: 400;
	color: var(--lt-text-2);
}

/* Korostettu CTA-linkki — valikkokohta jolla on CSS-luokka "button-lift" */
.lakitasku-nav__list .button-lift > a {
	background: var(--lt-primary);
	color: var(--lt-text);
	padding: 16px 32px;
	text-decoration: none;
}
.lakitasku-nav__list .button-lift > a:hover {
	background: var(--lt-primary-d);
	text-decoration: none;
}

/* Mobiili + tabletti + kapea desktop: hampurilainen + pudotuspaneeli (linkit eivät mahdu riville) */
@media (max-width: 1366px) {
	/* Header reunat samaan linjaan sisällön kanssa (--lt-gutter) */
	header.wp-block-group {
		padding-left: var(--lt-gutter) !important;
		padding-right: var(--lt-gutter) !important;
	}

	/* Bar = logo left + hamburger right only (matches Figma NavigationMobile) */
	.lakitasku-container { flex-wrap: nowrap; position: relative; }

	.lakitasku-nav__burger {
		display: flex;
		flex-direction: column;
		justify-content: center;
		gap: 5px;
		width: 24px;
		height: 24px;
		padding: 10px;
		cursor: pointer;
		background: none;
		border: 0;
	}
	.lakitasku-nav__burger span {
		display: block;
		width: 100%;
		height: 2px;
		background: var(--lt-text);
		transition: transform .2s ease, opacity .2s ease;
	}
	.lakitasku-nav__toggle:checked ~ .lakitasku-nav__burger span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
	.lakitasku-nav__toggle:checked ~ .lakitasku-nav__burger span:nth-child(2) { opacity: 0; }
	.lakitasku-nav__toggle:checked ~ .lakitasku-nav__burger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

	.lakitasku-nav__list {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		z-index: 60;
		display: none;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		padding: 24px;
		background: #fff;
		box-shadow: 0 8px 24px rgba(36, 45, 51, .12);
	}
	.lakitasku-nav__toggle:checked ~ .lakitasku-nav__list { display: flex; }

	.lakitasku-nav__list > li { border-bottom: 1px solid var(--lt-border); }
	.lakitasku-nav__list > li:last-child { border-bottom: 0; }
	.lakitasku-nav__list a { display: block; padding: 10px 0; font-size: 16px; line-height: 22px; }

	/* Alavalikko aina auki, sisennettynä */
	.lakitasku-nav__list .sub-menu {
		position: static;
		display: block;
		min-width: 0;
		padding: 0 0 8px 12px;
		box-shadow: none;
	}
	.lakitasku-nav__list .sub-menu a { padding: 6px 0; font-size: 14px; color: var(--lt-muted); }

	/* CTA pysyy nappina */
	.lakitasku-nav__list .button-lift { border-bottom: 0; margin-top: 16px; }
	.lakitasku-nav__list .button-lift > a {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		padding: 16px 32px;
	}
}

/* Front hero ----------------------------------------------------------- */

.lakitasku-hero {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	color: var(--lt-text);
	padding-left: var(--lt-gutter);
	padding-right: var(--lt-gutter);
}

.lakitasku-hero .lakitasku-hero__bg {
	position: absolute;
	inset: 0;
	background-color: var(--lt-primary);
	background-image: var(--lt-hero-bg, url(../images/hero.jpg));
	background-size: cover;
	background-position: center right;
	background-repeat: no-repeat;
	z-index: -1;
}

/* Luettavuus-scrim: vasemmalta tummeneva liukuväri tekstin taakse, jotta
 * valkoinen otsikko/leipä erottuu vaaleistakin herokuvista. */
.lakitasku-hero .lakitasku-hero__bg::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(
		90deg,
		rgba(15, 20, 24, 0.66) 0%,
		rgba(15, 20, 24, 0.42) 30%,
		rgba(15, 20, 24, 0) 62%
	);
}

/* Per-sivu hero-taustakuvat (Figma). page-id-body-luokka, !important yliajaa
 * render.php:n inline-defaultin (hero.jpg) kunnes pattern on uudelleen ajettu. */
.page-id-12 .lakitasku-hero__bg {
	background-image: url(../images/hero-yrityksesta.jpg) !important;
	background-position: center 55%;
}

.lakitasku-hero__inner {
	max-width: var(--lt-content);
	margin: 0 auto;
	padding: 120px 0;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 32px;
}

/* Default (etusivu): hero 70vh, min 600 px, vasen tasaus, valkoinen teksti scrimin päällä. */
.lakitasku-hero--default .lakitasku-hero__inner {
	height: 70vh;
	min-height: 600px;
	padding: 120px 0;
	justify-content: center;
	align-items: flex-start;
	text-align: left;
}
.lakitasku-hero--default .lakitasku-hero__title,
.lakitasku-hero--default .lakitasku-hero__lead {
	color: #fff;
}

/* Subpage: hero 52vh, min 450 px, vasen tasaus, valkoinen teksti tummalla taustalla */
.lakitasku-hero--subpage .lakitasku-hero__inner {
	height: 52vh;
	min-height: 450px;
	padding: 80px 0;
	justify-content: center;
	align-items: flex-start;
	text-align: left;
}

/* Subpage-shortest (ota-yhteytta): hero 45vh, min 388 px, vasen tasaus */
.lakitasku-hero--subpage-shortest .lakitasku-hero__inner {
	height: 45vh;
	min-height: 388px;
	padding: 64px 0;
	justify-content: center;
	align-items: flex-start;
	text-align: left;
	gap: 24px;
}

.lakitasku-hero__title {
	font-family: var(--lt-font-heading);
	font-weight: 700;
	font-size: 48px;
	line-height: 56px;
	letter-spacing: -0.5px;
	margin: 0;
	color: #fff;
}

.lakitasku-hero__lead {
	font-family: var(--lt-font-heading);
	font-weight: 400;
	font-size: 20px;
	line-height: 30px;
	margin: 0;
	max-width: 720px;
	color: #fff;
}

/* Vaalea hero-variantti (palvelut-yhteisöille ym.): scrim takaa luettavuuden,
 * joten teksti on valkoinen kuten muissakin heroissa. */
.lakitasku-hero--light .lakitasku-hero__title,
.lakitasku-hero--light .lakitasku-hero__lead {
	color: #fff;
}

.lakitasku-hero__inner .wp-block-button__link { color: var(--lt-text); }

.lakitasku-hero__inner .wp-block-buttons { margin-top: 0; }

@media (max-width: 1024px) {
	.lakitasku-hero .lakitasku-hero__bg {
		background-image: var(--lt-hero-bg-mobile, var(--lt-hero-bg, url(../images/hero.jpg)));
		background-position: center;
	}
	.lakitasku-hero__inner { padding: 80px 0; gap: 24px; }
	.lakitasku-hero--default .lakitasku-hero__inner { height: auto; min-height: 0; }
	.lakitasku-hero--subpage .lakitasku-hero__inner { height: auto; min-height: 360px; }
	.lakitasku-hero--subpage-shortest .lakitasku-hero__inner { height: auto; min-height: 0; }
	.lakitasku-hero__title { font-size: 36px; line-height: 40px; }
}

@media (max-width: 767px) {
	.lakitasku-hero__inner { padding: 64px 0; gap: 16px; }
	.lakitasku-hero--subpage .lakitasku-hero__inner { height: auto; min-height: 0; }
	.lakitasku-hero__title { font-size: 32px; line-height: 40px; }
	.lakitasku-hero__lead { font-size: 16px; line-height: 24px; }
}

/* Page hero (alasivut) ------------------------------------------------- */

.lakitasku-page-hero {
	position: relative;
	background-color: var(--lt-primary);
	background-image: var(--lt-hero-bg, url(../images/hero.jpg));
	background-size: cover;
	background-position: center right;
	background-repeat: no-repeat;
	color: #fff;
	overflow: hidden;
	isolation: isolate;
}

.lakitasku-page-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: color-mix(in srgb, var(--lt-primary) 60%, transparent);
	z-index: 0;
}

.lakitasku-page-hero > * { position: relative; z-index: 1; }

.lakitasku-page-hero__inner {
	max-width: var(--lt-content);
	margin: 0 auto;
	padding: 0 var(--lt-gutter);
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.lakitasku-page-hero h1,
.lakitasku-page-hero p { color: #fff !important; }

.lakitasku-page-hero h1 {
	margin: 0;
	letter-spacing: -0.24px;
}

/* Ingressi/alaotsikko: sama tyyli kuin etusivun hero-leadissä (Roboto Slab 20/30). */
.lakitasku-page-hero__lead {
	font-family: var(--lt-font-heading);
	font-weight: 400;
	font-size: 20px;
	line-height: 30px;
	margin: 0;
	max-width: 720px;
}

/* Subpage-small variant (esimerkkipalvelu): pienempi paddings, tumma teksti, taustakuva näkyy himmeänä */
.lakitasku-page-hero--subpage-small {
	background-color: var(--lt-primary);
	background-image: none;
	color: var(--lt-text);
	padding-top: 116px !important;
	padding-bottom: 116px !important;
}

.lakitasku-page-hero--subpage-small .lakitasku-page-hero__bg {
	position: absolute;
	inset: 0;
	background-image: var(--lt-hero-bg);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	mix-blend-mode: multiply;
	opacity: 0.15;
	z-index: 0;
}

.lakitasku-page-hero--subpage-small::before { display: none; }
.lakitasku-page-hero--subpage-small > * { position: relative; z-index: 1; }

.lakitasku-page-hero--subpage-small h1,
.lakitasku-page-hero--subpage-small p { color: var(--lt-text) !important; }

.lakitasku-page-hero--subpage-small h1 { letter-spacing: 0; }

@media (max-width: 767px) {
	.lakitasku-page-hero { padding-top: 72px !important; padding-bottom: 72px !important; }
	.lakitasku-page-hero h1 { font-size: 32px !important; line-height: 1.2 !important; }
	.lakitasku-page-hero p { font-size: 16px !important; }
}

@media (max-width: 1024px) {
	.lakitasku-page-hero {
		background-image: var(--lt-hero-bg-mobile, var(--lt-hero-bg, url(../images/hero.jpg)));
		background-position: center;
	}
}

/* Two-column image ----------------------------------------------------- */

.lakitasku-twocol-image { margin: 0; padding: 64px var(--lt-gutter); background: #fff; }

.lakitasku-twocol-image__cols {
	max-width: var(--lt-content);
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 64px;
	align-items: center;
}

/* Service-detail variantti (esimerkkipalvelu): matalampi kuva, pienempi gap */
.lakitasku-twocol-image--service-detail { padding: 64px var(--lt-gutter) 96px; }
.lakitasku-twocol-image--service-detail .lakitasku-twocol-image__cols { gap: 48px; }
.lakitasku-twocol-image--service-detail img { height: 328px; }

.lakitasku-twocol-image--right .lakitasku-twocol-image__content { order: 1; }
.lakitasku-twocol-image--right figure { order: 2; }

.lakitasku-twocol-image figure { margin: 0; }

.lakitasku-twocol-image img {
	display: block;
	width: 100%;
	height: 480px;
	object-fit: cover;
}

.lakitasku-twocol-image__figure--embed,
.lakitasku-twocol-image__figure--video {
	position: relative;
	width: 100%;
	height: 480px;
	overflow: hidden;
	background: #000;
}
.lakitasku-twocol-image__figure--embed iframe,
.lakitasku-twocol-image__figure--video video {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
	object-fit: cover;
}
.lakitasku-twocol-image--service-detail .lakitasku-twocol-image__figure--embed,
.lakitasku-twocol-image--service-detail .lakitasku-twocol-image__figure--video { height: 328px; }

.lakitasku-twocol-image__content { display: flex; flex-direction: column; gap: 24px; }

.lakitasku-twocol-image__content h2 {
	font-family: var(--lt-font-heading);
	font-weight: 700;
	font-size: 32px;
	line-height: 40px;
	letter-spacing: -0.16px;
	margin: 0;
	color: var(--lt-text);
}

.lakitasku-twocol-image__content p {
	font-family: var(--lt-font-body);
	font-size: 16px;
	line-height: 24px;
	color: var(--lt-text-2);
	margin: 0;
}

.lakitasku-twocol-image__content .wp-block-buttons { margin-top: 8px; }

@media (max-width: 1024px) {
	.lakitasku-twocol-image { padding: 64px var(--lt-gutter); }
	.lakitasku-twocol-image__cols { gap: 40px; }
	.lakitasku-twocol-image img { height: 380px; }
	.lakitasku-twocol-image__figure--embed,
	.lakitasku-twocol-image__figure--video { height: 380px; }
}

@media (max-width: 767px) {
	.lakitasku-twocol-image { padding: 48px var(--lt-gutter); }
	.lakitasku-twocol-image__cols { grid-template-columns: 1fr; gap: 24px; }
	/* Figma mobile: image on top, text below (both variants) */
	.lakitasku-twocol-image--right figure { order: -1; }
	.lakitasku-twocol-image--right .lakitasku-twocol-image__content { order: 0; }
	.lakitasku-twocol-image img { height: 240px; }
	.lakitasku-twocol-image__figure--embed,
	.lakitasku-twocol-image__figure--video { height: 240px; }
	.lakitasku-twocol-image__content h2 { font-size: 24px; line-height: 32px; }
}

/* Section header ------------------------------------------------------- */

.lakitasku-section-header {
	max-width: var(--lt-content);
	margin: 0 auto;
	padding: 0 var(--lt-gutter);
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.lakitasku-section-header.has-text-align-center { align-items: center; text-align: center; }

/* Keskitetty otsikko mahtuu yhdelle riville (ei 720px-rajaa) */
.lakitasku-section-header.has-text-align-center h2,
.lakitasku-section-header.has-text-align-center p:not(.lakitasku-eyebrow) {
	max-width: none;
}

/* Täysleveä intro (esim. hinnasto): teksti content-leveyteen, iso väli yllä */
.lakitasku-section-header.is-wide {
	margin-top: 64px;
}
.lakitasku-section-header.is-wide h2,
.lakitasku-section-header.is-wide p:not(.lakitasku-eyebrow) {
	max-width: none;
}
@media (max-width: 767px) {
	.lakitasku-section-header.is-wide { margin-top: 32px; }
}

/* Murupolun jälkeinen ensimmäinen section-header (esim. yhteystiedot): sama
   yläväli kuin muilla sivuilla, ettei osio ole kiinni murupolussa. is-wide
   (hinnasto) hoitaa oman välinsä, joten se jätetään ulos. */
.lakitasku-breadcrumbs + .lakitasku-section-header:not(.is-wide) {
	margin-top: 96px;
}
@media (max-width: 767px) {
	.lakitasku-breadcrumbs + .lakitasku-section-header:not(.is-wide) { margin-top: 64px; }
}

/* Hinnasto (page-id-11): Figma-tarkat osiovälit ennen taustavärin vaihtumista */
.page-id-11 .lakitasku-section-header.has-text-align-center {
	margin-top: 40px;
}
.page-id-11 .wp-block-group + .lakitasku-section-faq {
	margin-top: 96px;
}
@media (max-width: 767px) {
	.page-id-11 .wp-block-group + .lakitasku-section-faq { margin-top: 64px; }
}

/* Yhteystiedot (page-id-13): pienempi väli osoite/puhelin/sähköposti-otsikon
   ja sen alla olevan tekstin väliin. */
.page-id-13 .wp-block-columns .wp-block-column h3.wp-block-heading {
	margin-bottom: 0;
}
.page-id-13 .wp-block-columns .wp-block-column h3.wp-block-heading + p {
	margin-top: 8px;
}

.lakitasku-section-header h2 {
	font-family: var(--lt-font-heading);
	font-weight: 700;
	font-size: 32px;
	line-height: 40px;
	letter-spacing: -0.16px;
	margin: 0;
	color: var(--lt-text);
	max-width: 720px;
}

.lakitasku-section-header p:not(.lakitasku-eyebrow) {
	font-family: var(--lt-font-body);
	font-size: 16px;
	line-height: 24px;
	color: var(--lt-text-2);
	margin: 0;
	max-width: 720px;
}

/* Service cards -------------------------------------------------------- */

.lakitasku-services-grid {
	max-width: var(--lt-content);
	margin: 48px auto 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 32px;
}

.lakitasku-service-card {
	background: var(--lt-primary-200);
	padding: 32px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 24px;
	width: calc((100% - 64px) / 3);
	max-width: 378px;
	min-height: 356px;
	box-sizing: border-box;
}

.lakitasku-service-card__body { display: flex; flex-direction: column; gap: 16px; }

/* Koko kortti linkkinä (ikoni + otsikko + teksti + nuoli), kun linkki on asetettu. */
.lakitasku-service-card__link {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 24px;
	flex: 1 1 auto;
	color: inherit;
	text-decoration: none;
}
.lakitasku-service-card__link:hover,
.lakitasku-service-card__link:focus-visible { color: inherit; text-decoration: none; }

.lakitasku-service-card .lakitasku-service-card__icon {
	width: 40px;
	height: 40px;
	color: var(--lt-text);
	margin: 0;
}

.lakitasku-service-card .lakitasku-service-card__icon svg { width: 100%; height: 100%; }

.lakitasku-service-card h3 {
	font-family: var(--lt-font-heading);
	font-weight: 700;
	font-size: 24px;
	line-height: 32px;
	margin: 0;
}

.lakitasku-service-card p {
	margin: 0;
	color: var(--lt-text-2);
	font-family: var(--lt-font-heading);
	font-weight: 400;
	font-size: 16px;
	line-height: 24px;
}

.lakitasku-service-card .lakitasku-cta-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 999px;
	background: var(--lt-text);
	color: #fff;
	text-decoration: none;
	flex: 0 0 auto;
	align-self: flex-start;
	margin-top: auto;
	transition: background-color 0.15s ease;
}

/* Hover: ympyrä vaihtuu primaariväriin, nuoli pysyy valkoisena ja erottuu. */
.lakitasku-service-card__link:hover .lakitasku-cta-arrow,
.lakitasku-service-card__link:focus-visible .lakitasku-cta-arrow {
	background: var(--lt-primary);
	color: #fff;
}

.lakitasku-service-card .lakitasku-cta-arrow svg { width: 16px; height: 16px; }

/* "Näytä lisää" toggle (tablet/mobile per Figma — secondary button) */
.lakitasku-services-grid__toggle {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.lakitasku-services-grid__more {
	display: none;
	width: 100%;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	padding: 16px 32px;
	border: 2px solid var(--lt-primary);
	background: transparent;
	color: var(--lt-text);
	font-family: var(--lt-font-heading);
	font-weight: 600;
	font-size: 14px;
	line-height: 20px;
	text-align: center;
	cursor: pointer;
}

.lakitasku-services-grid__more:hover { background: var(--lt-primary-100); }

.lakitasku-services-grid__toggle:focus-visible ~ .lakitasku-services-grid__more {
	outline: 2px solid var(--lt-primary-700);
	outline-offset: 2px;
}

@media (max-width: 1024px) {
	.lakitasku-services-grid { gap: 32px; }
	.lakitasku-service-card { width: calc((100% - 32px) / 2); max-width: none; min-width: 0; }
	.lakitasku-services-grid:has(.lakitasku-service-card:nth-of-type(5)) .lakitasku-services-grid__toggle:not(:checked) ~ .lakitasku-services-grid__more { display: flex; }
	.lakitasku-services-grid__toggle:not(:checked) ~ .lakitasku-service-card:nth-of-type(n+5) { display: none; }
}

@media (max-width: 767px) {
	.lakitasku-services-grid { gap: 12px; }
	.lakitasku-service-card { width: 100%; padding: 24px; min-height: 0; }
	.lakitasku-service-card h3 { font-size: 20px; line-height: 28px; }
	.lakitasku-services-grid:has(.lakitasku-service-card:nth-of-type(4)) .lakitasku-services-grid__toggle:not(:checked) ~ .lakitasku-services-grid__more { display: flex; }
	.lakitasku-services-grid__toggle:not(:checked) ~ .lakitasku-service-card:nth-of-type(n+4) { display: none; }
}

/* Services section wrapper -------------------------------------------- */

.lakitasku-section-services {
	padding: 96px var(--lt-gutter) 0;
}

/* Figma: vain etusivulla harmaa tausta; alasivuilla (palvelut) valkoinen */
.home .lakitasku-section-services {
	background: var(--lt-bg-100);
}

@media (max-width: 767px) {
	.lakitasku-section-services { padding-top: 24px; }
}

/* Highlight banner ----------------------------------------------------- */

.lakitasku-highlight-banner {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	width: calc(100% - var(--lt-gutter) * 2);
	max-width: var(--lt-content);
	margin: 64px auto;
}

.lakitasku-highlight-banner .lakitasku-highlight-banner__bg {
	position: absolute;
	inset: 0;
	background-color: var(--lt-text);
	background-image: url(../images/banner.jpg);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	z-index: 0;
}

.lakitasku-highlight-banner .lakitasku-highlight-banner__overlay {
	position: absolute;
	inset: 0;
	background: var(--lt-primary-d);
	mix-blend-mode: multiply;
	z-index: 1;
}

.lakitasku-highlight-banner__inner {
	position: relative;
	z-index: 2;
	padding: 96px 80px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
	text-align: center;
	color: #fff;
}

.lakitasku-highlight-banner__inner h2 {
	font-family: var(--lt-font-heading);
	font-weight: 700;
	font-size: 32px;
	line-height: 40px;
	margin: 0;
	color: #fff;
}

.lakitasku-highlight-banner__inner p:not(.lakitasku-eyebrow) {
	font-family: var(--lt-font-heading);
	font-weight: 400;
	font-size: 20px;
	line-height: 30px;
	margin: 0;
	color: #fff;
	max-width: 720px;
}

.lakitasku-highlight-banner__inner .lakitasku-eyebrow { color: #fff; }

.lakitasku-highlight-banner__inner .wp-block-buttons { margin-top: 8px; }

/* Säilytä symmetrinen alavälistys kun banneri on viimeinen lohko.
   WP:n :where(.is-layout-constrained) > :last-child nollaa margin-block-endin (spec 0,2,0),
   joten yliajetaan korkeammalla spesifisyydellä (0,3,0). */
.is-layout-constrained > .lakitasku-highlight-banner:last-child { margin-bottom: 64px; }

@media (max-width: 767px) {
	.lakitasku-highlight-banner { margin: 48px auto; }
	.is-layout-constrained > .lakitasku-highlight-banner:last-child { margin-bottom: 48px; }
	.lakitasku-highlight-banner__inner { padding: 64px 32px; }
	.lakitasku-highlight-banner__inner h2 { font-size: 24px; line-height: 32px; }
}

/* Eyebrow ---------------------------------------------------------------*/

.lakitasku-eyebrow {
	font-family: var(--lt-font-body);
	font-weight: 700;
	font-size: 14px;
	line-height: 16px;
	letter-spacing: 1.12px;
	text-transform: uppercase;
	color: var(--lt-eyebrow);
}

/* Footer -------------------------------------------------------------- */

.lakitasku-footer {
	position: relative;
	overflow: hidden;
}

.lakitasku-footer__pikkuaalto {
	position: absolute;
	right: 0;
	bottom: 84px;
	width: 78px;
	height: 78px;
	background: url(../images/pikkuaalto.png) center/contain no-repeat;
	pointer-events: none;
}

@media (max-width: 767px) { .lakitasku-footer__pikkuaalto { display: none; } }

.lakitasku-footer a { color: #c9ccd0; text-decoration: none; }
.lakitasku-footer a:hover { color: #ffffff; text-decoration: underline; }

/* Erotinviiva läpi koko footerin leveyden (ohittaa 1200px-containerin ja gutter-paddingin) */
.lakitasku-footer .wp-block-separator {
	width: auto !important;
	max-width: none !important;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	transform: none;
	border: 0;
}

.lakitasku-footer h4 {
	font-family: 'Inter', 'Roboto Slab', sans-serif;
	font-weight: 600;
	font-size: 12px;
	line-height: 16px;
	letter-spacing: 0.96px;
	text-transform: uppercase;
	color: #ffffff;
	margin: 0 0 16px;
}

.lakitasku-footer__cols {
	display: flex;
	flex-wrap: wrap;
	gap: 96px;
	align-items: flex-start;
}

.lakitasku-footer__col p {
	font-size: 16px;
	line-height: 1.6;
	color: #c9ccd0;
	margin: 0;
}

.lakitasku-footer__contact {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.lakitasku-footer__contact li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 16px;
	line-height: 1.6;
	color: #c9ccd0;
}

.lakitasku-footer__contact-icon {
	display: inline-flex;
	flex: 0 0 auto;
	color: #ffffff;
	margin-top: 4px;
}

.lakitasku-footer__contact-icon svg {
	width: 16px;
	height: 16px;
}

.lakitasku-footer__social {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 16px;
}

.lakitasku-footer__social a {
	display: inline-flex;
	color: #ffffff;
}

.lakitasku-footer__social a:hover { color: var(--lt-primary-200); }

.lakitasku-footer__bottom {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
}

.lakitasku-footer__bottom p {
	font-size: 14px;
	margin: 0;
}

.lakitasku-footer__bottom a { color: #ffffff; text-decoration: underline; }

@media (max-width: 767px) {
	.lakitasku-footer__cols { gap: 40px; }
	.lakitasku-footer { padding-top: 36px !important; }
}

/* Tabletti: logo omalle rivilleen, kolme saraketta yhdelle riville sen alle */
@media (min-width: 768px) and (max-width: 1024px) {
	.lakitasku-footer__cols { gap: 48px; }
	.lakitasku-footer__cols .lakitasku-logo-white { flex: 0 0 100%; }
	.lakitasku-footer__col { flex: 1 1 0; min-width: 0; }
}

/* Buttons ------------------------------------------------------------- */

.lakitasku-button-phone .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.is-style-yellow .wp-block-button__link {
	background-color: var(--lt-accent) !important;
	color: var(--lt-text) !important;
}

.is-style-yellow .wp-block-button__link:hover {
	background-color: color-mix(in srgb, var(--lt-accent) 80%, #000 20%) !important;
}

/* Accordion (FAQ) ----------------------------------------------------- */

.lakitasku-accordion { width: 100%; }

.lakitasku-accordion__item {
	border-bottom: 1px solid var(--lt-border);
	padding: 24px 0;
}

.lakitasku-accordion__item > summary {
	list-style: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 16px;
	font-family: var(--lt-font-heading);
	font-weight: 400;
	font-size: 20px;
	line-height: 30px;
	color: var(--lt-text);
}

.lakitasku-accordion--lg .lakitasku-accordion__item > summary,
.lakitasku-accordion__item--lg > summary {
	font-weight: 500;
	font-size: 24px;
	line-height: 32px;
}

.lakitasku-accordion__item > summary::-webkit-details-marker { display: none; }

@media (max-width: 1024px) {
	.lakitasku-accordion--lg .lakitasku-accordion__item > summary,
	.lakitasku-accordion__item--lg > summary { font-size: 18px; line-height: 26px; }
}

@media (max-width: 767px) {
	.lakitasku-accordion__item > summary { font-size: 18px; line-height: 26px; }
	.lakitasku-accordion--lg .lakitasku-accordion__item > summary,
	.lakitasku-accordion__item--lg > summary { font-size: 18px; line-height: 26px; }
}

.lakitasku-accordion__icon {
	margin-left: auto;
	width: 24px;
	height: 24px;
	position: relative;
	flex: 0 0 auto;
}

.lakitasku-accordion__icon::before,
.lakitasku-accordion__icon::after {
	content: "";
	position: absolute;
	background: var(--lt-text);
}

.lakitasku-accordion__icon::before {
	left: 50%;
	top: 20%;
	bottom: 20%;
	width: 2px;
	transform: translateX(-50%);
}

.lakitasku-accordion__icon::after {
	top: 50%;
	left: 20%;
	right: 20%;
	height: 2px;
	transform: translateY(-50%);
}

.lakitasku-accordion__item[open] .lakitasku-accordion__icon::before { display: none; }

.lakitasku-accordion__body {
	margin-top: 16px;
	color: var(--lt-text-2);
	font-size: 16px;
	line-height: 24px;
	max-width: 800px;
}

.lakitasku-accordion__body p { margin: 0 0 16px; }
.lakitasku-accordion__body p:last-child { margin: 0; }

/* Pricing table ------------------------------------------------------- */

.lakitasku-pricing-table {
	width: 100%;
	max-width: var(--lt-content);
	margin: 48px auto;
	box-sizing: border-box;
	border-collapse: collapse;
	font-size: 16px;
}

/* Alle content-leveyden lisää sivugutterit (desktopilla keskitys riittää) */
@media (max-width: 1240px) {
	.lakitasku-pricing-table {
		padding-left: var(--lt-gutter);
		padding-right: var(--lt-gutter);
	}
}

.lakitasku-pricing-table thead th {
	text-align: left;
	font-family: var(--lt-font-heading);
	font-weight: 600;
	font-size: 14px;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	color: var(--lt-primary-d);
	padding: 16px 0;
	border-bottom: 2px solid var(--lt-primary-d);
}

.lakitasku-pricing-table tbody td {
	padding: 16px 0;
	border-bottom: 1px solid #e3e5e8;
	color: var(--lt-text-2);
	vertical-align: top;
}

.lakitasku-pricing-table tbody td:last-child {
	text-align: right;
	white-space: nowrap;
	font-weight: 600;
	color: var(--lt-text);
}

@media (max-width: 540px) {
	.lakitasku-pricing-table { font-size: 14px; }
	.lakitasku-pricing-table tbody td { padding: 12px 0; }
	.lakitasku-pricing-table tbody td:last-child { font-size: 13px; }
}

/* Staff cards --------------------------------------------------------- */

.lakitasku-staff-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 32px;
}

@media (max-width: 767px) { .lakitasku-staff-grid { grid-template-columns: 1fr; gap: 16px; } }

.lakitasku-staff-card { padding: 48px 32px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 24px; }

@media (max-width: 767px) {
	.lakitasku-staff-card { padding: 16px 24px; }
}

.lakitasku-staff-card__avatar {
	width: 275px;
	height: 275px;
	border-radius: 999px;
	overflow: hidden;
	flex: 0 0 auto;
}

.lakitasku-staff-card__avatar img,
.lakitasku-staff-card__avatar svg {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.lakitasku-staff-card__info { display: flex; flex-direction: column; gap: 8px; }

.lakitasku-staff-card h3 {
	margin: 0;
	font-family: var(--lt-font-heading);
	font-weight: 700;
	font-size: 24px;
	line-height: 32px;
}

.lakitasku-staff-card__title {
	font-family: var(--lt-font-body);
	font-size: 16px;
	line-height: 24px;
	color: var(--lt-text-2);
	margin: 0;
}

.lakitasku-staff-card__bio {
	font-family: var(--lt-font-body);
	font-size: 16px;
	line-height: 24px;
	color: var(--lt-text);
	margin: 0;
	max-width: 500px;
}

.lakitasku-staff-card__contact {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	justify-content: center;
	font-size: 14px;
	line-height: 21px;
}

.lakitasku-staff-card__contact > a,
.lakitasku-staff-card__contact > span {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--lt-text);
	text-decoration: none;
}

.lakitasku-staff-card__contact svg { width: 16px; height: 16px; flex: 0 0 auto; }
.lakitasku-staff-card__contact a:hover { text-decoration: underline; color: var(--lt-primary-d); }

@media (max-width: 767px) {
	.lakitasku-staff-card__contact {
		flex-direction: column;
		flex-wrap: nowrap;
		align-items: center;
		gap: 8px;
		font-family: var(--lt-font-heading);
	}
}

/* Contact Form 7 -tyylit --------------------------------------------- */

.wpcf7 { width: 100%; }

.wpcf7-form p { margin: 0 0 24px; }

/* CF7 lisää ylimääräisiä <br>-rivinvaihtoja kenttien sisään ja väliin;
   piilotetaan ne ja hallitaan välistys marginaaleilla (Figma: 24px kenttäväli, 8px label→kenttä). */
.wpcf7-form br { display: none; }

.wpcf7-form label {
	display: block;
	font-family: 'Inter', 'Roboto Slab', sans-serif;
	font-weight: 600;
	font-size: 14px;
	line-height: 20px;
	color: var(--lt-text);
	margin-bottom: 0;
}

/* 8px väli label-tekstin ja syöttökentän väliin (vain tekstipohjaiset kentät) */
.wpcf7-form > p > label > .wpcf7-form-control-wrap {
	display: block;
	margin-top: 8px;
}

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="url"],
.wpcf7-form input[type="number"],
.wpcf7-form input[type="date"],
.wpcf7-form select,
.wpcf7-form textarea {
	width: 100%;
	background: var(--lt-bg-100);
	border: 1px solid var(--lt-border);
	padding: 12px 16px;
	font-family: inherit;
	font-size: 16px;
	line-height: 24px;
	color: var(--lt-text);
	border-radius: 0;
	box-sizing: border-box;
}

.wpcf7-form input:focus,
.wpcf7-form select:focus,
.wpcf7-form textarea:focus {
	outline: 2px solid var(--lt-primary);
	outline-offset: -1px;
}

.wpcf7-form textarea { resize: vertical; min-height: 200px; }

.wpcf7-form .wpcf7-acceptance label,
.wpcf7-form .wpcf7-checkbox label,
.wpcf7-form .wpcf7-radio label {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	font-family: var(--lt-font-body);
	font-weight: 400;
	font-size: 14px;
	line-height: 20px;
	color: var(--lt-text-2);
	margin: 0;
}

/* CF7:n oletus margin-left:1em sisensi valintaruudun oikealle — Figmassa tasattu vasempaan */
.wpcf7-form .wpcf7-list-item { margin: 0; }

/* Valintaruutu 20×20, 1.5px reuna (Figma) */
.wpcf7-form .wpcf7-acceptance input[type="checkbox"],
.wpcf7-form .wpcf7-checkbox input[type="checkbox"] {
	-webkit-appearance: none;
	appearance: none;
	width: 20px;
	height: 20px;
	flex: 0 0 auto;
	margin: 0;
	border: 1.5px solid var(--lt-border);
	background: #fff;
	cursor: pointer;
	border-radius: 0;
}

.wpcf7-form .wpcf7-acceptance input[type="checkbox"]:checked,
.wpcf7-form .wpcf7-checkbox input[type="checkbox"]:checked {
	background: var(--lt-primary);
	border-color: var(--lt-primary);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='3.5 8.5 6.5 11.5 12.5 5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
}

.wpcf7-form input[type="submit"] {
	background: var(--lt-primary);
	color: var(--lt-text);
	border: 0;
	padding: 16px 32px;
	font-family: var(--lt-font-heading);
	font-weight: 600;
	font-size: 14px;
	line-height: 20px;
	letter-spacing: 0.3px;
	cursor: pointer;
	border-radius: 0;
	transition: background-color .15s ease, color .15s ease;
}

.wpcf7-form input[type="submit"]:hover {
	background: var(--lt-primary-d);
	color: #fff;
}

.wpcf7 .wpcf7-not-valid-tip {
	color: #b32d2e;
	font-size: 13px;
	margin-top: 4px;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.sent .wpcf7-response-output {
	border-width: 1px;
	padding: 12px 16px;
	font-size: 14px;
}

.lakitasku-form-placeholder {
	background: #fff8e1;
	border: 1px dashed #d4a017;
	padding: 16px;
	font-size: 14px;
	color: #6b5400;
}

/* WP block tuning ---------------------------------------------------- */

@media (max-width: 767px) {
	.wp-block-columns { gap: 32px !important; }
	.wp-block-group[style*="padding-top:96px"] { padding-top: 64px !important; padding-bottom: 64px !important; }
}

@media (max-width: 540px) {
	.wp-block-heading.has-text-align-center,
	h2.wp-block-heading { font-size: 26px !important; line-height: 1.25 !important; }
	.wp-block-group[style*="padding-top:96px"] { padding-top: 48px !important; padding-bottom: 48px !important; }
}

/* Breadcrumbs --------------------------------------------------------- */

.lakitasku-breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	padding: 16px var(--lt-gutter);
	max-width: var(--lt-content);
	margin: 0 auto;
	font-family: var(--lt-font-body);
	font-size: 14px;
	line-height: 21px;
	color: var(--lt-text-2);
}

.lakitasku-breadcrumbs a {
	color: var(--lt-text-2);
	text-decoration: none;
}

.lakitasku-breadcrumbs a:hover { color: var(--lt-primary-d); text-decoration: underline; }

.lakitasku-breadcrumbs__sep {
	font-family: var(--lt-font-heading);
	color: var(--lt-text-2);
}

.lakitasku-breadcrumbs__current {
	font-weight: 600;
	color: var(--lt-text);
}

/* CTA banner (etusivu, kevyt versio Highlight-bannerin alla) --------- */

.lakitasku-cta-banner {
	background: var(--lt-bg-100);
	margin-top: 0;
	padding: 32px var(--lt-gutter) 64px;
}

.lakitasku-cta-banner__inner {
	box-sizing: border-box;
	max-width: var(--lt-content);
	margin: 0 auto;
	background: var(--lt-primary);
	padding: 56px 80px;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 24px;
}

.lakitasku-cta-banner__inner h2 {
	font-family: var(--lt-font-heading);
	font-weight: 700;
	font-size: 32px;
	line-height: 40px;
	margin: 0;
	color: var(--lt-text);
}

.lakitasku-cta-banner__inner p:not(.lakitasku-eyebrow) {
	font-family: var(--lt-font-heading);
	font-weight: 400;
	font-size: 20px;
	line-height: 30px;
	margin: 0;
	color: var(--lt-text);
	max-width: 720px;
}

@media (max-width: 767px) {
	.lakitasku-cta-banner { margin-top: 0; padding-top: 32px; padding-bottom: 48px; }
	.lakitasku-cta-banner__inner { padding: 48px 24px; }
	.lakitasku-cta-banner__inner h2 { font-size: 24px; line-height: 32px; }
	.lakitasku-cta-banner__inner p:not(.lakitasku-eyebrow) { font-size: 18px; line-height: 28px; }
}

/* Prose section (yrityksesta laaja tekstiosio) ----------------------- */

.lakitasku-prose-section {
	background: var(--lt-bg-100);
	padding: 96px var(--lt-gutter);
}

.lakitasku-prose-section--white { background: #fff; }

.lakitasku-prose-section__inner {
	max-width: var(--lt-content);
	margin: 0 auto;
}

.lakitasku-prose-section__inner h2 {
	font-family: var(--lt-font-heading);
	font-weight: 700;
	font-size: 32px;
	line-height: 40px;
	letter-spacing: -0.16px;
	color: var(--lt-text);
	margin: 0 0 24px;
}

.lakitasku-prose-section__inner h3 {
	font-family: var(--lt-font-heading);
	font-weight: 700;
	font-size: 24px;
	line-height: 32px;
	color: var(--lt-text);
	margin: 32px 0 16px;
}

.lakitasku-prose-section__inner p,
.lakitasku-prose-section__inner li {
	font-family: var(--lt-font-body);
	font-size: 16px;
	line-height: 24px;
	color: var(--lt-text-2);
	margin: 0 0 16px;
}

/* Pricing table — 3-col striped version --------------------------- */

.lakitasku-pricing-table--striped {
	border-collapse: collapse;
	width: 100%;
}

.lakitasku-pricing-table--striped tr:nth-child(odd) {
	background: var(--lt-bg-100);
}

.lakitasku-pricing-table--striped tbody td {
	padding: 16px 12px;
	font-family: var(--lt-font-heading);
	font-weight: 400;
	font-size: 16px;
	line-height: 24px;
	color: var(--lt-text-2);
	border: 0;
	vertical-align: top;
}

.lakitasku-pricing-table--striped tbody td:first-child {
	padding-left: 32px;
	color: var(--lt-text);
}

.lakitasku-pricing-table--striped tbody td:nth-child(2) {
	width: 280px;
}

.lakitasku-pricing-table--striped tbody td:last-child {
	width: 180px;
	padding-right: 32px;
	text-align: left;
	white-space: nowrap;
}

@media (max-width: 767px) {
	.lakitasku-pricing-table--striped { table-layout: fixed; }
	.lakitasku-pricing-table--striped tbody td {
		padding: 12px 8px;
		font-size: 12px;
		line-height: 17px;
		white-space: normal;
		overflow-wrap: break-word;
		word-break: break-word;
		hyphens: auto;
	}
	/* Nimisarake kapeampi, sanat saavat tavuttua/rivittyä kahdelle riville */
	.lakitasku-pricing-table--striped tbody td:first-child { width: 40%; padding-left: 16px; }
	.lakitasku-pricing-table--striped tbody td:nth-child(2) { width: 33%; }
	.lakitasku-pricing-table--striped tbody td:last-child { width: 27%; padding-left: 12px; padding-right: 16px; white-space: normal; }
}

/* Taulukon alla oleva huomautusryhmä samaan gutter-linjaan kuin muu sisältö */
@media (max-width: 1024px) {
	.lakitasku-pricing-table + .wp-block-group {
		padding-left: var(--lt-gutter);
		padding-right: var(--lt-gutter);
	}
}

/* Contact section (yhteydenottolomake) --------------------------- */

.lakitasku-contact-section {
	max-width: var(--lt-content);
	margin: 0 auto;
	padding: 96px var(--lt-gutter);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
}

.lakitasku-contact-section h2 {
	margin: 0;
	font-family: var(--lt-font-heading);
	font-weight: 700;
	font-size: 32px;
	line-height: 40px;
	letter-spacing: -0.16px;
	max-width: 720px;
}

.lakitasku-contact-section > p {
	margin: 0;
	font-family: var(--lt-font-body);
	font-size: 16px;
	line-height: 24px;
	max-width: 640px;
}

.lakitasku-contact-section__form {
	width: 100%;
	max-width: 800px;
	margin-top: 32px;
}

@media (max-width: 767px) {
	.lakitasku-contact-section { padding: 64px var(--lt-gutter); }
	.lakitasku-contact-section h2 { font-size: 24px; line-height: 32px; }
}

/* Body links: inherit color, only underline (Figma spec) ----------
   Scoped to `main` so header navigation and footer links are NOT affected. */

.lakitasku-prose-section a,
main .wp-block-group a:not(.wp-element-button):not(.wp-block-button__link):not(.lakitasku-service-card__link),
main .wp-block-column a:not(.wp-element-button):not(.wp-block-button__link):not(.lakitasku-service-card__link),
main .wp-block-paragraph a:not(.wp-element-button):not(.wp-block-button__link):not(.lakitasku-service-card__link) {
	color: inherit;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
}

.lakitasku-prose-section a:hover,
main .wp-block-group a:not(.wp-element-button):not(.wp-block-button__link):not(.lakitasku-service-card__link):hover,
main .wp-block-column a:not(.wp-element-button):not(.wp-block-button__link):not(.lakitasku-service-card__link):hover,
main .wp-block-paragraph a:not(.wp-element-button):not(.wp-block-button__link):not(.lakitasku-service-card__link):hover {
	color: var(--lt-primary-d);
}

/* Navigation links: no underline by default; underline only on hover or
   on the current page (Figma spec). Applies to desktop inline + mobile overlay. */
.wp-block-navigation a.wp-block-navigation-item__content {
	text-decoration: none;
}
.wp-block-navigation a.wp-block-navigation-item__content:hover,
.wp-block-navigation .current-menu-item > a.wp-block-navigation-item__content,
.wp-block-navigation a.wp-block-navigation-item__content[aria-current] {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
}
/* The overlay CTA button is a nav link but must stay a solid button */
.wp-block-navigation .lakitasku-nav-cta a.wp-block-navigation-item__content,
.wp-block-navigation .lakitasku-nav-cta a.wp-block-navigation-item__content:hover {
	text-decoration: none;
}

/* FAQ section wrapper (täysleveä tausta + 800 px keskitetty sisältö) ---- */

.lakitasku-section-faq {
	background: var(--lt-bg-100);
	padding: 96px var(--lt-gutter);
}

.lakitasku-section-faq--white { background: #fff; }

/* Hinnasto: Oikeusturva (toinen FAQ-osio) — vaalea taustaväri */
.page-id-11 .lakitasku-section-faq + .lakitasku-section-faq { background: #fafafb; }

.lakitasku-section-faq__inner {
	max-width: 800px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.lakitasku-section-faq--wide .lakitasku-section-faq__inner {
	max-width: 988px;
}

.lakitasku-section-faq__inner .lakitasku-eyebrow {
	margin: 0;
}

.lakitasku-section-faq__heading {
	font-family: var(--lt-font-heading);
	font-weight: 700;
	font-size: 32px;
	line-height: 40px;
	letter-spacing: -0.16px;
	color: var(--lt-text);
	margin: 0 0 16px;
}

.lakitasku-section-faq__inner .lakitasku-accordion {
	margin-top: 16px;
}

/* Keskitetty otsikko (Figma: esimerkkipalvelu + palvelut-sivut). Accordion pysyy vasemmalla. */
.lakitasku-section-faq--center .lakitasku-eyebrow,
.lakitasku-section-faq--center .lakitasku-section-faq__heading {
	text-align: center;
}

@media (max-width: 767px) {
	.lakitasku-section-faq { padding: 64px var(--lt-gutter); }
	.lakitasku-section-faq__heading { font-size: 26px; line-height: 34px; }
}

/* Pricing table — 3-col header & rows -------------------------------- */

.lakitasku-pricing-table--3col thead th {
	padding: 16px 32px;
}

.lakitasku-pricing-table--3col thead th:nth-child(2) { width: 280px; }
.lakitasku-pricing-table--3col thead th:last-child { width: 180px; text-align: right; }

.lakitasku-pricing-table--striped.lakitasku-pricing-table--3col td:nth-child(2) {
	color: var(--lt-text-2);
	font-weight: 400;
	white-space: nowrap;
	text-align: left;
}

@media (max-width: 767px) {
	.lakitasku-pricing-table--3col thead th { padding: 12px 16px; font-size: 12px; }
	.lakitasku-pricing-table--3col thead th:nth-child(2) { width: auto; }
	.lakitasku-pricing-table--3col thead th:last-child { width: auto; }
}

/* Twocol-image service-detail mobile -------------------------------- */

@media (max-width: 767px) {
	.lakitasku-twocol-image--service-detail { padding: 48px var(--lt-gutter); }
	.lakitasku-twocol-image--service-detail .lakitasku-twocol-image__cols { gap: 24px; }
	.lakitasku-twocol-image--service-detail img { height: 240px; }
}

/* Contact-section no-form (lyhennetty CTA-osio) -------------------- */

.lakitasku-contact-section--no-form { padding-top: 64px; padding-bottom: 64px; }
.lakitasku-contact-section--no-form .lakitasku-contact-section__form { display: none; }
