/* Komponendid. Värvid ja mõõdud tulevad theme.json-ist CSS-muutujatena. */

/* ---------- Laius ---------- */
.tt-wrap {
	width: 100%;
	max-width: 1180px;
	margin-inline: auto;
	padding-inline: 20px;
	box-sizing: border-box;
}
.tt-sektsioon { padding-block: var(--wp--preset--spacing--40); }
.tt-sektsioon:first-of-type { padding-top: var(--wp--preset--spacing--50); }

/* ---------- Päis ---------- */
.tt-pais {
	background: var(--wp--preset--color--pind);
	border-bottom: 1px solid var(--wp--preset--color--joon);
}
.tt-pais__sisu {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	align-items: center;
	justify-content: space-between;
	padding-block: 16px;
}
.tt-logo {
	display: inline-flex;
	align-items: center;
	gap: 11px;
	text-decoration: none;
	color: var(--wp--preset--color--tekst);
	font-weight: 600;
}
/*
 * WordPressi the_custom_logo() väljastab <img class="custom-logo"> ilma
 * ühegi mõõdupiiranguta. Elus tuli see välja 1023x477 piksliga ja
 * pühkis päise laiali. Logofail ise võib olla ükskõik kui suur.
 */
.tt-logo .custom-logo {
	width: auto;
	height: 42px;
	max-width: 240px;
	object-fit: contain;
	display: block;
}
@media (max-width: 600px) {
	.tt-logo .custom-logo { height: 34px; max-width: 180px; }
}

.tt-logo__mark {
	width: 38px; height: 38px;
	border-radius: var(--wp--custom--raadius--sm);
	background: var(--wp--preset--color--laim);
	color: var(--wp--preset--color--tekst);
	display: flex; align-items: center; justify-content: center;
	flex: 0 0 auto;
}
.tt-logo__nimi { font-size: 17px; line-height: 1.2; }
.tt-menuu__loend {
	display: flex;
	flex-wrap: wrap;
	gap: 22px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.tt-menuu__loend a {
	color: var(--wp--preset--color--tekst-teine);
	text-decoration: none;
	font-size: 14px;
	font-weight: 500;
	display: inline-block;
	padding-block: 10px;
}
.tt-menuu__loend a:hover,
.tt-menuu__loend .current-menu-item > a { color: var(--wp--preset--color--tekst); }

/* ---------- Alammenüü ---------- */

/*
 * Rippmenüü. Elus tuli välja, et seda polnud üldse - kohalikus testmenüüs
 * ei olnud alampunkte, nii et alammenüüd renderdusid lahtise virnana ja
 * päis kasvas kaks korda kõrgemaks.
 *
 * Avaneb nii hiirega (:hover) kui klaviatuuriga (:focus-within) - ainult
 * hover tähendaks, et Tab-klahviga liikuja ei pääse alampunktideni.
 */
.tt-menuu__loend li { position: relative; }

.tt-menuu__loend .sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 60;
	min-width: 220px;
	margin: 0;
	padding: 8px;
	list-style: none;
	background: var(--wp--preset--color--pind);
	border: 1px solid var(--wp--preset--color--joon);
	border-radius: var(--wp--custom--raadius--md);
	box-shadow: 0 12px 32px rgba(17, 17, 19, 0.10);

	/* Peidus, aga mitte display:none - nii saab ülemineku teha ja
	   ekraanilugeja leiab sisu ikka üles. */
	opacity: 0;
	visibility: hidden;
	transform: translateY(-4px);
	transition: opacity 0.14s ease, transform 0.14s ease, visibility 0.14s;
}

.tt-menuu__loend li:hover > .sub-menu,
.tt-menuu__loend li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.tt-menuu__loend .sub-menu a {
	display: block;
	padding: 10px 12px;
	border-radius: var(--wp--custom--raadius--sm);
	font-size: 14px;
	white-space: nowrap;
}
.tt-menuu__loend .sub-menu a:hover,
.tt-menuu__loend .sub-menu a:focus-visible {
	background: var(--wp--preset--color--pind-pehme);
}

/* Väike nool, et oleks näha, kus alampunktid on. */
.tt-menuu__loend .menu-item-has-children > a::after {
	content: "";
	display: inline-block;
	width: 6px; height: 6px;
	margin-left: 6px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: translateY(-2px) rotate(45deg);
}

/* ---------- Mobiilimenüü ---------- */

/*
 * Lüliti on laual peidus. Mobiilis oli menüü seni lihtsalt lahti ja
 * laius üle terve ekraani - kohalikus testmenüüs oli neli punkti, nii
 * et see ei paistnud välja. Päris menüüs on seitse punkti ja kaks
 * alammenüüd, mis sõid kogu esimese ekraanitäie.
 */
.tt-menuunupp {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: var(--wp--custom--puute-min);
	height: var(--wp--custom--puute-min);
	padding: 0;
	background: none;
	border: 0;
	border-radius: var(--wp--custom--raadius--sm);
	cursor: pointer;
	color: var(--wp--preset--color--tekst);
}
.tt-menuunupp__kriips {
	display: block;
	width: 20px;
	height: 2px;
	margin-inline: auto;
	background: currentColor;
	border-radius: 2px;
	transition: transform 0.18s ease, opacity 0.18s ease;
}

/* Lahtises olekus läheb hamburger ristiks. */
.tt-menuunupp[aria-expanded="true"] .tt-menuunupp__kriips:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.tt-menuunupp[aria-expanded="true"] .tt-menuunupp__kriips:nth-child(2) { opacity: 0; }
.tt-menuunupp[aria-expanded="true"] .tt-menuunupp__kriips:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

@media (max-width: 860px) {
	.tt-menuunupp { display: flex; }

	/*
	 * Menüü peidame AINULT siis, kui skript on laadinud (.tt-js).
	 * Ilma selleta jääks menüü kättesaamatuks, sest lülitit poleks,
	 * kes seda avaks. Pikk menüü on parem kui kadunud menüü.
	 */
	.tt-js .tt-menuu {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		z-index: 70;
		display: none;
		padding: 12px 20px 20px;
		background: var(--wp--preset--color--pind);
		border-top: 1px solid var(--wp--preset--color--joon);
		box-shadow: 0 16px 32px rgba(17, 17, 19, 0.10);
		max-height: calc(100vh - 77px);
		overflow-y: auto;
		overscroll-behavior: contain;
	}
	.tt-js .tt-menuu-lahti .tt-menuu { display: block; }

	.tt-pais { position: relative; }

	/* Virnas, mitte reas - ja iga punkt korralik puutesihtmärk. */
	.tt-menuu__loend {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
	}
	.tt-menuu__loend > li { border-bottom: 1px solid var(--wp--preset--color--joon); }
	.tt-menuu__loend > li:last-child { border-bottom: 0; }
	.tt-menuu__loend a {
		display: block;
		padding-block: 14px;
		font-size: 16px;
		min-height: var(--wp--custom--puute-min);
		box-sizing: border-box;
	}

	/*
	 * Alampunktid. Hõljumist mobiilis ei ole, nii et rippmenüü ei tööta -
	 * näitame neid taandega all. Kättesaadav on tähtsam kui kompaktne.
	 */
	.tt-menuu__loend .sub-menu {
		position: static;
		opacity: 1;
		visibility: visible;
		transform: none;
		min-width: 0;
		margin: 0 0 8px;
		padding: 0 0 0 16px;
		border: 0;
		box-shadow: none;
		background: none;
	}
	.tt-menuu__loend .sub-menu a {
		padding-block: 11px;
		font-size: 15px;
		color: var(--wp--preset--color--silt);
	}
	.tt-menuu__loend .menu-item-has-children > a::after { display: none; }

	/* Menüü lahti - taust ei keri enam kaasa. */
	.tt-menuu-lahti { overflow: hidden; }
}
.tt-korv {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: var(--wp--preset--color--tekst);
	text-decoration: none;
	min-height: var(--wp--custom--puute-min);
}
.tt-korv__arv {
	background: var(--wp--preset--color--pind-vaikne);
	border-radius: var(--wp--custom--raadius--pill);
	padding: 2px 9px;
	font-size: 13px;
	font-weight: 600;
}

/* ---------- Plaat ---------- */
.tt-plaat {
	background: var(--wp--preset--color--pind);
	border-radius: var(--wp--custom--raadius--lg);
	padding: var(--wp--preset--spacing--20);
}

/* ---------- Sildid ja märgised ---------- */
.tt-silt {
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--silt);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--silt);
	margin: 0;
}
.tt-mark {
	background: var(--wp--preset--color--laim);
	padding: 0 6px;
	border-radius: 4px;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}
.tt-margis {
	position: absolute;
	top: 10px; left: 10px;
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--silt);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	border-radius: var(--wp--custom--raadius--pill);
	padding: 5px 11px;
	background: var(--wp--preset--color--pind);
	color: var(--wp--preset--color--tekst-teine);
}
.tt-margis--laim {
	background: var(--wp--preset--color--laim);
	color: var(--wp--preset--color--tekst);
}
.tt-number {
	width: 28px; height: 28px;
	border-radius: var(--wp--custom--raadius--pill);
	background: var(--wp--preset--color--laim);
	color: var(--wp--preset--color--tekst);
	display: inline-flex; align-items: center; justify-content: center;
	font-size: 14px; font-weight: 600;
	flex: 0 0 auto;
}

/* ---------- Nupud ---------- */
.tt-nupp {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background: var(--wp--preset--color--tegevus);
	color: #FFFFFF;
	text-decoration: none;
	font-size: 15px;
	font-weight: 600;
	padding: 15px 24px;
	border: 0;
	border-radius: var(--wp--custom--raadius--sm);
	min-height: var(--wp--custom--puute-min);
	box-sizing: border-box;
	cursor: pointer;
	font-family: inherit;
}
.tt-nupp:hover { background: var(--wp--preset--color--tegevus-tekst); color: #FFFFFF; }
.tt-nupp--vaikne {
	background: var(--wp--preset--color--pind);
	color: var(--wp--preset--color--tekst);
	border: 1px solid var(--wp--preset--color--piire);
}
.tt-nupp--vaikne:hover { background: var(--wp--preset--color--pind-pehme); color: var(--wp--preset--color--tekst); }
.tt-nupp--vaike { padding: 12px 18px; font-size: 14px; }
.tt-link { font-size: 15px; font-weight: 600; }

/* ---------- Hero ---------- */
.tt-hero {
	border-radius: var(--wp--custom--raadius--xl);
	padding: clamp(28px, 5vw, 64px);
	text-align: center;
}
.tt-hero__pealkiri {
	margin: 16px auto 0;
	max-width: 17ch;
	font-size: var(--wp--preset--font-size--pealkiri);
	line-height: 1.08;
	letter-spacing: var(--wp--custom--tahevahe--suur);
}
.tt-hero__tekst {
	margin: 22px auto 0;
	max-width: 58ch;
	font-size: var(--wp--preset--font-size--suur);
	color: var(--wp--preset--color--tekst-teine);
}
.tt-hero__nupud {
	margin-top: 30px;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: center;
}
.tt-hero__arvud {
	margin: 44px 0 0;
	padding-top: 28px;
	border-top: 1px solid var(--wp--preset--color--joon);
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(150px, 100%), 1fr));
	gap: 20px;
}
.tt-hero__arvud div { margin: 0; }
.tt-hero__arvud dd { margin: 4px 0 0; }
.tt-arv {
	font-size: 32px;
	font-weight: 600;
	letter-spacing: var(--wp--custom--tahevahe--suur);
	line-height: 1.1;
}

/* ---------- Sektsiooni päis ---------- */
.tt-sektsioon__pais { text-align: center; margin-bottom: 26px; }
.tt-sektsioon__pais h2 { margin: 0; }
.tt-sektsioon__pais p {
	margin: 10px auto 0;
	max-width: 56ch;
	color: var(--wp--preset--color--tekst-teine);
}

/* ---------- Ruudustik ---------- */
.tt-ruudustik {
	display: grid;
	gap: var(--wp--preset--spacing--10);
}
/* Selgesõnaline veergude arv, mitte auto-fit. Põhjus: auto-fit kukutab
   tühjad rajad kokku, nii et üks üksik kaart venis üle terve laiuse. */
.tt-ruudustik--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

@media (max-width: 900px) {
	.tt-ruudustik--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
	.tt-ruudustik--3 { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- Samm ---------- */
.tt-samm { padding: 26px; }
.tt-samm__number { display: flex; align-items: center; gap: 10px; margin: 0; }
.tt-samm h3 { margin: 12px 0 0; }
.tt-samm p:last-child { margin: 10px 0 0; color: var(--wp--preset--color--tekst-teine); }

/* ---------- Kaart ---------- */
.tt-kaart {
	padding: 14px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.tt-kaart__pilt { position: relative; }
/* Kaanepildid on slaidid, millel on tekst sees, ja erinevates suhetes
   (3:2, 16:9, ruut, püstine). Seetõttu contain, mitte cover - kärbe
   lõikaks teksti ära. Taust täidab servad. */
.tt-kaart__pilt img {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: contain;
	background: var(--wp--preset--color--pind-pehme);
	border-radius: var(--wp--custom--raadius--md);
}
.tt-kohatait {
	aspect-ratio: 3 / 2;
	background: var(--wp--preset--color--pind-pehme);
	border: 1px solid var(--wp--preset--color--piire);
	border-radius: var(--wp--custom--raadius--md);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	color: var(--wp--preset--color--silt);
}
.tt-kaart__sisu {
	padding: 0 10px 8px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex: 1 1 auto;
}
.tt-kaart h3 { margin: 0; font-size: 20px; line-height: 1.3; }
.tt-kaart h3 a { color: var(--wp--preset--color--tekst); text-decoration: none; }
.tt-kaart h3 a:hover { color: var(--wp--preset--color--tegevus-tekst); }
.tt-kaart__all {
	margin: auto 0 0;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
	justify-content: space-between;
}
.tt-hind { font-size: 20px; font-weight: 600; }
.tt-hind del { color: var(--wp--preset--color--silt); font-weight: 400; }

/* ---------- AMPS ---------- */
.tt-amps {
	border-radius: var(--wp--custom--raadius--xl);
	padding: clamp(26px, 4vw, 48px);
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(290px, 100%), 1fr));
	gap: 32px;
	align-items: center;
}
.tt-amps h2 { margin: 14px 0 0; }
.tt-amps p { color: var(--wp--preset--color--tekst-teine); }
.tt-amps__numbrid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(68px, 100%), 1fr));
	gap: 8px;
}
.tt-amps__number {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	aspect-ratio: 3 / 4;
	background: var(--wp--preset--color--pind-pehme);
	border: 1px solid var(--wp--preset--color--piire);
	border-radius: var(--wp--custom--raadius--sm);
	text-decoration: none;
	color: var(--wp--preset--color--tekst);
}
.tt-amps__number--uus {
	background: var(--wp--preset--color--laim);
	border-color: var(--wp--preset--color--laim-aaris);
}
.tt-amps__number--uus .tt-silt { color: var(--wp--preset--color--tekst); }
.tt-amps__nr { font-size: 22px; font-weight: 600; }

/* ---------- Kontakt ---------- */
.tt-kontakt {
	border-radius: var(--wp--custom--raadius--xl);
	padding: clamp(26px, 4vw, 48px);
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(290px, 100%), 1fr));
	gap: 36px;
}
.tt-kontakt h2 { margin: 0; }
.tt-kontakt__andmed { margin: 26px 0 0; display: grid; gap: 16px; }
.tt-kontakt__andmed div { margin: 0; }
.tt-kontakt__andmed dd { margin: 5px 0 0; }
.tt-kontakt__vorm input[type="text"],
.tt-kontakt__vorm input[type="email"],
.tt-kontakt__vorm input[type="tel"],
.tt-kontakt__vorm textarea {
	width: 100%;
	box-sizing: border-box;
	min-height: var(--wp--custom--puute-min);
	padding: 12px 14px;
	font-family: inherit;
	font-size: 16px;
	border: 1px solid var(--wp--preset--color--piire-vali);
	border-radius: var(--wp--custom--raadius--sm);
	background: var(--wp--preset--color--pind);
}
.tt-teade {
	background: var(--wp--preset--color--tegevus-toon);
	color: var(--wp--preset--color--tegevus-tekst);
	padding: 14px 16px;
	border-radius: var(--wp--custom--raadius--sm);
	font-size: 14px;
}

.tt-teade a { color: inherit; }

/* Admini hoiatus - külastaja seda ei näe, nii et tohib olla kriipiv. */
.tt-teade--admin {
	margin-top: 8px;
	background: #fff4d6;
	color: #5c4400;
	border: 1px dashed #c9a227;
}

/* ---------- Loend ja arhiiv ---------- */
.tt-loend { display: grid; gap: var(--wp--preset--spacing--10); }
.tt-arhiiv__pais { text-align: center; padding-block: var(--wp--preset--spacing--40) var(--wp--preset--spacing--30); }
.tt-arhiiv__pais h1 { margin: 0; }
.tt-leht, .tt-postitus {
	max-width: 760px;
	margin-inline: auto;
	padding-block: var(--wp--preset--spacing--40);
	padding-inline: 20px;
}
.tt-postitus__pais { text-align: center; margin-bottom: 28px; }
.tt-postitus__pilt { margin: 0 0 28px; }
.tt-postitus__pilt img { border-radius: var(--wp--custom--raadius--lg); }
.tt-404 { max-width: 640px; margin: var(--wp--preset--spacing--50) auto; text-align: center; }

/* ---------- Jalus ---------- */
.tt-jalus {
	background: var(--wp--preset--color--pind);
	border-top: 1px solid var(--wp--preset--color--joon);
	padding-block: 40px;
	margin-top: var(--wp--preset--spacing--40);
}
.tt-jalus__ruudustik {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
	gap: 28px;
}
.tt-logo--jalus .tt-logo__mark { width: 34px; height: 34px; }
.tt-jalus__tekst {
	margin: 14px 0 0;
	font-size: 14px;
	line-height: 1.8;
	color: var(--wp--preset--color--tekst-teine);
}
.tt-jalus__menuu { list-style: none; margin: 10px 0 0; padding: 0; font-size: 14px; line-height: 1.9; }
.tt-jalus__all {
	margin-top: 28px;
	padding-top: 20px;
	border-top: 1px solid var(--wp--preset--color--joon);
}
.tt-jalus__all p { margin: 0; font-size: 13px; color: var(--wp--preset--color--silt); }

/* ---------- Artikkel ja staatiline leht ---------- */
.tt-artikkel {
	max-width: 760px;
	margin-inline: auto;
	padding-block: var(--wp--preset--spacing--40);
	padding-inline: 20px;
}
.tt-artikkel__pais { text-align: center; margin-bottom: 30px; }
.tt-artikkel__pais h1 { margin: 10px 0 0; }
.tt-artikkel__pais .tt-silt a { color: inherit; }
.tt-artikkel__sissejuhatus {
	margin: 18px auto 0;
	max-width: 56ch;
	font-size: var(--wp--preset--font-size--suur);
	color: var(--wp--preset--color--tekst-teine);
}
.tt-artikkel__pilt { margin: 0 0 32px; }
.tt-artikkel__pilt img {
	width: 100%;
	border-radius: var(--wp--custom--raadius--lg);
}
.tt-artikkel__sildid {
	margin-top: 36px;
	padding-top: 20px;
	border-top: 1px solid var(--wp--preset--color--joon);
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.tt-artikkel__sildid a {
	background: var(--wp--preset--color--pind-vaikne);
	border-radius: var(--wp--custom--raadius--pill);
	padding: 6px 13px;
	font-size: 13px;
	text-decoration: none;
	color: var(--wp--preset--color--tekst-teine);
}
.tt-artikkel__sildid a:hover { color: var(--wp--preset--color--tekst); }

/* ---------- Sisu: plokiredaktori väljund ---------- */
.tt-sisu-tekst > * { margin-block: 0 1.1em; }
.tt-sisu-tekst > *:last-child { margin-bottom: 0; }
.tt-sisu-tekst h2 { margin-top: 1.9em; }
.tt-sisu-tekst h3 { margin-top: 1.6em; }
.tt-sisu-tekst h4 { margin-top: 1.4em; font-size: 1.0625rem; }
.tt-sisu-tekst p,
.tt-sisu-tekst li { line-height: 1.75; }
.tt-sisu-tekst ul,
.tt-sisu-tekst ol { padding-left: 1.3em; }
.tt-sisu-tekst li { margin-bottom: 0.45em; }
.tt-sisu-tekst img { border-radius: var(--wp--custom--raadius--md); }
.tt-sisu-tekst figure { margin-inline: 0; }
.tt-sisu-tekst figcaption {
	margin-top: 10px;
	font-size: 13px;
	color: var(--wp--preset--color--silt);
	text-align: center;
}
.tt-sisu-tekst blockquote {
	margin-inline: 0;
	padding: 20px 24px;
	background: var(--wp--preset--color--pind-pehme);
	border-radius: var(--wp--custom--raadius--md);
	font-size: var(--wp--preset--font-size--suur);
}
.tt-sisu-tekst blockquote p:last-child { margin-bottom: 0; }
.tt-sisu-tekst hr {
	border: 0;
	border-top: 1px solid var(--wp--preset--color--joon);
	margin-block: 2.2em;
}
.tt-sisu-tekst code {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.9em;
	background: var(--wp--preset--color--pind-vaikne);
	padding: 2px 6px;
	border-radius: 5px;
}
.tt-sisu-tekst table {
	width: 100%;
	border-collapse: collapse;
	font-size: 15px;
}
.tt-sisu-tekst th,
.tt-sisu-tekst td {
	text-align: left;
	padding: 12px 14px;
	border-bottom: 1px solid var(--wp--preset--color--joon);
}
.tt-sisu-tekst th { font-weight: 600; }
.tt-sisu-tekst .wp-block-table { overflow-x: auto; }
.tt-sisu-tekst .wp-block-button__link { border-radius: var(--wp--custom--raadius--sm); }
.tt-sisu-tekst .wp-block-file {
	background: var(--wp--preset--color--pind-pehme);
	border-radius: var(--wp--custom--raadius--md);
	padding: 16px 18px;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
	justify-content: space-between;
}

/* ---------- Naaberpostitused ---------- */
.tt-naaber {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
	gap: var(--wp--preset--spacing--10);
	padding-bottom: var(--wp--preset--spacing--40);
}
.tt-naaber__link {
	text-decoration: none;
	color: var(--wp--preset--color--tekst);
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 20px 22px;
}
.tt-naaber__link:hover { background: var(--wp--preset--color--pind-pehme); color: var(--wp--preset--color--tekst); }
.tt-naaber__link--parem { text-align: right; }
.tt-naaber__pealkiri { font-weight: 600; line-height: 1.35; }

/* ---------- Arhiivi päis ja otsing ---------- */
.tt-arhiiv__tekst {
	margin: 12px auto 0;
	max-width: 56ch;
	color: var(--wp--preset--color--tekst-teine);
}
.tt-arhiiv__otsing, .tt-404__otsing { margin-top: 22px; }
.tt-otsivorm {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
}
.tt-otsivorm input[type="search"] {
	flex: 1 1 240px;
	max-width: 380px;
	min-height: var(--wp--custom--puute-min);
	padding: 12px 15px;
	font-family: inherit;
	font-size: 16px;
	border: 1px solid var(--wp--preset--color--piire-vali);
	border-radius: var(--wp--custom--raadius--sm);
	background: var(--wp--preset--color--pind);
}
.tt-tyhi {
	text-align: center;
	color: var(--wp--preset--color--tekst-teine);
	padding-block: var(--wp--preset--spacing--40);
}

/* ---------- Lehekülgede navigatsioon ---------- */
.wp-block-query-pagination,
.navigation.pagination {
	margin-top: var(--wp--preset--spacing--30);
	display: flex;
	justify-content: center;
}
.navigation.pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	align-items: center;
}
.navigation.pagination .page-numbers {
	min-width: var(--wp--custom--puute-min);
	min-height: var(--wp--custom--puute-min);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding-inline: 12px;
	border-radius: var(--wp--custom--raadius--sm);
	background: var(--wp--preset--color--pind);
	border: 1px solid var(--wp--preset--color--piire);
	text-decoration: none;
	color: var(--wp--preset--color--tekst);
	font-weight: 500;
}
.navigation.pagination .page-numbers.current {
	background: var(--wp--preset--color--tekst);
	border-color: var(--wp--preset--color--tekst);
	color: var(--wp--preset--color--pind);
}

/* ---------- Plokiredaktori vaikestiilide parandused ----------
   WordPressi tuum annab tabelile täisruudustiku ja koodiplokile
   paljast tausta. Kirjutame need üle, et need haakuksid disainiga. */

.tt-sisu-tekst .wp-block-table table,
.tt-sisu-tekst .wp-block-table td,
.tt-sisu-tekst .wp-block-table th {
	border: 0;
}
.tt-sisu-tekst .wp-block-table th {
	border-bottom: 2px solid var(--wp--preset--color--tekst);
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--silt);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--silt);
	padding-bottom: 10px;
}
.tt-sisu-tekst .wp-block-table td {
	border-bottom: 1px solid var(--wp--preset--color--joon);
}
.tt-sisu-tekst .wp-block-table tr:last-child td { border-bottom: 0; }
.tt-sisu-tekst .wp-block-table figcaption { text-align: left; }

.tt-sisu-tekst .wp-block-code {
	background: var(--wp--preset--color--pind-pehme);
	border: 1px solid var(--wp--preset--color--piire);
	border-radius: var(--wp--custom--raadius--md);
	padding: 18px 20px;
	overflow-x: auto;
}
.tt-sisu-tekst .wp-block-code code {
	background: none;
	padding: 0;
	font-size: 14px;
	line-height: 1.7;
}

.tt-sisu-tekst .wp-block-separator {
	border-top: 1px solid var(--wp--preset--color--piire);
	border-bottom: 0;
	max-width: 80px;
	margin-inline: auto;
	opacity: 1;
}

.tt-sisu-tekst .wp-block-quote cite {
	display: block;
	margin-top: 10px;
	font-size: 14px;
	font-style: normal;
	color: var(--wp--preset--color--silt);
}

/* Ruudustike lapsed ei tohi oma sisust laiemaks venida. */
.tt-ruudustik > *,
.tt-jalus__ruudustik > *,
.tt-amps > *,
.tt-kontakt > * { min-width: 0; }

/* ---------- Puutealad ----------
   Eraldiseisvad lingid peavad olema vähemalt 44 px kõrged. Negatiivne
   margin kompenseerib polsterduse, nii et paigutus ei nihku: kasvab
   ainult see ala, mida sõrmega tabada saab. */
.tt-link,
.tt-jalus__menuu a,
.tt-kaart__all .tt-link,
.tt-sektsioon__pais .tt-link {
	display: inline-block;
	padding-block: 12px;
	margin-block: -12px;
}

.tt-logo {
	min-height: var(--wp--custom--puute-min);
	padding-block: 3px;
}

.tt-kontakt__andmed dd a,
.tt-jalus__tekst a {
	display: inline-block;
	padding-block: 11px;
	margin-block: -11px;
}

/* Kaardi pealkirja link: sama trikk, et puuteala jõuaks 44 px-ni. */
.tt-kaart h3 a {
	display: inline-block;
	padding-block: 10px;
	margin-block: -10px;
}

/* ---------- Genereeritud kaanepilt ---------- */
.tt-kaas {
	position: relative;
	aspect-ratio: 16 / 9;
	border-radius: var(--wp--custom--raadius--md);
	overflow: hidden;
	display: block;
}
.tt-kaas__mark {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}
.tt-kaas__silt {
	position: absolute;
	left: 14px;
	bottom: 12px;
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--silt);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	/* Ei mingit läbipaistvust: 75% juures kukkus kontrast lillal taustal
	   4,14:1 peale, nõue on 4,5:1. Täisvärviga läbivad kõik paletid. */
}

/* ---------- Koostööpartnerid ----------
   Üks partner. Ruudustik ei venita üksikut logo üle terve laiuse -
   logod on vasakul reas ja hoiavad oma mõõdu. */
.tt-partnerid__pais { display: block; margin: 0 0 14px; }
.tt-partnerid {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--10);
}
.tt-partner {
	background: var(--wp--preset--color--pind);
	border-radius: var(--wp--custom--raadius--md);
	min-height: 92px;
	min-width: 180px;
	max-width: 260px;
	padding: 18px 24px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
}
.tt-partner img { max-height: 56px; width: auto; object-fit: contain; }
.tt-partner__nimi {
	font-weight: 600;
	color: var(--wp--preset--color--tekst);
}

/* ---------- WPForms ---------- */

/*
 * Kontaktivorm tuleb WPFormsist. Nagu Tutorgi, on ka WPFormsi uus markup
 * ("modern") läbivalt muutujapõhine - tavalised reeglid kaotavad talle.
 * Seega suuname muutujad ümber, mitte ei võitle reeglitega. Vaikimisi
 * oli nupp #066aab, mis ei ole meie paletis üldse olemas.
 */
.wpforms-container,
.wpforms-container-full {
	--wpforms-button-background-color: var(--wp--preset--color--tegevus);
	--wpforms-button-border-color: var(--wp--preset--color--tegevus);
	--wpforms-button-text-color: #FFFFFF;
	--wpforms-button-border-radius: var(--wp--custom--raadius--sm);
	--wpforms-button-border-style: none;
	--wpforms-button-size-font-size: 15px;
	--wpforms-button-size-height: var(--wp--custom--puute-min);
	--wpforms-button-size-padding-h: 28px;

	--wpforms-field-border-radius: var(--wp--custom--raadius--sm);
	--wpforms-field-border-color: var(--wp--preset--color--joon);
	--wpforms-field-border-color-spare: var(--wp--preset--color--joon);
	--wpforms-field-background-color: var(--wp--preset--color--pind);
	--wpforms-field-text-color: var(--wp--preset--color--tekst);
	--wpforms-field-size-input-height: var(--wp--custom--puute-min);
	--wpforms-field-size-font-size: 15px;

	--wpforms-label-color: var(--wp--preset--color--tekst);
	--wpforms-container-border-radius: var(--wp--custom--raadius--md);
}

/*
 * Lisaks muutujatele ka otsesed reeglid - WPFormsi vanem markup
 * ("classic") muutujaid ei kasuta ja sealt tuleks sinine tagasi.
 */
div.wpforms-container-full .wpforms-form input[type="text"],
div.wpforms-container-full .wpforms-form input[type="email"],
div.wpforms-container-full .wpforms-form input[type="tel"],
div.wpforms-container-full .wpforms-form input[type="url"],
div.wpforms-container-full .wpforms-form input[type="number"],
div.wpforms-container-full .wpforms-form select,
div.wpforms-container-full .wpforms-form textarea {
	width: 100%;
	box-sizing: border-box;
	min-height: var(--wp--custom--puute-min);
	padding: 12px 14px;
	font-family: inherit;
	font-size: 15px;
	color: var(--wp--preset--color--tekst);
	background: var(--wp--preset--color--pind);
	border: 1px solid var(--wp--preset--color--joon);
	border-radius: var(--wp--custom--raadius--sm);
	box-shadow: none;
}

div.wpforms-container-full .wpforms-form textarea { min-height: 140px; }

div.wpforms-container-full .wpforms-form input:focus,
div.wpforms-container-full .wpforms-form select:focus,
div.wpforms-container-full .wpforms-form textarea:focus {
	border-color: var(--wp--preset--color--tegevus);
	box-shadow: 0 0 0 3px rgba(91, 61, 245, 0.18);
	outline: none;
}

div.wpforms-container-full .wpforms-form label.wpforms-field-label {
	font-family: inherit;
	font-size: 14px;
	font-weight: 500;
	color: var(--wp--preset--color--tekst);
	margin-bottom: 6px;
}

div.wpforms-container-full .wpforms-form .wpforms-required-label {
	color: var(--wp--preset--color--tegevus);
}

/* Saatmisnupp. Vaikimisi oli sinine - meie oma on violetne. */
div.wpforms-container-full .wpforms-form button[type="submit"],
div.wpforms-container-full .wpforms-form input[type="submit"],
div.wpforms-container-full .wpforms-form .wpforms-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: var(--wp--custom--puute-min);
	padding: 14px 28px;
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	color: #FFFFFF;
	background: var(--wp--preset--color--tegevus);
	border: 0;
	border-radius: var(--wp--custom--raadius--sm);
	cursor: pointer;
	transition: background 0.15s ease;
}

div.wpforms-container-full .wpforms-form button[type="submit"]:hover,
div.wpforms-container-full .wpforms-form input[type="submit"]:hover,
div.wpforms-container-full .wpforms-form .wpforms-submit:hover {
	background: var(--wp--preset--color--tegevus-tekst);
}

div.wpforms-container-full .wpforms-form .wpforms-field { padding: 0 0 18px; }

/* ---------- Vana teema jäljed sisus ---------- */

/*
 * Mesmerize'i ajast on lehtede sisusse jäänud sisemisi stiile: tekst on
 * rööpjoondatud ja lõikudel on valge taust. Uuel hallil taustal paistavad
 * need valgete kastidena ja rööpjoondus rebib sõnavahed laiali.
 *
 * Me EI käi kliendi sisu ümber kirjutamas - see on pöördumatu ja tema oma.
 * Ülekirjutame siin, kuni sisu on kunagi puhastatud.
 */
.tt-sisu-tekst [style*="justify"] { text-align: left !important; }
.tt-sisu-tekst p[style*="background"],
.tt-sisu-tekst div[style*="background"],
.tt-sisu-tekst span[style*="background"] { background: none !important; }

/* Sisusse jäänud h1 ei tohi võistelda lehe pealkirjaga. */
.tt-sisu-tekst h1 {
	font-size: var(--wp--preset--font-size--sektsioon, 32px);
	margin-top: var(--wp--preset--spacing--30);
}
