/* -------------------------------------------------------------------------
   Leht ei tohi kunagi külgsuunas nihkuda.

   `clip` (mitte `hidden`), sest hidden teeks html-ist kerimiskonteineri ja
   lõhuks position:sticky. Fikseeritud elemente (mobiilimenüü, modaalid) see
   ei puuduta, sest body pole nende sisaldav plokk.
   ---------------------------------------------------------------------- */
html,
body {
	overflow-x: clip;
}

/* =========================================================================
   RAdezain — põhistiilid
   Värvid ja tüpograafia tulevad theme.json-ist CSS-muutujatena.
   Siin on ainult see, mida theme.json ei kata: päis, menüü, jalus.
   ========================================================================= */

:root {
	--rz-header-h: 100px;
	--rz-header-h-mobile: 61px;
	--rz-topbar-h: 55px;
	--rz-navrow-h: 59px;
	--rz-border: var(--wp--preset--color--border);
	--rz-transition: 180ms ease;
}


/* -------------------------------------------------------------------------
   Ülemine riba
   ---------------------------------------------------------------------- */

.rz-topbar {
	padding: 0.55rem 0;
	font-size: 0.8125rem;
}

.rz-topbar__row { align-items: center; row-gap: 0.4rem; }

.rz-topbar a { color: var(--wp--preset--color--contrast-soft); }
.rz-topbar a:hover { color: var(--wp--preset--color--primary); }

.rz-topbar__notices {
	gap: var(--wp--preset--spacing--30);
	align-items: baseline;
}

.rz-topbar__notices p { margin: 0; }

.rz-topbar__notice-strong {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
}

.rz-topbar__notice {
	font-size: 0.78125rem;
	color: var(--wp--preset--color--contrast);
}

.rz-topbar__links { gap: var(--wp--preset--spacing--30); align-items: center; }

.rz-topbar__links .rz-menu__list {
	gap: var(--wp--preset--spacing--30);
	font-size: 0.8125rem;
}

.rz-topbar__links .rz-menu__list a {
	font-family: var(--wp--preset--font-family--body);
	font-weight: 400;
}


/* -------------------------------------------------------------------------
   Keelevahetus
   ---------------------------------------------------------------------- */

.rz-langs__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: var(--wp--preset--spacing--20);
	align-items: center;
}

.rz-langs__item + .rz-langs__item {
	padding-left: var(--wp--preset--spacing--20);
	border-left: 1px solid rgb(28 28 28 / 20%);
}

.rz-langs__item a {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-decoration: none;
	opacity: 0.6;
	transition: opacity 180ms ease;
}

.rz-langs__item a:hover { opacity: 1; }
.rz-langs__item.is-active a { opacity: 1; }


/* -------------------------------------------------------------------------
   Päis
   ---------------------------------------------------------------------- */

/*
 * Kleepuvus on HEADER-elemendil, mitte .rz-sticky'l: sticky toimib ainult
 * oma vanema piires ja .rz-sticky vanem on temaga sama korge - ta ei
 * kleepunud kunagi (avastatud hinnariba silumisel). Negatiivne top laseb
 * ylaribal ara kerida, logo+navi jaavad.
 */
header.wp-block-template-part {
	position: sticky;
	top: calc(-1 * var(--rz-topbar-real, 41px));
	z-index: 60;
}

/*
 * Desktopis päis EI kleepu (Riinu soov 20.08: "see on müra") — kerib
 * tavaliselt ära. Mobiilis kleepub, aga peitub alla kerides ja ilmub
 * üles kerides (header.js lisab .rz-header-hidden) — nii jääb väikesel
 * ekraanil ruum sisule, hinnariba ja menüü on aga käeulatuses.
 */
@media (min-width: 901px) {
	/* relative, MITTE static: z-index peab jääma toimima, muidu vajub
	   rippmenüü lehe sisu alla (Riinu leitud viga 20.08) */
	header.wp-block-template-part {
		position: relative;
		top: auto;
	}
}

@media (max-width: 900px) {
	header.wp-block-template-part {
		transition: transform 250ms ease;
	}

	header.wp-block-template-part.rz-header-hidden {
		transform: translateY(-100%);
	}
}

.rz-sticky {
	position: relative;
	background: rgb(255 255 255 / 96%);
	backdrop-filter: blur(8px);
	border-bottom: 1px solid var(--rz-border);
}

/* Grupid sticky sees on läbipaistvad, et blur paistaks */
.rz-sticky .rz-header,
.rz-sticky .rz-navrow { background: transparent; }

.rz-header { padding: 1.1rem 0 0.5rem; }

.rz-header__row { align-items: center; position: relative; }

.rz-header .wp-block-site-logo img { max-width: 150px; height: auto; display: block; }

.rz-search { max-width: 220px; width: 100%; }

/* Otsingu silt on ekraanilugejale, mitte silmale — väljal on placeholder */
.rz-search .wc-block-product-search__label {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

.rz-search .wc-block-product-search__field {
	border: 1px solid var(--wp--preset--color--secondary-deep);
	border-radius: 0;
	background: var(--wp--preset--color--base);
	padding: 0.45rem 0.7rem;
	font-size: 0.8125rem;
}

.rz-search .wc-block-product-search__field:focus {
	outline: 0;
	border-color: var(--wp--preset--color--primary);
}


/* -------------------------------------------------------------------------
   Menüüd (radezain/menu plokk)
   ---------------------------------------------------------------------- */

.rz-menu__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--40);
}

.rz-menu__list a {
	display: block;
	text-decoration: none;
	color: inherit;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 500;
	transition: color var(--rz-transition);
}

.rz-menu__list a:hover,
.rz-menu__list .current-menu-item > a {
	color: var(--wp--preset--color--primary);
}

/* Alammenüü — kaks taset, rohkem pole vaja */
.rz-menu__list li { position: relative; }

.rz-menu__list .sub-menu {
	list-style: none;
	margin: 0;
	padding: var(--wp--preset--spacing--30) 0;
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 220px;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--rz-border);
	box-shadow: 0 8px 24px rgb(0 0 0 / 8%);
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity var(--rz-transition), transform var(--rz-transition), visibility var(--rz-transition);
	z-index: 50;
}

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

.rz-menu__list .sub-menu a {
	padding: 0.4rem var(--wp--preset--spacing--40);
	white-space: nowrap;
}

/* Peamenüü rida */
.rz-navrow { padding: 0 0 0.9rem; }

.rz-navrow__inner { align-items: center; gap: clamp(0.9rem, 2vw, 1.5rem); }

.rz-navrow .rz-menu__list {
	flex-wrap: nowrap;
	gap: clamp(0.9rem, 2vw, 1.5rem);
}

.rz-navrow .rz-menu__list > li > a {
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-size: 0.84375rem;
	font-weight: 600;
	white-space: nowrap;
	padding: 0.45rem 0;
}

.rz-navrow__sep {
	width: 1px;
	height: 18px;
	background: var(--wp--preset--color--border-strong);
	flex: 0 0 auto;
}

.rz-navrow__account { align-items: center; gap: var(--wp--preset--spacing--30); }

/* Korviloendur teal mulliks */
.rz-navrow__account .wc-block-mini-cart__badge {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
	border-radius: 999px;
}


/* -------------------------------------------------------------------------
   Mobiilimenüü — CSS-põhine, ilma JS-ita
   ---------------------------------------------------------------------- */

.rz-burger { display: none; }

/* CTA-koopia ja alammenüü avamisnupp elavad ainult mobiilimenüü paneelis
   (mõlemad loob header.js) — desktopil on hõljuv alammenüü ja neid pole vaja. */
.rz-mobile-cta,
.rz-submenu-toggle { display: none; }

@media (max-width: 900px) {

	/*
	 * backdrop-filter teeb .rz-sticky'st fixed-paneeli containing block'i —
	 * menüü avaneks päise kõrguse ribana. Mobiilis blur maha (kiirem ka).
	 */
	.rz-sticky {
		backdrop-filter: none;
		background: var(--wp--preset--color--base);
	}

	/* Paneeli laius ühes kohas — nii paneel kui sulgemisrist joonduvad selle
	   järgi. Varem oli 30% paremale jäetud ja 390px ekraanil jäi menüüle vaid
	   ~247px: pikemad nimed (KOLLEKTSIOONID) ei mahtunud ritta. */
	:root { --rz-panel-w: min(86vw, 360px); }

	/* Burger peab jääma avatud paneeli PEALE, et menüüd saaks sulgeda */
	.rz-burger { position: relative; z-index: 120; }

	/* Avatud olekus muutub burger X-iks */
	.rz-nav-toggle:checked ~ .rz-sticky .rz-burger span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
	.rz-nav-toggle:checked ~ .rz-sticky .rz-burger span:nth-child(2) { opacity: 0; }
	.rz-nav-toggle:checked ~ .rz-sticky .rz-burger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

	.rz-header { min-height: var(--rz-header-h-mobile); }

	.rz-topbar__links .rz-menu--top_bar { display: none; }

	.rz-search { display: none; }

	.rz-topbar__notices { flex-wrap: wrap; }

	/* alignwide nullib globaalse veerise — mobiilis jäi tekst vastu ekraaniserva */
	.rz-topbar__row {
		padding-inline: var(--wp--custom--layout--padding, 1.5rem);
		margin-inline: 0 !important;
		width: 100%;
	}

	.rz-burger {
		display: flex;
		flex-direction: column;
		justify-content: center;
		gap: 5px;
		width: 44px;
		height: 44px;
		cursor: pointer;
		padding: 0 10px;
	}

	/* Mobiilis logo vasakul, burger paremal (Riinu soov 22.08) */
	.rz-header__row {
		justify-content: space-between !important;
		padding-inline: var(--wp--custom--layout--padding, 1.5rem);
		margin-inline: 0 !important;
		width: 100%;
	}

	.rz-header__row .wp-block-site-logo { order: 1; margin-right: auto; }
	.rz-header__row .rz-burger { order: 2; margin-right: -10px; }

	.rz-burger span {
		display: block;
		height: 2px;
		background: var(--wp--preset--color--contrast);
		border-radius: 2px;
		transition: transform var(--rz-transition), opacity var(--rz-transition);
	}

	/* Peamenüü rida muutub külgpaneeliks */
	.rz-navrow {
		background: var(--wp--preset--color--base);
		position: fixed;
		inset: 0 auto 0 0;
		width: var(--rz-panel-w);
		z-index: 100;
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;
		/* Ülaserva jääb ruumi sulgemisristi reale */
		padding: 60px var(--wp--preset--spacing--40) var(--wp--preset--spacing--50);
		/*
		 * NB: ainult `overflow-y: auto` ei piisa — CSS-i järgi muutub teine
		 * telg siis samuti `auto`-ks ja paneeli sai näpuga külgsuunas lohistada.
		 * Seepärast on X-telg selgesõnaliselt kinni.
		 */
		overflow-x: hidden;
		overflow-y: auto;
		overscroll-behavior: contain;
		transform: translateX(-100%);
		transition: transform 220ms ease;
		box-shadow: 0 0 40px rgb(0 0 0 / 15%);
	}

	.rz-nav-toggle:checked ~ .rz-sticky .rz-navrow { transform: translateX(0); }

	/* Avatud menüü ajal jääb taustaleht paigale */
	body:has(.rz-nav-toggle:checked) {
		overflow: hidden;
		touch-action: pan-y;
	}

	/*
	 * alignwide annab sisegrupile negatiivsed kylgveerised (global padding
	 * kompensatsioon) — fikseeritud paneelis tombas see menuu vasakust
	 * servast valja ja tekst oli ara loigatud. Nullime paneeli sees.
	 */
	.rz-navrow__inner {
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;
		margin: 0 !important;
		width: 100%;
		gap: var(--wp--preset--spacing--40);
	}

	.rz-navrow__sep { display: none; }

	/*
	 * CTA-nupp mobiilimenüüs (Riinu soov 22.08 — "üks CTA nupp, et saaks
	 * inimesi kohe sinna suunata").
	 *
	 * Nupuks muutub see menüüpunkt, millele on WP menüüredaktoris antud
	 * CSS-klass `rz-cta` (Kuvamisvalikud → CSS-klassid). Nii saab kampaania
	 * vahetamisel sihtkohta ise muuta, koodi puutumata.
	 */
	.rz-mobile-cta {
		/* <a> on vaikimisi content-box: `width:100%` + veerised tegid nupu
		   paneelist laiemaks ja paneeli sai näpuga külgsuunas lohistada. */
		box-sizing: border-box;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 0.5rem;
		width: 100%;
		order: -1;
		margin-bottom: var(--wp--preset--spacing--30);
		padding: 0.85rem 1.1rem;
		background: var(--wp--preset--color--primary);
		color: var(--wp--preset--color--base);
		border-radius: 999px;
		font-family: var(--wp--preset--font-family--heading);
		font-weight: 500;
		font-size: 0.875rem;
		line-height: 1.3;
	}

	/* Nool ütleb "siit edasi", ilma et peaks teksti pikemaks tegema */
	.rz-mobile-cta::after {
		content: "→";
		flex: none;
		font-size: 1.05em;
		line-height: 1;
		transition: transform var(--rz-transition);
	}

	.rz-mobile-cta:hover::after,
	.rz-mobile-cta:focus-visible::after { transform: translateX(3px); }

	.rz-mobile-cta:hover,
	.rz-mobile-cta:focus-visible {
		background: var(--wp--preset--color--primary-dark);
		color: var(--wp--preset--color--base);
	}

	.rz-navrow__account {
		width: 100%;
		padding-top: var(--wp--preset--spacing--40);
		border-top: 1px solid var(--wp--preset--color--border);
		gap: var(--wp--preset--spacing--40);
	}

	/* Loendur istus paneelis sõna "Ostukorv" peal — anname talle oma koha */
	.rz-navrow__account .wc-block-mini-cart__button {
		display: inline-flex;
		align-items: center;
		gap: 0.4rem;
	}

	.rz-navrow__account .wc-block-mini-cart__quantity-badge {
		position: static;
		margin: 0;
	}

	.rz-navrow__account .wc-block-mini-cart__badge {
		position: static;
		margin: 0;
		left: auto;
		transform: none;
	}

	/* Sulgemisrist paneeli ulanurka */
	/*
	 * Avatud olekus on burger sulgemisrist. Varem ulatus see paneeli servast
	 * välja (üle roosa ülariba) — nüüd joondub paneeli sisemise veerisega.
	 */
	.rz-nav-toggle:checked ~ .rz-sticky .rz-burger {
		position: fixed;
		top: 12px;
		left: calc(var(--rz-panel-w) - 58px);
		right: auto;
		margin: 0;
		z-index: 120;
		box-sizing: border-box;
		width: 44px;
		height: 44px;
		padding: 0 11px;
	}

	/*
	 * <nav> on paneelis flex-element ja kahanes sisu laiuseks (~168px), mistõttu
	 * `li { width:100% }` mõõtis end selle järgi ja + nupp maandus keset teksti.
	 */
	.rz-navrow .rz-menu {
		width: 100%;
		/* CTA on order:-1, seega see joon jookseb tema alla ja eraldab
		   kampaanianupu tavamenüüst. */
		border-top: 1px solid var(--wp--preset--color--border);
		padding-top: var(--wp--preset--spacing--20);
	}

	.rz-navrow .rz-menu__list {
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;
		gap: 0.25rem;
		width: 100%;
	}

	/*
	 * Puutumiseks piisav rida (~52px). Selektor peab olema sama täpne kui
	 * desktopi oma (.rz-navrow .rz-menu__list > li > a), muidu see ei võida.
	 */
	.rz-navrow .rz-menu__list > li > a {
		padding: 0.95rem 0;
		font-size: 0.9375rem;
		white-space: normal;
	}

	.rz-navrow .rz-menu__list a { font-size: 0.9375rem; }

	/* Vanempunkti tekstile jääb ruumi + nupu jaoks */
	.rz-navrow .rz-menu__list > li.rz-has-toggle > a { padding-right: 48px; }

	/* Alammenüü avaneb kohapeal, mitte hõljuvana */
	.rz-navrow .sub-menu {
		position: static;
		opacity: 1;
		visibility: visible;
		transform: none;
		border: 0;
		box-shadow: none;
		padding: 0 0 0 var(--wp--preset--spacing--30);
		min-width: 0;
	}

	.rz-navrow .sub-menu a { padding: 0.7rem 0; font-weight: 400; }

	/* Alammenüüd on vaikimisi kinni, avanevad + nupust (header.js) */
	.rz-navrow .rz-menu__list > li { width: 100%; }
	.rz-navrow .rz-menu__list > li.rz-has-toggle { position: relative; }

	.rz-navrow .rz-menu__list > li.rz-has-toggle > .sub-menu {
		display: none;
	}

	.rz-navrow .rz-menu__list > li.rz-has-toggle.rz-avatud > .sub-menu {
		display: block;
	}

	.rz-submenu-toggle {
		display: block;
		position: absolute;
		top: 0;
		right: 0;
		width: 56px;
		height: 52px;
		border: 0;
		background: none;
		padding: 0;
		cursor: pointer;
		color: var(--wp--preset--color--contrast);
	}

	/* Plussmärk kahest joonest — pöördub avatuna miinuseks */
	.rz-submenu-toggle::before,
	.rz-submenu-toggle::after {
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		width: 13px;
		height: 2px;
		background: currentColor;
		border-radius: 2px;
		transform: translate(-50%, -50%);
		transition: transform var(--rz-transition), opacity var(--rz-transition);
	}

	.rz-submenu-toggle::after { transform: translate(-50%, -50%) rotate(90deg); }

	.rz-has-toggle.rz-avatud > .rz-submenu-toggle::after {
		transform: translate(-50%, -50%) rotate(0deg);
		opacity: 0;
	}

	/* Vana ::after nooleke vanema lingil on mobiilis üleliigne — nupp on olemas */
	.rz-navrow .rz-menu__list > li.rz-has-toggle > a::after { display: none; }

	/* Tume kate paneeli taga */
	/*
	 * Tume kate paneeli taga.
	 *
	 * Kate peab olema paneeli ÕE, mitte lapse peal. Varem oli see
	 * `.rz-navrow::after` + `inset: 0 0 0 100%` + `width: 100vw` — fikseeritud
	 * element, mis algas paneeli paremast servast ja ulatus veel terve
	 * ekraanilaiuse võrra edasi; iOS-is muutis see vaate lohistatavaks.
	 * `inset: 0` lapse peal aga ei tööta: paneelil on transform, mis loob
	 * pinuvirna konteksti, ja negatiivne z-index maandub paneeli tausta PEALE
	 * (paneel läks halliks). Seega paneme katte vanemale `.rz-sticky` peale,
	 * z-index 90 — paneel (100) ja sulgemisrist (120) jäävad ette.
	 */
	.rz-nav-toggle:checked ~ .rz-sticky::after {
		content: "";
		position: fixed;
		inset: 0;
		background: rgb(0 0 0 / 35%);
		z-index: 90;
	}
}


/* -------------------------------------------------------------------------
   Jalus
   ---------------------------------------------------------------------- */

.rz-footer { border-top: 1px solid var(--rz-border); }

.rz-footer a { color: var(--wp--preset--color--contrast); }
.rz-footer a:hover { color: var(--wp--preset--color--primary); }

.rz-footer__title {
	font-size: 0.71875rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--faint);
	font-weight: 600;
	margin: 0 0 var(--wp--preset--spacing--20);
}

.rz-footer__contact {
	color: var(--wp--preset--color--contrast-soft);
	line-height: 1.75;
	margin-top: var(--wp--preset--spacing--30);
}

.rz-footer .rz-menu__list {
	flex-direction: column;
	gap: var(--wp--preset--spacing--20);
}

.rz-footer__bottom {
	margin-top: var(--wp--preset--spacing--50);
	padding-top: var(--wp--preset--spacing--30);
	border-top: 1px solid var(--wp--preset--color--border-strong);
	font-size: 0.78125rem;
	color: var(--wp--preset--color--faint);
}

.rz-footer__bottom p { margin: 0; color: var(--wp--preset--color--faint); }

@media (max-width: 781px) {
	.rz-footer__cols { gap: var(--wp--preset--spacing--50); }
	.rz-footer__bottom { justify-content: center; text-align: center; }
}


/* -------------------------------------------------------------------------
   Migreeritud sisu
   ---------------------------------------------------------------------- */

/* Eelise-plokk: ikoon teksti kõrval ([featured_box pos="left"]) */
.rz-feature {
	align-items: center;
	gap: var(--wp--preset--spacing--30);
}

.rz-feature .rz-icon { margin: 0; flex: 0 0 auto; }

.rz-feature h3,
.rz-feature h4 { margin: 0; font-size: 1.0625rem; }

/* Cover-sektsioonide sisu ei tohi ekraaniservani kleepuda */
.wp-block-cover .wp-block-cover__inner-container > * { max-width: 100%; }


/* =========================================================================
   Avalehe sektsioonid (Claude Designi handoff)
   ========================================================================= */

/* Silt — valge taust, teal piire ja tekst */
.rz-badge {
	display: inline-block;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--heading);
	font-size: 0.75rem;
	font-weight: 600;
	padding: 6px 12px;
	margin: 0;
}

/* --- Hero: kaks veergu roosal --- */

.rz-hero { padding: 0; }

.rz-hero .rz-hero__cols { gap: 0; align-items: stretch; }

.rz-hero__content {
	padding: clamp(3rem, 6vw, 5.75rem) clamp(1.75rem, 4vw, 4rem);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 1.375rem;
}

.rz-hero__content > * { margin: 0; }

.rz-hero h1 {
	font-size: var(--wp--preset--font-size--xx-large);
	line-height: 1.08;
	letter-spacing: -0.02em;
	text-wrap: pretty;
}

.rz-hero h1 .rz-accent { color: var(--wp--preset--color--primary); }

.rz-hero__lead {
	font-size: 1.125rem;
	line-height: 1.65;
	max-width: 46ch;
	text-wrap: pretty;
}

.rz-hero__micro { font-size: 0.84375rem; color: var(--wp--preset--color--contrast-soft); }

.rz-hero__image { position: relative; min-height: 600px; }

.rz-hero__image img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media (max-width: 900px) {
	.rz-hero .rz-hero__cols { flex-direction: column-reverse; }
	.rz-hero__image { min-height: 320px; position: relative; }
	.rz-hero__image img { position: absolute; }
}

/* Outline-nupp (core is-style-outline) */
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--contrast);
	border: 1px solid var(--wp--preset--color--contrast);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
}

/* --- Kuidas see käib: 3 kaarti --- */

.rz-section-title { text-align: center; margin: 0 0 0.5rem; }

.rz-section-lead {
	text-align: center;
	color: var(--wp--preset--color--contrast-soft);
	margin: 0 0 2.5rem;
}

.rz-step-card {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	padding: 1.75rem;
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
	height: 100%;
}

.rz-step-card__num {
	width: 34px;
	height: 34px;
	border-radius: 999px;
	background: var(--wp--preset--color--secondary);
	color: var(--wp--preset--color--primary);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
	font-size: 0.9375rem;
	margin: 0;
}

.rz-step-card h3 { font-size: 1.0625rem; font-weight: 600; margin: 0.375rem 0 0; letter-spacing: 0; }

.rz-step-card p { margin: 0; color: var(--wp--preset--color--contrast-soft); font-size: 0.9375rem; line-height: 1.7; }

/* --- NFC promo bänner --- */

.rz-promo { background: var(--wp--preset--color--secondary); }

.rz-promo .rz-promo__cols { gap: 0; align-items: stretch; }

.rz-promo__content {
	padding: 2.75rem 3rem;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.875rem;
	justify-content: center;
}

.rz-promo__content > * { margin: 0; }

.rz-promo h2 { font-size: 1.75rem; line-height: 1.2; }

.rz-promo p { font-size: 0.96875rem; line-height: 1.7; max-width: 42ch; }

.rz-promo__image { position: relative; min-height: 300px; }

.rz-promo__image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

@media (max-width: 900px) {
	.rz-promo .rz-promo__cols { flex-direction: column-reverse; }
	.rz-promo__content { padding: 1.75rem; }
}

/* --- Trust-riba --- */

.rz-trust {
	background: var(--wp--preset--color--secondary);
	padding: 1.625rem 1.75rem;
}

.rz-trust__row {
	justify-content: space-between;
	row-gap: 0.75rem;
}

.rz-trust__row p {
	margin: 0;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 0.78125rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	text-align: center;
}

/* --- Kategooriapaanid --- */

.rz-panel {
	position: relative;
	display: block;
	aspect-ratio: 4 / 5;
	overflow: hidden;
}

.rz-panel img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 700ms ease;
}

.rz-panel:hover img { transform: scale(1.05); }

.rz-panel__label {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 1.375rem;
	background: linear-gradient(transparent, rgb(17 17 17 / 70%));
	color: var(--wp--preset--color--base);
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.375rem;
	font-weight: 600;
}

/* --- USP-kaardid --- */

/* -------------------------------------------------------------------------
   Avalehe sektsioonid: kategooriad, sõnuminäited, arvustused.

   Vanad USP-kaardid (.rz-usp-card) võtsid `height:100%` tõttu terve veeru
   kõrguse, kuigi sisu oli kaks rida — kastid olid pooltühjad. Asendatud
   kategooriaruudustikuga, mis viib inimese edasi, mitte ei korda lubadusi.
   ---------------------------------------------------------------------- */

/* --- Kategooriad --- */
.rz-katloend { background: var(--wp--preset--color--base-soft); }

.rz-katgrid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--wp--preset--spacing--30);
	margin-top: var(--wp--preset--spacing--40);
}

.rz-kat-kaart {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: var(--rz-radius, 6px);
	text-decoration: none;
	background: var(--wp--preset--color--image-bg);
}

.rz-kat-kaart img,
.rz-kat-kaart__tyhi {
	display: block;
	width: 100%;
	/* height:auto on vajalik — wp_get_attachment_image lisab width/height
	   atribuudid ja ilma selleta jääks aspect-ratio mõjuta. */
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	background: var(--wp--preset--color--image-bg);
	transition: transform 400ms ease;
}

.rz-kat-kaart:hover img { transform: scale(1.04); }

.rz-kat-kaart__nimi {
	position: absolute;
	inset: auto 0 0 0;
	padding: 2.5rem 1rem 0.9rem;
	background: linear-gradient(to top, rgb(0 0 0 / 62%), transparent);
	color: #fff;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.01em;
}

/* --- Sõnuminäited --- */
.rz-ideegrid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--wp--preset--spacing--30);
	margin-top: var(--wp--preset--spacing--40);
}

.rz-idee {
	padding: var(--wp--preset--spacing--40);
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--rz-radius, 6px);
}

.rz-idee__nait {
	display: block;
	margin-bottom: 0.4rem;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.0625rem;
	font-weight: 600;
	color: var(--wp--preset--color--primary);
}

.rz-idee__selgitus {
	display: block;
	font-size: 0.9375rem;
	line-height: 1.6;
	color: var(--wp--preset--color--contrast-soft);
}

.rz-ideed__abi { margin-top: var(--wp--preset--spacing--40); }

/* --- Arvustused --- */
.rz-arvustusgrid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--wp--preset--spacing--30);
	margin-top: var(--wp--preset--spacing--40);
}

.rz-arvustus {
	margin: 0;
	padding: var(--wp--preset--spacing--40);
	background: var(--wp--preset--color--base-soft);
	border-radius: var(--rz-radius, 6px);
}

.rz-arvustus__tahed {
	margin-bottom: 0.6rem;
	color: #f0a500;
	letter-spacing: 0.1em;
	font-size: 0.9375rem;
}

.rz-arvustus blockquote {
	margin: 0 0 0.7rem;
	padding: 0;
	border: 0;
	font-size: 0.9375rem;
	line-height: 1.65;
	color: var(--wp--preset--color--contrast);
}

.rz-arvustus figcaption {
	font-size: 0.8125rem;
	color: var(--wp--preset--color--contrast-soft);
}

@media (max-width: 900px) {
	.rz-katgrid,
	.rz-ideegrid,
	.rz-arvustusgrid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {
	.rz-ideegrid,
	.rz-arvustusgrid { grid-template-columns: 1fr; }
}


/* -------------------------------------------------------------------------
   Konto ja ostukorv navireal — tekstina, nagu disainis
   ---------------------------------------------------------------------- */

.rz-navrow__account {
	font-size: 0.8125rem;
}

.rz-navrow__account .wc-block-customer-account__link {
	font-family: var(--wp--preset--font-family--body);
	font-weight: 400;
	color: var(--wp--preset--color--contrast-soft);
}

.rz-navrow__account .wc-block-customer-account__link:hover { color: var(--wp--preset--color--primary); }

/* Mini-korv: ikooni asemel sõna "Ostukorv" + ümmargune teal loendur */
.rz-navrow__account .wc-block-mini-cart__button {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	background: none;
	border: 0;
	padding: 0;
	cursor: pointer;
	color: var(--wp--preset--color--contrast);
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.8125rem;
}

.rz-navrow__account .wc-block-mini-cart__button:hover { color: var(--wp--preset--color--primary); }

.rz-navrow__account .wc-block-mini-cart__button::before { content: "Ostukorv"; }

.rz-navrow__account .wc-block-mini-cart__icon,
.rz-navrow__account .wc-block-mini-cart__quantity-badge .wc-block-mini-cart__icon { display: none; }

/* quantity-badge on KONTEINER (ikoon + loendur) — see jääb ilma taustata */
.rz-navrow__account .wc-block-mini-cart__quantity-badge {
	position: static;
	transform: none;
	background: none;
	border: 0;
	padding: 0;
	display: inline-flex;
	align-items: center;
}

.rz-navrow__account .wc-block-mini-cart__badge {
	position: static;
	transform: none;
	/* Woo interactivity-API kirjutab varvid inline style'ina */
	background: var(--wp--preset--color--primary) !important;
	color: var(--wp--preset--color--base) !important;
	border-radius: 999px;
	min-width: 20px;
	height: 20px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.71875rem;
	padding: 0 6px;
	border: 0;
}


/* -------------------------------------------------------------------------
   Yotpo hinnangurida — tähed brändi roosaks
   (tekstid ja keel tulevad Yotpo konto seadetest, mitte teemast)
   ---------------------------------------------------------------------- */

.rz-product .yotpo .yotpo-icon-star,
.rz-product .yotpo .yotpo-icon-half-star,
.rz-product .yotpo .rating-star,
.rz-product .yotpo-sr-bottom-line-summary .yotpo-sr-star-full,
.rz-product .yotpo-sr-bottom-line-summary svg {
	color: var(--wp--preset--color--star) !important;
	fill: var(--wp--preset--color--star) !important;
}

/* Rippmenüü tunnus nagu disainis: "Kingitused ⌄" */
.rz-navrow .rz-menu__list > li.menu-item-has-children > a::after {
	content: " ⌄";
	font-size: 0.75em;
	opacity: 0.7;
}

/* -------------------------------------------------------------------------
   Videogrid maandumislehtedel (nt Vastus klientide videod, 9:16)
   ---------------------------------------------------------------------- */
.rz-videod {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: var(--wp--preset--spacing--30);
}

.rz-videod video {
	width: 100%;
	aspect-ratio: 9 / 16;
	object-fit: cover;
	display: block;
	background: var(--wp--preset--color--contrast);
}

.rz-video-yksik video {
	width: 100%;
	max-width: 360px;
	aspect-ratio: 9 / 16;
	object-fit: cover;
	display: block;
	margin: 0 auto;
	background: var(--wp--preset--color--contrast);
}

.rz-video-ruut video {
	width: 100%;
	max-width: 520px;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	display: block;
	margin: 0 auto;
	background: var(--wp--preset--color--contrast);
}

/* Pealkirjas vahetuv sõna (header.js data-rotate) */
.rz-accent[data-rotate] { transition: opacity 250ms ease; }
.rz-accent.is-vahetus { opacity: 0; }

/* -------------------------------------------------------------------------
   Blogi — nimekiri 2 veerus + üksikpostitus külgribaga (live'i järgi)
   ---------------------------------------------------------------------- */

.rz-blog__list {
	gap: var(--wp--preset--spacing--60) var(--wp--preset--spacing--50) !important;
}

.rz-blog__list > li img {
	width: 100%;
	height: auto;
	object-fit: cover;
	border-radius: 0;
	background: var(--wp--preset--color--image-bg);
}

.rz-blog__title {
	font-size: 1.25rem;
	line-height: 1.3;
	margin: var(--wp--preset--spacing--30) 0 0.4rem;
}

.rz-blog__title a { color: var(--wp--preset--color--contrast); text-decoration: none; }
.rz-blog__title a:hover { color: var(--wp--preset--color--primary); }

/* Eraldusjoon pealkirja ja väljavõtte vahel — nagu live'il */
.rz-blog__date {
	padding-bottom: var(--wp--preset--spacing--20);
	border-bottom: 1px solid var(--wp--preset--color--border);
	margin-bottom: var(--wp--preset--spacing--20);
}

.rz-blog__excerpt { color: var(--wp--preset--color--contrast-soft); }

/* Üksikpostitus */
.rz-post { align-items: flex-start; }

.rz-post__title { font-size: 2.125rem; line-height: 1.15; }

.rz-post__meta { gap: var(--wp--preset--spacing--30); }

.rz-post__main img { max-width: 100%; height: auto; }

.rz-post__side {
	position: sticky;
	top: var(--wp--preset--spacing--40);
	font-size: var(--wp--preset--font-size--small);
}

.rz-side-title {
	font-size: 0.84375rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	padding-bottom: var(--wp--preset--spacing--20);
	margin-bottom: var(--wp--preset--spacing--30);
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.rz-side-posts__list,
.rz-side-posts .wp-block-post-template {
	list-style: none;
	margin: 0 0 var(--wp--preset--spacing--50);
	padding: 0;
	display: grid;
	gap: var(--wp--preset--spacing--30);
}

.rz-side-posts__list li,
.rz-side-posts li {
	display: grid;
	grid-template-columns: 64px 1fr;
	gap: var(--wp--preset--spacing--30);
	align-items: center;
}

.rz-side-posts__list img,
.rz-side-posts img { width: 64px; height: 64px; object-fit: cover; border-radius: 0; }
.rz-side-posts__list .wp-block-post-title,
.rz-side-posts .wp-block-post-title { margin: 0; line-height: 1.35; }
.rz-side-posts__list .wp-block-post-title a,
.rz-side-posts .wp-block-post-title a { color: var(--wp--preset--color--contrast); text-decoration: none; }
.rz-side-posts__list .wp-block-post-title a:hover,
.rz-side-posts .wp-block-post-title a:hover { color: var(--wp--preset--color--primary); }

.rz-side-products .wc-block-product-template { display: grid; gap: var(--wp--preset--spacing--30); }

.rz-side-products li {
	display: grid;
	grid-template-columns: 64px 1fr;
	gap: var(--wp--preset--spacing--30);
	align-items: center;
	text-align: left !important;
}

.rz-side-products li img { width: 64px; height: 64px; aspect-ratio: 1 / 1; }
.rz-side-products .wp-block-post-title { margin: 0; font-size: 0.875rem; }
.rz-side-products .wc-block-components-product-price { justify-content: flex-start; font-size: 0.875rem; }

@media (max-width: 900px) {
	.rz-blog__list { grid-template-columns: 1fr !important; }
	.rz-post__side { position: static; margin-top: var(--wp--preset--spacing--60); }
}

/* -------------------------------------------------------------------------
   Flatsome-migratsiooni jäänuk: pesastatud alignfull
   Veeru SEES olev alignfull murrab end vaateakna laiuseks ja lükkab sisu
   ekraanist välja (FAQ-lehel -10px). Veeru sees jääb ta veeru laiuseks.
   ---------------------------------------------------------------------- */
/*
 * NB: `.alignfull .alignwide` EI kuulu siia. See on täiesti tavaline muster
 * (täislaiune värvisektsioon, mille sisu on alignwide) ja reegel lõi selle
 * katki — avalehe sektsioonid ei joondunud üksteisega. Siia kuulub ainult
 * pesastatud alignfull, mille negatiivsed veerised liituvad.
 */
.wp-block-column .alignfull,
.wp-block-column .alignwide,
.wp-block-post-content .alignfull .alignfull {
	max-width: 100% !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	left: auto;
	right: auto;
}

/* Täislaiuses veerusektsioonid (migreeritud lehtedel) — sisu ei tohi
   vastu ekraaniserva minna, vaid joondub 1200px võrgustikuga. */
.wp-block-post-content > .wp-block-columns.alignfull,
.wp-block-post-content > .wp-block-group.alignfull:not(.has-background) {
	padding-inline: max(1rem, calc((100% - 1200px) / 2));
}

/* Sisulehtede tipptaseme loendid joonduvad tekstiga.
   WP annab loendile 40px sisemise veerise, mis teeb kastist 800px ja
   keskendamisel nihkus loend tekstist 20px vasakule (Riinu ülevaatus). */
.wp-block-post-content > ol,
.wp-block-post-content > ul,
.rz-post__main > ol,
.rz-post__main > ul {
	box-sizing: border-box;
	max-width: var(--wp--style--global--content-size);
	padding-left: 1.6rem;
	margin-left: auto;
	margin-right: auto;
}

/* -------------------------------------------------------------------------
   Tarneteade välisriigi külastajale (FI/LV/LT)
   ---------------------------------------------------------------------- */
.rz-geoteade {
	position: fixed;
	left: 1rem;
	bottom: 1rem;
	z-index: 200;
	max-width: 340px;
	padding: 1.25rem 1.5rem 1.35rem;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--contrast);
	box-shadow: 0 12px 32px rgb(17 17 17 / 14%);
	opacity: 0;
	transform: translateY(12px);
	transition: opacity 250ms ease, transform 250ms ease;
}

.rz-geoteade.on { opacity: 1; transform: translateY(0); }

.rz-geoteade__pealkiri {
	margin: 0 0 0.35rem;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1rem;
	font-weight: 700;
}

.rz-geoteade__tekst {
	margin: 0 0 0.9rem;
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--wp--preset--color--contrast-soft);
}

.rz-geoteade__nupp {
	display: inline-block;
	padding: 0.6rem 1.1rem;
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
	font-family: var(--wp--preset--font-family--heading);
	font-size: 0.8125rem;
	font-weight: 600;
	text-decoration: none;
	transition: background 160ms ease;
}

.rz-geoteade__nupp:hover { background: var(--wp--preset--color--primary); color: var(--wp--preset--color--base); }

.rz-geoteade__sulge {
	position: absolute;
	top: 0.4rem;
	right: 0.5rem;
	border: 0;
	background: none;
	font-size: 1.35rem;
	line-height: 1;
	cursor: pointer;
	color: var(--wp--preset--color--faint);
}

.rz-geoteade__sulge:hover { color: var(--wp--preset--color--contrast); }

@media (max-width: 600px) {
	.rz-geoteade { left: 0.75rem; right: 0.75rem; bottom: 0.75rem; max-width: none; }
}

/* -------------------------------------------------------------------------
   Kategooria kirjeldus mobiilis vasakule (Riinu soov 22.08).

   Vanad kirjeldused kannavad sisuHTML-is `style="text-align: center"`, mis
   desktopil on sissejuhatusena okei, aga mobiilis muudab pika lõigu
   loetamatuks. Seepärast on siin !important — muidu ei saa inline-stiili üle.
   ---------------------------------------------------------------------- */
@media (max-width: 900px) {
	.wp-block-term-description,
	.wp-block-term-description p,
	.wp-block-term-description h1,
	.wp-block-term-description h2,
	.wp-block-term-description h3,
	.wp-block-term-description h4,
	.wp-block-term-description ul,
	.wp-block-term-description ol,
	.wp-block-term-description li {
		text-align: left !important;
	}
}

/* -------------------------------------------------------------------------
   Firmakingituste leht
   ---------------------------------------------------------------------- */

/* Galerii: ühtlased ruudud, muidu jäid püstpildid eri kõrgusega ritta */
.rz-galerii.wp-block-gallery {
	gap: var(--wp--preset--spacing--20);
}

/*
 * `:not(#rz)` ei filtreeri midagi — see tõstab specificity't.
 * Core'i galeriistiil kasutab sama trikki (`:not(#individual-image)`), seega
 * ilma selleta jääks meie laius alla ja rea viimane pilt venis üle terve rea.
 */
.rz-galerii.wp-block-gallery figure.wp-block-image:not(#rz):not(#rz2) {
	flex-grow: 0;
	width: calc(25% - var(--wp--preset--spacing--20) * 3 / 4);
}

.rz-galerii.wp-block-gallery .wp-block-image img {
	width: 100%;
	height: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: var(--rz-radius, 6px);
	background: var(--wp--preset--color--image-bg);
}

/* Mobiilis 3 ühes reas — kahega läks galerii liiga pikaks (Riinu soov 22.08) */
@media (max-width: 900px) {
	.rz-galerii.wp-block-gallery figure.wp-block-image:not(#rz):not(#rz2) {
		width: calc(33.333% - var(--wp--preset--spacing--20) * 2 / 3);
	}
}

/* Kontaktisektsioon: teal taust, hele tekst, vorm valgel */
.rz-kontakt,
.rz-kontakt h1,
.rz-kontakt h2,
.rz-kontakt h3,
.rz-kontakt p {
	color: var(--wp--preset--color--base);
}

.rz-kontakt .nf-form-cont {
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
	border-radius: var(--rz-radius, 6px);
	padding: var(--wp--preset--spacing--40);
	margin-top: var(--wp--preset--spacing--40);
	text-align: left;
}

.rz-kontakt .nf-form-cont label,
.rz-kontakt .nf-form-cont .nf-field-description {
	color: var(--wp--preset--color--contrast);
}

.rz-kontakt .nf-form-cont input[type="button"],
.rz-kontakt .nf-form-cont input[type="submit"] {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
	border: 0;
	border-radius: 999px;
	padding: 0.8rem 1.6rem;
	font-weight: 600;
	cursor: pointer;
}

.rz-kontakt .nf-form-cont input[type="button"]:hover,
.rz-kontakt .nf-form-cont input[type="submit"]:hover {
	background: var(--wp--preset--color--primary-dark);
}

/* Hero tekstikast: 57% on desktopil hea, mobiilis jäi tekst 204px laiuseks.
   Inline max-width nõuab !important-i. */
@media (max-width: 900px) {
	.rz-textbox {
		max-width: 100% !important;
	}
}


/* --- KPI-kaardid ------------------------------------------------------- */
/* Kontaktisektsiooni sisuveerg oli 83.33% — teised sektsioonid on täislaiad */
.rz-kontakt .wp-block-column {
	flex-basis: 100% !important;
}

.rz-kpi__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	/* Ühekõrgused kaardid: pikema pealkirjaga kaart venitas rea sassi */
	align-items: stretch;
	gap: var(--wp--preset--spacing--40);
}

.rz-kpi__item {
	height: 100%;
	box-sizing: border-box;
	background: var(--wp--preset--color--base-soft);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--rz-radius, 6px);
	padding: var(--wp--preset--spacing--40);
}

.rz-kpi__title {
	margin: 0 0 0.4rem;
	font-size: 0.9375rem;
	line-height: 1.3;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--wp--preset--color--primary);
}

.rz-kpi__text {
	margin: 0;
	font-size: 0.9375rem;
	color: var(--wp--preset--color--contrast-soft);
}

@media (max-width: 900px) {
	.rz-kpi__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {
	.rz-kpi__grid { grid-template-columns: 1fr; }
}

/* --- Maandumislehe värvitriibud kokku ---------------------------------- */
/*
 * Täislaiused värvisektsioonid peavad üksteise vastu jooksma. Vaikimisi jäi
 * nende vahele 24px plokivahe, mis paistis valge triibuna.
 */
.page-template-page-landing .wp-block-post-content > .alignfull + .alignfull {
	margin-top: 0;
}

/* --- Kontaktivorm ------------------------------------------------------ */
/* Desktopil ei tohi vorm üle terve ekraani venida — lugemislaius on parem. */
.rz-kontakt .nf-form-cont {
	margin-inline: 0;
	padding: var(--wp--preset--spacing--50);
}

.rz-kontakt .nf-form-cont .nf-field-element input[type="text"],
.rz-kontakt .nf-form-cont .nf-field-element input[type="email"],
.rz-kontakt .nf-form-cont .nf-field-element input[type="tel"],
.rz-kontakt .nf-form-cont .nf-field-element textarea,
.rz-kontakt .nf-form-cont .nf-field-element select {
	width: 100%;
	box-sizing: border-box;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border-strong);
	border-radius: var(--rz-radius, 6px);
	padding: 0.7rem 0.9rem;
	font-family: inherit;
	font-size: 1rem;
	color: var(--wp--preset--color--contrast);
}

.rz-kontakt .nf-form-cont .nf-field-element input:focus,
.rz-kontakt .nf-form-cont .nf-field-element textarea:focus {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 1px;
	border-color: transparent;
}

.rz-kontakt .nf-form-cont .nf-field-label label {
	font-size: 0.875rem;
	font-weight: 600;
	margin-bottom: 0.3rem;
}

/* Ninja Forms laob väljad ühte veergu — kaks kõrvuti mahub kenasti ära */
@media (min-width: 601px) {
	.rz-kontakt .nf-form-cont .nf-row {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 0 var(--wp--preset--spacing--30);
	}

	.rz-kontakt .nf-form-cont .nf-row > .nf-cell { min-width: 0; }
}

/* Mobiilis annab väiksem sisemine veeris väljadele rohkem ruumi */
@media (max-width: 600px) {
	.rz-kontakt .nf-form-cont {
		padding: var(--wp--preset--spacing--30);
	}
}

/* Riinu tutvustus: tekst pika pildi kõrval vertikaalselt keskele */
@media (min-width: 901px) {
	.rz-riin {
		align-items: center;
	}

	.rz-riin > .wp-block-column {
		align-self: center;
	}
}

/* =========================================================================
   KKK leht (/korduma-kippuvad-kusimused/)
   ========================================================================= */

.rz-kkk__intro {
	max-width: 46rem;
	margin-bottom: var(--wp--preset--spacing--50);
}

.rz-kkk__h1 {
	margin: 0 0 var(--wp--preset--spacing--30);
	font-size: clamp(1.75rem, 3.5vw, 2.5rem);
	line-height: 1.15;
}

.rz-kkk__intro p { font-size: 1.0625rem; }

/* --- Otsing ja kategooriakiibid --- */
.rz-kkk__juhtpult {
	position: sticky;
	top: 0;
	z-index: 5;
	margin-bottom: var(--wp--preset--spacing--50);
	padding: var(--wp--preset--spacing--30) 0;
	background: var(--wp--preset--color--base);
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.rz-kkk__otsing { display: block; margin-bottom: var(--wp--preset--spacing--30); }

.rz-kkk__otsing input {
	box-sizing: border-box;
	width: 100%;
	max-width: 26rem;
	padding: 0.7rem 1rem;
	border: 1px solid var(--wp--preset--color--border-strong);
	border-radius: 999px;
	font-family: inherit;
	font-size: 1rem;
	color: var(--wp--preset--color--contrast);
}

.rz-kkk__otsing input:focus {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 1px;
	border-color: transparent;
}

.rz-kkk__kiibid {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
}

.rz-kkk__kiip {
	border: 1px solid var(--wp--preset--color--border-strong);
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast-soft);
	border-radius: 999px;
	padding: 0.45rem 0.9rem;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 0.8125rem;
	cursor: pointer;
	transition: background var(--rz-transition), color var(--rz-transition), border-color var(--rz-transition);
}

.rz-kkk__kiip:hover { border-color: var(--wp--preset--color--primary); color: var(--wp--preset--color--primary); }

.rz-kkk__kiip.is-aktiivne {
	background: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
}

.rz-kkk__tulemus {
	margin: var(--wp--preset--spacing--20) 0 0;
	font-size: 0.875rem;
	color: var(--wp--preset--color--contrast-soft);
}

/* --- Küsimuste grupid --- */
.rz-kkk__grupp { margin-bottom: var(--wp--preset--spacing--50); scroll-margin-top: 8rem; }

.rz-kkk__pealkiri {
	margin: 0 0 var(--wp--preset--spacing--30);
	font-size: 1.375rem;
}

/* --- Üksik küsimus --- */
.rz-kkk__kys {
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.rz-kkk__kys > summary {
	position: relative;
	list-style: none;
	cursor: pointer;
	padding: 1.05rem 3rem 1.05rem 0;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.0625rem;
	font-weight: 500;
	line-height: 1.35;
	color: var(--wp--preset--color--contrast);
}

.rz-kkk__kys > summary::-webkit-details-marker { display: none; }
.rz-kkk__kys > summary:hover { color: var(--wp--preset--color--primary); }

/* Plussmärk, mis avatuna miinuseks pöördub */
.rz-kkk__kys > summary::before,
.rz-kkk__kys > summary::after {
	content: "";
	position: absolute;
	right: 8px;
	top: 50%;
	width: 14px;
	height: 2px;
	background: currentColor;
	border-radius: 2px;
	transform: translateY(-50%);
	transition: transform var(--rz-transition), opacity var(--rz-transition);
}

.rz-kkk__kys > summary::after { transform: translateY(-50%) rotate(90deg); }
.rz-kkk__kys[open] > summary::after { transform: translateY(-50%) rotate(0deg); opacity: 0; }
.rz-kkk__kys[open] > summary { color: var(--wp--preset--color--primary); }

.rz-kkk__kys > *:not(summary) {
	max-width: 46rem;
	margin-block: 0 0.9rem;
	color: var(--wp--preset--color--contrast-soft);
}

.rz-kkk__kys > *:last-child { margin-bottom: 1.4rem; }

.rz-kkk__loend { padding-left: 1.15rem; }
.rz-kkk__loend li { margin-bottom: 0.35rem; }

.rz-kkk__kys.on-peidus,
.rz-kkk__grupp.on-peidus { display: none; }

/* --- Lõpetav CTA --- */
.rz-kkk__lopp {
	margin-top: var(--wp--preset--spacing--60);
	padding: var(--wp--preset--spacing--50);
	background: var(--wp--preset--color--secondary);
	border-radius: var(--rz-radius, 6px);
	text-align: center;
}

.rz-kkk__lopp h2 { margin-top: 0; }
.rz-kkk__lopp .wp-block-buttons { justify-content: center; }

/* --- Juhendilingid --- */
.rz-kkk__juhendid { margin-top: var(--wp--preset--spacing--60); }

.rz-kkk__lingid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--wp--preset--spacing--30);
}

.rz-kkk__link {
	padding: var(--wp--preset--spacing--40);
	background: var(--wp--preset--color--base-soft);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--rz-radius, 6px);
}

.rz-kkk__link-nimi { margin: 0 0 0.35rem; font-size: 1rem; }
.rz-kkk__link-nimi a { color: var(--wp--preset--color--primary); text-decoration: none; }
.rz-kkk__link-nimi a:hover { text-decoration: underline; }
.rz-kkk__link p { margin: 0; font-size: 0.9375rem; color: var(--wp--preset--color--contrast-soft); }

@media (max-width: 900px) {
	.rz-kkk__lingid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {
	.rz-kkk__lingid { grid-template-columns: 1fr; }
	.rz-kkk__juhtpult { padding-top: var(--wp--preset--spacing--20); }
	.rz-kkk__kys > summary { font-size: 1rem; padding-right: 2.5rem; }

	/*
	 * Üheksa kiipi murdusid mobiilis viiele reale ja lükkasid sisu alla.
	 * Ühel real lohistatavana on need korraga näha ja võtavad ühe rea.
	 */
	.rz-kkk__kiibid {
		flex-wrap: nowrap;
		overflow-x: auto;
		scrollbar-width: none;
		margin-inline: calc(-1 * var(--wp--custom--layout--padding, 1.5rem));
		padding-inline: var(--wp--custom--layout--padding, 1.5rem);
	}

	.rz-kkk__kiibid::-webkit-scrollbar { display: none; }
	.rz-kkk__kiip { flex: none; }
}

/* -------------------------------------------------------------------------
   Kampaania-avaleht.

   Kampaaniahero eristub igihaljast: rõhutatud tähtaeg ja kitsam sildiriba.
   Igihaljas versioon on alles lehe metas (_rz_avaleht_igihaljas).
   ---------------------------------------------------------------------- */
.rz-hero--kampaania .rz-badge {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
	border-color: transparent;
}

.rz-hero--kampaania .rz-hero__micro strong {
	color: var(--wp--preset--color--primary-dark);
}

.rz-kampaania { background: var(--wp--preset--color--base-soft); }

.rz-kampaania__nupp {
	justify-content: center;
	margin-top: var(--wp--preset--spacing--50);
}

/* -------------------------------------------------------------------------
   Avalehe sektsioonide ühtne sisulaius.

   Enne oli lehel kolm erinevat mõõtu: 1248px (alignwide täislaiuses grupis),
   1200px (alignwide kitsamas grupis) ja 760px (contentSize). Sektsioonid ei
   joondunud üksteisega ja see paistis kohe välja. Nüüd on kõigil sama mõõt.
   ---------------------------------------------------------------------- */
.rz-ideegrid,
.rz-arvustusgrid,
.rz-blogigrid,
.rz-kampaania .wp-block-woocommerce-product-collection,
.rz-how > .wp-block-columns,
.rz-promo > .wp-block-columns,
.rz-avablogi .rz-avablogi__nupp,
.rz-ideed .rz-ideed__abi {
	width: 100%;
	max-width: 1200px; /* theme.json wideSize */
	margin-inline: auto;
}

/*
 * Core annab `.has-global-padding > .alignwide` elemendile negatiivsed
 * külgveerised, mis venitasid need kaks 1248px-ni. !important on siin
 * põhjendatud: võitleme just selle reegli vastu, mitte oma stiiliga.
 */


/* Blogikaardid avalehel */
.rz-avablogi { background: var(--wp--preset--color--base-soft); }

.rz-blogigrid .wp-block-post-featured-image img {
	border-radius: var(--rz-radius, 6px);
	background: var(--wp--preset--color--image-bg);
}

.rz-blogigrid .wp-block-post-title {
	margin: 0.7rem 0 0.4rem;
	line-height: 1.3;
}

.rz-blogigrid .wp-block-post-title a { color: var(--wp--preset--color--primary); text-decoration: none; }
.rz-blogigrid .wp-block-post-title a:hover { text-decoration: underline; }

.rz-blogigrid .wp-block-post-excerpt {
	font-size: 0.9375rem;
	line-height: 1.6;
	color: var(--wp--preset--color--contrast-soft);
}

.rz-blogigrid .wp-block-post-excerpt__more-text { display: none; }

.rz-avablogi__nupp { justify-content: center; margin-top: var(--wp--preset--spacing--50); }

/* -------------------------------------------------------------------------
   Blogi kategooriafilter.

   Kiibid on lingid kategooriaarhiividele (mitte JS-filter), et see töötaks
   ka lehekülgede kaupa ja iga kategooria saaks oma URL-i.
   ---------------------------------------------------------------------- */
.rz-blogifilter {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
}

.rz-blogifilter .rz-kkk__kiip {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	text-decoration: none;
}

.rz-kiip__arv {
	font-size: 0.6875rem;
	opacity: 0.65;
	font-variant-numeric: tabular-nums;
}

@media (max-width: 600px) {
	.rz-blogifilter {
		flex-wrap: nowrap;
		overflow-x: auto;
		scrollbar-width: none;
		margin-inline: calc(-1 * var(--wp--preset--spacing--40));
		padding-inline: var(--wp--preset--spacing--40);
	}

	.rz-blogifilter::-webkit-scrollbar { display: none; }
	.rz-blogifilter .rz-kkk__kiip { flex: none; }
}
