/*
 * Homepage (Avaleht.dc.html at 1440 px, Avaleht-mobiil.dc.html at 390 px). Desktop values first,
 * phone values in the max-width: 767px blocks. Between them the grids fall back to fewer columns.
 */

/* The UV tube, main choice cards and entrance animations are in uv-toru.css (shared with the 404 page). */

/* ---------- Hero ---------- */

.avaala { position: relative; overflow: hidden; }
.avaala__ruudustik {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 48px;
	align-items: center;
	padding-top: 56px;
	padding-bottom: 24px;
}
.avaala__tekst { display: grid; gap: 24px; }
.avaala__ulemine { font-size: 13px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--link-tume); }
.avaala__pealkiri {
	max-width: 11ch;
	font-size: clamp(48px, 4.6vw, 64px);
	line-height: 1.02;
	letter-spacing: -0.03em;
	color: var(--tume-tekst);
}
.avaala__juhend { max-width: 30rem; font-size: 18px; line-height: 1.55; color: var(--tume-tekst-2); }
.avaala__nupud { display: flex; flex-wrap: wrap; gap: 12px; padding-top: 4px; }
.avaala a.nupp--tume-kontuur { border-color: rgba(255, 255, 255, 0.4); padding: 0 24px; } /* beats .tume a.nupp--tume-kontuur */
.avaala a.nupp--tume-kontuur:hover { border-color: rgba(255, 255, 255, 0.6); }

/* Client logos: one row on white, scrolls sideways when it doesn't fit */
.kliendid { border-top: 1px solid var(--tume-joon); }
.kliendid__sisu { display: grid; gap: 10px; padding-top: 20px; padding-bottom: 28px; }
.kliendid__pealkiri { font-size: 16px; font-weight: 600; color: var(--tume-tekst); }
.kliendid__riba {
	display: flex;
	gap: 10px;
	align-items: start;
	margin: 0;
	padding: 18px 16px 14px;
	list-style: none;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	border-radius: var(--r-akordion);
	background: var(--valge);
}
.kliendid__riba::-webkit-scrollbar { display: none; }
.kliendid__riba > :first-child { margin-left: auto; }
.kliendid__riba > :last-child { margin-right: auto; }
.kliendid__klient {
	flex: none;
	width: 124px;
	display: grid;
	grid-template-rows: 54px auto;
	gap: 8px;
	align-items: center;
	justify-items: center;
	text-align: center;
	scroll-snap-align: start;
	font-size: 12px;
	line-height: 1.3;
	color: var(--tekst-2);
}
.kliendid__logo { height: 50px; width: auto; max-width: 100%; object-fit: contain; filter: grayscale(1); opacity: .8; transition: filter .2s ease-out, opacity .2s ease-out; }
.kliendid__klient:hover .kliendid__logo { filter: none; opacity: 1; }

@media (max-width: 1023px) {
	.avaala__ruudustik { gap: 32px; }
}

@media (max-width: 767px) {
	/* One column in the order of the mobile artboard: text, lamp, buttons, choices, clients. */
	.avaala__ruudustik { grid-template-columns: minmax(0, 1fr); gap: 20px; padding-top: 24px; padding-bottom: 20px; }
	.avaala__tekst { display: contents; }
	.avaala__ulemine { order: 1; font-size: 11px; }
	.avaala__pealkiri { order: 2; max-width: none; font-size: 36px; line-height: 1.04; }
	.avaala__juhend { order: 3; font-size: 16px; line-height: 1.5; }
	.uv-toru { order: 4; }
	.avaala__nupud { order: 5; display: grid; gap: 10px; padding-top: 0; }
	.avaala .nupp--suur { width: 100%; padding: 0 16px; }
	.avaala a.nupp--tume-kontuur { border-color: rgba(255, 255, 255, .35); }

	.kliendid { border-top: 0; }
	.kliendid__sisu { padding-top: 4px; padding-bottom: 32px; }
	.kliendid__riba { gap: 12px; align-items: center; padding: 12px 14px 10px; border-radius: var(--r-sisend); }
	.kliendid__klient { width: 108px; grid-template-rows: 42px auto; gap: 6px; font-size: 11px; }
	.kliendid__logo { height: 38px; }
}

/* ---------- Products ---------- */

.filtrid { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.filtrid[hidden] { display: none; }
.avaleht-tooted__ruudustik {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
	gap: 20px;
	margin-top: 40px;
}
.tootekaart--avaleht .tootekaart__foto { display: block; padding: 10px; overflow: hidden; }
.tootekaart__sildid { flex-direction: column; align-items: flex-start; gap: 4px; }
.tootekaart .ohutusmark--rida, .tootekaart__mudel-rida { display: none; }
.tootekaart[hidden] { display: none; }

/* The way to the whole catalog: a link next to the heading and a card below the products (not in the design). */
.avaleht-tooted__pais { display: flex; justify-content: space-between; align-items: baseline; gap: 12px 24px; flex-wrap: wrap; }
.avaleht-tooted__koik-link { font-size: 16px; font-weight: 600; }
.avaleht-tooted__koik {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 20px 40px;
	margin-top: 32px;
	padding: 28px 32px;
	border-radius: var(--r-kaart);
	background: var(--liiv);
}
.avaleht-tooted__koik-tekst { display: grid; gap: 8px; max-width: 760px; }
.avaleht-tooted__koik-pealkiri { font-size: 22px; line-height: 1.2; }
.avaleht-tooted__kategooriad { display: flex; flex-wrap: wrap; gap: 8px; margin: 6px 0 0; padding: 0; list-style: none; }
.avaleht-tooted__kategooriad a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 0 16px;
	border: 1px solid var(--sisend-joon);
	border-radius: var(--r-nupp);
	background: var(--valge);
	font-size: 14px;
	font-weight: 600;
	color: var(--tekst);
	text-decoration: none;
}
.avaleht-tooted__kategooriad a:hover { border-color: var(--tekst); }
.avaleht-tooted__kategooriad .mono { font-weight: 500; color: var(--tekst-3); }
/* Ends the category row: same height as the links, so the button reads as part of that row. */
.avaleht-tooted__koik-nupp { flex: none; min-height: 44px; }

@media (max-width: 767px) {
	.avaleht-tooted { padding-top: 56px; padding-bottom: 48px; }
	.avaleht-tooted .pealkiri-2, .tehnoloogia .pealkiri-2, .valija .pealkiri-2, .kontaktiplokk .pealkiri-2 { font-size: 28px; }
	.filtrid {
		flex-wrap: nowrap;
		overflow-x: auto;
		margin: 16px calc(-1 * var(--serv)) 0;
		padding: 0 var(--serv) 6px;
		scrollbar-width: none;
	}
	.filtrid .kiip { flex: none; padding: 10px 14px; }
	.avaleht-tooted__ruudustik { grid-template-columns: minmax(0, 1fr); gap: 14px; margin-top: 12px; }
	.avaleht-tooted__koik { flex-direction: column; align-items: stretch; margin-top: 20px; padding: 20px 16px; }
	.avaleht-tooted__koik-pealkiri { font-size: 19px; }
	.avaleht-tooted__koik-link { font-size: 15px; }
	.avaleht-tooted__kategooriad a { gap: 6px; padding: 0 12px; font-size: 13px; }

	/* Row card: photo left, first safety label, name, "code, line", price and Vaata. */
	.tootekaart--avaleht {
		display: grid;
		grid-template-columns: 124px minmax(0, 1fr);
		border-radius: var(--r-plokk);
		box-shadow: 0 1px 2px rgba(30, 31, 34, .06), 0 8px 24px -14px rgba(30, 31, 34, .22);
	}
	.tootekaart--avaleht .tootekaart__foto { padding: 12px; align-self: stretch; }
	.tootekaart--avaleht .tootefoto { aspect-ratio: 1; transform: none; }
	.tootekaart--avaleht .tootekaart__sildid, .tootekaart--avaleht .tootekaart__tyyp,
	.tootekaart--avaleht .tootekaart__mudel, .tootekaart--avaleht .tootekaart__tekst { display: none; }
	.tootekaart--avaleht .tootekaart__sisu { gap: 4px; padding: 12px 14px 12px 12px; }
	.tootekaart--avaleht .tootekaart__sisu > * { align-self: flex-start; }
	.tootekaart--avaleht .tootekaart__jalg { align-self: stretch; }
	.tootekaart--avaleht .ohutusmark--rida { display: inline-flex; justify-self: start; padding: 3px 8px; font-size: 11px; }
	.tootekaart--avaleht .tootekaart__mudel-rida { display: block; font-size: 11px; }
	.tootekaart--avaleht .tootekaart__nimi { font-size: 16px; }
	.tootekaart--avaleht .tootekaart__jalg { margin-top: 4px; padding-top: 0; border-top: 0; flex-wrap: nowrap; }
	.tootekaart--avaleht .hind { font-size: 17px; }
	.tootekaart--avaleht .hind__km { font-size: 12px; }
	.tootekaart--avaleht .hind__bruto { font-size: 11px; }
	.tootekaart--avaleht .nupp--vaike { padding: 0 14px; font-size: 13px; }

}

/* ---------- Technology ---------- */

.tehnoloogia { color: var(--tume-tekst-2); padding-top: 104px; padding-bottom: 104px; }
.tehnoloogia__ruudustik {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: 40px;
	align-items: start;
}
.tehnoloogia .pealkiri-2 { color: var(--tume-tekst); }
.tehnoloogia__vasak { grid-column: span 5; display: grid; gap: 20px; }
.tehnoloogia__parem { grid-column: span 7; display: grid; gap: 16px; }
.tehnoloogia__ruudustik > .tehnoloogia__pais { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px 16px; }
.tehnoloogia__joonise-nimi { font-size: 20px; font-weight: 600; color: var(--tume-tekst); }
.sammunupud { display: flex; gap: 6px; align-items: center; }
.sammunupud__arv { min-width: 36px; font-size: 14px; color: var(--tume-tekst); text-align: center; }
.sammukaardid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.sammukaart {
	display: grid;
	padding: 12px 14px;
	min-height: 44px;
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: var(--r-sisend);
	background: rgba(255, 255, 255, .04);
	color: var(--tume-tekst);
	font: inherit;
	text-align: left;
	cursor: pointer;
}
.sammukaart[aria-pressed="true"] { border-color: var(--aktsent); background: rgba(108, 76, 255, .18); }
.sammukaart__sisu { grid-area: 1 / 1; display: flex; flex-direction: column; gap: 2px; }
.sammukaart__nr { font-size: 11px; color: var(--link-tume); }
.sammukaart__nimi { font-size: 14px; font-weight: 600; }
.sammukaart__tekst { font-size: 12px; color: var(--tume-tekst-2); }

.joonis__mobiilinav { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-top: 8px; }
.joonis__pealdis { flex: 1; display: grid; align-items: center; text-align: center; }
.joonis__pealdise-samm { grid-area: 1 / 1; font-size: 12px; color: var(--tume-tekst-2); }
.joonis__pealdise-samm .mono { font-size: 11px; color: var(--link-tume); }
.joonis__pealdise-nimi { font-size: 14px; font-weight: 600; color: var(--tume-tekst); }
.tehnoloogia[data-samm="1"] [data-sammule]:not([data-sammule="1"]),
.tehnoloogia[data-samm="2"] [data-sammule]:not([data-sammule="2"]),
.tehnoloogia[data-samm="3"] [data-sammule]:not([data-sammule="3"]),
.tehnoloogia[data-samm="4"] [data-sammule]:not([data-sammule="4"]) { visibility: hidden; }

@media (max-width: 1023px) {
	.tehnoloogia__ruudustik { grid-template-columns: minmax(0, 1fr); }
	.tehnoloogia__vasak, .tehnoloogia__parem { grid-column: 1 / -1; }
}
@media (max-width: 767px) {
	.tehnoloogia { padding-top: 56px; padding-bottom: 56px; }
	.tehnoloogia__ruudustik, .tehnoloogia__vasak, .tehnoloogia__parem { gap: 16px; }
	.tehnoloogia__juhend, .tehnoloogia__punkt { font-size: 15px; }
	.tyybilyliti button { padding: 10px 12px; }
	.tyybilyliti__nimi { font-size: 14px; }
	.tehnoloogia__nr { width: 28px; height: 28px; }
}

/* ---------- Room picker ---------- */

.valija { background: var(--liiv); }
.valija__juhend { margin-top: 10px; color: var(--tekst-2); }
.valija__ruudustik {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: 24px;
	align-items: stretch;
	margin-top: 40px;
}
.valija__sisend { grid-column: span 7; display: grid; gap: 26px; align-content: start; padding: 32px; border-radius: var(--r-paneel); background: var(--valge); }
.valija__liugurid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
/* 1024-1100 px: two slider columns are too narrow for label, value and both buttons. */
@media (min-width: 1024px) and (max-width: 1100px) { .valija__liugurid { grid-template-columns: minmax(0, 1fr); } }
.valija__kysimus { font-size: 14px; font-weight: 600; }
.valija__inimesed { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }

.valija__tulemus { display: grid; gap: 14px; padding-top: 20px; border-top: 1px solid var(--joon-2); }
.valija__otsus { display: flex; align-items: flex-start; gap: 12px; }
.valija__ikoon { flex: none; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--aktsent); }
.valija__ikoon.on-hea { background: var(--hea); }
.valija__ikoon-hea, .valija__ikoon.on-hea .valija__ikoon-info { display: none; }
.valija__ikoon.on-hea .valija__ikoon-hea { display: block; }
.valija__otsuse-nimi { font-size: 18px; font-weight: 700; line-height: 1.25; }
.valija__otsuse-tekst { font-size: 14px; color: var(--tekst-2); }
.valija__mooduri-ala { display: grid; gap: 8px; }
.valija__mudel { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-size: 14px; font-weight: 600; }
.valija__mudel .mono { flex: none; font-size: 12px; font-weight: 400; color: var(--tekst-3); }
.moodik { position: relative; height: 14px; margin: 6px 0; border-radius: var(--r-nupp); background: var(--joon-2); }
.moodik__taide { position: absolute; left: 0; top: 0; bottom: 0; border-radius: var(--r-nupp); background: var(--aktsent); }
.moodik__vahe { position: absolute; top: 0; bottom: 0; width: 3px; margin-left: -1.5px; background: var(--valge); }
.moodik__sildid { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 4px 12px; font-size: 13px; color: var(--tekst-2); }
.moodik__sildid > span:first-child { display: inline-flex; align-items: center; gap: 6px; }
.moodik__tapp { width: 10px; height: 10px; border-radius: 50%; background: var(--aktsent); }
.valija__ohk { padding: 12px 14px; border-radius: var(--r-sisend); background: var(--liiv); font-size: 14px; line-height: 1.45; }

.soovitus { grid-column: span 5; display: flex; flex-direction: column; gap: 14px; padding: 32px; border-radius: var(--r-paneel); }
.soovitus__ulemine { font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--link-tume); }
.soovitus__kaart { flex: 1 1 auto; display: flex; flex-direction: column; gap: 12px; padding: 12px; border-radius: var(--r-plokk); background: var(--valge); color: var(--tekst); }
.soovitus__foto { position: relative; flex: 1 1 auto; min-height: 170px; overflow: hidden; border-radius: var(--r-logo); background: var(--liiv); }
.soovitus__foto img { position: absolute; inset: 8px; width: calc(100% - 16px); height: calc(100% - 16px); object-fit: contain; mix-blend-mode: multiply; transform: scale(var(--suum, 1)); }
.soovitus__nimed { display: grid; gap: 6px; padding: 0 4px 4px; }
.soovitus__nimi { font-size: 20px; font-weight: 700; line-height: 1.2; }
.soovitus__rida { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 6px 12px; }
.soovitus__omadused { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; font-size: 14px; color: var(--tume-tekst-2); }
.soovitus__omadused li { display: flex; gap: 10px; align-items: baseline; }
.soovitus__omadused li::before { content: '✓'; flex: none; color: var(--ohutu-tume); }
.soovitus__jalg { display: grid; gap: 12px; margin-top: auto; padding-top: 14px; border-top: 1px solid rgba(255, 255, 255, .12); }
.soovitus__hind { font-size: 26px; font-weight: 600; }
.soovitus__bruto { font-size: 14px; color: var(--tume-tekst-3); }
.soovitus__nupud { display: flex; flex-wrap: wrap; gap: 10px; }
.soovitus .nupp--suur { padding: 0 20px; }

@media (max-width: 1023px) {
	.valija__ruudustik { grid-template-columns: minmax(0, 1fr); }
	.valija__sisend, .soovitus { grid-column: 1 / -1; }
}
@media (max-width: 767px) {
	.valija__juhend { margin-top: 8px; font-size: 14px; }
	.valija__ruudustik { gap: 12px; margin-top: 20px; }
	.valija__sisend { gap: 18px; padding: 20px; border-radius: var(--r-kaart); }
	.valija__liugurid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
	[data-naita="pindala"] { min-width: 70px !important; }
	[data-naita="lagi"] { min-width: 58px !important; }
	.valija__inimesed { display: grid; grid-template-columns: 1fr 1fr; margin-top: 8px; }
	.valija__inimesed .kiip { padding: 10px; }
	.valija__tulemus { padding-top: 16px; }
	.valija__otsuse-nimi { font-size: 16px; }
	.valija__otsuse-tekst { font-size: 13px; }
	.valija__mudel { font-size: 13px; }
	.moodik__sildid { font-size: 12px; }
	.valija__ohk { font-size: 13px; }

	.soovitus { display: grid; gap: 12px; padding: 20px; border-radius: var(--r-kaart); }
	.soovitus__ulemine { font-size: 11px; }
	.soovitus__kaart { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 10px; align-items: center; padding: 10px; border-radius: var(--r-sisend); }
	.soovitus__foto { min-height: 0; padding: 4px; border-radius: 8px; }
	.soovitus__foto img { position: static; width: 100%; height: auto; aspect-ratio: 4 / 3; }
	.soovitus__nimed { gap: 2px; padding: 0; }
	.soovitus__nimi { font-size: 15px; }
	.soovitus__rida { display: grid; gap: 2px; justify-items: start; }
	.soovitus__rida .mudel { font-size: 11px; }
	.soovitus__rida .ohutusmark { font-size: 11px; padding: 3px 8px; }
	.soovitus__omadused { gap: 6px; font-size: 13px; }
	.soovitus__jalg { margin-top: 0; padding-top: 0; border-top: 0; }
	.soovitus__hind { font-size: 22px; }
	.soovitus__bruto { font-size: 12px; }
	.soovitus__nupud { display: grid; }
	.soovitus .nupp--suur { width: 100%; padding: 0 13px; }
}

/* ---------- Health Board questions ---------- */

.terviseamet__ruudustik { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 16px 40px; }
.terviseamet__juhend { grid-column: span 7; }
.terviseamet__dokument { grid-column: 8 / span 5; }
.terviseamet__pealkiri { grid-column: 1 / -1; }
.terviseamet__juhend { color: var(--tekst-2); }
.terviseamet__dokument { align-self: center; }
.dokumendikaart {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 14px 18px 14px 14px;
	border: 1px solid var(--joon);
	border-radius: var(--r-plokk);
	background: var(--valge);
	box-shadow: var(--vari-vaike);
	color: var(--tekst);
	text-decoration: none;
	transition: border-color .15s ease-out, box-shadow .15s ease-out;
}
a.dokumendikaart:hover { border-color: var(--sisend-joon); box-shadow: 0 4px 14px rgba(30, 31, 34, .08); color: var(--tekst); }
.dokumendikaart:focus-visible { outline: 2px solid var(--link); outline-offset: 3px; }
.dokumendikaart__ikoon, .dokumendikaart__nool { flex: none; }
.dokumendikaart__tekst { flex: 1; min-width: 0; }
.dokumendikaart__nimi { display: block; font-size: 15px; font-weight: 600; line-height: 1.3; }
.dokumendikaart__alapealkiri { display: block; margin-top: 2px; font-size: 13px; color: var(--tekst-3); }

.terviseamet__kaardid { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 24px 0 0; padding: 0; list-style: none; }
.terviseamet__kaart { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 14px; align-content: start; padding: 22px 24px; border-radius: var(--r-plokk); background: var(--valge); box-shadow: var(--vari-vaike); }
.terviseamet__ikoon { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 10px; background: var(--ohutu-taust); color: var(--ohutu); }
.terviseamet__kysimus { font-size: 16px; font-weight: 600; line-height: 1.35; }
.terviseamet__vastus { margin-top: 6px; font-size: 14px; line-height: 1.55; color: var(--tekst-2); }

.kkk { background: var(--liiv); }
.kkk__ruudustik { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 40px; }
.kkk__vasak { grid-column: span 4; }
.kkk__ruudustik > .akordion { grid-column: span 8; }
.kkk__juhend { margin-top: 10px; color: var(--tekst-2); }
.kkk__nupp { margin-top: 20px; padding: 0 20px; }

@media (max-width: 1023px) {
	.terviseamet__ruudustik, .kkk__ruudustik { grid-template-columns: minmax(0, 1fr); }
	.terviseamet__juhend, .terviseamet__dokument, .kkk__vasak, .kkk__ruudustik > .akordion { grid-column: 1 / -1; }
}
@media (max-width: 767px) {
	.terviseamet__ruudustik { gap: 14px; }
	.terviseamet__pealkiri, .kkk .pealkiri-2 { font-size: 26px; }
	.terviseamet__juhend { font-size: 14px; }
	.kkk__ruudustik { gap: 12px; }
}

/* ---------- Contact ---------- */

.kontaktiplokk { color: var(--tume-tekst-2); }
.kontaktiplokk__ruudustik { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 40px; align-items: start; }
.kontaktiplokk__tekst { grid-column: span 5; }
.kontaktivorm { grid-column: span 7; }
.kontaktiplokk__ruudustik > .vaid-mobiil { grid-column: 1 / -1; }
.kontaktiplokk__tekst { display: grid; gap: 18px; }
.kontaktiplokk .pealkiri-2 { color: var(--tume-tekst); }
.tume a.kontaktiplokk__link { display: flex; gap: 12px; align-items: center; min-height: 44px; margin: -9px 0; font-size: 17px; color: var(--tume-tekst); text-decoration: none; } /* 44 px tap target, design spacing */
.tume a.kontaktiplokk__link--telefon { font-size: 18px; }
.kontaktivorm {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	min-width: 0;
	padding: 32px;
	border-radius: var(--r-paneel);
	background: var(--valge);
	color: var(--tekst);
	box-shadow: 0 -24px 80px -40px var(--aktsent-kuma);
}
.kontaktivorm .vali { min-width: 0; }
.kontaktivorm__lai { grid-column: 1 / -1; }
.kontaktivorm textarea { resize: vertical; }
.kontaktivorm__saada { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.kontaktivorm__nupp { min-height: 50px; padding: 0 40px; }
.kontaktivorm__privaatsus { font-size: 12px; color: var(--tekst-3); }
.kontaktivorm__privaatsus a { color: var(--link); }
.kontaktivorm__teade { grid-column: 1 / -1; padding: 12px 14px; border-radius: var(--r-sisend); font-size: 14px; }
.kontaktivorm__teade--edu { background: var(--ohutu-taust); color: var(--ohutu); }
.kontaktivorm__teade--viga { background: #FDECEA; color: var(--viga); }
.kontaktivorm__valmis { grid-column: 1 / -1; display: grid; gap: 8px; padding: 20px; border-radius: var(--r-plokk); background: var(--ohutu-taust); font-size: 14px; }
.kontaktivorm__valmis:focus { outline: none; }
.kontaktivorm__aitah { font-size: 18px; font-weight: 700; color: var(--ohutu); }

@media (max-width: 1023px) {
	.kontaktiplokk__ruudustik { grid-template-columns: minmax(0, 1fr); }
	.kontaktiplokk__tekst, .kontaktivorm { grid-column: 1 / -1; }
}
@media (max-width: 767px) {
	.kontaktiplokk { padding-bottom: 120px; }
	.kontaktiplokk__ruudustik, .kontaktiplokk__tekst { gap: 16px; }
	.kontaktiplokk__tekst p { font-size: 14px; }
	.kontaktivorm { grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 18px; border-radius: var(--r-kaart); box-shadow: 0 -20px 60px -36px var(--aktsent-kuma); }
	.kontaktivorm__saada { display: grid; gap: 12px; }
	.kontaktivorm__nupp { width: 100%; padding: 0 14px; }
	.tume a.kontaktiplokk__kirjuta { display: flex; align-items: center; min-height: 44px; font-size: 15px; color: var(--tume-tekst); text-decoration: none; }
	.kontaktiplokk__jalus {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 0 16px;
		padding-top: 12px;
		border-top: 1px solid var(--tume-joon);
		font-size: 12px;
		color: var(--tume-tekst-3);
	}
	.kontaktiplokk__jalus a { display: inline-flex; align-items: center; min-height: 44px; }
	/* The contact block ends the page on phones (mobile artboard); the full footer is for wide screens. */
	.home .jalus { display: none; }
}

/* Room picker without JavaScript: no empty result card, a line with a contact link instead. */
html:not(.js) .valija__tulemus, html:not(.js) .soovitus { display: none; }
.valija__ilma-js { margin-top: 16px; font-size: 15px; color: var(--tekst-2); }
.avaleht-tooted h2:focus { outline: none; } /* focused by script after a hero choice */
