/* ==========================================================================
   RD — wygląd. Kierunek wizualny: plnts.com
   ========================================================================== */

:root {
	--rd-tlo: #fffaf2;   /* „porcelain" z plnts — tło strony, nagłówka i paneli (Customizer ustawiony tak samo) */
	--rd-linia: #e7e3d9;
	--rd-cien: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);
}

/* --------------------------------------------------------------------------
   Nagłówek — separacja rzędów jak na plnts (2026-09-23)
   Rząd z logo i wyszukiwarką oddzielony cienką linią od rzędu z kategoriami,
   pod kategoriami miękki cień — widoczne od razu, nie dopiero po przewinięciu.
   Tylko desktop: od 1025 px Kadence pokazuje nagłówek desktopowy.
   -------------------------------------------------------------------------- */
@media (min-width: 1025px) {
	.site-main-header-wrap .site-header-row-container-inner {
		border-bottom: 1px solid var(--rd-linia);
	}

	.site-bottom-header-wrap {
		position: relative;
		z-index: 9; /* cień ma leżeć NA slajderze, nie pod nim */
	}

	.site-bottom-header-wrap .site-header-row-container-inner {
		background: var(--rd-tlo);
		box-shadow: var(--rd-cien);
	}
}

/* --------------------------------------------------------------------------
   Mega menu (2026-09-23) — wzór: plnts.com
   Działa w #site-navigation (kategorie) i #secondary-navigation (blog, prawa strona).
   Selektory od #masthead — templatemela-core ma `ul.menu > li:not(.base-menu-mega-enabled) ul.sub-menu`
   (padding 20px) o wyższej specyficzności niż klasy, bez ID przegrywaliśmy.
   Klasy nadaje rd-mega-menu.php: rd-mega, rd-mega-kol-N (kolumny), rd-mega-wie-N (wiersze).
   Duże listy (4-5 kolumn) — panel na szerokość treści, zaczepiony o początek menu.
   Małe listy — panel pod swoją pozycją.
   -------------------------------------------------------------------------- */
@media (min-width: 1025px) {
	#masthead .header-navigation li.rd-mega {
		--rd-kol: 1;
		--rd-wie: 4;
		--rd-foto: 0px;
	}
	#masthead .header-navigation li.rd-mega.rd-mega-ma-foto { --rd-foto: 340px; }
	@media (max-width: 1399px) {
		#masthead .header-navigation li.rd-mega.rd-mega-ma-foto { --rd-foto: 280px; }
		#masthead .header-navigation li.rd-mega > ul.sub-menu { column-gap: 22px; }
		/* łamanie jednej nazwy rozsuwało wiersz we wszystkich kolumnach (wspólna siatka) */
		#masthead .header-navigation li.rd-mega > ul.sub-menu > li:not(.rd-mega-wszystkie) > a {
			font-size: 14px;
			white-space: nowrap; /* dłuższa nazwa wchodzi w odstęp między kolumnami, bez obcinania */
		}
	}
	#masthead .header-navigation li.rd-mega-kol-2 { --rd-kol: 2; }
	#masthead .header-navigation li.rd-mega-kol-3 { --rd-kol: 3; }
	#masthead .header-navigation li.rd-mega-kol-4 { --rd-kol: 4; }
	#masthead .header-navigation li.rd-mega-kol-5 { --rd-kol: 5; }
	#masthead .header-navigation li.rd-mega-wie-1 { --rd-wie: 1; }
	#masthead .header-navigation li.rd-mega-wie-2 { --rd-wie: 2; }
	#masthead .header-navigation li.rd-mega-wie-3 { --rd-wie: 3; }
	#masthead .header-navigation li.rd-mega-wie-5 { --rd-wie: 5; }
	#masthead .header-navigation li.rd-mega-wie-6 { --rd-wie: 6; }
	#masthead .header-navigation li.rd-mega-wie-7 { --rd-wie: 7; }
	#masthead .header-navigation li.rd-mega-wie-8 { --rd-wie: 8; }
	#masthead .header-navigation li.rd-mega-wie-9 { --rd-wie: 9; }
	#masthead .header-navigation li.rd-mega-wie-10 { --rd-wie: 10; }

	/* duże panele zaczepiamy o całe menu, nie o pozycję */
	#masthead .header-navigation li.rd-mega-kol-4,
	#masthead .header-navigation li.rd-mega-kol-5 { position: static; }

	#masthead .header-navigation li.rd-mega > ul.sub-menu {
		display: grid;
		grid-auto-flow: column;
		grid-template-columns: repeat(var(--rd-kol), minmax(0, 1fr)) var(--rd-foto);
		grid-template-rows: repeat(var(--rd-wie), auto);
		align-content: start; /* wiersze nie rozciągają się do wysokości zdjęcia */
		column-gap: 32px;
		top: calc(100% + 6px);
		left: 0;
		width: calc(var(--rd-kol) * 260px + var(--rd-foto) + 112px);
		max-width: calc(min(var(--global-content-width, 1430px), 100vw) - 2 * var(--global-content-edge-padding, 15px));
		padding: 32px 40px 80px; /* dół: miejsce na „Zobacz wszystkie" */
		background: var(--rd-tlo);
		border-top: 1px solid var(--rd-linia);
		box-shadow: 0 12px 24px -8px rgba(0, 0, 0, .12);
	}
	#masthead .header-navigation li.rd-mega-kol-4 > ul.sub-menu,
	#masthead .header-navigation li.rd-mega-kol-5 > ul.sub-menu {
		width: calc(min(var(--global-content-width, 1430px), 100vw) - 2 * var(--global-content-edge-padding, 15px));
	}
	#masthead .header-navigation li.rd-mega > ul.sub-menu.sub-menu-edge { left: auto; right: 0; }

	/* prawa strona paska (blog) — panel wyrównany do prawej krawędzi pozycji */
	#masthead #secondary-navigation li.rd-mega > ul.sub-menu { left: auto; right: 0; }

	/* mostek nad panelem — mysz nie gubi hovera na 6 px odstępu */
	#masthead .header-navigation li.rd-mega > ul.sub-menu::before {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		bottom: 100%;
		height: 8px;
	}

	#masthead .header-navigation li.rd-mega > ul.sub-menu > li > a {
		width: auto;
		padding: 6px 0;
		font-size: 15px;
		line-height: 1.35;
		letter-spacing: 0;
		text-transform: none;
		color: var(--global-palette1);
		background: none;
	}
	#masthead .header-navigation li.rd-mega > ul.sub-menu > li > a:hover {
		text-decoration: underline;
		text-underline-offset: 3px;
	}

	/* zdjęcie poza siatką (absolutnie) — w siatce rozpychało wiersze krótkich list;
	   kolumnę na nie rezerwuje grid-template-columns (--rd-foto) */
	#masthead .header-navigation li.rd-mega > ul.sub-menu > li.rd-mega-foto {
		position: absolute;
		top: 32px;
		right: 40px;
		bottom: 28px;
		width: var(--rd-foto);
	}
	#masthead .header-navigation li.rd-mega.rd-mega-ma-foto > ul.sub-menu { min-height: 340px; }
	#masthead .header-navigation li.rd-mega-foto > a { display: block; padding: 0; height: 100%; }
	#masthead .header-navigation li.rd-mega-foto img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	/* poza siatką — w siatce z grid-auto-flow: column dodatkowy wiersz zjadały podkategorie */
	#masthead .header-navigation li.rd-mega > ul.sub-menu > li.rd-mega-wszystkie {
		position: absolute;
		left: 40px;
		bottom: 28px;
		white-space: nowrap;
	}
	#masthead .header-navigation li.rd-mega-wszystkie > a {
		text-decoration: underline;
		text-underline-offset: 4px;
		font-weight: 500;
	}
}

/* --------------------------------------------------------------------------
   Prawa strona paska menu (2026-09-23) — wzór: plnts.com
   „Blog" jako zwykły link + wybór języka i waluty „PL (zł)" z okrągłymi flagami (PL/EN/DE/FR).
   EN/DE/FR na razie nieklikalne — tłumaczeń jeszcze nie ma.
   Typografia z menu głównego (secondary_navigation_* skopiowane w Customizerze).
   -------------------------------------------------------------------------- */
@media (min-width: 1025px) {
	#secondary-menu {
		display: flex;
		align-items: center;
	}

	#secondary-menu > li.rd-jezyk-waluta { position: relative; }

	#secondary-menu > li.rd-jezyk-waluta > .rd-jw {
		display: flex;
		align-items: center;
		gap: 10px;
		padding: 0.6em calc(1.2em / 2);
		border: 0;
		background: none;
		font-family: var(--global-primary-nav-font-family, inherit);
		font-size: 16px;
		font-weight: 700;
		line-height: 1.65;
		color: var(--global-palette1);
		text-transform: none; /* „PL (zł)", nie „PL (ZŁ)" — kod języka i tak jest wielkimi */
		white-space: nowrap;
		cursor: pointer;
	}

	.rd-jezyk-waluta .rd-flaga {
		display: block;
		width: 26px;
		height: 26px;
		flex-shrink: 0;
	}

	/* lista wersji — rozwija się po najechaniu albo po przejściu klawiaturą (focus-within) */
	#secondary-menu .rd-jw-lista {
		position: absolute;
		top: calc(100% + 6px);
		right: 0;
		z-index: 1000;
		min-width: 210px;
		margin: 0;
		padding: 10px 0;
		list-style: none;
		background: var(--rd-tlo);
		border-top: 1px solid var(--rd-linia);
		box-shadow: 0 12px 24px -8px rgba(0, 0, 0, .12);
		opacity: 0;
		visibility: hidden;
		transform: translateY(6px);
		transition: opacity .2s ease, transform .2s ease, visibility .2s;
	}
	#secondary-menu .rd-jw-lista::before { /* mostek nad listą */
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		bottom: 100%;
		height: 8px;
	}
	#secondary-menu .rd-jezyk-waluta:hover > .rd-jw-lista,
	#secondary-menu .rd-jezyk-waluta:focus-within > .rd-jw-lista {
		opacity: 1;
		visibility: visible;
		transform: none;
	}

	#secondary-menu .rd-jw-opcja {
		display: flex;
		align-items: center;
		gap: 12px;
		padding: 8px 20px;
		font-size: 15px;
		color: var(--global-palette1);
		white-space: nowrap;
	}
	#secondary-menu .rd-jw-opcja .rd-flaga { width: 22px; height: 22px; }
	#secondary-menu .rd-jw-opcja.is-biezacy { font-weight: 600; }
	#secondary-menu .rd-jw-opcja.is-wkrotce { cursor: default; }
	#secondary-menu .rd-jw-opcja.is-wkrotce span { opacity: .6; } /* flaga w pełnym kolorze, przygaszony tylko tekst */
}

/* Motyw zmniejsza menu główne na węższych desktopach — prawa strona musi iść tymi samymi progami */
@media (min-width: 1025px) and (max-width: 1350px) {
	#secondary-menu > li.menu-item > a,
	#secondary-menu > li.rd-jezyk-waluta > .rd-jw {
		padding-left: 8px;
		padding-right: 8px;
		font-size: 14px;
	}
	.rd-jezyk-waluta > .rd-jw .rd-flaga { width: 22px; height: 22px; }
}
@media (min-width: 1367px) and (max-width: 1423px) {
	#secondary-menu > li.menu-item > a,
	#secondary-menu > li.rd-jezyk-waluta > .rd-jw {
		padding-left: 20px;
		padding-right: 20px;
	}
}

/* --------------------------------------------------------------------------
   Pasek korzyści pod nagłówkiem (2026-09-24) — wzór: plnts.com („bg-ash" pod menu)
   Wymiary z plnts: tło #e7e3d9, linia 1 px szałwia/50%, cień 0 1px 2px, padding 5 px,
   szeryf 16 px (mobile 14 px), wyróżnienia kursywą. Leży POD cieniem rzędu menu.
   -------------------------------------------------------------------------- */
.rd-usp {
	position: relative;
	z-index: 1;
	padding: 5px 0;
	background: var(--rd-linia);
	border-bottom: 1px solid rgba(169, 174, 148, .5);
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05);
	color: var(--global-palette1);
	font-family: var(--global-primary-nav-font-family, Lora), serif;
	font-size: 16px;
	line-height: 1.5;
}
.rd-usp-kontener {
	max-width: var(--global-content-width, 1430px);
	margin: 0 auto;
	padding: 0 var(--global-content-edge-padding, 15px);
}
.rd-usp-lista {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.rd-usp-haslo {
	padding: 6px 16px;
	white-space: nowrap;
}
.rd-usp-haslo em { font-style: italic; }
/* link w haśle (od 2026-09-28: „Zapisz się na newsletter…” → /#newsletter) — jak na plnts: bez podkreślenia,
   podkreślenie po najechaniu; kolor paska zamiast kolorów linków motywu */
.rd-usp-haslo a {
	color: inherit;
	text-decoration: none;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
}
.rd-usp-haslo a:hover,
.rd-usp-haslo a:focus-visible {
	color: inherit;
	text-decoration: underline;
}

/* telefon / tablet: jedno hasło naraz, przenikanie co 4 s */
@media (max-width: 1024px) {
	.rd-usp { font-size: 14px; }
	.rd-usp-lista {
		position: relative;
		display: block;
		height: 34px;
	}
	.rd-usp-haslo {
		position: absolute;
		inset: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 4px 16px;
		opacity: 0;
		animation: rd-usp-przenikanie calc(var(--rd-usp-n) * 4s) infinite;
		animation-delay: calc(var(--rd-usp-i) * 4s);
	}
	/* cały pasek klikalny, gdy widać hasło z linkiem (<li> jest pozycjonowany, więc ::after wypełnia go w całości) */
	.rd-usp-haslo a::after {
		content: "";
		position: absolute;
		inset: 0;
	}
	@media (prefers-reduced-motion: reduce) {
		.rd-usp-haslo { animation: none; }
		.rd-usp-haslo:first-child { opacity: 1; z-index: 1; }
	}
}
/* klatki pod 3 hasła (tyle mamy): widoczne ~1/3 cyklu. z-index: hasła leżą jedno na drugim, a kliknięcie trafia
   w to z wierzchu — bez tego link w 2. haśle przykrywało niewidoczne 3. (2026-09-28) */
@keyframes rd-usp-przenikanie {
	0%   { opacity: 0; transform: translateY(4px); z-index: 0; }
	4%   { opacity: 1; transform: none; z-index: 1; }
	30%  { opacity: 1; transform: none; z-index: 1; }
	34%  { opacity: 0; transform: translateY(-4px); z-index: 0; }
	100% { opacity: 0; z-index: 0; }
}

/* --------------------------------------------------------------------------
   Sekcja „Nowości" — shortcode [rd_nowosci] (2026-09-24)
   Lewy panel jak zielony-parapet (tło wideo, biały tytuł, przycisk-pigułka),
   prawa strona jak plnts „New releases" (siatka kart 3×2).
   -------------------------------------------------------------------------- */
.rd-nowosci {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 48px;
	align-items: stretch;
	margin: 0 auto;
}
.rd-nowosci-panel {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: flex-start;
	min-height: 560px;
	padding: 40px;
	overflow: hidden;
	background: var(--global-palette1);
	isolation: isolate;
}
.rd-nowosci .rd-nowosci-tlo { /* .rd-nowosci na początku — motyw/Elementor nadpisują img height:auto */
	position: absolute;
	inset: 0;
	z-index: -2;
	width: 100%;
	max-width: none;
	height: 100%;
	object-fit: cover;
}
.rd-nowosci-panel::after { /* przyciemnienie pod białym tekstem */
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(180deg, rgba(0, 0, 0, .28) 0%, rgba(0, 0, 0, 0) 35%, rgba(0, 0, 0, 0) 60%, rgba(0, 0, 0, .30) 100%);
}
.rd-nowosci .rd-nowosci-tytul { /* .rd-nowosci na początku — od 15.10 (bez Elementora) motyw daje h2 w treści margin-top 1.5em (2026-10-16) */
	margin: 0;
	color: #fff;
	font-family: var(--global-heading-font-family, Lora), serif;
	font-size: clamp(40px, 4.4vw, 64px);
	font-weight: 500;
	line-height: 1.05;
	text-transform: none;
	letter-spacing: 0;
}
.rd-nowosci-przycisk {
	display: inline-block;
	padding: 14px 32px;
	border-radius: 999px;
	background: #fff;
	color: var(--global-palette1);
	font-weight: 500;
	text-decoration: none;
	transition: background .2s, color .2s;
}
.rd-nowosci-przycisk:hover { background: var(--global-palette1); color: #fff; }

.rd-nowosci-prawa { display: flex; flex-direction: column; gap: 28px; }
.rd-nowosci-opis {
	max-width: 640px;
	margin: 0;
	color: var(--global-palette1);
	font-size: 17px;
	line-height: 1.6;
}

/* karty produktów (plnts) */
.rd-nowosci .rd-karty { /* motyw daje ul margin-left 1.5em */
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 32px 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.rd-karta { display: flex; flex-direction: column; gap: 12px; margin: 0; }
.rd-karta-foto {
	position: relative;
	aspect-ratio: 4 / 5;
	background: #efece2;
	overflow: hidden;
}
.rd-karta-foto > a { display: block; height: 100%; }
.rd-karta .rd-karta-img { /* .rd-karta z przodu — reguły motywu na img */
	width: 100%;
	height: 100%;
	object-fit: cover; /* zdjęcia aranżacyjne wypełniają kartę; packshoty na bieli zlewają się z beżem */
	mix-blend-mode: multiply; /* białe tło zdjęć z Shopera → beż karty */
	transition: transform .4s ease;
}
.rd-karta:hover .rd-karta-img { transform: scale(1.04); }
.rd-karta.is-brak .rd-karta-img { opacity: .6; }

.rd-karta-etykieta {
	position: absolute;
	left: 10px;
	top: 10px;
	padding: 3px 10px;
	background: #fff;
	color: var(--global-palette1);
	font-size: 12px;
	line-height: 1.6;
}
.rd-karta-etykieta-brak { background: #6b7a5e; color: #fff; top: auto; bottom: 10px; }

/* serduszko — przycisk WPC Smart Wishlist przerobiony na okrągłą ikonę */
.rd-karta-serce { position: absolute; right: 10px; top: 10px; }
.rd-karta-serce .woosw-btn {
	position: relative;
	width: 34px;
	height: 34px;
	min-height: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, .92);
	font-size: 0;
	color: transparent;
	box-shadow: none;
	cursor: pointer;
}
.rd-karta-serce .woosw-btn::after,
.single-product div.product div.summary > .woosw-btn::after {
	content: "";
	position: absolute;
	inset: 8px;
	background: var(--global-palette1);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'%3E%3Cpath d='M12 20.5s-7.5-4.6-9.2-9.3C1.6 7.8 3.8 4.5 7.2 4.5c2 0 3.6 1.1 4.8 2.8 1.2-1.7 2.8-2.8 4.8-2.8 3.4 0 5.6 3.3 4.4 6.7-1.7 4.7-9.2 9.3-9.2 9.3z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'%3E%3Cpath d='M12 20.5s-7.5-4.6-9.2-9.3C1.6 7.8 3.8 4.5 7.2 4.5c2 0 3.6 1.1 4.8 2.8 1.2-1.7 2.8-2.8 4.8-2.8 3.4 0 5.6 3.3 4.4 6.7-1.7 4.7-9.2 9.3-9.2 9.3z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.rd-karta-serce .woosw-btn.woosw-added::after,
.rd-karta-serce .woosw-btn.woosw-btn-added::after,
.single-product div.product div.summary > .woosw-btn.woosw-added::after,
.single-product div.product div.summary > .woosw-btn.woosw-btn-added::after {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 20.5s-7.5-4.6-9.2-9.3C1.6 7.8 3.8 4.5 7.2 4.5c2 0 3.6 1.1 4.8 2.8 1.2-1.7 2.8-2.8 4.8-2.8 3.4 0 5.6 3.3 4.4 6.7-1.7 4.7-9.2 9.3-9.2 9.3z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 20.5s-7.5-4.6-9.2-9.3C1.6 7.8 3.8 4.5 7.2 4.5c2 0 3.6 1.1 4.8 2.8 1.2-1.7 2.8-2.8 4.8-2.8 3.4 0 5.6 3.3 4.4 6.7-1.7 4.7-9.2 9.3-9.2 9.3z'/%3E%3C/svg%3E");
}

/* nazwa i podpis na całą szerokość karty, koszyk w prawym dolnym rogu obok ceny (2026-09-26: przy 3 liniach nazwy
   kolumna tekstu kończyła się przed przyciskiem, 113 px na telefonie, i „Mrozoodporny” łamało się w środku słowa) */
.rd-karta-opis { position: relative; }
.rd-karta-opis > .rd-karta-koszyk { position: absolute; right: 0; bottom: 0; }
.rd-karta-teksty { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.rd-karta-nazwa {
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 3; /* 26.09 (Michał): 3 linie — na telefonie „Laur Wawrzyn Szlachetny” ucinało się po 2 */
	-webkit-box-orient: vertical;
	color: var(--global-palette1);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.35;
	text-decoration: none;
}
.rd-karta-nazwa:hover { text-decoration: underline; text-underline-offset: 3px; }
.rd-karta-podpis { color: var(--global-palette1); opacity: .75; font-size: 13px; font-style: italic; }
.rd-karta-cena { margin-top: 6px; color: var(--global-palette1); font-size: 14px; }
.rd-karta .rd-karta-cena { display: flex; flex-wrap: wrap; align-items: center; min-height: 30px; padding-right: 60px; } /* wiersz ceny = wysokość przycisku */
.rd-karta-cena del { margin-right: 6px; color: #4a6650; } /* było opacity .6 — kontrast < 4.5:1 (Lighthouse) */
.rd-karta-cena ins { text-decoration: none; color: #c34b17; } /* było #e0561b — 3.7:1 na kremie */

.rd-karta-koszyk {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 30px;
	border: 1.4px solid var(--global-palette1);
	border-radius: 999px;
	color: var(--global-palette1);
	transition: background .2s, color .2s;
}
.rd-karta-koszyk:hover { background: var(--global-palette1); color: #fff; }
.rd-karta-koszyk svg { width: 28px; height: 18px; }
.rd-karta-koszyk.loading { opacity: .5; }
.rd-karta-opis .added_to_cart { display: none; } /* Woo dokleja „Zobacz koszyk" — zbędne w karcie */

@media (max-width: 1024px) {
	.rd-nowosci { grid-template-columns: 1fr; gap: 28px; }
	.rd-nowosci-panel { min-height: 320px; padding: 28px; }
	.rd-nowosci .rd-karty { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 14px; }
}

/* --------------------------------------------------------------------------
   Sekcja „Promocje" — shortcode [rd_promocje] (2026-09-24)
   Ten sam układ co „Nowości" (klasa .rd-nowosci), w lewej kolumnie wyróżniony produkt
   z licznikiem do końca promocji (zielony-parapet), w stylistyce kart plnts.
   Od 2026-09-25 tytuł nad hitem po lewej, opis nad siatką po prawej (jak Nowości).
   -------------------------------------------------------------------------- */
.rd-karta-etykieta.rd-karta-etykieta-rabat { background: #c34b17; color: #fff; } /* było #e0561b — biały 3.8:1, teraz 4.8:1 */
.rd-omnibus { display: block; margin-top: 2px; color: #4a6650; font-size: 11px; line-height: 1.4; } /* było palette1 + opacity .65 */
.rd-karta .rd-omnibus { padding-right: 60px; } /* pod przyciskiem koszyka nie może być tekstu */

.rd-promo-hit {
	display: flex;
	flex-direction: column;
	background: #efece2;
}
.rd-promo-hit .rd-promo-hit-foto { aspect-ratio: 1 / 1; }
/* zdjęcie wypełnia pole hitu — .rd-karta .rd-karta-img nie obejmuje hitu, a obrazek ma 600 px, więc na tablecie
   (pole 790–994 px) zostawał beżowy pas z prawej i pod spodem (do 2026-09-25) */
.rd-promo-hit-foto > a { position: absolute; inset: 0; }
.rd-promo-hit .rd-karta-img {
	position: absolute;
	inset: 0;
	width: 100%;
	max-width: none;
	height: 100%;
	object-fit: cover;
}
.rd-promocje-lewa { display: flex; flex-direction: column; gap: 22px; }
.rd-promocje-lewa .rd-promo-hit { flex: 1 1 auto; }
@media (min-width: 1025px) {
	/* zdjęcie hitu wypełnia resztę wysokości — dół hitu równo z dołem kart po prawej, przy każdym losowaniu.
	   Obrazek poza przepływem, więc to kolumna kart wyznacza wysokość; min-height na wypadek jednego rzędu kart */
	.rd-promo-hit .rd-promo-hit-foto { flex: 1 1 auto; min-height: 380px; aspect-ratio: auto; }
}
.rd-promo-hit-znak {
	position: absolute;
	left: 10px;
	top: 40px;
	padding: 3px 10px;
	background: #fff;
	color: var(--global-palette1);
	font-size: 12px;
	line-height: 1.6;
}
.rd-promo-hit-info {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 24px 32px 32px;
}
.rd-promo-hit-nazwa {
	margin: 0;
	font-family: var(--global-heading-font-family, Lora), serif;
	font-size: clamp(24px, 2vw, 30px);
	font-weight: 500;
	line-height: 1.2;
	text-transform: none;
	letter-spacing: 0;
}
.rd-promo-hit-nazwa a { color: var(--global-palette1); text-decoration: none; }
.rd-promo-hit-cena { margin-top: 6px; color: var(--global-palette1); font-size: 26px; line-height: 1.2; }
.rd-promo-hit-cena del { margin-right: 8px; font-size: 16px; color: #4a6650; }
.rd-promo-hit-cena ins { color: #c34b17; text-decoration: none; }
.rd-promo-hit .rd-omnibus { font-size: 12px; }

.rd-promo-hit-info p { margin: 0; } /* motyw daje akapitom margines 1.5em */
.rd-promo-hit-info .rd-licznik-tytul { margin: 14px 0 6px; color: var(--global-palette1); font-weight: 500; }
.rd-licznik {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
}
.rd-licznik span {
	padding: 10px 0 8px;
	background: var(--rd-tlo);
	color: var(--global-palette1);
	font-size: 12px;
	text-align: center;
}
.rd-licznik b {
	display: block;
	font-family: var(--global-heading-font-family, Lora), serif;
	font-size: 28px;
	font-weight: 500;
	line-height: 1.1;
	font-variant-numeric: tabular-nums;
}
.rd-promo-hit-info .rd-licznik-koniec { margin: 14px 0 0; color: #c34b17; font-weight: 500; }

.rd-promo-hit-koszyk {
	display: block;
	margin-top: 18px;
	padding: 14px 20px;
	border-radius: 999px;
	background: var(--global-palette1);
	color: #fff;
	font-weight: 500;
	text-align: center;
	text-decoration: none;
	transition: opacity .2s;
}
.rd-promo-hit-koszyk:hover { color: #fff; opacity: .88; }
.rd-promo-hit-koszyk.loading { opacity: .5; }
.rd-promo-hit-info .added_to_cart { display: none; }

.rd-promocje-naglowek { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.rd-promocje-tytul {
	margin: 0;
	color: var(--global-palette1);
	font-family: var(--global-heading-font-family, Lora), serif;
	font-size: clamp(36px, 3.4vw, 52px);
	font-weight: 500;
	line-height: 1.05;
	text-transform: none;
	letter-spacing: 0;
}
.rd-promocje-wiecej {
	padding: 10px 26px;
	border: 1.4px solid var(--global-palette1);
	border-radius: 999px;
	color: var(--global-palette1);
	text-decoration: none;
	transition: background .2s, color .2s;
}
.rd-promocje-wiecej:hover { background: var(--global-palette1); color: #fff; }

/* strona /promocje — [rd_promocje_lista] */
.rd-karty.rd-karty-lista {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 36px 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}
@media (max-width: 1024px) {
	.rd-karty.rd-karty-lista { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 14px; }
	.rd-promo-hit-info { padding: 20px; }
}

/* --------------------------------------------------------------------------
   Sekcja „Podróż Twojej nowej rośliny" — shortcode [rd_podroz] (2026-09-24)
   Wzór: plnts.com „The journey of your new plant!" — 3 kroki + strzałki + zdjęcie kroku.
   -------------------------------------------------------------------------- */
.rd-podroz {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
	gap: 80px;
	align-items: center;
	color: var(--global-palette1);
}
.rd-podroz .rd-podroz-tytul {
	margin: 0 0 12px;
	color: var(--global-palette1);
	font-family: var(--global-heading-font-family, Lora), serif;
	font-size: clamp(32px, 3vw, 46px);
	font-weight: 500;
	line-height: 1.1;
	text-transform: none;
	letter-spacing: 0;
}
.rd-podroz-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--global-palette1);
	font-size: 14px;
	text-decoration: none;
}
.rd-podroz-link:hover { text-decoration: underline; text-underline-offset: 3px; }

.rd-podroz-kroki { margin-top: 48px; min-height: 250px; }
.rd-podroz-krok.is-aktywny { animation: rd-podroz-wejscie .45s ease; }
@keyframes rd-podroz-wejscie { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.rd-podroz-nr {
	display: block;
	margin-bottom: 18px;
	padding-bottom: 4px;
	border-bottom: 1px solid var(--global-palette1);
	font-size: 13px;
}
.rd-podroz .rd-podroz-krok-tytul {
	margin: 0 0 8px;
	color: var(--global-palette1);
	font-family: var(--global-heading-font-family, Lora), serif;
	font-size: clamp(22px, 1.9vw, 28px);
	font-weight: 500;
	line-height: 1.25;
	text-transform: none;
	letter-spacing: 0;
}
.rd-podroz .rd-podroz-krok-tekst { margin: 0; max-width: 640px; font-size: 15px; line-height: 1.6; }

.rd-podroz-nawigacja { display: flex; align-items: center; gap: 18px; margin-top: 22px; }
.rd-podroz .rd-podroz-strzalka {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	min-height: 0;
	padding: 0;
	border: 1.4px solid var(--global-palette1);
	border-radius: 50%;
	background: transparent;
	color: var(--global-palette1);
	box-shadow: none;
	cursor: pointer;
	transition: background .2s, color .2s, opacity .2s;
}
.rd-podroz .rd-podroz-strzalka:hover:not(:disabled) { background: var(--global-palette1); color: #fff; }
.rd-podroz .rd-podroz-strzalka:disabled { opacity: .35; cursor: default; }
.rd-podroz-licznik { font-size: 14px; font-variant-numeric: tabular-nums; }

.rd-podroz-foto {
	position: relative;
	aspect-ratio: 3 / 2;
	overflow: hidden;
	background: #efece2;
}
.rd-podroz .rd-podroz-img {
	position: absolute;
	inset: 0;
	width: 100%;
	max-width: none;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transition: opacity .5s ease;
}
.rd-podroz .rd-podroz-img.is-aktywny { opacity: 1; }

@media (max-width: 1024px) {
	.rd-podroz { grid-template-columns: 1fr; gap: 28px; }
	.rd-podroz-foto { order: -1; }
	.rd-podroz-kroki { margin-top: 28px; min-height: 0; }
}
@media (prefers-reduced-motion: reduce) {
	.rd-podroz-krok.is-aktywny { animation: none; }
	.rd-podroz .rd-podroz-img { transition: none; }
}

/* --------------------------------------------------------------------------
   Blok tekstu SEO nad stopką — rd-tekst-seo.php (2026-09-24)
   Wzór: plnts.com (beżowa belka „… / Read more"). <details> bez JS — treść w HTML od początku.
   -------------------------------------------------------------------------- */
.rd-seo {
	background: var(--rd-linia);
	color: var(--global-palette1);
}
.rd-seo-rozwin {
	max-width: var(--global-content-width, 1430px);
	margin: 0 auto;
	padding: 0 var(--global-content-edge-padding, 15px);
}
.rd-seo-belka {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 28px 0;
	list-style: none;
	cursor: pointer;
}
.rd-seo-belka::-webkit-details-marker { display: none; }
.rd-seo .rd-seo-tytul {
	margin: 0;
	color: var(--global-palette1);
	font-family: var(--global-heading-font-family, Lora), serif;
	font-size: clamp(20px, 1.8vw, 26px);
	font-weight: 500;
	line-height: 1.25;
	text-transform: none;
	letter-spacing: 0;
}
.rd-seo-wiecej {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	gap: 6px;
	font-size: 14px;
	font-weight: 600;
}
.rd-seo-wiecej svg { transition: transform .25s ease; }
.rd-seo-rozwin[open] .rd-seo-wiecej svg { transform: rotate(180deg); }
.rd-seo-rozwin[open] .rd-seo-wiecej-tekst { font-size: 0; }
.rd-seo-rozwin[open] .rd-seo-wiecej-tekst::after { content: "Zwiń"; font-size: 14px; }
.rd-seo-belka:focus-visible { outline: 2px solid var(--global-palette1); outline-offset: 4px; }

.rd-seo-tresc {
	max-width: 900px;
	padding: 0 0 48px;
	font-size: 16px;
	line-height: 1.7;
}
.rd-seo-tresc h2,
.rd-seo-tresc h3 {
	color: var(--global-palette1);
	font-family: var(--global-heading-font-family, Lora), serif;
	font-weight: 500;
	text-transform: none;
	letter-spacing: 0;
}
.rd-seo-tresc h2 { margin: 32px 0 10px; font-size: 26px; line-height: 1.25; }
.rd-seo-tresc h3 { margin: 22px 0 6px; font-size: 20px; line-height: 1.3; }
.rd-seo-tresc > :first-child { margin-top: 0; }
.rd-seo-tresc p { margin: 0 0 14px; }
.rd-seo-tresc ul { margin: 0 0 14px 1.2em; }
.rd-seo-tresc a { color: var(--global-palette1); text-decoration: underline; text-underline-offset: 3px; }
.rd-seo-tresc a:hover { text-decoration-thickness: 2px; }

@media (max-width: 767px) {
	.rd-seo-belka { padding: 20px 0; }
	.rd-seo-tresc { font-size: 15px; }
}

/* --------------------------------------------------------------------------
   Stopka (2026-09-24) — wzór: zielony-parapet.pl
   [rd_stopka_firma] w Footer 1, [rd_stopka_dol] w Footer 4, prawa autorskie = element HTML motywu.
   -------------------------------------------------------------------------- */
.rd-stopka-firma { color: #fff; }
.rd-stopka-logo { display: inline-block; margin-bottom: 20px; }
.rd-stopka-logo img { display: block; width: 190px; height: auto; }
.rd-stopka-firma .rd-stopka-opis {
	max-width: 340px;
	margin: 0 0 22px;
	color: rgba(255, 255, 255, .85);
	font-size: 14px;
	line-height: 1.6;
}
.rd-stopka-firma .rd-stopka-kontakt { margin: 0; padding: 0; list-style: none; }
.rd-stopka-kontakt li {
	display: grid;
	grid-template-columns: 18px minmax(0, 1fr); /* ikona stała, tekst zawsze od tej samej linii */
	gap: 12px;
	align-items: start;
	margin: 0 0 12px;
	font-size: 14px;
	line-height: 1.55;
}
.rd-stopka-ikona { margin-top: 2px; color: rgba(255, 255, 255, .8); }
.rd-stopka-kontakt a { color: #fff; text-decoration: none; overflow-wrap: break-word; }
.rd-stopka-kontakt a:hover { text-decoration: underline; text-underline-offset: 3px; }

/* dolny pasek: przewoźnicy + płatności */
.rd-stopka-dol {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 28px 56px;
}
.rd-stopka-dol .rd-stopka-grupa-tytul {
	margin: 0 0 12px;
	color: #fff;
	font-family: var(--global-heading-font-family, Lora), serif;
	font-size: 17px;
	font-weight: 500;
}
.rd-stopka-dol .rd-stopka-znaki {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px 30px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.rd-znak {
	color: rgba(255, 255, 255, .72);
	font-family: var(--global-body-font-family, Poppins), sans-serif;
	font-size: 19px;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
}
.rd-znak-inpost { font-weight: 600; letter-spacing: -.01em; }
.rd-znak-gls { font-weight: 800; letter-spacing: .06em; }
.rd-znak-blik { font-size: 22px; font-weight: 800; letter-spacing: -.03em; }
.rd-znak-payu { font-weight: 700; }
.rd-znak-autopay { font-weight: 600; }
.rd-znak-paypo { font-weight: 800; }
.rd-znak-tekst { font-size: 14px; font-weight: 500; }
.rd-stopka-dol img { display: block; width: auto; max-width: none; } /* wysokość per znak (atrybut style) */

/* układ rzędów stopki Kadence — jak zielony-parapet: szersza kolumna z danymi firmy,
   dolny pasek na tym samym tle co góra (motyw dawał zdjęcie liści z demo), oddzielony linią */
@media (min-width: 1025px) {
	#colophon .site-top-footer-inner-wrap.site-footer-row-columns-5 {
		grid-template-columns: 1.5fr 1fr 1fr 1fr 1fr;
	}
	#colophon .site-bottom-footer-inner-wrap {
		grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
		align-items: end;
	}
}
#colophon .site-bottom-footer-wrap .site-footer-row-container-inner {
	background: var(--global-palette1);
}
#colophon .site-bottom-footer-inner-wrap {
	border-top: 1px solid rgba(255, 255, 255, .16);
}
/* pionowe linie między kolumnami — z demo jaskrawa zieleń #4e9151; półprzezroczysta biel pasuje do każdego tła */
#colophon .site-top-footer-inner-wrap > .site-footer-section { border-color: rgba(255, 255, 255, .16); }

/* motyw wyrównuje widżet paska do prawej / do środka — grupy i prawa autorskie zawsze od lewej */
#colophon .rd-stopka-dol,
#colophon .rd-stopka-grupa { text-align: left; }

@media (max-width: 1024px) {
	.rd-stopka-dol { justify-content: flex-start; }
	#colophon .site-footer-bottom-section-1,
	#colophon .site-footer-bottom-section-1 .footer-html,
	#colophon .site-footer-bottom-section-1 .footer-html-inner { text-align: left; justify-content: flex-start; }
}

/* --------------------------------------------------------------------------
   SEO / wydajność / dostępność strony głównej (2026-09-24, sesja SEO)
   -------------------------------------------------------------------------- */
/* Tło stopki z demo Bloomis (footer-bkg.jpg, 371 KB) jest w całości zakryte kolorem wierszy stopki,
   a przeglądarka i tak je pobierała — na każdej podstronie. */
#colophon.site-footer { background-image: none; }

/* Siatka bloga na stronie głównej (tmcore-post-grid): wpisy przeniesione ze Shopera nie mają autora
   (post_author = 0) → „by" + pusty link (Lighthouse: link bez nazwy). Chowamy do decyzji, kto jest autorem. */
.elementor-post-wrapper .entry-meta .post-author,
.elementor-post-wrapper .entry-meta .posted-on::after { display: none; } /* ::after = kropka-separator przed autorem */

/* --------------------------------------------------------------------------
   Okruszki (2026-09-24) — wzór: zielony-parapet.pl: 12 px, do lewej, przygaszone, linki podkreślone.
   Kadence/RankMath: .base-breadcrumbs (strony, blog, sklep); Woo: .woocommerce-breadcrumb.
   Dotąd 14 px i wyśrodkowane nad tytułem — rzucały się w oczy, a dla klienta to mała wartość.
   -------------------------------------------------------------------------- */
.base-breadcrumbs .rank-math-breadcrumb p { margin: 0; }
.base-breadcrumbs,
.woocommerce-breadcrumb {
	margin-bottom: 14px;
	color: var(--global-palette1);
	font-size: 12px;
	line-height: 1.5;
	text-align: left;
	justify-content: flex-start;
	opacity: .75;
}
.base-breadcrumbs a,
.woocommerce-breadcrumb a { color: inherit; } /* bez podkreślenia — decyzja Michała 24.09 */
.base-breadcrumbs a:hover,
.woocommerce-breadcrumb a:hover { opacity: .7; }

/* --------------------------------------------------------------------------
   Jednolite tło (2026-09-25) — bez szarych bloków motywu, jak na plnts.
   Motyw kładł szarości z palety: pasek tytułu podstron (okruszki + H1 — strony, blog, wpisy,
   produkty, kategorie; #f5f5f5 z Customizera, osobno dla każdego typu), „Podobne wpisy" pod
   wpisem (#f2f2f2) i formularz komentarza / opinii o produkcie (#f5f5f5).
   Przezroczyste = zawsze tło strony z Customizera (Kolory). Zdejmujemy tylko kolor — obrazek tła
   ustawiony kiedyś w Customizerze nadal zadziała.
   Bez szarej ramki wcięcia odstawały od kolumny tekstu → poziome odstępy 0.
   -------------------------------------------------------------------------- */
.wp-site-blocks .entry-hero .entry-hero-container-inner,
.wp-site-blocks .entry-related,
.wp-site-blocks .comment-form {
	background-color: transparent;
}
.wp-site-blocks .entry-related-inner-content,
.wp-site-blocks .comment-form {
	padding-left: 0;
	padding-right: 0;
}

/* --------------------------------------------------------------------------
   Sekcja „Wybierz swój rozmiar" — shortcode [rd_rozmiary] (2026-09-25)
   Wzór: plnts.com BabyPLNTS / RarePLNTS, u nas 3 bloki: Maluchy → S/M → L/XL, zdjęcie na przemian
   lewo / prawo / lewo. Pomiar plnts (1440 px): zdjęcie 40% szerokości ekranu, treść ~64 px od zdjęcia,
   znak ~110 px, opis 16/22, przycisk-pigułka 40 px, karta 300×380, kwadrat 230 px
   + strzałka + podpis, blok ~940 px wysokości. Telefon: bez dużego zdjęcia (jak plnts), tablet: zdjęcie jako pas.
   Kolory bloków w zmiennych --rd-rozmiar-* (terakota / butelkowa zieleń / oliwka). Karta NIE zachodzi na znak
   (na plnts zachodzi, ale tam karta jest zdjęciem — jasny znak na naszej beżowej karcie by znikał).
   Sekcja Elementora musi być rozciągnięta (Rozciągnij sekcję + Pełna szerokość, bez odstępów).
   -------------------------------------------------------------------------- */
/* odstęp od następnej sekcji (Promocje) — kolorowe bloki na całą szerokość potrzebują oddechu */
.rd-rozmiary { margin-bottom: clamp(56px, 7vw, 100px); }

.rd-rozmiar {
	--rd-rozmiar-tlo: #9c5638;
	--rd-rozmiar-tekst: #f6e8de;
	--rd-rozmiar-znak: #fbeee4;
	--rd-rozmiar-karta-szer: 300px;
	--rd-rozmiar-karta-wys: 380px;
	position: relative;
	background: var(--rd-rozmiar-tlo);
	color: var(--rd-rozmiar-tekst);
}
.rd-rozmiar--sm  { --rd-rozmiar-tlo: #134a21; --rd-rozmiar-tekst: #e6efdd; --rd-rozmiar-znak: #d6e8c6; }
.rd-rozmiar--lxl { --rd-rozmiar-tlo: #5e6846; --rd-rozmiar-tekst: #f3f1e6; --rd-rozmiar-znak: #f6f1dc; }

.rd-rozmiar .rd-rozmiar-foto img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.rd-rozmiar-tresc {
	display: grid;
	grid-template-columns: minmax(0, 1fr) var(--rd-rozmiar-karta-szer);
	grid-template-areas: "tytul tytul" "tekst karta" "detal detal";
	column-gap: 56px;
	align-items: start;
}

.rd-rozmiar .rd-rozmiar-tytul {
	grid-area: tytul;
	margin: 0;
	color: var(--rd-rozmiar-znak);
	text-transform: none;
	letter-spacing: 0;
}
.rd-rozmiar-nad {
	display: block;
	margin-bottom: 10px;
	font-family: var(--global-body-font-family, Poppins, sans-serif);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: .14em;
	text-transform: uppercase;
	opacity: .85;
}
.rd-rozmiar-znak {
	display: block;
	font-family: Lora, serif;
	font-size: clamp(64px, 7.4vw, 116px);
	font-weight: 500;
	line-height: .95;
	letter-spacing: -.01em;
}

.rd-rozmiar-tekst { grid-area: tekst; max-width: 380px; padding-top: 36px; }
.rd-rozmiar .rd-rozmiar-opis {
	margin: 0 0 28px;
	font-size: 16px;
	line-height: 1.55;
	letter-spacing: 0;
	color: inherit;
}
.rd-rozmiar .rd-rozmiar-przycisk {
	display: inline-flex;
	align-items: center;
	min-height: 42px;
	padding: 8px 24px;
	border: 1.5px solid currentColor;
	border-radius: 999px;
	font-size: 15px;
	line-height: 1.3;
	color: var(--rd-rozmiar-tekst);
	text-decoration: none;
	transition: background-color .2s, color .2s;
}
.rd-rozmiar .rd-rozmiar-przycisk:hover,
.rd-rozmiar .rd-rozmiar-przycisk:focus-visible { background: var(--rd-rozmiar-tekst); color: var(--rd-rozmiar-tlo); }

/* karta produktu — beż jak karty w Nowościach, bo zdjęcia sklepu są na białym tle */
.rd-rozmiar .rd-rozmiar-karta {
	grid-area: karta;
	position: relative;
	display: flex;
	flex-direction: column;
	width: var(--rd-rozmiar-karta-szer);
	height: var(--rd-rozmiar-karta-wys);
	margin-top: 4px;
	background: #efece2;
	color: var(--global-palette1, #134a21);
	text-decoration: none;
	box-shadow: 0 18px 40px -18px rgba(0, 0, 0, .45);
	transition: transform .25s;
}
.rd-rozmiar .rd-rozmiar-karta:hover { transform: translateY(-4px); }
.rd-rozmiar-karta-foto {
	flex: 1;
	min-height: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px 20px 0;
}
.rd-rozmiar .rd-rozmiar-karta-img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	mix-blend-mode: multiply; /* białe tło zdjęcia produktu → beż karty */
}
.rd-rozmiar-karta-opis { display: flex; flex-direction: column; gap: 2px; padding: 12px 22px 22px; }
.rd-rozmiar-karta-nazwa { font-size: 16px; font-weight: 600; line-height: 1.3; }
.rd-rozmiar-karta-podpis { font-size: 13px; line-height: 1.35; opacity: .75; }
.rd-rozmiar-karta-cena { margin-top: 6px; font-size: 15px; font-weight: 500; }
.rd-rozmiar-karta-cena del { margin-right: 6px; opacity: .6; }
.rd-rozmiar-karta-cena ins { text-decoration: none; }
.rd-rozmiar-karta .rd-omnibus { font-size: 11px; line-height: 1.35; opacity: .8; }
.rd-rozmiar-karta-przycisk {
	align-self: flex-start;
	margin-top: 12px;
	padding: 6px 18px;
	border: 1.5px solid currentColor;
	border-radius: 999px;
	font-size: 14px;
	line-height: 1.3;
	transition: background-color .2s, color .2s;
}
.rd-rozmiar .rd-rozmiar-karta:hover .rd-rozmiar-karta-przycisk { background: var(--global-palette1, #134a21); color: #efece2; }

/* małe zdjęcie + odręczna strzałka + podpis */
.rd-rozmiar-detal { grid-area: detal; display: flex; align-items: flex-end; margin-top: 56px; }
.rd-rozmiar .rd-rozmiar-detal-img { flex: none; width: 230px; height: 230px; object-fit: cover; }
.rd-rozmiar-strzalka {
	flex: none;
	position: relative;
	z-index: 1;
	width: 170px;
	height: auto;
	margin: 0 0 42px -96px; /* zaczyna się na zdjęciu, jak na plnts */
	color: var(--rd-rozmiar-tekst);
}
.rd-rozmiar .rd-rozmiar-podpis {
	max-width: 210px;
	margin: 0 0 30px 14px;
	font-size: 15px;
	line-height: 1.45;
	color: inherit;
}

/* desktop: zdjęcie na 40% ekranu, treść po stronie panelu, prawa krawędź = krawędź treści strony */
@media (min-width: 1025px) {
	.rd-rozmiar {
		--rd-rozmiar-odstep: clamp(48px, 5vw, 96px);
		--rd-rozmiar-krawedz: max(64px, calc((100% - var(--global-content-width, 1430px)) / 2 + var(--global-content-edge-padding, 15px)));
	}
	.rd-rozmiar-foto { position: absolute; top: 0; bottom: 0; left: 0; width: 40%; }
	.rd-rozmiar--foto-prawo .rd-rozmiar-foto { left: auto; right: 0; }
	.rd-rozmiar-tresc {
		padding: 112px var(--rd-rozmiar-krawedz) 104px calc(40% + var(--rd-rozmiar-odstep));
	}
	.rd-rozmiar--foto-prawo .rd-rozmiar-tresc {
		padding-left: var(--rd-rozmiar-krawedz);
		padding-right: calc(40% + var(--rd-rozmiar-odstep));
	}
	.rd-rozmiar--bez-foto .rd-rozmiar-tresc { padding-left: var(--rd-rozmiar-krawedz); padding-right: var(--rd-rozmiar-krawedz); }
}
/* węższy desktop: mniejsza karta, żeby opis nie zrobił się wąską kolumną */
@media (min-width: 1025px) and (max-width: 1299px) {
	.rd-rozmiar { --rd-rozmiar-karta-szer: 240px; --rd-rozmiar-karta-wys: 320px; }
	.rd-rozmiar-tresc { column-gap: 36px; }
}

/* tablet: zdjęcie jako pas nad panelem */
@media (max-width: 1024px) {
	.rd-rozmiar-foto { height: 360px; }
	.rd-rozmiar-tresc { padding: 56px 32px 64px; }
}

/* telefon: bez dużego zdjęcia (jak plnts), karta pod znakiem po prawej */
@media (max-width: 767px) {
	.rd-rozmiar-foto { display: none; }
	.rd-rozmiar-tresc {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas: "tytul" "karta" "tekst" "detal";
		padding: 44px 16px 52px;
	}
	.rd-rozmiar-znak { font-size: 60px; }
	.rd-rozmiar .rd-rozmiar-karta {
		justify-self: end;
		width: 64%;
		height: auto;
		aspect-ratio: 240 / 310;
		margin-top: 24px;
	}
	.rd-rozmiar-tekst { max-width: none; padding-top: 32px; }
	.rd-rozmiar .rd-rozmiar-opis { font-size: 14px; }
	.rd-rozmiar-detal { margin-top: 40px; }
	.rd-rozmiar .rd-rozmiar-detal-img { width: 150px; height: 150px; }
	.rd-rozmiar-strzalka { width: 118px; margin: 0 0 26px -58px; }
	.rd-rozmiar .rd-rozmiar-podpis { margin-bottom: 16px; font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
	.rd-rozmiar .rd-rozmiar-karta { transition: none; }
	.rd-rozmiar .rd-rozmiar-karta:hover { transform: none; }
}

/* --------------------------------------------------------------------------
   Sekcja-paralaksa „Ogród wertykalny" — shortcode [rd_paralaksa] (2026-09-25)
   Zastępuje paralaksę z demo (c6279b6: zdjęcie na całą szerokość, tło stoi w miejscu, 700 px, tekst po lewej).
   Desktop z myszą: background-attachment: fixed — zdjęcie liczone do okna przeglądarki, dlatego zielona ściana
   musi być po prawej na całej wysokości kadru. Telefon / tablet / ekrany dotykowe: zwykłe zdjęcie nad tekstem.
   Sekcja Elementora rozciągnięta (tryb `pelna` skryptu podmiany).
   -------------------------------------------------------------------------- */
.rd-paralaksa {
	position: relative;
	margin-bottom: clamp(56px, 7vw, 100px); /* odstęp od Podróży; nad paralaksą odstęp daje sekcja Promocji (84 px) */
	background: var(--rd-tlo, #fffaf2);
}
.rd-paralaksa .rd-paralaksa-img {
	display: block;
	width: 100%;
	height: 320px;
	object-fit: cover;
	object-position: var(--rd-paralaksa-pozycja-tel, 80% center);
}
.rd-paralaksa-tresc { padding: 44px 16px 56px; }
.rd-paralaksa .rd-paralaksa-tytul {
	max-width: 620px;
	margin: 0 0 20px;
	font-family: Lora, serif;
	font-size: clamp(34px, 4.2vw, 60px);
	font-weight: 500;
	line-height: 1.12;
	letter-spacing: -.005em;
	text-transform: none;
	color: var(--global-palette1, #134a21);
}
.rd-paralaksa-nad {
	display: block;
	margin-bottom: 14px;
	font-family: var(--global-body-font-family, Poppins, sans-serif);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: .14em;
	text-transform: uppercase;
	opacity: .8;
}
.rd-paralaksa .rd-paralaksa-opis {
	max-width: 480px;
	margin: 0 0 30px;
	font-size: 16px;
	line-height: 1.6;
	letter-spacing: 0;
	color: #3f3f3f;
}
.rd-paralaksa .rd-paralaksa-przycisk {
	display: inline-flex;
	align-items: center;
	min-height: 46px;
	padding: 10px 28px;
	border-radius: 999px;
	background: var(--global-palette1, #134a21);
	color: #fffaf2;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.3;
	text-decoration: none;
	transition: background-color .2s;
}
.rd-paralaksa .rd-paralaksa-przycisk:hover,
.rd-paralaksa .rd-paralaksa-przycisk:focus-visible { background: #0d3517; color: #fffaf2; }

/* desktop z myszą: prawdziwa paralaksa, tekst na zdjęciu po lewej */
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
	.rd-paralaksa {
		display: flex;
		align-items: center;
		min-height: 700px;
		background: var(--rd-paralaksa-foto) var(--rd-paralaksa-pozycja, center center) / cover no-repeat fixed;
	}
	/* rozjaśnienie od lewej — tekst czytelny niezależnie od zdjęcia */
	.rd-paralaksa::before {
		content: "";
		position: absolute;
		inset: 0;
		background: linear-gradient(90deg, rgba(255, 250, 242, .82) 0%, rgba(255, 250, 242, .55) 32%, rgba(255, 250, 242, 0) 56%);
		pointer-events: none;
	}
	.rd-paralaksa .rd-paralaksa-img { display: none; }
	.rd-paralaksa-tresc {
		position: relative;
		width: 100%;
		max-width: var(--global-content-width, 1430px);
		margin: 0 auto;
		padding: 96px var(--global-content-edge-padding, 15px);
	}
}

/* --------------------------------------------------------------------------
   Sekcja „Opinie klientów" — shortcode [rd_opinie] (2026-09-25)
   Zastępuje opinie z demo (10ae844: szare tło, 550 px). Niski pas na całą szerokość (tryb `pelna`): po lewej tytuł,
   opis i średnia z gwiazdkami (wzór zielony-parapet, bez Google), po prawej karuzela — przewijanie w bok ze
   snapem, ~2 karty widoczne + fragment trzeciej jako znak, że jest więcej. Gwiazdki w kolorze gwiazdek produktów (#ffab00).
   -------------------------------------------------------------------------- */
.rd-opinie {
	margin: clamp(48px, 6vw, 84px) 0;
	padding: clamp(36px, 3.6vw, 52px) 0;
	background: #efece2;
}
.rd-opinie-kontener {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 48px;
	align-items: center;
	max-width: var(--global-content-width, 1430px);
	margin: 0 auto;
	padding: 0 var(--global-content-edge-padding, 15px);
}
.rd-opinie p { margin: 0; } /* motyw daje akapitom margines 1.5em */
.rd-opinie .rd-opinie-tytul {
	margin: 0 0 14px;
	color: var(--global-palette1, #134a21);
	font-family: var(--global-heading-font-family, Lora), serif;
	font-size: clamp(34px, 3.4vw, 50px);
	font-weight: 500;
	line-height: 1.05;
	letter-spacing: 0;
	text-transform: none;
}
.rd-opinie-opis { max-width: 460px; color: #3f3f3f; font-size: 16px; line-height: 1.6; }
.rd-opinie-ocena { margin-top: 26px; }
.rd-opinie-wynik { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; }
.rd-opinie-liczba {
	color: var(--global-palette1, #134a21);
	font-family: var(--global-heading-font-family, Lora), serif;
	font-size: 46px;
	font-weight: 500;
	line-height: 1;
}
.rd-opinie-liczba span { margin-left: 2px; font-size: 22px; opacity: .75; }
.rd-opinie-gwiazdki { display: block; width: 140px; height: 28px; color: #ffab00; }
.rd-opinie .rd-opinie-podpis { margin-top: 8px; color: #4a6650; font-size: 13px; line-height: 1.5; }
.rd-opinie .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

/* karuzela */
.rd-opinie-karuzela { min-width: 0; }
.rd-opinie .rd-opinie-lista {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - 20px) / 2.2);
	gap: 20px;
	margin: 0;
	padding: 0;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	list-style: none;
}
.rd-opinie-lista::-webkit-scrollbar { display: none; }
.rd-opinie-lista:focus-visible { outline: 2px solid var(--global-palette1, #134a21); outline-offset: 4px; }
.rd-opinia { margin: 0; scroll-snap-align: start; }
.rd-opinia figure {
	display: flex;
	flex-direction: column;
	gap: 16px;
	height: 100%;
	margin: 0;
	padding: 26px 28px 24px;
	background: var(--rd-tlo, #fffaf2);
}
.rd-opinia figure::before { /* cudzysłów jak w demo, w kolorze marki */
	content: "\201D";
	height: 26px;
	color: var(--global-palette1, #134a21);
	font-family: var(--global-heading-font-family, Lora), serif;
	font-size: 64px;
	line-height: .9;
}
.rd-opinia blockquote { flex: 1; margin: 0; padding: 0; border: 0; font-style: normal; }
.rd-opinia blockquote p {
	color: #2b2b2b;
	font-family: var(--global-heading-font-family, Lora), serif;
	font-size: 18px;
	line-height: 1.5;
}
.rd-opinia figcaption { display: flex; flex-direction: column; gap: 2px; font-size: 13px; line-height: 1.4; }
.rd-opinia figcaption strong { color: var(--global-palette1, #134a21); font-size: 14px; font-weight: 600; }
.rd-opinia figcaption span { color: #4a6650; }

.rd-opinie-strzalki { display: flex; justify-content: flex-end; gap: 10px; margin-top: 18px; }
.rd-opinie .rd-opinie-strzalka {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	min-height: 0;
	padding: 0;
	border: 1.4px solid var(--global-palette1, #134a21);
	border-radius: 50%;
	background: transparent;
	color: var(--global-palette1, #134a21);
	box-shadow: none;
	cursor: pointer;
	transition: background-color .2s, color .2s;
}
.rd-opinie .rd-opinie-strzalka:hover,
.rd-opinie .rd-opinie-strzalka:focus-visible { background: var(--global-palette1, #134a21); color: #fffaf2; }
.rd-opinie-strzalka svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

@media (max-width: 1024px) {
	.rd-opinie-kontener { grid-template-columns: 1fr; gap: 28px; }
	.rd-opinie .rd-opinie-lista { grid-auto-columns: calc((100% - 14px) / 1.6); gap: 14px; }
}
@media (max-width: 600px) {
	.rd-opinie .rd-opinie-lista { grid-auto-columns: 82%; }
	.rd-opinia figure { padding: 22px 22px 20px; }
}

/* --------------------------------------------------------------------------
   Zapis do newslettera „Wybierz swój prezent" — shortcode [rd_newsletter] (2026-09-25)
   Zastępuje logotypy marek z demo (33cfe72). Zielony pas na całą szerokość (tryb `pelna`): po lewej hasło,
   po prawej formularz — dwa kafelki-prezenty (radio: jeden wybór), e-mail + przycisk, zgoda RODO, komunikat.
   Przycisk w terakocie — jedyny taki kolor w pasie, żeby było widać, gdzie kliknąć.
   -------------------------------------------------------------------------- */
.rd-newsletter {
	margin: clamp(48px, 6vw, 84px) 0;
	padding: clamp(40px, 4.4vw, 64px) 0;
	background: #5e6846; /* oliwka jak blok L/XL — odcina się od ciemnozielonej stopki (Michał, 25.09); kremowy tekst 5,7:1 */
	color: #fffaf2;
	scroll-margin-top: 71px; /* kotwica #newsletter: pas tuż pod przyklejonym rzędem z logo (71 px), też bez JS */
}
.rd-newsletter-kontener {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 48px;
	align-items: center;
	max-width: var(--global-content-width, 1430px);
	margin: 0 auto;
	padding: 0 var(--global-content-edge-padding, 15px);
}
.rd-newsletter p { margin: 0; } /* motyw daje akapitom margines 1.5em */
/* Newsletter jako ostatni blok treści (strona główna): bez dolnego marginesu, czyli bez kremowej szpary
   między oliwkowym pasem a belką SEO / stopką (Michał, 21.10). Przy stopce (kategorie, blog) już jest 0.
   last-of-type, nie last-child: za sekcją stoi jej własny <script>. */
.entry-content > section.rd-newsletter:last-of-type { margin-bottom: 0; }
.rd-newsletter .rd-newsletter-nad {
	margin-bottom: 12px;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .14em;
	text-transform: uppercase;
	opacity: .8;
}
.rd-newsletter .rd-newsletter-tytul {
	margin: 0 0 14px;
	color: #fffaf2;
	font-family: var(--global-heading-font-family, Lora), serif;
	font-size: clamp(32px, 3.2vw, 46px);
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: 0;
	text-transform: none;
}
.rd-newsletter-opis { max-width: 440px; font-size: 16px; line-height: 1.6; opacity: .9; }

.rd-newsletter-formularz { display: flex; flex-direction: column; gap: 14px; margin: 0; }
.rd-newsletter-pulapka { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.rd-newsletter .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.rd-newsletter-prezenty { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; min-width: 0; margin: 0; padding: 0; border: 0; }
.rd-newsletter-prezenty legend {
	float: left; /* legend bez float nie wchodzi do siatki fieldsetu */
	grid-column: 1 / -1;
	width: 100%;
	margin: 0 0 2px;
	padding: 0;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .12em;
	text-transform: uppercase;
	opacity: .85;
}
.rd-newsletter-prezent { position: relative; display: block; margin: 0; cursor: pointer; }
.rd-newsletter-prezent input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.rd-newsletter-prezent span {
	display: flex;
	align-items: center;
	gap: 12px;
	height: 100%;
	padding: 14px 44px 14px 16px;
	border: 1.4px solid rgba(255, 250, 242, .45);
	border-radius: 14px;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.3;
	transition: background-color .2s, border-color .2s, color .2s;
}
.rd-newsletter-prezent span::after { /* kółko wyboru po prawej */
	content: "";
	position: absolute;
	top: 50%;
	right: 16px;
	width: 18px;
	height: 18px;
	margin-top: -9px;
	border: 1.6px solid currentColor;
	border-radius: 50%;
	opacity: .7;
}
.rd-newsletter-prezent svg { flex: none; width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.rd-newsletter-prezent:hover span { border-color: #fffaf2; }
.rd-newsletter-prezent input:checked + span { border-color: #fffaf2; background: #fffaf2; color: #5e6846; }
.rd-newsletter-prezent input:checked + span::after { border-width: 5px; opacity: 1; }
.rd-newsletter-prezent input:focus-visible + span { outline: 2px solid #fffaf2; outline-offset: 3px; }

.rd-newsletter-wiersz { display: flex; gap: 10px; }
.rd-newsletter .rd-newsletter-wiersz input[type="email"] {
	flex: 1;
	min-width: 0;
	height: 52px;
	margin: 0;
	padding: 0 22px;
	border: 0;
	border-radius: 999px;
	background: #fffaf2;
	color: #1f1f1f;
	font-size: 16px;
	box-shadow: none;
}
.rd-newsletter .rd-newsletter-wiersz button {
	flex: none;
	height: 52px;
	min-height: 0;
	padding: 0 30px;
	border: 0;
	border-radius: 999px;
	background: #c34b17;
	color: #fff;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none; /* motyw daje przyciskom wersaliki */
	box-shadow: none;
	cursor: pointer;
	transition: background-color .2s;
}
.rd-newsletter .rd-newsletter-wiersz button:hover,
.rd-newsletter .rd-newsletter-wiersz button:focus-visible { background: #a63f12; color: #fff; }
.rd-newsletter .rd-newsletter-wiersz button:disabled { opacity: .6; cursor: default; }

.rd-newsletter-zgoda { display: flex; align-items: flex-start; gap: 10px; margin: 0; font-size: 12.5px; line-height: 1.5; opacity: .88; cursor: pointer; }
.rd-newsletter-zgoda input { flex: none; width: 17px; height: 17px; margin: 2px 0 0; accent-color: #c34b17; cursor: pointer; }
.rd-newsletter-zgoda a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.rd-newsletter .rd-newsletter-komunikat { font-size: 14px; line-height: 1.5; }
.rd-newsletter .rd-newsletter-komunikat:empty { display: none; }
.rd-newsletter .rd-newsletter-komunikat.is-ok { padding: 18px 20px; border-radius: 14px; background: #fffaf2; color: var(--global-palette1, #134a21); font-size: 16px; font-weight: 500; }
.rd-newsletter .rd-newsletter-komunikat.is-blad { color: #ffd2bd; font-weight: 500; }
.rd-newsletter-formularz.is-wyslany > :not(.rd-newsletter-komunikat) { display: none; } /* po zapisie zostaje samo podziękowanie */

@media (max-width: 1024px) {
	.rd-newsletter-kontener { grid-template-columns: 1fr; gap: 26px; }
}
@media (max-width: 560px) {
	.rd-newsletter-prezenty { grid-template-columns: 1fr; }
	.rd-newsletter-wiersz { flex-direction: column; }
	.rd-newsletter .rd-newsletter-wiersz input[type="email"] { flex: none; width: 100%; } /* w kolumnie flex: 1 zjadał wysokość */
	.rd-newsletter .rd-newsletter-wiersz button { width: 100%; }
}

/* Pas nad stopką: karta produktu, lista produktów, blog (2026-09-29, hak base_before_footer w rd-newsletter.php).
   Stopka ma ten sam kolor (oliwka #5e6846), więc pas bez dolnego marginesu przechodzi w nią i czyta się jak jej górna
   część (na plnts newsletter też siedzi w stopce). Granica = cienka linia na szerokość treści. */
.rd-newsletter.rd-newsletter-przy-stopce { margin-bottom: 0; }
.rd-newsletter-przy-stopce .rd-newsletter-kontener { position: relative; }
.rd-newsletter-przy-stopce .rd-newsletter-kontener::after {
	content: "";
	position: absolute;
	right: var(--global-content-edge-padding, 15px);
	bottom: calc(-1 * clamp(40px, 4.4vw, 64px)); /* = dolny padding pasa, czyli dokładnie na granicy ze stopką */
	left: var(--global-content-edge-padding, 15px);
	height: 1px;
	background: rgba(255, 250, 242, .22);
}

/* --------------------------------------------------------------------------
   Slider na górze strony głównej — shortcode [rd_slider] (2026-09-25)
   Zastępuje Slider Revolution (43aee67: 605 px przy 1440, 800 px przy 1920 — tę wysokość zachowujemy).
   Slajdy leżą jeden na drugim w jednej komórce siatki, więc wysokość = najwyższy slajd (na telefonie zdjęcie + tekst).
   Przejście jak w demo („3D curtain horizontal”): skrypt kładzie nad zdjęciem 6 pionowych pasów z obrazkiem nowego
   slajdu, każdy wjeżdża z −50% i skali 0,7. Teksty po kolei (scaleX 0,9 → 1) od 0,6 s. Powolny zoom aktywnego zdjęcia.
   Komputer od 1025 px: tekst na zdjęciu (strona z klasy rd-slajd--lewo / --prawo), rozjaśnienie od strony tekstu.
   Tablet i telefon: zdjęcie nad tekstem (telefon: kadr 4:3 z foto_tel). Sekcja Elementora w trybie `pelna`.
   -------------------------------------------------------------------------- */
.rd-slider {
	--rd-slider-ruch: cubic-bezier(.86, 0, .07, 1); /* power4.inOut z demo */
	position: relative;
	overflow: hidden;
	margin-bottom: clamp(44px, 7vw, 100px); /* jak sekcja demo: 100 px na komputerze */
	background: var(--rd-tlo, #fffaf2);
	touch-action: pan-y;
}
.rd-slider-slajdy { display: grid; }
.rd-slajd {
	position: relative;
	grid-area: 1 / 1;
	visibility: hidden;
}
.rd-slajd.jest-aktywny { z-index: 1; visibility: visible; }
.rd-slajd.wchodzi { z-index: 2; visibility: visible; }

.rd-slajd-media {
	position: relative;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	background: #efece2;
}
.rd-slajd.wchodzi .rd-slajd-media { background: transparent; } /* między pasami widać jeszcze stary slajd */
.rd-slajd-media picture { display: block; width: 100%; height: 100%; }
.rd-slajd:not(.jest-aktywny) .rd-slajd-media picture { display: none; } /* ukryte zdjęcia pobiera skrypt po załadowaniu strony */
.rd-slider .rd-slajd-media img {
	display: block;
	width: 100%;
	max-width: none;
	height: 100%;
	object-fit: cover;
	object-position: var(--rd-slajd-pozycja, center center);
}
.rd-slajd.jest-aktywny .rd-slajd-media picture img {
	animation: rd-slider-zoom 16s linear both;
	transform-origin: var(--rd-slajd-pozycja, center center); /* zoom od strony kadrowania — nie ucina donicy przy dolnej krawędzi */
}

/* pasy przejścia — każdy to okno na swój wycinek pełnego zdjęcia (obrazek 600% szerokości pasa, przesunięty) */
.rd-slajd-pasy { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.rd-slajd-pas {
	position: absolute;
	top: 0;
	bottom: 0;
	left: calc(var(--i) * 100% / 6);
	width: calc(100% / 6);
	overflow: hidden;
	animation: rd-slider-pas .5s var(--rd-slider-ruch) both;
	animation-delay: calc(var(--i) * 60ms);
}
.rd-slider .rd-slajd-pas img {
	position: absolute;
	top: 0;
	left: calc(var(--i) * -100%);
	width: 600%;
}

.rd-slajd-tresc { padding: 24px 16px 34px; }
.rd-slajd-kolumna { max-width: 560px; }
.rd-slajd-anim { transform-origin: 0 50%; }
.rd-slajd.jest-aktywny .rd-slajd-anim,
.rd-slajd.wchodzi .rd-slajd-anim {
	animation: rd-slider-tekst 1s var(--rd-slider-ruch) both;
	animation-delay: calc(.6s + var(--k, 0) * .12s);
}
.rd-slajd.wychodzi .rd-slajd-anim { animation: rd-slider-znika .3s ease both; }

.rd-slider .rd-slajd-nad { /* .rd-slider z przodu: motyw ma `.single-content p` z własnym marginesem */
	margin: 0 0 12px;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--global-palette1, #134a21);
	opacity: .85;
}
.rd-slider .rd-slajd-tytul {
	margin: 0 0 16px;
	font-family: Lora, serif;
	font-size: clamp(30px, 3.7vw, 56px);
	font-weight: 500;
	line-height: 1.12;
	letter-spacing: -.005em;
	text-transform: none;
	text-wrap: balance; /* równe linie zamiast samotnego słowa na końcu */
	color: var(--global-palette1, #134a21);
}
.rd-slider .rd-slajd-opis {
	max-width: 470px;
	margin: 0 0 22px;
	font-size: 15px;
	line-height: 1.55;
	letter-spacing: 0;
	text-wrap: pretty;
	color: #3f3f3f;
}
.rd-slider .rd-slajd-przycisk {
	display: inline-flex;
	align-items: center;
	min-height: 46px;
	padding: 10px 28px;
	border-radius: 999px;
	background: var(--global-palette1, #134a21);
	color: #fffaf2;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.3;
	text-decoration: none;
	transition: background-color .2s;
}
.rd-slider .rd-slajd-przycisk:hover,
.rd-slider .rd-slajd-przycisk:focus-visible { background: #0d3517; color: #fffaf2; }

/* kropki w jasnej kapsule na dole zdjęcia (zielona pigułka ginęła na liściach): przycisk 34×24 px (cel dla palca),
   widoczna kropka w ::before, aktywna rozciągnięta w pigułkę */
.rd-slider-kropki {
	position: absolute;
	top: calc(75vw - 44px); /* dół zdjęcia 4:3 na telefonie */
	left: 50%;
	z-index: 5;
	display: flex;
	gap: 0;
	padding: 2px 4px;
	border-radius: 999px;
	background: rgba(255, 250, 242, .82);
	transform: translateX(-50%);
}
.rd-slider .rd-slider-kropka {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 24px;
	min-height: 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	cursor: pointer;
}
.rd-slider-kropka::before {
	content: "";
	width: 10px;
	height: 10px;
	border-radius: 999px;
	background: rgba(19, 74, 33, .28);
	transition: width .3s, background-color .3s;
}
.rd-slider-kropka[aria-current="true"]::before { width: 28px; background: var(--global-palette1, #134a21); }
.rd-slider-kropka:hover::before { background: rgba(19, 74, 33, .5); }
.rd-slider-kropka[aria-current="true"]:hover::before { background: var(--global-palette1, #134a21); }

.rd-slider .rd-slider-strzalka { display: none; }
.rd-slider:not(.rd-slider--js) .rd-slider-kropki { display: none; } /* bez skryptu: stoi pierwszy slajd */

/* tablet: zdjęcie jako szeroki pas nad tekstem */
@media (min-width: 768px) {
	.rd-slajd-media { aspect-ratio: 2 / 1; }
	.rd-slajd-tresc { padding: 32px var(--global-content-edge-padding, 24px) 44px; }
	.rd-slider .rd-slajd-opis { font-size: 16px; line-height: 1.6; }
	.rd-slider-kropki { top: calc(50vw - 46px); }
}

/* H1 strony głównej — stała linijka w banerze (15.10, wariant 1; rd-slider.php, opcja rd_h1_w_hero).
   Leży nad slajdami (nie przesuwa się z nimi), na jasnej „pigułce”, żeby była czytelna na każdym zdjęciu. */
.rd-slider-h1-pas {
	position: absolute;
	z-index: 4;
	top: 0;
	left: 0;
	right: 0;
	padding: 12px;
	pointer-events: none;
}
.rd-slider .rd-slider-h1 {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 7px 14px 7px 11px;
	font-family: Lora, serif;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: 0;
	text-transform: none;
	color: var(--global-palette1, #134a21);
	background: rgba(255, 250, 242, .9);
	border-radius: 999px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, .08);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}
.rd-slider-h1 svg { flex: none; width: 16px; height: 16px; }
@media (min-width: 1025px) {
	.rd-slider-h1-pas { /* ta sama kolumna co tekst slajdów (.rd-slajd-tresc) */
		max-width: var(--global-content-width, 1430px);
		margin: 0 auto;
		padding: 28px clamp(15px, calc(90px - (100vw - var(--global-content-width, 1430px)) / 2), 90px) 0;
	}
	.rd-slider .rd-slider-h1 { padding: 9px 18px 9px 14px; font-size: 17px; }
	.rd-slider-h1 svg { width: 18px; height: 18px; }
}

/* komputer: tekst na zdjęciu, wysokość jak slider demo (605 px przy 1440, 800 px przy 1920) */
@media (min-width: 1025px) {
	.rd-slajd { height: clamp(480px, 42vw, 800px); }
	.rd-slajd-media { position: absolute; inset: 0; aspect-ratio: auto; }
	.rd-slajd-media::after {
		content: "";
		position: absolute;
		inset: 0;
		z-index: 2;
		background: linear-gradient(var(--rd-slajd-mgla-kat, 90deg), rgba(255, 250, 242, .86) 0%, rgba(255, 250, 242, .6) 30%, rgba(255, 250, 242, 0) 56%);
		pointer-events: none;
	}
	.rd-slajd--prawo .rd-slajd-media::after { --rd-slajd-mgla-kat: 270deg; }
	.rd-slajd.wchodzi .rd-slajd-media::after { animation: rd-slider-mgla .6s ease both; }
	/* tekst w kolumnie treści strony, ale min. 90 px od krawędzi ekranu — strzałki zajmują 24–74 px */
	.rd-slajd-tresc {
		position: relative;
		z-index: 3;
		display: flex;
		align-items: center;
		max-width: var(--global-content-width, 1430px);
		height: 100%;
		margin: 0 auto;
		padding: 56px clamp(15px, calc(90px - (100vw - var(--global-content-width, 1430px)) / 2), 90px) 72px;
	}
	.rd-slajd-kolumna { width: min(600px, 48%); max-width: none; }
	.rd-slajd--prawo .rd-slajd-kolumna { margin-left: auto; }
	.rd-slider-kropki { top: auto; bottom: 24px; }
}

/* strzałki tylko przy myszy: pojawiają się po najechaniu na slider */
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
	.rd-slider--js .rd-slider-strzalka {
		position: absolute;
		top: 50%;
		z-index: 5;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 50px;
		height: 50px;
		min-height: 0;
		margin-top: -25px;
		padding: 0;
		border: 0;
		border-radius: 50%;
		background: rgba(255, 250, 242, .88);
		color: var(--global-palette1, #134a21);
		box-shadow: var(--rd-cien);
		cursor: pointer;
		opacity: 0;
		transition: opacity .25s, background-color .2s, color .2s;
	}
	.rd-slider:hover .rd-slider-strzalka,
	.rd-slider .rd-slider-strzalka:focus-visible { opacity: 1; }
	.rd-slider .rd-slider-strzalka:hover,
	.rd-slider .rd-slider-strzalka:focus-visible { background: var(--global-palette1, #134a21); color: #fffaf2; }
	.rd-slider-strzalka--wstecz { left: 24px; }
	.rd-slider-strzalka--dalej { right: 24px; }
	.rd-slider-strzalka svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
}

@keyframes rd-slider-pas {
	from { opacity: 0; transform: translateX(-50%) scale(.7); }
	to { opacity: 1; transform: none; }
}
@keyframes rd-slider-tekst {
	from { opacity: 0; transform: scaleX(.9); }
	to { opacity: 1; transform: none; }
}
@keyframes rd-slider-znika { to { opacity: 0; } }
@keyframes rd-slider-mgla { from { opacity: 0; } }
@keyframes rd-slider-zoom { to { transform: scale(1.07); } }

@media (prefers-reduced-motion: reduce) {
	.rd-slider *,
	.rd-slider *::before,
	.rd-slider *::after { animation: none !important; transition: none !important; }
}

/* --------------------------------------------------------------------------
   Sekcja „O nas" — shortcode [rd_o_nas] (2026-09-26)
   Zastępuje „What We Do / Our Services" z demo (7e9946d: 4 ikony z Lorem Ipsum pod sliderem, 342 px), stoi pod
   bestsellerami. Krótka zajawka marki: zdjęcie do prawej krawędzi ekranu + nadtytuł, tytuł z kursywą i dwa zdania
   (wzór: plnts.com „PLNTS for life"), pod spodem 4 fakty z ikonami (wzór: zielony-parapet.pl). Beżowe tło przechodzi
   bez przerwy w pas opinii [rd_opinie] z następnej sekcji, więc O nas + fakty + opinie czytają się jako jeden blok.
   Tekst równo z kontenerem treści: siatka „breakout" — kolumny boczne = margines kontenera, zdjęcie zajmuje prawą
   połowę ekranu. Telefon i tablet: zdjęcie nad tekstem. Sekcja Elementora rozciągnięta (tryb `pelna`).
   -------------------------------------------------------------------------- */
.rd-onas {
	--rd-onas-krawedz: var(--global-content-edge-padding, 15px);
	--rd-onas-szer: var(--global-content-width, 1430px);
	margin: clamp(48px, 6vw, 84px) 0 0;
	background: #efece2;
	color: #3f3f3f;
}
.rd-onas p { margin: 0; } /* motyw daje akapitom margines 1.5em */

.rd-onas-gora { display: grid; grid-template-columns: minmax(0, 1fr); }
.rd-onas-foto { grid-row: 1; margin: 0; }
.rd-onas-foto img {
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	object-position: var(--rd-onas-pozycja, center center);
}
.rd-onas-tekst { padding: 36px var(--rd-onas-krawedz) 4px; }

.rd-onas-nad {
	margin-bottom: 12px;
	color: #5e6846;
	font-family: var(--global-body-font-family, Poppins), sans-serif;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.rd-onas .rd-onas-tytul {
	margin: 0 0 18px;
	color: var(--global-palette1, #134a21);
	font-family: var(--global-heading-font-family, Lora), serif;
	font-size: clamp(36px, 3.7vw, 56px);
	font-weight: 500;
	line-height: 1.08;
	letter-spacing: -.005em;
	text-transform: none;
}
.rd-onas-tytul em { color: #9c5638; font-style: italic; font-weight: 400; }
.rd-onas .rd-onas-opis { max-width: 470px; font-size: 16px; line-height: 1.65; }

.rd-onas .rd-onas-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-top: 24px;
	color: var(--global-palette1, #134a21);
	font-size: 15px;
	font-weight: 500;
	text-decoration: none;
	border-bottom: 1px solid currentColor;
}
.rd-onas-link svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s; }
.rd-onas .rd-onas-link:hover svg,
.rd-onas .rd-onas-link:focus-visible svg { transform: translateX(4px); }

/* fakty: 2 × 2 na telefonie i tablecie, 4 w rzędzie z pionowymi kreskami od 1025 px */
.rd-onas .rd-onas-fakty {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 26px 18px;
	width: min(calc(100% - 2 * var(--rd-onas-krawedz)), calc(var(--rd-onas-szer) - 2 * var(--rd-onas-krawedz)));
	margin: 0 auto;
	padding: 32px 0;
	border-bottom: 1px solid #d9d2c1;
	list-style: none;
}
.rd-onas-fakt { display: flex; flex-direction: column; gap: 10px; margin: 0; }
.rd-onas-ikona {
	flex: none;
	width: 34px;
	height: 34px;
	fill: none;
	stroke: var(--global-palette1, #134a21);
	stroke-width: 1.4;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.rd-onas-fakt strong {
	display: block;
	color: var(--global-palette1, #134a21);
	font-family: var(--global-heading-font-family, Lora), serif;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.25;
}
.rd-onas-fakt span { display: block; margin-top: 3px; color: #4a6650; font-size: 13px; line-height: 1.45; }

/* opinie zaraz pod spodem: bez beżowej przerwy i bez odstępu — ten sam pas */
.elementor-top-section:has(.rd-onas) + .elementor-top-section .rd-opinie,
.rd-onas + .rd-opinie { margin-top: 0; }
/* odstęp nad modułem daje sam moduł (margin-top wyżej). Sekcja przed nim (26.09: bestsellery z demo, margin-bottom
   84/70/50 px w post-1563.css) traci dolny margines — kontenery Elementora to flexy, marginesy się sumowały (168 px) */
.elementor .elementor-top-section.elementor-element:has(+ .elementor-top-section .rd-onas) { margin-bottom: 0; }

@media (min-width: 768px) and (max-width: 1024px) {
	.rd-onas-foto img { height: 400px; aspect-ratio: auto; }
	.rd-onas-tekst { padding-top: 44px; }
	.rd-onas .rd-onas-opis { max-width: 560px; }
}

@media (min-width: 1025px) {
	.rd-onas-gora {
		--rd-onas-pol: calc(var(--rd-onas-szer) / 2 - var(--rd-onas-krawedz));
		grid-template-columns:
			minmax(var(--rd-onas-krawedz), 1fr)
			minmax(0, var(--rd-onas-pol))
			minmax(0, var(--rd-onas-pol))
			minmax(var(--rd-onas-krawedz), 1fr);
		align-items: center;
	}
	.rd-onas-tekst { grid-column: 2; grid-row: 1; padding: 56px 72px 56px 0; }
	.rd-onas-foto { grid-column: 3 / 5; height: clamp(420px, 34vw, 580px); }
	.rd-onas-foto img { aspect-ratio: auto; }
	.rd-onas--bez-foto .rd-onas-tekst { grid-column: 2 / 4; }

	.rd-onas .rd-onas-fakty { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; padding: 40px 0; }
	.rd-onas-fakt { flex-direction: row; align-items: flex-start; gap: 16px; padding: 2px 24px; border-left: 1px solid #d9d2c1; }
	.rd-onas-fakt:first-child { padding-left: 0; border-left: 0; }
	.rd-onas-ikona { width: 38px; height: 38px; }
}

/* --------------------------------------------------------------------------
   Sekcja „Bestsellery" — shortcode [rd_bestsellery] (2026-09-26)
   Zastępuje widget motywu tmcore-products z demo (6e3d9b4: „top rated”, czyli losowo spośród 250 produktów z oceną
   5,0, także niedostępnych; biała karta, fonty demo, koszyk dopiero po najechaniu). Karty jak w Nowościach
   i Promocjach (rd_karta_produktu, siatka .rd-karty-lista: 4 kolumny, 2 od 1024 px w dół), nagłówek jak w Promocjach:
   tytuł po lewej, opis po prawej. Sekcja Elementora rozciągnięta (tryb `pelna`), więc szerokość daje kontener
   (jak w opiniach), a odstęp od „O nas” daje „O nas” (margin-top).
   -------------------------------------------------------------------------- */
.rd-bestsellery-kontener {
	max-width: var(--global-content-width, 1430px);
	margin: 0 auto;
	padding: 0 var(--global-content-edge-padding, 15px);
}
.rd-bestsellery-naglowek {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 12px 48px;
	margin-bottom: 32px;
}
.rd-bestsellery .rd-bestsellery-tytul {
	margin: 0;
	color: var(--global-palette1, #134a21);
	font-family: var(--global-heading-font-family, Lora), serif;
	font-size: clamp(36px, 3.4vw, 52px);
	font-weight: 500;
	line-height: 1.05;
	letter-spacing: 0;
	text-transform: none;
}
.rd-bestsellery .rd-bestsellery-opis {
	max-width: 600px; /* 1440 px: opis w jednej linii */
	margin: 0;
	color: var(--global-palette1, #134a21);
	font-size: 17px;
	line-height: 1.6;
}
@media (max-width: 767px) {
	.rd-bestsellery-naglowek { margin-bottom: 24px; }
	.rd-bestsellery .rd-bestsellery-opis { font-size: 16px; }
}

/* ==========================================================================
   Karta produktu — etap 1 (2026-09-26, rd-wyglad/rd-karta-produktu.php)
   Demo motywu zdjęte, korzyści sklepu, oceny zamiast „opinii”, serduszko w rogu, Omnibus pod ceną.
   Reset „do fabrycznych”: usuń ten blok, require modułu w rd-wyglad.php i selektory .summary > .woosw-btn
   dopisane do reguł ikony .rd-karta-serce (wyżej).
   ========================================================================== */

/* serduszko w prawym górnym rogu treści kolumny, jak na plnts (ikona z reguł .rd-karta-serce). Motyw daje elementom
   kolumny max-width 650 px, a nazwie nie — serduszko przy krawędzi całej kolumny wisiało 122 px za treścią (1440 px) */
.single-product div.product div.summary { position: relative; }
.single-product div.product div.summary > .product_title { max-width: 650px; padding-right: 56px; }
.single-product div.product div.summary > .woosw-btn {
	position: absolute;
	top: 0;
	left: calc(min(650px, 100%) - 42px);
	width: 42px;
	height: 42px;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 1px solid var(--rd-linia);
	border-radius: 50%;
	background: #fff;
	font-size: 0;
	color: transparent;
	box-shadow: none;
	cursor: pointer;
}
.single-product div.product div.summary > .woosw-btn::after { inset: 11px; }
.single-product div.product div.summary > .woosw-btn:hover { border-color: var(--global-palette1, #134a21); }

/* po zdjęciu „Porównaj” i przeniesieniu serduszka pusty pasek przycisków znika */
.single-product div.product div.summary .wrap_after_button:not(:has(button, a, input, select)) { display: none; }

/* Omnibus pod ceną */
.single-product div.product div.summary > .rd-omnibus { margin: -8px 0 16px; font-size: 12px; }

/* korzyści sklepu pod koszykiem (w miejscu bloku demo „Estimated Delivery…”) */
.rd-korzysci {
	display: grid;
	gap: 8px;
	margin: 24px 0 0;
	padding: 18px 0 0;
	border-top: 1px solid var(--rd-linia);
	list-style: none;
	color: #3f3f3f;
	font-size: 14px;
	line-height: 1.45;
}
.rd-korzysci li { display: flex; gap: 10px; align-items: flex-start; margin: 0; }
.rd-korzysci svg { flex: none; margin-top: 1px; color: var(--global-palette1, #134a21); }
.rd-korzysci a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.rd-korzysci a:hover { color: var(--global-palette1, #134a21); }

/* zakładka „Oceny i opinie”: średnia ocen na górze */
.rd-oceny {
	display: flex;
	align-items: center;
	gap: 18px;
	max-width: 560px;
	margin: 0 0 28px;
	padding: 18px 22px;
	border-radius: 10px;
	background: #efece2;
}
.rd-oceny p { margin: 0; }
.rd-oceny .rd-oceny-liczba {
	color: var(--global-palette1, #134a21);
	font-family: var(--global-heading-font-family, Lora), serif;
	font-size: 42px;
	font-weight: 500;
	line-height: 1;
	white-space: nowrap;
}
.rd-oceny .rd-oceny-liczba span { margin-left: 2px; font-size: 20px; opacity: .75; }
.rd-oceny-opis { display: flex; flex-direction: column; gap: 6px; color: #3f3f3f; font-size: 14px; line-height: 1.45; }
.rd-oceny-opis .star-rating-block { display: flex; justify-content: flex-start; margin: 0; } /* motyw wyrównuje gwiazdki do prawej */
.rd-oceny-opis .star-rating { float: none; margin: 0; }
/* „Komentarze do produktu”: na komputerze lista stoi po lewej (float), a zdanie „Ocenę i komentarz mogą dodać…” po
   prawej zaczynało się 22 px wyżej niż nagłówek. Bez górnego marginesu startują równo; na telefonie odstęp od ramki
   ze średnią daje jej margines (28 px), więc tam nic się nie zmienia. (2026-09-28) */
#reviews .woocommerce-Reviews-title { margin-top: 0; }

/* ==========================================================================
   Karta produktu — etap 2 (2026-09-26, ta sama wtyczka): nazwa łacińska, ikony cech, zakładki w prawej kolumnie,
   „Rozwiń opis”, filmy. Reset samego etapu: filtr rd_karta_etap2 → false (klasy niżej znikają z HTML).
   ========================================================================== */

/* nazwa łacińska pod nazwą, w tym samym H1 — zapis botaniczny (motyw daje tytułom wielkie pierwsze litery) */
.single-product div.product div.summary > .product_title .rd-nazwa-lac {
	display: block;
	margin-top: 6px;
	color: #4a6650;
	font-family: var(--global-body-font-family, Poppins), sans-serif;
	font-size: 15px;
	font-style: italic;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: 0;
	text-transform: none;
}

/* ikony cech pod ceną (jak „Diameter / Height / Loves…” na plnts) */
.rd-ikony {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(96px, 1fr));
	gap: 14px 8px;
	max-width: 650px;
	margin: 4px 0 20px;
	padding: 16px 0;
	border-top: 1px solid var(--rd-linia);
	border-bottom: 1px solid var(--rd-linia);
	list-style: none;
}
.rd-ikony li { display: flex; flex-direction: column; align-items: center; gap: 2px; margin: 0; text-align: center; }
.rd-ikony svg { margin-bottom: 4px; color: var(--global-palette1, #134a21); }
.rd-ikony-etykieta { color: #6b6b6b; font-size: 11px; letter-spacing: .03em; text-transform: uppercase; }
.rd-ikony-wartosc { color: #3f3f3f; font-size: 13px; line-height: 1.3; }

/* galeria przyklejona (motyw) — pod przyklejonym nagłówkiem, który po przewinięciu ma 71 px (desktop) */
@media (min-width: 1025px) {
	/* motyw: .woocommerce div.product div.product-images { top: 0 } — ładuje się po nas, więc wyższa specyficzność */
	.single-product div.product div.base-product-image-wrap.product-images { top: 91px; }
}

/* zakładki w prawej kolumnie, pod korzyściami */
.single-product div.product div.summary .woocommerce-tabs {
	max-width: 650px;
	margin: 30px 0 0;
	padding: 0;
	border: 0;
	background: none;
}
.single-product div.product div.summary .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-start;
	gap: 24px;
	margin: 0 0 18px;
	padding: 0;
	overflow-x: auto;
	border: 0;
	border-bottom: 1px solid var(--rd-linia);
	scrollbar-width: none;
}
.single-product div.product div.summary .woocommerce-tabs ul.tabs::-webkit-scrollbar { display: none; }
.single-product div.product div.summary .woocommerce-tabs ul.tabs::before,
.single-product div.product div.summary .woocommerce-tabs ul.tabs::after { display: none; }
.single-product div.product div.summary .woocommerce-tabs ul.tabs li {
	flex: none;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
}
.single-product div.product div.summary .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 10px 0 9px;
	font-size: 14px;
	white-space: nowrap;
}
.single-product div.product div.summary .woocommerce-Tabs-panel {
	margin: 0;
	padding: 0;
	border: 0;
	color: #3f3f3f;
	font-size: 14px;
	line-height: 1.65;
}
.single-product div.product div.summary .woocommerce-Tabs-panel h2,
.single-product div.product div.summary .woocommerce-Tabs-panel h3 {
	margin: 22px 0 8px;
	color: var(--global-palette1, #134a21);
	font-size: 19px;
	line-height: 1.3;
	letter-spacing: 0;
	text-transform: none;
}
.single-product div.product div.summary .woocommerce-Tabs-panel h3 { font-size: 16px; }
.single-product div.product div.summary .woocommerce-Tabs-panel .rd-tekst > :first-child,
.single-product div.product div.summary .woocommerce-Tabs-panel .rd-zwijany-tresc > :first-child { margin-top: 0; }
.rd-tekst img { max-width: 100%; height: auto; }

.rd-karta-punkty { margin: 0 0 14px; }
.rd-karta-punkty p { margin: 0 0 4px; }
.rd-karta-cechy { margin: 0 0 20px; }
/* tabela cech (Pielęgnacja i Cechy produktu) gęściej — w motywie 9 wierszy zajmowało ok. 500 px */
.single-product div.product div.summary table.woocommerce-product-attributes { margin: 0 0 20px; border: 0; font-size: 13px; }
.single-product div.product div.summary table.woocommerce-product-attributes th,
.single-product div.product div.summary table.woocommerce-product-attributes td { padding: 8px 12px; font-style: normal; line-height: 1.4; }
.single-product div.product div.summary table.woocommerce-product-attributes th { width: 42%; font-weight: 600; }
.single-product div.product div.summary table.woocommerce-product-attributes td p { margin: 0; }

/* „Rozwiń opis” — długie teksty zwinięte do zajawki (decyzja po liczbie słów w PHP) */
.rd-zwijany-tresc { position: relative; max-height: 24em; overflow: hidden; }
.rd-zwijany-tresc::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 5em;
	background: linear-gradient(rgba(255, 250, 242, 0), var(--rd-tlo));
	pointer-events: none;
}
.rd-zwijany.is-otwarty .rd-zwijany-tresc { max-height: none; }
.rd-zwijany.is-otwarty .rd-zwijany-tresc::after { display: none; }
.rd-zwijany-przycisk {
	margin: 8px 0 0;
	padding: 0;
	border: 0;
	background: none;
	color: var(--global-palette1, #134a21);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none; /* motyw daje przyciskom wersaliki */
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}
.rd-zwijany-przycisk:hover,
.rd-zwijany-przycisk:focus { background: none; color: #0d3517; }

/* filmy YouTube: miniatura z przyciskiem, odtwarzacz dopiero po kliknięciu */
.rd-yt { display: block; max-width: 560px; margin: 16px 0; }
.rd-yt-przycisk {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	padding: 0;
	overflow: hidden;
	border: 0;
	border-radius: 10px;
	background: #1b1b1b;
	cursor: pointer;
}
.rd-yt-przycisk img { display: block; width: 100%; height: 100%; object-fit: cover; opacity: .92; }
.rd-yt-play {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 64px;
	height: 44px;
	margin: -22px 0 0 -32px;
	border-radius: 12px;
	background: #c4302b;
}
.rd-yt-play::after {
	content: "";
	position: absolute;
	top: 13px;
	left: 26px;
	border-top: 9px solid transparent;
	border-bottom: 9px solid transparent;
	border-left: 16px solid #fff;
}
.rd-yt iframe { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; border: 0; border-radius: 10px; }

.rd-dostawa ul { margin: 0 0 12px; padding-left: 18px; }

/* zakładka „FAQ” (2026-09-28): blok FAQ ze Shopera wycięty z opisu — pytania (h3) z odpowiedziami, oddzielone linią */
.single-product div.product div.summary .woocommerce-Tabs-panel .rd-faq h2 { margin-bottom: 12px; }
.rd-faq-para { padding: 14px 0; border-top: 1px solid var(--rd-linia); }
.single-product div.product div.summary .woocommerce-Tabs-panel .rd-faq-para h3 { margin: 0 0 4px; }
/* bez tego wygrywa .woocommerce div.product div.summary p { margin: .8em 0 } (Woo) i pod odpowiedzią robi się dziura */
.single-product div.product div.summary .rd-faq-para p { margin: 0; }

/* ==========================================================================
   Karta produktu — etap 3 i 4a (2026-09-26): rozmiar + przewodnik (panel z boku), podpowiedzi pielęgnacyjne.
   Wyłączniki: filtry rd_karta_rozmiary / rd_karta_powiazania → false.
   ========================================================================== */

/* rozmiar pod ceną: „Rozmiar: doniczka ⌀12 cm · Przewodnik po rozmiarach” (klasa inna niż kafelki „Maluchy / S/M / L/XL”) */
.rd-karta-rozmiar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 10px;
	max-width: 650px;
	margin: 0 0 14px;
	color: #3f3f3f;
	font-size: 14px;
}
.rd-karta-rozmiar svg { width: 22px; height: 22px; color: var(--global-palette1, #134a21); }
.rd-karta-rozmiar strong { font-weight: 600; }
.rd-przewodnik-link {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: var(--global-palette1, #134a21);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}
.rd-przewodnik-link:hover,
.rd-przewodnik-link:focus { background: none; color: #0d3517; }

/* panel przewodnika: z prawej na komputerze, od dołu na telefonie (jak „Plant size guide” na plnts) */
html.rd-bez-przewijania { overflow: hidden; }
.rd-przewodnik { position: fixed; inset: 0; z-index: 100000; }
.rd-przewodnik[hidden] { display: none; }
.rd-przewodnik-tlo { position: absolute; inset: 0; background: rgba(20, 30, 20, .45); opacity: 0; transition: opacity .25s ease; }
.rd-przewodnik-panel {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	display: flex;
	flex-direction: column;
	width: min(440px, 100%);
	background: var(--rd-tlo);
	box-shadow: -8px 0 32px rgba(0, 0, 0, .18);
	transform: translateX(100%);
	transition: transform .25s ease;
}
.rd-przewodnik.is-otwarty .rd-przewodnik-tlo { opacity: 1; }
.rd-przewodnik.is-otwarty .rd-przewodnik-panel { transform: none; }
.rd-przewodnik-naglowek {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 18px 22px;
	border-bottom: 1px solid var(--rd-linia);
}
.rd-przewodnik-naglowek h2 {
	margin: 0;
	color: var(--global-palette1, #134a21);
	font-size: 21px;
	letter-spacing: 0;
	text-transform: none;
}
#rd-przewodnik .rd-przewodnik-zamknij { /* ID — motyw daje przyciskom ciemne tło */
	flex: none;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 1px solid var(--rd-linia);
	border-radius: 50%;
	background: #fff;
	color: #3f3f3f;
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
}
#rd-przewodnik .rd-przewodnik-zamknij:hover,
#rd-przewodnik .rd-przewodnik-zamknij:focus { border-color: var(--global-palette1, #134a21); background: #fff; color: var(--global-palette1, #134a21); }
.rd-przewodnik-tresc { overflow-y: auto; padding: 20px 22px 32px; color: #3f3f3f; font-size: 14px; line-height: 1.6; }
.rd-przewodnik-tresc h3 {
	margin: 22px 0 6px;
	color: var(--global-palette1, #134a21);
	font-size: 16px;
	letter-spacing: 0;
	text-transform: none;
}
.rd-przewodnik-skala { display: grid; gap: 10px; margin: 18px 0 8px; padding: 0; list-style: none; }
.rd-przewodnik-skala li { display: grid; grid-template-columns: 44px 70px 1fr; align-items: center; gap: 8px; margin: 0; }
.rd-przewodnik-ikona { display: flex; align-items: flex-end; justify-content: center; height: 40px; color: var(--global-palette1, #134a21); }
.rd-przewodnik-ikona svg { width: var(--rd-px, 24px); height: var(--rd-px, 24px); }
@media (max-width: 767px) {
	.rd-przewodnik-panel {
		top: auto;
		left: 0;
		width: 100%;
		max-height: 85vh;
		border-radius: 16px 16px 0 0;
		transform: translateY(100%);
	}
}
@media (prefers-reduced-motion: reduce) {
	.rd-przewodnik-tlo,
	.rd-przewodnik-panel { transition: none; }
}

/* „Do pielęgnacji tej rośliny” — kafelki pod korzyściami (jak „Care products for this plant” na plnts) */
.rd-pow { max-width: 650px; margin: 22px 0 0; }
.rd-pow-tytul { margin: 0 0 10px; color: var(--global-palette1, #134a21); font-size: 14px; font-weight: 600; }
.rd-pow-lista { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.rd-pow-kafelek {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0;
	padding: 10px 10px 12px;
	border-radius: 10px;
	background: #efece2;
}
.rd-pow-foto img { display: block; width: 100%; height: 96px; object-fit: contain; mix-blend-mode: multiply; }
.rd-pow-opis { display: flex; flex-direction: column; gap: 2px; min-height: 3.1em; padding-right: 54px; }
.rd-pow-nazwa {
	display: -webkit-box;
	overflow: hidden;
	color: #3f3f3f;
	font-size: 12px;
	line-height: 1.35;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}
.rd-pow-cena { color: var(--global-palette1, #134a21); font-size: 13px; font-weight: 600; }
.rd-pow-kafelek .rd-pow-koszyk { position: absolute; right: 10px; bottom: 12px; }
.rd-pow-kafelek .added_to_cart { display: none; }
@media (max-width: 480px) {
	.rd-pow-lista { grid-template-columns: none; grid-auto-columns: 46%; grid-auto-flow: column; overflow-x: auto; }
}

/* „Polecamy do roślin” na kartach podłoży i nawozów — karty jak na stronie głównej */
.rd-polecamy { margin: 56px 0 0; }
.rd-polecamy-tytul {
	margin: 0 0 22px;
	color: var(--global-palette1, #134a21);
	font-family: var(--global-heading-font-family, Lora), serif;
	font-size: clamp(26px, 2.4vw, 34px);
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
}
.rd-polecamy .rd-karty { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px 20px; margin: 0; padding: 0; list-style: none; }
@media (max-width: 1024px) {
	.rd-polecamy .rd-karty { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 14px; }
}

/* --------------------------------------------------------------------------
   Sekcja „Porady" — shortcode [rd_porady] (2026-09-27, rd-wyglad/rd-porady.php)
   Zastępuje widget motywu tmcore-post-grid z demo (bca742c: Playball + wersaliki na środku, tytuły wpisów ucięte
   po jednej linii, daty z 2025). Nagłówek: tytuł i przycisk jak w Promocjach, opis po prawej jak w Bestsellerach.
   Desktop: 3 karty ze zdjęciem 3:2. Telefon: lista (miniatura + tytuł) zamiast drugiej karuzeli zaraz pod opiniami.
   Cała karta klikalna jednym linkiem (tytuł, ::after na kartę).
   Sekcja Elementora rozciągnięta (tryb `pelna`), więc szerokość daje kontener, jak w Bestsellerach.
   ODSTĘPY: sekcja nie ma własnych — 84 px nad i pod dają pasy Opinii i Newslettera (ich margin). Po przeniesieniu
   sekcji między inne moduły trzeba dać jej margin (np. clamp(48px, 6vw, 84px) 0).
   -------------------------------------------------------------------------- */
.rd-porady { margin: 0; padding: 0; }
.rd-porady-kontener {
	max-width: var(--global-content-width, 1430px);
	margin: 0 auto;
	padding: 0 var(--global-content-edge-padding, 15px);
}
.rd-porady-naglowek {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 560px);
	grid-template-areas: "tytul opis" "przycisk opis";
	align-items: end;
	gap: 16px 48px;
	margin-bottom: 36px;
}
.rd-porady .rd-porady-tytul {
	grid-area: tytul;
	margin: 0;
	color: var(--global-palette1, #134a21);
	font-family: var(--global-heading-font-family, Lora), serif;
	font-size: clamp(36px, 3.4vw, 52px);
	font-weight: 500;
	line-height: 1.05;
	letter-spacing: 0;
	text-transform: none;
}
.rd-porady .rd-porady-opis { grid-area: opis; margin: 0; color: var(--global-palette1, #134a21); font-size: 17px; line-height: 1.6; }
.rd-porady .rd-porady-wiecej {
	grid-area: przycisk;
	justify-self: start;
	padding: 10px 26px;
	border: 1.4px solid var(--global-palette1);
	border-radius: 999px;
	color: var(--global-palette1);
	text-decoration: none;
	transition: background .2s, color .2s;
}
.rd-porady .rd-porady-wiecej:hover,
.rd-porady .rd-porady-wiecej:focus-visible { background: var(--global-palette1); color: #fff; }

.rd-porady .rd-porady-lista {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 40px 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.rd-porady .rd-porady-karta { position: relative; display: flex; flex-direction: column; gap: 18px; margin: 0; }
.rd-porady-foto { aspect-ratio: 3 / 2; background: #efece2; overflow: hidden; }
.rd-porady .rd-porady-img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.rd-porady-karta:hover .rd-porady-img { transform: scale(1.04); }
.rd-porady-tekst { display: flex; flex: 1; flex-direction: column; align-items: flex-start; gap: 8px; }
.rd-porady .rd-porady-meta { display: flex; flex-wrap: wrap; margin: 0; color: #5e6846; font-size: 13px; line-height: 1.5; letter-spacing: .02em; }
.rd-porady-kat,
.rd-porady-czas { white-space: nowrap; }
.rd-porady-kat + .rd-porady-czas::before { content: "·"; margin: 0 6px; }
.rd-porady .rd-porady-nazwa {
	margin: 0;
	font-family: var(--global-heading-font-family, Lora), serif;
	font-size: 22px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: 0;
	text-transform: none;
}
.rd-porady .rd-porady-nazwa a {
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	color: var(--global-palette1);
	text-decoration: none;
}
.rd-porady .rd-porady-nazwa a::after { content: ""; position: absolute; inset: 0; } /* cała karta = jeden link */
.rd-porady-karta:hover .rd-porady-nazwa a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.rd-porady .rd-porady-nazwa a:focus-visible { outline: none; }
.rd-porady .rd-porady-nazwa a:focus-visible::after { outline: 2px solid var(--global-palette1); outline-offset: 6px; }
.rd-porady .rd-porady-zajawka {
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	margin: 0;
	color: #666;
	font-size: 15px;
	line-height: 1.6;
}
.rd-porady-czytaj { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 4px; color: var(--global-palette1); font-size: 15px; font-weight: 600; } /* na dole karty — równo we wszystkich */
.rd-porady-czytaj svg { width: 16px; height: 16px; transition: transform .2s; }
.rd-porady-karta:hover .rd-porady-czytaj svg { transform: translateX(4px); }

/* telefon: lista zamiast kart — pod opiniami (karuzela) nie stawiamy drugiej karuzeli */
@media (max-width: 767px) {
	.rd-porady-naglowek { grid-template-columns: minmax(0, 1fr); grid-template-areas: "tytul" "opis" "przycisk"; gap: 14px; margin-bottom: 24px; }
	.rd-porady .rd-porady-opis { font-size: 16px; }
	.rd-porady-kat { display: none; } /* „Zielony poradnik · 5 min czytania" łamało się w środku — zostaje czas */
	.rd-porady-kat + .rd-porady-czas::before { content: none; }
	.rd-porady .rd-porady-lista { grid-template-columns: minmax(0, 1fr); gap: 0; }
	.rd-porady .rd-porady-karta {
		display: grid;
		grid-template-columns: 104px minmax(0, 1fr);
		align-items: start;
		gap: 16px;
		padding: 16px 0;
		border-top: 1px solid var(--rd-linia, #e7e3d9);
	}
	.rd-porady .rd-porady-karta:last-child { border-bottom: 1px solid var(--rd-linia, #e7e3d9); }
	.rd-porady-foto { aspect-ratio: 1; }
	.rd-porady-tekst { gap: 4px; }
	.rd-porady .rd-porady-nazwa { font-size: 18px; }
	.rd-porady .rd-porady-zajawka,
	.rd-porady-czytaj { display: none; }
}
@media (prefers-reduced-motion: reduce) {
	.rd-porady .rd-porady-img,
	.rd-porady-czytaj svg { transition: none; }
}

/* --------------------------------------------------------------------------
   Karta produktu — „Poczytaj o tej roślinie” (2026-09-27, rd-wyglad/rd-karta-porady.php)
   Wpisy z bloga, w których pada nazwa rośliny (tytuł > nagłówki > wzmianki), pod kolumną z nazwą, nad „Podobnymi
   produktami”. Karta wpisu jak w „Poradach” na głównej; tytuł sekcji jak „Polecamy do roślin”. Pasek przewijany
   w bok: desktop 3 widoczne + strzałki (tylko gdy wpisów jest więcej), tablet 2, telefon ok. 1,2 — brzeg następnej
   karty pokazuje, że można przesunąć palcem. Pasek ma overflow, więc obrys fokusu idzie do środka karty.
   -------------------------------------------------------------------------- */
.rd-kp { margin: 56px 0 0; }
.rd-kp-naglowek,
.rd-podobne-naglowek { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; margin-bottom: 22px; }
.rd-kp .rd-kp-tytul,
.rd-podobne .rd-podobne-tytul {
	margin: 0;
	color: var(--global-palette1, #134a21);
	font-family: var(--global-heading-font-family, Lora), serif;
	font-size: clamp(26px, 2.4vw, 34px);
	font-weight: 500;
	line-height: 1.15;
	letter-spacing: 0;
	text-transform: none;
}
.rd-kp-akcje { display: flex; align-items: center; gap: 16px; }
.rd-kp .rd-kp-wiecej,
.rd-podobne .rd-podobne-wiecej {
	padding: 8px 22px;
	border: 1.4px solid var(--global-palette1);
	border-radius: 999px;
	color: var(--global-palette1);
	font-size: 15px;
	text-decoration: none;
	white-space: nowrap;
	transition: background .2s, color .2s;
}
.rd-kp .rd-kp-wiecej:hover,
.rd-kp .rd-kp-wiecej:focus-visible,
.rd-podobne .rd-podobne-wiecej:hover,
.rd-podobne .rd-podobne-wiecej:focus-visible { background: var(--global-palette1); color: #fff; }
.rd-kp-strzalki { display: flex; gap: 8px; }
.rd-kp-strzalki[hidden] { display: none; }
.rd-kp .rd-kp-strzalki button {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	padding: 0;
	border: 1.4px solid var(--global-palette1);
	border-radius: 50%;
	background: transparent;
	color: var(--global-palette1);
	cursor: pointer;
	transition: background .2s, color .2s, opacity .2s;
}
.rd-kp .rd-kp-strzalki button:hover:not(:disabled),
.rd-kp .rd-kp-strzalki button:focus-visible { background: var(--global-palette1); color: #fff; }
.rd-kp .rd-kp-strzalki button:disabled { opacity: .35; cursor: default; }
.rd-kp-strzalki svg { width: 18px; height: 18px; }
.rd-kp-wstecz svg { transform: scaleX(-1); }

.rd-kp .rd-kp-lista {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - 48px) / 3);
	gap: 24px;
	margin: 0;
	padding: 0;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	list-style: none;
}
.rd-kp-lista::-webkit-scrollbar { display: none; }
.rd-kp .rd-kp-wpis { position: relative; display: flex; flex-direction: column; gap: 16px; margin: 0; scroll-snap-align: start; }
.rd-kp-foto { aspect-ratio: 3 / 2; background: #efece2; overflow: hidden; }
.rd-kp .rd-kp-img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.rd-kp-wpis:hover .rd-kp-img { transform: scale(1.04); }
.rd-kp-tekst { display: flex; flex: 1; flex-direction: column; align-items: flex-start; gap: 8px; }
.rd-kp .rd-kp-meta { display: flex; flex-wrap: wrap; margin: 0; color: #5e6846; font-size: 13px; line-height: 1.5; letter-spacing: .02em; }
.rd-kp-kat,
.rd-kp-czas { white-space: nowrap; }
.rd-kp-kat + .rd-kp-czas::before { content: "·"; margin: 0 6px; }
.rd-kp .rd-kp-nazwa {
	margin: 0;
	font-family: var(--global-heading-font-family, Lora), serif;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: 0;
	text-transform: none;
}
.rd-kp .rd-kp-nazwa a {
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	color: var(--global-palette1);
	text-decoration: none;
}
.rd-kp .rd-kp-nazwa a::after { content: ""; position: absolute; inset: 0; } /* cała karta = jeden link */
.rd-kp-wpis:hover .rd-kp-nazwa a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.rd-kp .rd-kp-nazwa a:focus-visible { outline: none; }
.rd-kp .rd-kp-nazwa a:focus-visible::after { outline: 2px solid var(--global-palette1); outline-offset: -2px; }
.rd-kp .rd-kp-zajawka {
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	margin: 0;
	color: #666;
	font-size: 15px;
	line-height: 1.6;
}
.rd-kp-czytaj { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 4px; color: var(--global-palette1); font-size: 15px; font-weight: 600; }
.rd-kp-czytaj svg { width: 16px; height: 16px; transition: transform .2s; }
.rd-kp-wpis:hover .rd-kp-czytaj svg { transform: translateX(4px); }

/* odstęp przed „Podobnymi produktami” — motyw nie daje żadnego (h2 bez marginesu), więc nasze sekcje stykały się z nim:
   ta i „Polecamy do roślin” na kartach podłoży (tam 0 px od 27.09) */
:is(.rd-kp, .rd-polecamy) + section.related { margin-top: 64px; }

/* „Podobne rośliny / produkty” (2026-09-29, rd-wyglad/rd-podobne.php) — zamiast section.related motywu. Nagłówek wspólny
   z „Poczytaj o tej roślinie” (reguły wyżej), karty i siatka jak w Bestsellerach (.rd-karty-lista: 4 / 2 kolumny). */
.rd-podobne { margin: 64px 0 0; }

@media (max-width: 1024px) {
	.rd-kp .rd-kp-lista { grid-auto-columns: calc((100% - 16px) / 2); gap: 16px; }
}
@media (max-width: 767px) {
	.rd-kp { margin-top: 40px; }
	:is(.rd-kp, .rd-polecamy) + section.related { margin-top: 48px; }
	.rd-podobne { margin-top: 48px; }
	.rd-kp-strzalki,
	.rd-kp-strzalki[hidden] { display: none; } /* telefon: przesuwanie palcem */
	.rd-kp .rd-kp-lista { grid-auto-columns: 82%; gap: 14px; }
	.rd-kp .rd-kp-nazwa { font-size: 18px; }
	.rd-kp .rd-kp-zajawka { -webkit-line-clamp: 2; }
}
@media (prefers-reduced-motion: reduce) {
	.rd-kp .rd-kp-img,
	.rd-kp-czytaj svg { transition: none; }
}

/* --------------------------------------------------------------------------
   Encyklopedia roślin (2026-09-28, rd-wyglad/rd-encyklopedia.php)
   Strona [rd_encyklopedia]: lista A–Z, która prowadzi do KATEGORII (opisy kategorii = treść encyklopedii).
   Kafelek: zdjęcie na beżu jak w kartach produktów, nazwa Lora, łacina kursywą, liczba roślin w sklepie.
   Karta rośliny: beżowy blok „Encyklopedia roślin · Monstera” (jak „Everything about Monstera” na plnts) nad paskiem
   „Poczytaj o tej roślinie”.
   -------------------------------------------------------------------------- */
.rd-enc { margin: 0 0 64px; }
.rd-enc .rd-enc-wstep { max-width: 760px; margin: 0 0 28px; color: var(--global-palette1, #134a21); font-size: 17px; line-height: 1.6; }
.rd-enc-narzedzia { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; margin: 0 0 40px; }
.rd-enc-szukaj { flex: 0 1 420px; margin: 0; }
.rd-enc-szukaj input[type="search"] {
	width: 100%;
	padding: 12px 20px;
	border: 1.4px solid var(--global-palette1, #134a21);
	border-radius: 999px;
	background: #fff;
	color: var(--global-palette1, #134a21);
	font-size: 16px;
}
.rd-enc-litery { display: flex; flex: 1 1 400px; flex-wrap: wrap; gap: 6px; }
.rd-enc-litery[hidden] { display: none; }
.rd-enc .rd-enc-litery a {
	display: grid;
	place-items: center;
	min-width: 38px;
	height: 38px;
	padding: 0 8px;
	border: 1px solid var(--rd-linia, #e7e3d9);
	border-radius: 999px;
	color: var(--global-palette1, #134a21);
	font-weight: 600;
	text-decoration: none;
	transition: background .2s, color .2s, border-color .2s;
}
.rd-enc .rd-enc-litery a:hover,
.rd-enc .rd-enc-litery a:focus-visible { border-color: var(--global-palette1); background: var(--global-palette1); color: #fff; }
.rd-enc-brak { margin: 0 0 40px; font-size: 17px; }
.rd-enc-litera { margin: 0 0 44px; scroll-margin-top: 130px; }
.rd-enc-litera[hidden] { display: none; }
.rd-enc .rd-enc-litera-tytul {
	margin: 0 0 18px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--rd-linia, #e7e3d9);
	color: var(--global-palette1, #134a21);
	font-family: var(--global-heading-font-family, Lora), serif;
	font-size: 34px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0;
	text-transform: none;
}
.rd-enc .rd-enc-lista { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 30px 20px; margin: 0; padding: 0; list-style: none; }
.rd-enc .rd-enc-haslo { margin: 0; }
.rd-enc-haslo[hidden] { display: none; }
.rd-enc .rd-enc-haslo a { display: flex; flex-direction: column; gap: 4px; color: inherit; text-decoration: none; }
.rd-enc-foto { display: block; aspect-ratio: 1; margin-bottom: 10px; background: #efece2; overflow: hidden; }
.rd-enc-foto img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.rd-enc-haslo a:hover .rd-enc-foto img { transform: scale(1.04); }
.rd-enc .rd-enc-nazwa {
	margin: 0;
	color: var(--global-palette1, #134a21);
	font-family: var(--global-heading-font-family, Lora), serif;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: 0;
	text-transform: none;
}
.rd-enc-haslo a:hover .rd-enc-nazwa { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.rd-enc-haslo a:focus-visible { outline: 2px solid var(--global-palette1); outline-offset: 4px; }
.rd-enc-lac { color: #5e6846; font-size: 14px; font-style: italic; }
.rd-enc-ile { color: #666; font-size: 13px; }
.rd-enc .rd-enc-inne { margin: 18px 0 0; color: #666; font-size: 14px; line-height: 1.8; }
.rd-enc-inne[hidden],
.rd-enc-inna[hidden] { display: none; }
.rd-enc-inne > span:first-child { margin-right: 6px; color: #5e6846; }
.rd-enc-inna:not(:last-child)::after { content: "·"; margin: 0 8px; color: #999; }
.rd-enc .rd-enc-inne a { color: var(--global-palette1, #134a21); }

/* karta rośliny: „Encyklopedia roślin · Monstera” */
.rd-enc-karta {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 16px 56px;
	align-items: start;
	margin: 56px 0 0;
	padding: clamp(28px, 4vw, 48px);
	background: #efece2;
}
.rd-enc-karta .rd-enc-karta-etykieta { margin: 0 0 8px; color: #5e6846; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; }
.rd-enc-karta .rd-enc-karta-etykieta a { color: inherit; text-decoration: none; }
.rd-enc-karta .rd-enc-karta-etykieta a:hover { text-decoration: underline; }
.rd-enc-karta .rd-enc-karta-tytul {
	margin: 0;
	color: var(--global-palette1, #134a21);
	font-family: var(--global-heading-font-family, Lora), serif;
	font-size: clamp(30px, 3vw, 42px);
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: 0;
	text-transform: none;
}
.rd-enc-karta .rd-enc-karta-lac { margin: 6px 0 0; color: #5e6846; font-size: 16px; font-style: italic; }
.rd-enc-karta .rd-enc-karta-wstep { margin: 0 0 20px; color: var(--global-palette1, #134a21); font-size: 17px; line-height: 1.6; }
.rd-enc-karta .rd-enc-karta-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 10px 24px;
	border: 1.4px solid var(--global-palette1, #134a21);
	border-radius: 999px;
	color: var(--global-palette1, #134a21);
	font-weight: 600;
	text-decoration: none;
	transition: background .2s, color .2s;
}
.rd-enc-karta .rd-enc-karta-link:hover,
.rd-enc-karta .rd-enc-karta-link:focus-visible { background: var(--global-palette1); color: #fff; }
.rd-enc-karta-link svg { width: 16px; height: 16px; }
.rd-enc-karta + section.related { margin-top: 64px; }

@media (max-width: 1024px) {
	.rd-enc .rd-enc-lista { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.rd-enc-karta { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px) {
	.rd-enc .rd-enc-lista { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 14px; }
	.rd-enc .rd-enc-nazwa { font-size: 18px; }
	.rd-enc .rd-enc-litera-tytul { font-size: 28px; }
	.rd-enc .rd-enc-litery a { min-width: 34px; height: 34px; }
	.rd-enc-karta { margin-top: 40px; padding: 26px 20px; }
	.rd-enc-karta .rd-enc-karta-wstep { display: -webkit-box; overflow: hidden; -webkit-line-clamp: 5; -webkit-box-orient: vertical; font-size: 16px; }
	.rd-enc-karta + section.related { margin-top: 48px; }
}
@media (prefers-reduced-motion: reduce) {
	.rd-enc-foto img { transition: none; }
}

/* ==========================================================================
   Karta produktu — etap 5b (2026-09-28): wybór wariantu przyciskami jak na plnts (kółka 40 px, na telefonie 36 px,
   ramka 1 px #134a21, wybrany wypełniony), cena i Omnibus wybranego wariantu u góry. 5c: „od X zł”.
   Wyłącznik: filtr rd_karta_warianty → false (przycisków nie ma, więc reguły z :has() niżej nic nie robią).
   ========================================================================== */

/* tabela wariantów Woo (etykieta | lista) → zwykły blok; etykietę zastępuje nasz nagłówek, lista i „Wyczyść” znikają */
.single-product div.product div.summary table.variations:has(.rd-warianty) { display: block; width: 100%; margin: 0; border: 0; }
.single-product div.product div.summary table.variations:has(.rd-warianty) :is(tbody, tr, td) { display: block; width: 100%; margin: 0; padding: 0; border: 0; background: none; }
.single-product div.product div.summary table.variations:has(.rd-warianty) th { display: none; }
.single-product div.product div.summary table.variations .rd-warianty-lista-woo,
.single-product div.product div.summary table.variations:has(.rd-warianty) .reset_variations { display: none !important; }

.rd-warianty-blok { max-width: 650px; margin: 0 0 4px; }
.single-product div.product div.summary .rd-warianty-blok .rd-warianty-tytul {
	margin: 0 0 10px;
	color: var(--global-palette1, #134a21);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
}
.rd-warianty-rzad { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; }
.rd-warianty { display: flex; flex-wrap: wrap; gap: 8px; }
/* motyw daje przyciskom ciemne tło, wersaliki i padding — stąd długi selektor */
.single-product div.product div.summary form.variations_form .rd-wariant {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	margin: 0;
	padding: 0;
	border: 1px solid var(--global-palette1, #134a21);
	border-radius: 999px;
	background: transparent;
	box-shadow: none;
	color: var(--global-palette1, #134a21);
	font-family: inherit;
	font-size: 16px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0;
	text-transform: none;
	cursor: pointer;
	transition: background-color .1s ease, color .1s ease;
}
.single-product div.product div.summary form.variations_form .rd-wariant.is-szeroki { padding: 0 16px; } /* „Maluch” */
.single-product div.product div.summary form.variations_form .rd-wariant:hover { background: rgba(19, 74, 33, .08); color: var(--global-palette1, #134a21); }
.single-product div.product div.summary form.variations_form .rd-wariant.is-wybrany { background: var(--global-palette1, #134a21); color: var(--rd-tlo, #fffaf2); }
.single-product div.product div.summary form.variations_form .rd-wariant:focus-visible { outline: 2px solid var(--global-palette1, #134a21); outline-offset: 2px; }
/* rozmiar chwilowo niedostępny: da się go wybrać (pokaże „Brak w magazynie”), ale wygląda na wyłączony */
.single-product div.product div.summary form.variations_form .rd-wariant.is-brak { border-style: dashed; border-color: #a9a9a9; color: #8a8a8a; text-decoration: line-through; }
.single-product div.product div.summary form.variations_form .rd-wariant.is-brak.is-wybrany { border: 1px solid #8a978c; background: #8a978c; color: #fff; }
.single-product div.product div.summary form.variations_form .rd-wariant:disabled { opacity: .4; cursor: not-allowed; }

/* pod przyciskami: opis wariantu (średnica i wysokość) i stan; cena wariantu jest u góry, więc tu jej nie ma */
.single-product div.product div.summary:has(.rd-cena-wariantu) .single_variation .woocommerce-variation-price { display: none; }
.single-product div.product div.summary form.variations_form .woocommerce-variation-description p {
	margin: 12px 0 0;
	color: #3f3f3f;
	font-size: 14px;
	line-height: 1.5;
}
.single-product div.product div.summary form.variations_form .woocommerce-variation-availability p { margin: 10px 0 0; }
.single-product div.product div.summary form.variations_form .single_variation_wrap { margin-top: 4px; }
.single-product div.product div.summary form.variations_form .woocommerce-variation-add-to-cart { margin-top: 16px; }

/* Omnibus wybranego wariantu — jak Omnibus produktu prostego */
.single-product div.product div.summary > .rd-omnibus-wariantu { margin: -8px 0 16px; font-size: 12px; }
.single-product div.product div.summary > .rd-omnibus-wariantu[hidden] { display: none; }

/* przewodnik: wybrany rozmiar podświetlony */
.rd-przewodnik-skala li.is-wybrany { margin: 0 -8px; padding: 4px 8px; border-radius: 8px; background: #efece2; }
.rd-przewodnik-skala li.is-wybrany strong { color: var(--global-palette1, #134a21); }

/* 5c: „od 35,99 zł” */
.rd-cena-od { margin-right: 1px; font-size: .8em; font-weight: 400; }

@media (max-width: 767px) {
	.single-product div.product div.summary form.variations_form .rd-wariant { min-width: 36px; height: 36px; font-size: 14px; }
	.single-product div.product div.summary form.variations_form .rd-wariant.is-szeroki { padding: 0 14px; }
}

/* ==========================================================================
   Strona kategorii — etap 1 (2026-09-28, plan-strona-kategorii-2026-09-28.md): nagłówek do lewej, jak plnts i ZP,
   nasze kafelki 3 w rzędzie (telefon 2), bez przełącznika siatka / lista. Wstęp i opis — rd-opisy-kategorii.php.
   Wyłącznik: filtr rd_kategorie → false (bez klasy rd-karty-kategoria reguły listy nic nie robią).
   ========================================================================== */
/* nagłówek motywu to kolumna flex wyśrodkowana — tytuł i wstęp do lewej, jak na plnts i ZP */
.tax-product_cat .product-archive-title,
.tax-product_tag .product-archive-title { align-items: flex-start; text-align: left; }
/* nazwa kategorii tak, jak jest zapisana („Rośliny domowe”), nie wersalikami motywu */
.tax-product_cat .product-archive-title h1,
.tax-product_tag .product-archive-title h1 {
	align-self: stretch;
	width: 100%;
	margin: 10px 0 14px;
	font-size: 40px;
	letter-spacing: 0;
	text-align: left;
	text-transform: none;
}
.tax-product_cat .base-woo-toggle,
.tax-product_tag .base-woo-toggle,
.search-results .base-woo-toggle { display: none; }

/* lista produktów: nasze kafelki w siatce 3 × 8 */
.woocommerce ul.products.rd-karty-kategoria {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 36px 20px;
	margin: 0 0 40px;
	padding: 0;
	list-style: none;
}
/* odstęp Woo (clearfix) byłby w siatce pustym polem */
.woocommerce ul.products.rd-karty-kategoria::before,
.woocommerce ul.products.rd-karty-kategoria::after { display: none; }
/* „entry” jest tylko dla „Załaduj więcej” motywu — bez jego cienia, zaokrągleń i tła */
.woocommerce ul.products.rd-karty-kategoria > li.rd-karta { width: auto; margin: 0; padding: 0; float: none; border-radius: 0; background: none; box-shadow: none; }
@media (max-width: 767px) {
	.tax-product_cat .product-archive-title h1,
	.tax-product_tag .product-archive-title h1 { font-size: 30px; }
	.woocommerce ul.products.rd-karty-kategoria { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 14px; }
}
/* ==========================================================================
   Strona kategorii — etap 2 (2026-09-28, plan-strona-kategorii-2026-09-28.md): filtry po lewej (układ jak ZP, sekcje
   jak na plnts: zielony pogrubiony tytuł ze strzałką, cienka linia), cena suwakiem + polami, wybrane filtry nad listą.
   Telefon i tablet (< 1025 px, motyw chowa tam pasek): przycisk „Filtruj (2)” i panel — mechanizm i wygląd przewodnika
   po rozmiarach (od dołu na telefonie, z prawej na tablecie). Moduł rd-wyglad/rd-filtry.php, wyłącznik: filtr rd_filtry.
   ========================================================================== */
.rd-filtry { color: #3f3f3f; font-size: 14px; line-height: 1.4; }
.rd-f-sekcja { margin: 0; padding: 14px 0; border-bottom: 1px solid var(--rd-linia); }
.rd-filtry > .rd-f-sekcja:first-of-type { padding-top: 0; }
.rd-f-sekcja > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 0 0 8px;
	padding: 2px 0;
	color: var(--global-palette1, #134a21);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
	list-style: none;
	cursor: pointer;
}
.rd-f-sekcja > summary::-webkit-details-marker { display: none; }
.rd-f-sekcja > summary::after {
	content: "";
	flex: none;
	width: 7px;
	height: 7px;
	margin-right: 4px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: translateY(2px) rotate(-135deg);
	transition: transform .2s ease;
}
.rd-f-sekcja:not([open]) > summary { margin-bottom: 0; }
.rd-f-sekcja:not([open]) > summary::after { transform: translateY(-2px) rotate(45deg); }
.rd-f-sekcja > summary:focus-visible { outline: 2px solid var(--global-palette1, #134a21); outline-offset: 2px; }

/* ptaszki: pole, nazwa, liczba z prawej (jak ZP) */
.rd-f-opcja {
	display: grid;
	grid-template-columns: 18px minmax(0, 1fr) auto;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 5px 0;
	color: #3f3f3f;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.35;
	cursor: pointer;
}
.rd-filtry .rd-f-opcja input[type="checkbox"] {
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: var(--global-palette1, #134a21);
	cursor: pointer;
}
.rd-f-liczba { color: #8a8a80; font-size: 13px; font-variant-numeric: tabular-nums; }
.rd-f-opcja.is-zero,
.rd-f-kolko.is-zero { opacity: .45; cursor: not-allowed; }
.rd-filtry .rd-f-opcja.is-zero input { cursor: not-allowed; }
.rd-f-ptaszki { padding-top: 10px; }

/* kategorie: linki z liczbą, bieżąca pogrubiona; długie listy zwinięte do 8 */
.rd-filtry ul.rd-f-kategorie { margin: 0; padding: 0; list-style: none; } /* motyw: .widget-area ul { padding-left: .5em } */
.rd-f-kategorie li { margin: 0; padding: 0; }
.rd-f-kategorie a {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	padding: 4px 0;
	color: #3f3f3f;
	text-decoration: none;
}
.rd-f-kategorie a:hover { color: var(--global-palette1, #134a21); text-decoration: underline; text-underline-offset: 3px; }
.rd-f-kategorie a[aria-current] { color: var(--global-palette1, #134a21); font-weight: 600; }
.rd-f-kategorie.is-zwinieta > li:nth-child(n+9) { display: none; }
.rd-f-wstecz { display: inline-block; margin: 0 0 6px; color: var(--global-palette1, #134a21); font-size: 13px; text-decoration: none; }
.rd-f-wstecz:hover { text-decoration: underline; text-underline-offset: 3px; }
.rd-filtry button.rd-f-wiecej {
	margin: 6px 0 0;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
	color: var(--global-palette1, #134a21);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}

/* cena: suwak z dwoma uchwytami (dwa pola range na jednym torze) + pola od–do */
.rd-f-suwak { --od: 0%; --do: 100%; position: relative; height: 28px; margin: 4px 10px 10px; }
.rd-f-suwak::before,
.rd-f-suwak-pasek { content: ""; position: absolute; top: 12px; height: 4px; border-radius: 2px; }
.rd-f-suwak::before { left: 0; right: 0; background: var(--rd-linia); }
.rd-f-suwak-pasek { left: var(--od); right: calc(100% - var(--do)); background: var(--global-palette1, #134a21); }
.rd-filtry .rd-f-suwak input[type="range"] {
	position: absolute;
	top: 0;
	left: -10px;
	width: calc(100% + 20px);
	max-width: none; /* motyw: max-width 100% dla pól — uchwyt nie dochodził do końca toru */
	height: 28px;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	-webkit-appearance: none;
	appearance: none;
	pointer-events: none;
	z-index: 1;
}
.rd-filtry .rd-f-suwak input[type="range"]::-webkit-slider-runnable-track { height: 28px; background: none; border: 0; }
.rd-filtry .rd-f-suwak input[type="range"]::-moz-range-track { height: 28px; background: none; border: 0; }
.rd-filtry .rd-f-suwak input[type="range"]::-webkit-slider-thumb {
	-webkit-appearance: none;
	width: 20px;
	height: 20px;
	margin-top: 4px;
	border: 2px solid var(--global-palette1, #134a21);
	border-radius: 50%;
	background: #fff;
	pointer-events: auto;
	cursor: grab;
}
.rd-filtry .rd-f-suwak input[type="range"]::-moz-range-thumb {
	width: 16px;
	height: 16px;
	border: 2px solid var(--global-palette1, #134a21);
	border-radius: 50%;
	background: #fff;
	pointer-events: auto;
	cursor: grab;
}
.rd-filtry .rd-f-suwak input[type="range"]:focus-visible::-webkit-slider-thumb { box-shadow: 0 0 0 3px rgba(19, 74, 33, .25); }
.rd-f-cena { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; }
.rd-f-cena label { display: flex; align-items: center; gap: 6px; margin: 0; color: #3f3f3f; font-size: 13px; font-weight: 400; }
.rd-filtry .rd-f-cena input[type="number"] {
	width: 76px;
	height: 36px;
	margin: 0;
	padding: 0 8px;
	border: 1px solid #d9d4c7;
	border-radius: 6px;
	background: #fff;
	box-shadow: none;
	color: #3f3f3f;
	font-size: 14px;
	text-align: right;
	-moz-appearance: textfield;
	appearance: textfield;
}
.rd-filtry .rd-f-cena input[type="number"]::-webkit-inner-spin-button,
.rd-filtry .rd-f-cena input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.rd-filtry .rd-f-cena input[type="number"]:focus { border-color: var(--global-palette1, #134a21); outline: 0; }

/* rozmiar: kółka jak przyciski rozmiaru na karcie produktu */
.rd-f-kolka { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 2px; }
.rd-f-kolko { position: relative; margin: 0; cursor: pointer; }
.rd-f-kolko input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.rd-f-kolko .rd-f-nazwa {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 12px;
	border: 1px solid var(--global-palette1, #134a21);
	border-radius: 999px;
	color: var(--global-palette1, #134a21);
	font-size: 15px;
	line-height: 1;
}
.rd-f-kolko:hover .rd-f-nazwa { background: rgba(19, 74, 33, .08); }
.rd-f-kolko input:checked ~ .rd-f-nazwa { background: var(--global-palette1, #134a21); color: var(--rd-tlo, #fffaf2); }
.rd-f-kolko input:focus-visible ~ .rd-f-nazwa { outline: 2px solid var(--global-palette1, #134a21); outline-offset: 2px; }
.rd-f-kolko .rd-f-liczba { display: none; }
.rd-f-bez-js { margin-top: 14px; }

/* nad listą: licznik z lewej, sortowanie z prawej (motyw: justify-content flex-end); wybrane filtry z „×” */
.base-shop-top-row { align-items: center; }
.base-shop-top-row > .rd-wynik { margin-right: auto; }
.rd-wynik p { margin: 0; color: #3f3f3f; font-size: 14px; }
.rd-f-aktywne { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 22px; }
.rd-f-chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 5px 12px;
	border: 1px solid var(--global-palette1, #134a21);
	border-radius: 999px;
	color: var(--global-palette1, #134a21);
	font-size: 13px;
	line-height: 1.3;
	text-decoration: none;
}
.rd-f-chip span[aria-hidden] { font-size: 16px; line-height: 1; }
.rd-f-chip:hover { background: rgba(19, 74, 33, .08); color: var(--global-palette1, #134a21); }
.rd-f-wyczysc { color: #3f3f3f; font-size: 13px; text-decoration: underline; text-underline-offset: 3px; }
.rd-f-wyczysc:hover { color: var(--global-palette1, #134a21); }
html.rd-f-laduje .rd-karty-kategoria { opacity: .45; transition: opacity .15s ease; }

/* pusta lista przy filtrach */
.rd-f-brak { max-width: 640px; margin: 8px 0 40px; }
.rd-f-brak p { margin: 0 0 8px; }
.rd-f-brak .rd-f-brak-tytul { color: var(--global-palette1, #134a21); font-size: 18px; font-weight: 600; }
.rd-f-brak .rd-f-aktywne { margin: 16px 0; }
.rd-f-brak-telefon { display: none; }

/* „Filtruj (2)” — tylko tam, gdzie motyw chowa pasek boczny */
.rd-f-otworz-wrap { display: none; }
.rd-filtry-otworz {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 40px;
	margin: 0;
	padding: 0 16px;
	border: 1px solid var(--global-palette1, #134a21);
	border-radius: 999px;
	background: var(--global-palette1, #134a21);
	box-shadow: none;
	color: var(--rd-tlo, #fffaf2);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
	cursor: pointer;
}
.rd-filtry-otworz:hover,
.rd-filtry-otworz:focus { background: #0d3517; border-color: #0d3517; color: var(--rd-tlo, #fffaf2); }
.rd-filtry-otworz svg { flex: none; }
.rd-f-ile { font-weight: 400; }

/* panel „Filtry” (klasy przewodnika po rozmiarach + treść przewijana i przyklejona stopka) */
.rd-filtry-okno .rd-przewodnik-panel { overflow: hidden; }
#rd-filtry-okno .rd-przewodnik-zamknij {
	flex: none;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 1px solid var(--rd-linia);
	border-radius: 50%;
	background: #fff;
	color: #3f3f3f;
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
}
#rd-filtry-okno .rd-przewodnik-zamknij:hover,
#rd-filtry-okno .rd-przewodnik-zamknij:focus { border-color: var(--global-palette1, #134a21); background: #fff; color: var(--global-palette1, #134a21); }
.rd-f-okno-tresc { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 16px 22px 8px; -webkit-overflow-scrolling: touch; }
.rd-f-okno-tresc .rd-f-sekcja:last-child { border-bottom: 0; }
.rd-f-okno-stopka {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 12px 22px calc(12px + env(safe-area-inset-bottom));
	border-top: 1px solid var(--rd-linia);
	background: var(--rd-tlo);
}
.rd-filtry-okno button.rd-f-wyczysc-panel {
	flex: none;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
	color: #3f3f3f;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}
.rd-filtry-okno button.rd-f-pokaz {
	flex: 1 1 auto;
	height: 48px;
	margin: 0;
	padding: 0 18px;
	border: 0;
	border-radius: 999px;
	background: var(--global-palette1, #134a21);
	box-shadow: none;
	color: var(--rd-tlo, #fffaf2);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
	cursor: pointer;
}
.rd-filtry-okno button.rd-f-pokaz:hover { background: #0d3517; }
.rd-filtry-okno button.rd-f-pokaz:disabled { background: #8a978c; cursor: not-allowed; }

@media (max-width: 1024px) {
	.rd-f-otworz-wrap { display: block; }
	.rd-f-brak-telefon { display: block; margin-top: 8px; }
	/* „Filtruj” z lewej, sortowanie z prawej w jednym rzędzie, licznik pod nimi */
	.base-shop-top-row > .rd-f-otworz-wrap { margin-right: auto; }
	.base-shop-top-row > .rd-wynik { order: 3; flex: 0 0 100%; margin: 10px 0 0; }
	.base-shop-top-row > .rd-wynik p { color: #6b6b62; font-size: 13px; }
}
@media (max-width: 767px) {
	.rd-filtry-okno .rd-przewodnik-panel { height: 88vh; max-height: 88vh; }
	.rd-f-okno-tresc { padding: 14px 18px 8px; }
	.rd-f-okno-stopka { padding-left: 18px; padding-right: 18px; }
	.rd-f-aktywne { margin-bottom: 18px; }
}
/* ==========================================================================
   Blog (2026-09-29, rd-wyglad/rd-blog.php) — bez wersalików motywu, jak nasze sekcje (Lora 500, zieleń palette1):
   tytuł wpisu, śródtytuły w treści, nagłówek listy i kategorii, tytuły kart na liście, tytuły widżetów w pasku bocznym.
   Motyw daje nagłówkom H1–H6 wersaliki globalnie (Customizer) — tu tylko strony bloga. Nazwy kategorii bloga są w bazie
   wersalikami i tak zostają (z nazwy powstaje stary adres kategorii); zdaniem wypisuje je rd-blog.php.
   „Podobne wpisy” pod wpisem = pasek .rd-kp (style „Poczytaj o tej roślinie”, wyżej).
   ========================================================================== */
body:is(.single-post, .blog, .category, .tag, .author) :is(h1.entry-title, h1.archive-title, .entry-content :is(h2, h3, h4), .loop-entry .entry-title, #secondary .widget-title) {
	color: var(--global-palette1, #134a21);
	letter-spacing: 0;
	text-transform: none;
}
body:is(.single-post, .blog, .category, .tag, .author) .loop-entry .entry-title a { color: inherit; }
.single-post h1.entry-title { font-size: clamp(28px, 2.6vw, 40px); line-height: 1.2; }
body:is(.blog, .category, .tag, .author) h1.archive-title { font-size: clamp(32px, 3vw, 44px); line-height: 1.15; }
body:is(.single-post, .blog, .category, .tag, .author) #secondary .widget-title { font-size: 20px; line-height: 1.3; }

/* karty listy wpisów: etykieta kategorii i „Czytaj więcej” jak meta i „Czytaj dalej” w naszych kartach wpisów */
body:is(.single-post, .blog, .category, .tag, .author) .loop-entry .category-links a {
	color: #5e6846;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .02em;
	text-transform: none;
}
body:is(.blog, .category, .tag, .author) .loop-entry .post-more-link {
	color: var(--global-palette1, #134a21);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
}
body:is(.blog, .category, .tag, .author) .loop-entry .post-more-link:hover { text-decoration: underline; text-underline-offset: 4px; }

/* „Podobne wpisy” pod nawigacją „Poprzednia / Następna” — odstęp jak między sekcjami na karcie produktu */
.single-post .post-navigation + .rd-kp,
.single-post .content-wrap + .rd-kp { margin-top: 64px; }
@media (max-width: 1024px) {
	.single-post .content-wrap + .rd-kp { margin-bottom: 24px; } /* pasek boczny spada pod treść — odstęp od jego ramki */
}
@media (max-width: 767px) {
	.single-post .post-navigation + .rd-kp,
	.single-post .content-wrap + .rd-kp { margin-top: 48px; }
}

/* Lista bloga i kategorie (2026-10-16, rd-blog.php pkt 4; Michał: „sporo pustej przestrzeni na bokach… chodzi głównie
   o kategorie”): bez paska bocznego, 3 kolumny, najnowszy wpis na stronie szeroko, pigułki kategorii nad listą. */
.rd-blog-kategorie { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 40px; }
.rd-blog-kategorie a {
	padding: 9px 18px;
	border: 1px solid #d9d4c7;
	border-radius: 999px;
	background: #fff;
	font-size: 15px;
	line-height: 1.3;
	color: var(--global-palette1, #134a21);
	text-decoration: none;
	white-space: nowrap;
	transition: border-color .2s, background .2s, color .2s;
}
.rd-blog-kategorie a:hover { border-color: var(--global-palette1, #134a21); }
.rd-blog-kategorie a[aria-current] { border-color: var(--global-palette1, #134a21); background: var(--global-palette1, #134a21); color: #fff; }
@media (min-width: 1025px) {
	body:is(.blog, .category) #archive-container.grid-lg-col-3 > .loop-entry:first-child {
		grid-column: 1 / -1;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		align-items: center;
		column-gap: 48px;
		margin-bottom: 16px;
	}
	body:is(.blog, .category) #archive-container.grid-lg-col-3 > .loop-entry:first-child .post-thumbnail { margin-bottom: 0; }
	body:is(.blog, .category) #archive-container.grid-lg-col-3 > .loop-entry:first-child .post-thumbnail img { width: 100%; height: auto; }
	body:is(.blog, .category) #archive-container.grid-lg-col-3 > .loop-entry:first-child .entry-content-wrap { padding: 0 24px 0 0; }
	body:is(.blog, .category) #archive-container.grid-lg-col-3 > .loop-entry:first-child .entry-title { font-size: clamp(26px, 2.2vw, 34px); line-height: 1.2; }
}
@media (max-width: 767px) {
	/* telefon: pigułki w jednym rzędzie, przesuwane palcem (bez paska przewijania i bez przewijania strony w bok) */
	.rd-blog-kategorie { flex-wrap: nowrap; overflow-x: auto; margin: 0 -15px 28px; padding: 0 15px 4px; scrollbar-width: none; }
	.rd-blog-kategorie::-webkit-scrollbar { display: none; }
}

/* ==========================================================================
   Wpis bloga — treść (2026-09-29, rd-wyglad/rd-blog-wpis.php). Michał: „zdjęcia nijak odpowiadają naszej szerokości”,
   „Na skróty” słabo wygląda (spis treści jak na Plumerii), produkty w treści „jakby z demo”.
   Kolumna treści 880 px jak na plnts — obrazki ze Shopera mają 880 px, więc zdjęcia, spis treści i produkty idą na jej
   całą szerokość bez rozciągania. Motyw dawał 1074 px (obrazki 880 i 630 pływały w środku) i tekst 14 px szary.
   Od 29.09 wieczorem BEZ paska bocznego (Michał: „bez paska będzie lepiej”) — pasek wyłącza rd-blog-wpis.php
   (filtr motywu base_post_layout), tu tylko szerokość: jedna kolumna na środku, okruszki i tytuł nad nią.
   ========================================================================== */
@media (min-width: 1025px) {
	body.single-post .content-container.site-container,
	body.single-post .entry-hero .hero-container.site-container {
		max-width: calc(880px + 2 * var(--global-content-edge-padding, 15px));
	}
}
.single-post .entry-content.single-content {
	color: #474747; /* motyw: #666 i 14 px — przy długim tekście za blado i za drobno */
	font-size: 16px;
	line-height: 1.75;
}
/* przyklejony nagłówek ma 71 px — skok ze spisu treści nie może chować śródtytułu pod nim */
.single-post .single-content :is(h2, h3),
.single-post .single-content h2 a[id] { scroll-margin-top: 110px; }

/* zdjęcie wyróżniające (Shoper: 630 × 440) i zdjęcia w treści (880) — na całą szerokość kolumny */
.single-post .post-thumbnail.article-post-thumbnail { margin-bottom: 40px; }
.single-post .post-thumbnail img.post-top-featured {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	margin: 0;
}
.single-post .single-content img.rd-wpis-foto {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	margin-inline: auto;
}
@media (max-width: 767px) {
	/* opływane tekstem 400 px (Teneryfa itp.) — na telefonie obok nie ma miejsca */
	.single-post .single-content img[style*="float"] {
		float: none !important;
		display: block;
		width: 100%;
		height: auto;
		margin: 0 0 24px !important;
	}
}

/* spis treści (zamiast ręcznego „Na skróty” ze Shopera) — na początku treści, pod zdjęciem wyróżniającym;
   od 2026-10-01 także długie strony informacyjne (.rd-pomoc: regulamin, polityka) */
:is(.single-post, .rd-pomoc) .rd-spis {
	margin: 0 0 40px;
	padding: 28px 32px 22px;
	background: #efece2;
}
:is(.single-post, .rd-pomoc) .rd-spis .rd-spis-tytul {
	margin: 0 0 10px;
	color: var(--global-palette1, #134a21);
	font-family: var(--global-heading-font-family, Lora), serif;
	font-size: 22px;
	font-weight: 500;
	line-height: 1.3;
}
:is(.single-post, .rd-pomoc) .rd-spis .rd-spis-lista {
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: rd-spis;
}
:is(.single-post, .rd-pomoc) .rd-spis .rd-spis-lista li {
	display: grid;
	grid-template-columns: 40px minmax(0, 1fr);
	margin: 0;
	padding: 11px 0;
	border-top: 1px solid rgba(19, 74, 33, .12);
	counter-increment: rd-spis;
	font-size: 15px;
	line-height: 1.5;
}
:is(.single-post, .rd-pomoc) .rd-spis .rd-spis-lista li:first-child { border-top: 0; }
:is(.single-post, .rd-pomoc) .rd-spis .rd-spis-lista li::before {
	content: counter(rd-spis, decimal-leading-zero);
	color: #5e6846;
	font-size: 13px;
	font-weight: 500;
	line-height: 22px;
	font-variant-numeric: tabular-nums;
}
:is(.single-post, .rd-pomoc) .rd-spis .rd-spis-lista a { color: var(--global-palette1, #134a21); text-decoration: none; }
:is(.single-post, .rd-pomoc) .rd-spis .rd-spis-lista a:hover,
:is(.single-post, .rd-pomoc) .rd-spis .rd-spis-lista a:focus-visible { text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 767px) {
	:is(.single-post, .rd-pomoc) .rd-spis { padding: 22px 20px 16px; }
	:is(.single-post, .rd-pomoc) .rd-spis .rd-spis-lista li { grid-template-columns: 34px minmax(0, 1fr); }
}

/* produkty w treści (boksy ze Shopera → nasze karty): rząd 3 kart, więcej = przewijanie w bok ze strzałkami na zdjęciach */
.single-post .rd-wpis-produkty {
	position: relative;
	margin: 40px 0 48px;
	container-type: inline-size;
}
.single-post .rd-wpis-produkty .rd-wpis-produkty-lista {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - 48px) / 3);
	gap: 24px;
	margin: 0;
	padding: 0;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	list-style: none;
}
.rd-wpis-produkty-lista::-webkit-scrollbar { display: none; }
.single-post .rd-wpis-produkty .rd-karta { margin: 0; scroll-snap-align: start; line-height: 1.5; }
.single-post .rd-wpis-produkty .rd-karta a { text-decoration: none; }
.rd-wpis-produkty-strzalka {
	position: absolute;
	top: calc((100cqw - 48px) / 3 * 1.25 / 2 - 22px); /* środek zdjęcia 4:5 w karcie */
	z-index: 2;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 250, 242, .94);
	color: var(--global-palette1, #134a21);
	box-shadow: var(--rd-cien);
	cursor: pointer;
	transition: background .2s, color .2s, opacity .2s;
}
.rd-wpis-produkty-strzalka[hidden] { display: none; }
.rd-wpis-produkty-strzalka:hover:not(:disabled),
.rd-wpis-produkty-strzalka:focus-visible { background: var(--global-palette1, #134a21); color: #fff; }
.rd-wpis-produkty-strzalka:disabled { opacity: 0; pointer-events: none; }
.rd-wpis-produkty-wstecz { left: 10px; }
.rd-wpis-produkty-dalej { right: 10px; }
.rd-wpis-produkty-strzalka svg { width: 18px; height: 18px; }
.rd-wpis-produkty-wstecz svg { transform: scaleX(-1); }
@media (max-width: 1024px), (hover: none) {
	.rd-wpis-produkty-strzalka { display: none !important; } /* tablet i telefon: przesuwanie palcem, brzeg następnej karty */
}
@media (max-width: 1024px) {
	.single-post .rd-wpis-produkty .rd-wpis-produkty-lista { grid-auto-columns: calc((100% - 32px) / 2.4); gap: 16px; }
}
@media (max-width: 767px) {
	.single-post .rd-wpis-produkty .rd-wpis-produkty-lista { grid-auto-columns: 62%; gap: 14px; } /* brzeg następnej karty = da się przesunąć */
}

/* ==========================================================================
   Pasek tytułu podstron + strony informacyjne „Pomoc” (2026-10-01, rd-wyglad/rd-strony-info.php).
   Michał: pasek tytułu „zrobimy później” (24.09) → 01.10 „Lecimy z A”. Szarego tła już nie ma (blok „Jednolite tło”, 25.09);
   tu: tytuł zwykłą pisownią i do lewej, w linii z treścią. Wariant (body.rd-tytul--zielony / --krem) wybiera moduł.
   Strony informacyjne (body.rd-pomoc): menu „Pomoc” z boku, kolumna 880 px i tekst 16 px jak we wpisie bloga (3q).
   ========================================================================== */
body.rd-tytul .entry-hero .entry-header {
	min-height: 0; /* motyw: 160 px i wyśrodkowanie w pionie i poziomie */
	align-items: flex-start;
	text-align: left;
	padding-top: 36px;
	padding-bottom: 8px;
}
body.rd-tytul .entry-hero .base-breadcrumbs { margin-bottom: 10px; }
body.rd-tytul .entry-hero h1.entry-title {
	align-self: flex-start;
	margin: 0;
	font-family: Lora, serif;
	font-size: 44px;
	font-weight: 500;
	line-height: 1.15;
	letter-spacing: 0;
	text-align: left;
	text-transform: none;
	color: var(--global-palette1);
}
/* wariant zielony — pas jak na plnts; #134a21 = kolor logo (palette1), tytuł i okruszki w kremie tła strony */
body.rd-tytul--zielony .wp-site-blocks .entry-hero .entry-hero-container-inner { background-color: var(--global-palette1); }
body.rd-tytul--zielony .entry-hero .entry-header { padding-top: 40px; padding-bottom: 44px; }
body.rd-tytul--zielony .entry-hero h1.entry-title { color: #fffaf2; }
body.rd-tytul--zielony .entry-hero .base-breadcrumbs { color: #fffaf2; opacity: .8; }
@media (max-width: 767px) {
	body.rd-tytul .entry-hero .entry-header { padding-top: 24px; }
	body.rd-tytul--zielony .entry-hero .entry-header { padding-top: 24px; padding-bottom: 28px; }
	body.rd-tytul .entry-hero h1.entry-title { font-size: 30px; }
}

/* --- strony informacyjne: układ --- */
body.rd-pomoc .content-area { margin-top: 40px; }
body.rd-pomoc .entry-content-wrap { padding: 0; }
@media (min-width: 1025px) {
	body.rd-pomoc #main.site-main {
		display: grid;
		grid-template-columns: 240px minmax(0, 880px);
		column-gap: 64px;
		align-items: start;
	}
	body.rd-pomoc #main.site-main > * { grid-column: 2; }
	body.rd-pomoc #main.site-main > .rd-pomoc-menu {
		grid-column: 1;
		grid-row: 1 / span 3;
		position: sticky;
		top: 110px; /* przyklejony nagłówek 71 px */
	}
	body.rd-pomoc .entry-hero .entry-header { padding-left: calc(240px + 64px); } /* tytuł w linii z treścią, jak plnts */
}

/* --- strony informacyjne: menu „Pomoc” --- */
.rd-pomoc-menu > summary { display: none; }
.rd-pomoc-menu-naglowek {
	margin: 2px 0 12px;
	font-size: 12px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #777;
}
.rd-pomoc-menu ul { list-style: none; margin: 0; padding: 0; border-left: 1px solid #e7e3d9; }
.rd-pomoc-menu li { margin: 0; }
.rd-pomoc-menu a {
	display: block;
	margin-left: -1px;
	padding: 7px 0 7px 18px;
	border-left: 2px solid transparent;
	font-size: 15px;
	line-height: 1.45;
	color: #2b2b2b;
	text-decoration: none;
}
.rd-pomoc-menu a:hover { color: var(--global-palette1); }
.rd-pomoc-menu .is-aktywna a { font-weight: 600; color: var(--global-palette1); border-left-color: var(--global-palette1); }
@media (max-width: 1024px) {
	.rd-pomoc-menu { margin-bottom: 28px; border: 1px solid #e7e3d9; }
	.rd-pomoc-menu > summary {
		display: flex;
		align-items: center;
		gap: 12px;
		padding: 12px 16px;
		list-style: none;
		cursor: pointer;
		font-size: 15px;
		color: var(--global-palette1);
	}
	.rd-pomoc-menu > summary::-webkit-details-marker { display: none; }
	.rd-pomoc-menu > summary::after {
		content: "";
		width: 8px;
		height: 8px;
		margin: -4px 2px 0 auto;
		border-right: 1.5px solid currentColor;
		border-bottom: 1.5px solid currentColor;
		transform: rotate(45deg);
	}
	.rd-pomoc-menu[open] > summary::after { margin-top: 4px; transform: rotate(-135deg); }
	.rd-pomoc-menu-etykieta { font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: #777; }
	.rd-pomoc-menu-biezaca { font-weight: 600; }
	.rd-pomoc-menu-naglowek { display: none; }
	.rd-pomoc-menu ul { padding: 6px 0; border-left: 0; border-top: 1px solid #e7e3d9; }
	.rd-pomoc-menu a { margin-left: 0; padding: 9px 16px; border-left: 0; }
}

/* --- landing page'e (body.rd-landing, meta _rd_landing — „Dla biznesu”, 2026-10-05): kolumna 880 px na środku,
   bez menu „Pomoc”; treść wygląda jak strony informacyjne (blok niżej), pasek tytułu jak .rd-tytul --- */
body.rd-landing .content-area { margin-top: 40px; }
body.rd-landing .entry-content-wrap { padding: 0; }
body.rd-landing #main.site-main { max-width: 880px; margin-left: auto; margin-right: auto; }
body.rd-landing .entry-hero .entry-header { max-width: 880px; margin-left: auto; margin-right: auto; }
body.rd-landing .entry-content img { display: block; margin: 1.6em auto; border-radius: 4px; }
body.rd-landing .entry-content p > img:only-child { margin: 0 auto; }

/* --- strony informacyjne: treść (po sprzątaniu Shopera w rd_info_tresc()); od 2026-10-05 także landing page'e .rd-landing --- */
:is(body.rd-pomoc, body.rd-landing) .entry-content.single-content {
	font-size: 16px;
	line-height: 1.75;
	color: #474747; /* motyw: #666 i 14 px — jak we wpisie bloga */
}
:is(body.rd-pomoc, body.rd-landing) .entry-content > :first-child { margin-top: 0; }
:is(body.rd-pomoc, body.rd-landing) .entry-content p { margin: 0 0 1em; }
:is(body.rd-pomoc, body.rd-landing) .entry-content :is(h2, h3, h4) {
	margin: 2em 0 .6em;
	font-family: Lora, serif;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: 0;
	text-transform: none;
	color: var(--global-palette1);
}
:is(body.rd-pomoc, body.rd-landing) .entry-content h2 { font-size: 26px; }
:is(body.rd-pomoc, body.rd-landing) .entry-content :is(h3, h4) { font-size: 22px; }
:is(body.rd-pomoc, body.rd-landing) .entry-content .rd-pomoc-wstep { margin-bottom: 1.6em; font-size: 18px; line-height: 1.6; color: #2b2b2b; }
:is(body.rd-pomoc, body.rd-landing) .entry-content .rd-pomoc-podtytul { margin: 1.8em 0 .4em; font-size: 17px; line-height: 1.45; color: var(--global-palette1); }
:is(body.rd-pomoc, body.rd-landing) .entry-content .rd-pomoc-podtytul strong { font-weight: 600; }
:is(body.rd-pomoc, body.rd-landing) .entry-content a {
	color: var(--global-palette1);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}
:is(body.rd-pomoc, body.rd-landing) .entry-content :is(ul, ol) { margin: 0 0 1.2em; padding-left: 1.4em; }
:is(body.rd-pomoc, body.rd-landing) .entry-content li { margin-bottom: .4em; }
:is(body.rd-pomoc, body.rd-landing) .entry-content img { max-width: 100%; height: auto; }

/* --- strony informacyjne, etap B (2026-10-01): FAQ rozwijane, spis treści, Kontakt w kartach --- */
body.rd-pomoc .entry-content :is(h2, h3) { scroll-margin-top: 110px; } /* skok ze spisu treści pod przyklejonym nagłówkiem */
body.rd-pomoc .rd-spis { margin-bottom: 48px; }

body.rd-pomoc .rd-faq-lista { margin-top: 8px; border-top: 1px solid #e7e3d9; }
body.rd-pomoc .rd-faq { border-bottom: 1px solid #e7e3d9; }
body.rd-pomoc .rd-faq > summary {
	display: flex;
	align-items: center;
	gap: 24px;
	padding: 20px 0;
	list-style: none;
	cursor: pointer;
}
body.rd-pomoc .rd-faq > summary::-webkit-details-marker { display: none; }
body.rd-pomoc .rd-faq > summary::after {
	content: "";
	flex: none;
	width: 9px;
	height: 9px;
	margin: -5px 4px 0 auto;
	border-right: 1.5px solid var(--global-palette1);
	border-bottom: 1.5px solid var(--global-palette1);
	transform: rotate(45deg);
	transition: transform .2s;
}
body.rd-pomoc .rd-faq[open] > summary::after { margin-top: 5px; transform: rotate(-135deg); }
body.rd-pomoc .entry-content .rd-faq-pytanie {
	margin: 0;
	font-family: Lora, serif;
	font-size: 19px;
	font-weight: 500;
	line-height: 1.4;
	color: var(--global-palette1);
}
body.rd-pomoc .rd-faq > summary:hover .rd-faq-pytanie { opacity: .75; }
body.rd-pomoc .rd-faq-odpowiedz { padding: 0 48px 22px 0; }
body.rd-pomoc .rd-faq-odpowiedz > :last-child { margin-bottom: 0; }

body.rd-pomoc .rd-kontakt-karty {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	margin-bottom: 56px;
}
body.rd-pomoc .rd-kontakt-karta { padding: 26px 28px 20px; background: #efece2; }
body.rd-pomoc .entry-content .rd-kontakt-karta h2 { margin: 0 0 12px; font-size: 20px; }
body.rd-pomoc .rd-kontakt-karta p { margin-bottom: .8em; line-height: 1.7; }
body.rd-pomoc .rd-kontakt-ikona { display: inline-flex; vertical-align: -3px; margin: 0 6px 0 4px; color: var(--global-palette1); }
body.rd-pomoc .entry-content .rd-kontakt-formularz h2 { margin-top: 0; }
body.rd-pomoc .rd-kontakt-formularz .wpcf7-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 20px;
}
body.rd-pomoc .rd-kontakt-formularz .wpcf7-form > * { grid-column: 1 / -1; }
body.rd-pomoc .rd-kontakt-formularz .wpcf7-form > p:nth-of-type(1),
body.rd-pomoc .rd-kontakt-formularz .wpcf7-form > p:nth-of-type(2) { grid-column: auto; } /* imię | e-mail */
body.rd-pomoc .rd-kontakt-formularz label { display: block; font-size: 14px; color: #474747; }
body.rd-pomoc .rd-kontakt-formularz :is(input[type="text"], input[type="email"], input[type="tel"], textarea) {
	width: 100%;
	margin-top: 6px;
	padding: 12px 14px;
	border: 1px solid #d9d4c7;
	border-radius: 0;
	background: #fff;
	font-size: 15px;
	color: #2b2b2b;
}
body.rd-pomoc .rd-kontakt-formularz textarea { height: 180px; }
body.rd-pomoc .rd-kontakt-formularz :is(input, textarea):focus { border-color: var(--global-palette1); outline: none; }
body.rd-pomoc .rd-kontakt-formularz input[type="submit"] { min-width: 200px; padding: 14px 32px; }
@media (max-width: 767px) {
	body.rd-pomoc .rd-kontakt-karty,
	body.rd-pomoc .rd-kontakt-formularz .wpcf7-form { grid-template-columns: minmax(0, 1fr); }
	body.rd-pomoc .rd-kontakt-karta { padding: 22px 20px 16px; }
	body.rd-pomoc .rd-faq-odpowiedz { padding-right: 0; }
	body.rd-pomoc .entry-content .rd-faq-pytanie { font-size: 17px; }
}

/* --- Kontakt (2026-10-16, Michał: „naćkane… maile się zlewają… oddzielić B2C od B2B”): klienci sklepu, zielony pas B2B,
   dane firmy i do przelewu — jedna pod drugą, wiersze (ikona · etykieta · wartość) zamiast kart. rd_info_kontakt(). --- */
body.rd-pomoc .rd-kontakt-blok { margin-bottom: 56px; }
body.rd-pomoc .entry-content .rd-kontakt-nadtytul {
	margin: 0 0 8px;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #6b7a5c;
}
body.rd-pomoc .entry-content .rd-kontakt-blok h2 { margin: 0; font-size: 28px; }
body.rd-pomoc .entry-content .rd-kontakt-lead { margin: 6px 0 0; font-size: 17px; line-height: 1.5; color: #474747; }
body.rd-pomoc .rd-kontakt-wiersze { margin-top: 24px; border-top: 1px solid var(--rd-linia, #e7e3d9); }
body.rd-pomoc .entry-content a.rd-kontakt-wiersz {
	display: grid;
	grid-template-columns: 44px 140px minmax(0, 1fr) auto;
	align-items: center;
	column-gap: 18px;
	padding: 16px 4px;
	border-bottom: 1px solid var(--rd-linia, #e7e3d9);
	color: inherit;
	text-decoration: none;
}
body.rd-pomoc .entry-content a.rd-kontakt-wiersz::after {
	content: "→";
	font-size: 18px;
	color: var(--global-palette1);
	transition: transform .2s;
}
body.rd-pomoc .entry-content a.rd-kontakt-wiersz:hover::after { transform: translateX(4px); }
body.rd-pomoc .rd-kontakt-wiersz .rd-kontakt-ikona {
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin: 0;
	border-radius: 50%;
	background: #efece2;
}
body.rd-pomoc .rd-kontakt-etykieta { font-size: 15px; color: #6b6b6b; }
body.rd-pomoc .rd-kontakt-wartosc {
	font-size: 19px;
	font-weight: 500;
	color: var(--global-palette1);
	overflow-wrap: anywhere;
	text-decoration: underline 1px transparent;
	text-underline-offset: 4px;
	transition: text-decoration-color .2s;
}
body.rd-pomoc a.rd-kontakt-wiersz:hover .rd-kontakt-wartosc { text-decoration-color: currentColor; }

body.rd-pomoc .rd-kontakt-blok--b2b { padding: 40px 44px 44px; background: var(--global-palette1, #134a21); color: #f3efe4; }
body.rd-pomoc .entry-content .rd-kontakt-blok--b2b .rd-kontakt-nadtytul { color: #c3d3b0; }
body.rd-pomoc .entry-content .rd-kontakt-blok--b2b h2 { color: #fffdf6; }
body.rd-pomoc .entry-content .rd-kontakt-blok--b2b .rd-kontakt-lead { color: #dfe5d4; }
body.rd-pomoc .rd-kontakt-blok--b2b :is(.rd-kontakt-wiersze, a.rd-kontakt-wiersz) { border-color: rgba(255, 253, 246, .2); }
body.rd-pomoc .rd-kontakt-blok--b2b .rd-kontakt-wiersz .rd-kontakt-ikona { background: rgba(255, 253, 246, .12); color: #fffdf6; }
body.rd-pomoc .rd-kontakt-blok--b2b .rd-kontakt-etykieta { color: #c9d1bf; }
body.rd-pomoc .entry-content .rd-kontakt-blok--b2b .rd-kontakt-wartosc,
body.rd-pomoc .entry-content .rd-kontakt-blok--b2b a.rd-kontakt-wiersz::after { color: #fffdf6; } /* ::after nie działa w :is() */
body.rd-pomoc .entry-content .rd-kontakt-przyciski { margin: 28px 0 0; }
body.rd-pomoc .entry-content a.rd-kontakt-przycisk {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 14px 28px;
	border-radius: 999px;
	background: #f6f1e5;
	font-size: 16px;
	font-weight: 500;
	color: var(--global-palette1);
	text-decoration: none;
	transition: background .2s;
}
body.rd-pomoc .entry-content a.rd-kontakt-przycisk:hover { background: #fff; }
body.rd-pomoc .entry-content a.rd-kontakt-przycisk span { transition: transform .2s; }
body.rd-pomoc .entry-content a.rd-kontakt-przycisk:hover span { transform: translateX(4px); }

body.rd-pomoc .entry-content .rd-kontakt-blok--dane h2 { font-size: 22px; }
body.rd-pomoc .rd-kontakt-dane { margin: 18px 0 0; border-top: 1px solid var(--rd-linia, #e7e3d9); }
body.rd-pomoc .rd-kontakt-dane > div {
	display: grid;
	grid-template-columns: 202px minmax(0, 1fr);
	column-gap: 18px;
	padding: 16px 4px;
	border-bottom: 1px solid var(--rd-linia, #e7e3d9);
}
body.rd-pomoc .rd-kontakt-dane dt { font-size: 15px; font-weight: 400; line-height: 1.7; color: #6b6b6b; }
body.rd-pomoc .rd-kontakt-dane dd { margin: 0; line-height: 1.7; }
body.rd-pomoc .rd-kontakt-konto { font-variant-numeric: tabular-nums; letter-spacing: .02em; }
body.rd-pomoc .entry-content button.rd-kontakt-kopiuj {
	min-height: 0;
	margin: 0 0 0 12px;
	padding: 3px 12px;
	border: 1px solid #cfc8b6;
	border-radius: 999px;
	background: transparent;
	box-shadow: none;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.5;
	color: var(--global-palette1);
	vertical-align: 1px;
	cursor: pointer;
}
body.rd-pomoc .entry-content button.rd-kontakt-kopiuj:hover { border-color: var(--global-palette1); }
body.rd-pomoc .rd-kontakt-uwaga { display: block; margin-top: 2px; font-size: 14px; color: #6b6b6b; }
@media (max-width: 767px) {
	body.rd-pomoc .rd-kontakt-blok { margin-bottom: 44px; }
	body.rd-pomoc .entry-content .rd-kontakt-blok h2 { font-size: 24px; }
	body.rd-pomoc .entry-content .rd-kontakt-blok--dane h2 { font-size: 20px; }
	body.rd-pomoc .entry-content a.rd-kontakt-wiersz { grid-template-columns: 40px minmax(0, 1fr); column-gap: 14px; padding: 14px 2px; }
	body.rd-pomoc .rd-kontakt-wiersz .rd-kontakt-ikona { grid-row: 1 / span 2; width: 40px; height: 40px; }
	body.rd-pomoc .rd-kontakt-etykieta { grid-column: 2; font-size: 13px; }
	body.rd-pomoc .rd-kontakt-wartosc { grid-column: 2; font-size: 17px; }
	body.rd-pomoc .entry-content a.rd-kontakt-wiersz::after { display: none; } /* strzałka zabierała miejsce adresowi (zawijał się „…domowe.pl”) */
	body.rd-pomoc .rd-kontakt-blok--b2b { padding: 30px 20px 32px; }
	body.rd-pomoc .rd-kontakt-dane > div { grid-template-columns: minmax(0, 1fr); padding: 14px 2px; }
	body.rd-pomoc .rd-kontakt-dane dt { font-size: 13px; }
}

/* --- Formularz „Napisz do nas” (2026-10-16, rd-kontakt-formularz.php — zamiast Contact Form 7): pola jak dawny CF7,
   lista „Czego dotyczy”, zielona pigułka, klauzula obok przycisku, po wysłaniu beżowe potwierdzenie z ✓. --- */
body.rd-pomoc .rd-kf-pulapka { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
body.rd-pomoc .rd-kf-pola { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 20px; }
body.rd-pomoc .rd-kf-pole--cale { grid-column: 1 / -1; }
body.rd-pomoc .rd-kf-pole label { display: block; margin-bottom: 6px; font-size: 14px; color: #474747; }
body.rd-pomoc .rd-kf-wym { color: #a3472f; }
body.rd-pomoc .rd-kf-opc { color: #8a8a8a; }
body.rd-pomoc .entry-content .rd-kf :is(input[type="text"], input[type="email"], input[type="tel"], select, textarea) {
	width: 100%;
	min-height: 48px;
	margin: 0;
	padding: 12px 14px;
	border: 1px solid #d9d4c7;
	border-radius: 0;
	background-color: #fff;
	box-shadow: none;
	font-size: 15px;
	line-height: 1.5;
	color: #2b2b2b;
}
body.rd-pomoc .entry-content .rd-kf select {
	-webkit-appearance: none;
	appearance: none;
	padding-right: 40px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23134a21' stroke-width='1.5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 15px center;
	background-size: 12px 8px;
	cursor: pointer;
}
body.rd-pomoc .entry-content .rd-kf textarea { height: 180px; resize: vertical; }
body.rd-pomoc .entry-content .rd-kf :is(input, select, textarea):focus { border-color: var(--global-palette1); outline: none; }
body.rd-pomoc .rd-kf-dol { display: flex; align-items: center; gap: 16px 28px; margin-top: 24px; }
body.rd-pomoc .entry-content button.rd-kf-przycisk {
	flex: none;
	min-height: 0;
	margin: 0;
	padding: 14px 34px;
	border: 0;
	border-radius: 999px;
	background: var(--global-palette1, #134a21);
	box-shadow: none;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0;
	text-transform: none;
	color: #fff;
	cursor: pointer;
	transition: background .2s;
}
body.rd-pomoc .entry-content button.rd-kf-przycisk:hover { background: #0d3517; }
body.rd-pomoc .entry-content button.rd-kf-przycisk:disabled { opacity: .6; cursor: wait; }
body.rd-pomoc .rd-kf-rodo { font-size: 13px; line-height: 1.55; color: #6b6b6b; }
body.rd-pomoc .entry-content .rd-kf-rodo a { color: inherit; }
body.rd-pomoc .rd-kf-komunikat:empty { display: none; }
body.rd-pomoc .rd-kf-komunikat { margin-top: 16px; font-size: 15px; line-height: 1.6; color: #474747; }
body.rd-pomoc .rd-kf-komunikat.is-blad { color: #a3472f; }
body.rd-pomoc .rd-kf-formularz.is-wyslany > :not(.rd-kf-komunikat) { display: none; }
body.rd-pomoc .rd-kf-formularz.is-wyslany .rd-kf-komunikat {
	position: relative;
	margin: 0;
	padding: 22px 24px 22px 64px;
	background: #efece2;
	font-size: 17px;
	color: var(--global-palette1);
}
body.rd-pomoc .rd-kf-formularz.is-wyslany .rd-kf-komunikat::before {
	content: "✓";
	position: absolute;
	top: 20px;
	left: 22px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--global-palette1);
	font-size: 15px;
	color: #fff;
}
@media (max-width: 767px) {
	body.rd-pomoc .rd-kf-pola { grid-template-columns: minmax(0, 1fr); }
	body.rd-pomoc .rd-kf-dol { flex-direction: column; align-items: stretch; }
	body.rd-pomoc .entry-content button.rd-kf-przycisk { width: 100%; }
}

/* ==========================================================================
   Koszyk, szuflada koszyka, kasa, „Moje konto” (2026-10-01, rd-wyglad/rd-koszyk.php, plan-koszyk-kasa-2026-10-01.md).
   Kierunek plnts: pola białe z ramką #e7e3d9, pigułki #134a21, beżowy panel podsumowania (#e7e3d9 = pasek pod menu),
   pasek darmowej dostawy. Tytuł w zielonym pasie jak strony „Pomoc” (body.rd-tytul--zielony, rd-strony-info.php).
   Koszyk i kasa to bloki Woo (rysowane w przeglądarce) — klasy wc-block-*; konto i szuflada — klasyczne szablony.
   ========================================================================== */

/* --- wspólne: kontener (blok Woo „alignwide” wychodził 20 px poza stronę z obu stron), tekst, pola, przyciski --- */
body.rd-koszyk .wp-block-woocommerce-cart.alignwide,
body.rd-kasa .wp-block-woocommerce-checkout.alignwide {
	max-width: none;
	width: auto;
	margin-left: 0;
	margin-right: 0;
}
body.rd-koszyk .content-area,
body.rd-kasa .content-area,
body.rd-konto .content-area { margin-top: 40px; }
body.rd-koszyk .wp-block-woocommerce-cart,
body.rd-kasa .wp-block-woocommerce-checkout { color: #444; font-size: 15px; }

body.rd-kasa .wc-block-components-text-input input,
body.rd-kasa .wc-block-components-text-input textarea,
body.rd-kasa .wc-blocks-components-select .wc-blocks-components-select__select,
body.rd-kasa .wc-block-components-textarea,
body.rd-koszyk .wc-block-components-text-input input,
body.rd-konto .woocommerce input.input-text,
body.rd-konto .woocommerce select,
body.rd-konto .woocommerce textarea {
	border: 2px solid var(--rd-linia);
	border-radius: 4px;
	background: #fff;
	color: #222;
	box-shadow: none;
}
body.rd-kasa .wc-block-components-text-input input:focus,
body.rd-kasa .wc-blocks-components-select .wc-blocks-components-select__select:focus,
body.rd-kasa .wc-block-components-textarea:focus,
body.rd-koszyk .wc-block-components-text-input input:focus,
body.rd-konto .woocommerce input.input-text:focus,
body.rd-konto .woocommerce select:focus,
body.rd-konto .woocommerce textarea:focus {
	border-color: var(--global-palette1);
	box-shadow: 0 0 0 1px var(--global-palette1);
	outline: none;
}
body.rd-kasa .wc-block-components-text-input label,
body.rd-kasa .wc-blocks-components-select__label { color: #6b6b6b; }

body.rd-koszyk .wc-block-cart__submit-button,
body.rd-kasa .wc-block-components-checkout-place-order-button,
body.rd-konto .woocommerce button.button,
body.rd-konto .woocommerce a.button {
	min-height: 52px;
	padding: 12px 32px;
	border: 2px solid var(--global-palette1);
	border-radius: 999px;
	background: var(--global-palette1);
	color: #fff;
	font-family: Poppins, sans-serif;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
	box-shadow: none;
}
body.rd-koszyk .wc-block-cart__submit-button:hover,
body.rd-kasa .wc-block-components-checkout-place-order-button:hover,
body.rd-konto .woocommerce button.button:hover,
body.rd-konto .woocommerce a.button:hover { background: #0d3517; border-color: #0d3517; color: #fff; }

/* nazwa pozycji: „Nazwa ⌇ Łacina” → nazwa + łacina kursywą (filtr itemName w rd-koszyk.php; szuflada: PHP) */
.rd-lacina {
	display: block;
	margin-top: 2px;
	font-style: italic;
	font-weight: 400;
	font-size: .875em;
	color: #4a6650;
}
/* krótki opis produktu z ✔ (emoji z opisów Shopera) — w koszyku i podsumowaniu kasy zbędny, jak na plnts */
body.rd-koszyk .wc-block-components-product-metadata__description,
body.rd-kasa .wc-block-components-product-metadata__description { display: none; }
body.rd-koszyk .wc-block-components-product-name,
body.rd-kasa .wc-block-components-product-name {
	color: var(--global-palette1);
	font-family: Poppins, sans-serif;
	font-weight: 600;
	text-transform: none;
	letter-spacing: 0;
	text-decoration: none;
}
/* promocja: kolor jak etykieta rabatu na kartach (#c34b17) */
body.rd-koszyk .wc-block-components-product-price__value.is-discounted,
body.rd-kasa .wc-block-components-product-price__value.is-discounted { color: #c34b17; }
body.rd-koszyk .wc-block-components-product-price__regular,
body.rd-kasa .wc-block-components-product-price__regular { color: #8a8a8a; }
body.rd-koszyk .wc-block-components-sale-badge,
body.rd-kasa .wc-block-components-sale-badge {
	border: 0;
	border-radius: 999px;
	background: #c34b17;
	color: #fff;
	font-size: 12px;
	font-weight: 500;
	padding: 2px 10px;
	text-transform: none;
	letter-spacing: 0;
}

/* --- pasek darmowej dostawy (koszyk, kasa, szuflada) --- */
.rd-dostawa { margin: 0 0 32px; }
.rd-dostawa[hidden] { display: none; }
.rd-dostawa p.rd-dostawa-tekst { margin: 0 0 10px; color: var(--global-palette1); font-size: 15px; line-height: 1.4; }
.rd-dostawa-tekst strong { font-weight: 600; }
.rd-dostawa--gratis .rd-dostawa-tekst strong::before {
	content: "";
	display: inline-block;
	width: 16px;
	height: 16px;
	margin: 0 8px -2px 0;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8.5l3.2 3.2L13 4.8'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8.5l3.2 3.2L13 4.8'/%3E%3C/svg%3E") center / contain no-repeat;
}
.rd-dostawa-pasek { height: 10px; border-radius: 999px; background: var(--rd-linia); overflow: hidden; }
.rd-dostawa-pasek > span { display: block; height: 100%; border-radius: inherit; background: var(--global-palette1); transition: width .35s ease; }
.rd-dostawa p.rd-dostawa-prog { margin: 6px 0 0; text-align: right; color: #6b6b6b; font-size: 12px; }
/* nad blokiem — szerokość lewej kolumny bloku (Woo: 65% z odstępem 4,53%) */
@media (min-width: 740px) {
	body.rd-koszyk .rd-dostawa,
	body.rd-kasa .rd-dostawa { box-sizing: border-box; width: 65%; padding-right: 4.5283018868%; }
}

/* --- koszyk --- */
body.rd-koszyk .wc-block-cart-items__header { display: none; } /* „PRODUKT / ŁĄCZNIE” — plnts bez nagłówka tabeli */
body.rd-koszyk .wc-block-cart-items { border-top: 1px solid var(--rd-linia); }
body.rd-koszyk .wc-block-cart-items td { border-color: var(--rd-linia); }
body.rd-koszyk .wc-block-cart-items .wc-block-cart-items__row { padding: 20px 0; }
body.rd-koszyk table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image { width: 120px; }
body.rd-koszyk .wc-block-cart-item__image img {
	width: 120px;
	height: 120px;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 4px;
}
body.rd-koszyk table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product { padding-left: 20px; }
body.rd-koszyk .wc-block-cart-item__product .wc-block-components-product-name { font-size: 17px; line-height: 1.3; }
body.rd-koszyk .wc-block-cart-item__prices { margin: 6px 0 2px; font-size: 14px; }
body.rd-koszyk .wc-block-cart-item__total { color: var(--global-palette1); font-size: 16px; font-weight: 600; }
body.rd-koszyk .wc-block-cart-item__quantity { margin-top: 12px; }
body.rd-koszyk .wc-block-components-quantity-selector {
	width: 104px;
	border-radius: 4px;
	background: #fff;
}
body.rd-koszyk .wc-block-components-quantity-selector::after { border: 2px solid var(--rd-linia); border-radius: 4px; opacity: 1; }
body.rd-koszyk .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input { color: #222; font-size: 15px; font-weight: 500; }
body.rd-koszyk .wc-block-components-quantity-selector__button { color: var(--global-palette1); opacity: 1; font-size: 18px; }
body.rd-koszyk .wc-block-cart-item__remove-link { color: var(--global-palette1); }

/* panel podsumowania — beżowy jak na plnts */
body.rd-koszyk .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block {
	padding: 30px 28px 26px;
	background: var(--rd-linia);
}
body.rd-koszyk .wc-block-cart__totals-title,
body.rd-koszyk .wc-block-cart .wc-block-cart__totals-title {
	display: block;
	margin: 0 0 14px;
	padding: 0;
	color: var(--global-palette1);
	font-family: Lora, serif;
	font-size: 30px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0;
	text-align: left;
	text-transform: none;
}
body.rd-koszyk .wc-block-cart__sidebar .wc-block-components-totals-wrapper { border-color: rgba(19, 74, 33, .18); }
body.rd-koszyk .wc-block-cart__sidebar .wc-block-components-totals-item,
body.rd-koszyk .wc-block-cart__sidebar .wc-block-components-totals-wrapper { padding-left: 0; padding-right: 0; }
body.rd-koszyk .wc-block-cart__sidebar .wc-block-components-totals-item__label,
body.rd-koszyk .wc-block-cart__sidebar .wc-block-components-totals-item__value { color: var(--global-palette1); }
body.rd-koszyk .wc-block-cart__sidebar .wc-block-components-panel__button { color: var(--global-palette1); font-size: 15px; }
body.rd-koszyk .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-size: 18px; font-weight: 600; }
body.rd-koszyk .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-size: 22px; font-weight: 600; }
body.rd-koszyk .wc-block-components-totals-footer-item-tax { color: #6b6b6b; }
body.rd-koszyk .wc-block-cart__submit { margin: 20px 0 0; }
body.rd-koszyk .wc-block-cart__submit-button { width: 100%; }
/* korzyści pod sumą (wtyczka w rd-koszyk.php, miejsce bloków „order meta”) */
.rd-koszyk-korzysci .rd-korzysci { margin: 14px 0 0; padding: 0; font-size: 14px; color: var(--global-palette1); }
body.rd-koszyk .rd-koszyk-korzysci { padding: 4px 0 0; }
body.rd-kasa .rd-koszyk-korzysci { padding: 0 16px 14px; }
/* telefon: przyklejony dół z przyciskiem */
body.rd-koszyk .wc-block-cart__submit-container--sticky { background: var(--rd-tlo); box-shadow: 0 -4px 12px rgba(0, 0, 0, .06); padding: 12px 15px; }
body.rd-koszyk .wc-block-cart__submit-container--sticky::before { display: none; }
/* komputer: Woo 11 chowa przycisk (klasa --sticky + display:none), dopóki nie wjedzie w ekran — pod zielonym pasem i paskiem
   dostawy wypadał tuż pod krawędzią 900 px i znikał. Na komputerze zawsze w miejscu, przyklejony tylko na telefonie. */
@media (min-width: 783px) {
	body.rd-koszyk .wc-block-cart .wc-block-cart__submit-container--sticky { display: block; position: static; padding: 0; background: none; box-shadow: none; }
}
@media (max-width: 739px) {
	body.rd-koszyk .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block { padding: 24px 18px; margin-top: 8px; }
	body.rd-koszyk table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image,
	body.rd-koszyk .wc-block-cart-item__image img { width: 88px; height: 88px; }
	body.rd-koszyk table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product { padding-left: 14px; }
	body.rd-koszyk .wc-block-cart-item__product .wc-block-components-product-name { font-size: 15px; }
	body.rd-koszyk .wc-block-cart__totals-title,
	body.rd-koszyk .wc-block-cart .wc-block-cart__totals-title { font-size: 26px; }
}
/* telefon: Woo daje wierszowi siatkę 80px 132px, a cena wpada w czwartą kolumnę poza ekran (było tak też przed 01.10) */
body.rd-koszyk .wc-block-cart:is(.is-mobile, .is-small) table.wc-block-cart-items { width: 100%; }
body.rd-koszyk .wc-block-cart:is(.is-mobile, .is-small) table.wc-block-cart-items .wc-block-cart-items__row {
	grid-template-columns: 88px minmax(0, 1fr) auto;
	column-gap: 14px;
}
body.rd-koszyk .wc-block-cart:is(.is-mobile, .is-small) table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image { grid-column: 1; grid-row: 1 / span 2; padding: 0; }
body.rd-koszyk .wc-block-cart:is(.is-mobile, .is-small) table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product { grid-column: 2; grid-row: 1 / span 2; padding: 0; }
body.rd-koszyk .wc-block-cart:is(.is-mobile, .is-small) table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total { grid-column: 3; grid-row: 1; padding: 0; text-align: right; }
body.rd-koszyk .wc-block-cart:is(.is-mobile, .is-small) .wc-block-components-sale-badge { white-space: nowrap; font-size: 11px; padding: 2px 8px; }

/* --- kasa --- */
body.rd-kasa .wc-block-components-checkout-step__title,
body.rd-kasa .wc-block-components-title.wc-block-components-title {
	color: var(--global-palette1);
	font-family: Lora, serif;
	font-size: 24px;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
}
body.rd-kasa .wc-block-components-checkout-step { margin-bottom: 36px; }
body.rd-kasa .wc-block-components-checkout-step__description { color: #6b6b6b; }
body.rd-kasa .wc-block-components-address-form__address_2-toggle,
body.rd-kasa .wc-block-components-address-card__edit { color: var(--global-palette1); }
/* metody dostawy (i płatności) jako karty; zaznaczona — zielona ramka */
body.rd-kasa .wc-block-components-radio-control--highlight-checked { border: 0; border-radius: 4px; }
body.rd-kasa .wc-block-components-radio-control--highlight-checked::after { display: none; }
body.rd-kasa .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option {
	margin: 0 0 10px;
	border: 2px solid var(--rd-linia);
	border-radius: 4px;
	background: #fff;
	box-shadow: none;
}
body.rd-kasa .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option::after { display: none; }
body.rd-kasa .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option-checked,
body.rd-kasa .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option--checked-option-highlighted {
	border-color: var(--global-palette1);
}
body.rd-kasa .wc-block-components-radio-control__input:checked { border-color: var(--global-palette1); }
body.rd-kasa .wc-block-components-radio-control__input:checked::before { background: var(--global-palette1); }
body.rd-kasa .wc-block-components-radio-control__label { color: #222; font-weight: 500; }
body.rd-kasa .wc-block-components-radio-control__secondary-label { color: var(--global-palette1); font-weight: 600; }
body.rd-kasa .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox] { border: 2px solid var(--rd-linia); border-radius: 4px; background: #fff; }
body.rd-kasa .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked { border-color: var(--global-palette1); background: var(--global-palette1); }
body.rd-kasa .wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: #fff; }
body.rd-kasa .wc-block-checkout__terms { color: #555; font-size: 13px; }
body.rd-kasa .wc-block-checkout__terms a { color: var(--global-palette1); text-decoration: underline; text-underline-offset: 2px; }
body.rd-kasa .wc-block-components-checkout-place-order-button { width: 100%; }
/* podsumowanie zamówienia — ten sam beżowy panel co w koszyku */
body.rd-kasa .wp-block-woocommerce-checkout-order-summary-block {
	padding: 12px 12px 6px;
	border: 0;
	border-radius: 0;
	background: var(--rd-linia);
}
body.rd-kasa .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-wrapper,
body.rd-kasa .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title { border-color: rgba(19, 74, 33, .18); }
body.rd-kasa .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title-text {
	color: var(--global-palette1);
	font-family: Lora, serif;
	font-size: 26px;
	font-weight: 500;
	text-transform: none;
	letter-spacing: 0;
}
body.rd-kasa .wc-block-components-order-summary-item__description .wc-block-components-product-name { font-size: 14px; line-height: 1.35; }
body.rd-kasa .wc-block-components-order-summary-item__image img { border-radius: 4px; }
body.rd-kasa .wc-block-components-order-summary-item__quantity {
	border: 0;
	background: var(--global-palette1);
	color: #fff;
	box-shadow: none;
}
body.rd-kasa .wc-block-components-order-summary-item__total-price { color: var(--global-palette1); font-weight: 600; }
body.rd-kasa .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-item__label,
body.rd-kasa .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-item__value,
body.rd-kasa .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-panel__button { color: var(--global-palette1); }
body.rd-kasa .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-size: 18px; font-weight: 600; }
body.rd-kasa .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-size: 22px; font-weight: 600; }
@media (max-width: 739px) {
	body.rd-kasa .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title-text { font-size: 18px; white-space: nowrap; }
}

/* --- szuflada koszyka (motyw Avanam: #cart-drawer, szablon templatemela-core cart/mini-cart.php) --- */
body #cart-drawer.popup-drawer .drawer-inner { width: 440px; max-width: 440px; background: var(--rd-tlo); } /* motyw: 400 px, tablet 300 px */
@media (max-width: 1024px) {
	body #cart-drawer.popup-drawer .drawer-inner { max-width: 400px; }
}
body #cart-drawer.popup-drawer .drawer-header {
	padding: 22px 24px 18px;
	border-bottom: 1px solid var(--rd-linia);
	background: var(--rd-tlo);
}
body #cart-drawer.popup-drawer h2.side-cart-header { /* motyw: .woocommerce #cart-drawer h2.side-cart-header 14 px */
	margin: 0;
	color: var(--global-palette1);
	font-family: Lora, serif;
	font-size: 28px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: none;
}
#cart-drawer.popup-drawer .cart-toggle-close { color: var(--global-palette1); }
#cart-drawer.popup-drawer .drawer-content { padding: 0; }
#cart-drawer.popup-drawer .rd-dostawa { margin: 0; padding: 16px 24px 14px; border-bottom: 1px solid var(--rd-linia); }
#cart-drawer.popup-drawer .rd-dostawa p.rd-dostawa-tekst { font-size: 14px; }
#cart-drawer.popup-drawer .drawer-content ul.woocommerce-mini-cart.product_list_widget { margin: 0; padding: 0; }
#cart-drawer.popup-drawer li.woocommerce-mini-cart-item {
	position: relative;
	min-height: 118px;
	margin: 0;
	padding: 16px 52px 16px 124px;
	border-bottom: 1px solid var(--rd-linia);
	color: #555;
	font-size: 14px;
}
#cart-drawer.popup-drawer li.woocommerce-mini-cart-item img {
	position: absolute;
	top: 16px;
	left: 24px;
	width: 86px;
	height: 86px;
	margin: 0;
	object-fit: cover;
	border-radius: 4px;
	float: none;
}
#cart-drawer.popup-drawer li.woocommerce-mini-cart-item > a:not(.remove) { display: block; color: var(--global-palette1); text-decoration: none; }
#cart-drawer.popup-drawer .rd-szuflada-nazwa { display: block; color: var(--global-palette1); font-size: 15px; font-weight: 600; line-height: 1.35; }
#cart-drawer.popup-drawer .drawer-content ul.product_list_widget li.woocommerce-mini-cart-item .quantity { display: block; margin: 8px 0 0; padding: 0; color: #555; font-size: 14px; text-align: left; }
#cart-drawer.popup-drawer li.woocommerce-mini-cart-item .quantity .amount { color: var(--global-palette1); font-weight: 600; }
#cart-drawer.popup-drawer li.woocommerce-mini-cart-item a.remove {
	position: absolute;
	top: 14px;
	right: 18px;
	left: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--global-palette1) !important; /* motyw: czerwony × z !important */
	font-size: 0;
	line-height: 1;
}
#cart-drawer.popup-drawer li.woocommerce-mini-cart-item a.remove:hover { background: var(--rd-linia); }
#cart-drawer.popup-drawer li.woocommerce-mini-cart-item a.remove svg { width: 18px; height: 18px; }
body #cart-drawer.popup-drawer .drawer-inner .widget_shopping_cart_footer {
	padding: 18px 24px 24px;
	border-top: 1px solid var(--rd-linia);
	background: var(--rd-tlo);
}
#cart-drawer.popup-drawer .woocommerce-mini-cart__total {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin: 0 0 14px;
	padding: 0;
	border: 0;
}
#cart-drawer.popup-drawer .rd-szuflada-suma-etykieta { color: #555; font-size: 15px; }
#cart-drawer.popup-drawer .woocommerce-mini-cart__total .amount { color: var(--global-palette1); font-size: 22px; font-weight: 600; }
#cart-drawer.popup-drawer .drawer-content .woocommerce-mini-cart__buttons.buttons { display: grid; gap: 10px; margin: 0; padding: 0; }
#cart-drawer.popup-drawer .woocommerce-mini-cart__buttons a.button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 50px;
	margin: 0;
	padding: 10px 24px;
	border: 2px solid var(--global-palette1);
	border-radius: 999px;
	font-family: Poppins, sans-serif;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
}
#cart-drawer.popup-drawer .woocommerce-mini-cart__buttons a.rd-szuflada-kasa { background: var(--global-palette1); color: #fff; }
#cart-drawer.popup-drawer .woocommerce-mini-cart__buttons a.rd-szuflada-kasa:hover { background: #0d3517; border-color: #0d3517; }
#cart-drawer.popup-drawer .woocommerce-mini-cart__buttons a.rd-szuflada-koszyk { background: transparent; color: var(--global-palette1); }
#cart-drawer.popup-drawer .woocommerce-mini-cart__buttons a.rd-szuflada-koszyk:hover { background: var(--rd-linia); }
#cart-drawer.popup-drawer .woocommerce-mini-cart__empty-message { padding: 32px 24px; color: #555; text-align: center; }
@media (max-width: 480px) {
	body #cart-drawer.popup-drawer .drawer-inner { width: 100%; max-width: 100%; }
	#cart-drawer.popup-drawer li.woocommerce-mini-cart-item { padding-left: 112px; }
	#cart-drawer.popup-drawer li.woocommerce-mini-cart-item img { width: 76px; height: 76px; left: 18px; }
}

/* --- Moje konto --- */
body.rd-konto .woocommerce h2 {
	color: var(--global-palette1);
	font-family: Lora, serif;
	font-size: 30px;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
}
body.rd-konto .woocommerce form.woocommerce-form-login,
body.rd-konto .woocommerce form.woocommerce-form-register {
	padding: 32px;
	border: 1px solid var(--rd-linia);
	border-radius: 4px;
	background: #fff;
}
body.rd-konto .woocommerce form .form-row label { color: #444; font-size: 14px; }
body.rd-konto .woocommerce input.input-text { min-height: 48px; padding: 10px 14px; }
body.rd-konto .woocommerce-LostPassword a,
body.rd-konto .woocommerce-privacy-policy-text a,
body.rd-konto .woocommerce-MyAccount-content a:not(.button) { color: var(--global-palette1); text-decoration: underline; text-underline-offset: 2px; }
/* zalogowany: menu z lewej (motyw dawał je z prawej, za treścią) */
@media (min-width: 1025px) {
	body.rd-konto.logged-in .entry-content > .woocommerce {
		display: grid;
		grid-template-columns: 260px minmax(0, 1fr);
		column-gap: 56px;
		align-items: start;
	}
	/* motyw: avatar + menu w .account-navigation-wrap, z order — kolumny wprost */
	body.rd-konto.logged-in .entry-content > .woocommerce > .account-navigation-wrap { grid-column: 1; grid-row: 1; width: auto; max-width: none; float: none; margin: 0; padding: 0; }
	body.rd-konto.logged-in .entry-content > .woocommerce > .woocommerce-MyAccount-content { grid-column: 2; grid-row: 1; width: auto; max-width: none; float: none; margin: 0; padding: 0; }
	body.rd-konto.logged-in .woocommerce-MyAccount-navigation { width: auto; float: none; margin: 0; }
}
body.rd-konto .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; border-top: 1px solid var(--rd-linia); }
body.rd-konto .woocommerce-MyAccount-navigation li { margin: 0; border-bottom: 1px solid var(--rd-linia); }
body.rd-konto .woocommerce-MyAccount-navigation li a { display: block; padding: 13px 16px; color: #444; font-size: 15px; text-decoration: none; }
body.rd-konto .woocommerce-MyAccount-navigation li a:hover { color: var(--global-palette1); background: rgba(231, 227, 217, .5); }
body.rd-konto .woocommerce-MyAccount-navigation li.is-active a {
	color: var(--global-palette1);
	font-weight: 600;
	background: var(--rd-linia);
	box-shadow: inset 3px 0 0 var(--global-palette1);
}
body.rd-konto .woocommerce-MyAccount-content { color: #444; font-size: 15px; }
body.rd-konto .woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: 6px; margin: 0 0 0 16px; vertical-align: middle; }

/* --- kasa: logowanie, wariant C (2026-10-01, rd_koszyk_logowanie_html()): pas „Masz już konto? Zaloguj się” nad formularzem,
   formularz logowania Woo rozwijany na miejscu, pod nim zdanie dla gościa. Szerokość = lewa kolumna bloku kasy (jak pasek). --- */
.rd-kasa-konto {
	margin: 0 0 10px;
	border: 2px solid var(--rd-linia);
	border-radius: 4px;
	background: #fff;
}
.rd-kasa-konto > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 14px 18px;
	color: var(--global-palette1);
	font-size: 15px;
	cursor: pointer;
	list-style: none;
}
.rd-kasa-konto > summary::-webkit-details-marker { display: none; }
.rd-kasa-konto-tekst strong { font-weight: 600; }
.rd-kasa-konto-przycisk {
	flex: none;
	padding: 8px 22px;
	border: 2px solid var(--global-palette1);
	border-radius: 999px;
	color: var(--global-palette1);
	font-size: 14px;
	font-weight: 500;
	white-space: nowrap;
}
.rd-kasa-konto > summary:hover .rd-kasa-konto-przycisk,
.rd-kasa-konto[open] .rd-kasa-konto-przycisk { background: var(--global-palette1); color: #fff; }
.rd-kasa-konto-formularz { padding: 0 18px 18px; border-top: 1px solid var(--rd-linia); }
body.rd-kasa .rd-kasa-konto form.woocommerce-form-login { margin: 16px 0 0; padding: 0; border: 0; border-radius: 0; background: none; }
body.rd-kasa .rd-kasa-konto form .form-row { margin: 0 0 12px; padding: 0; }
body.rd-kasa .rd-kasa-konto form .form-row label { color: #444; font-size: 14px; }
body.rd-kasa .rd-kasa-konto input.input-text {
	min-height: 48px;
	padding: 10px 14px;
	border: 2px solid var(--rd-linia);
	border-radius: 4px;
	background: #fff;
	color: #222;
	box-shadow: none;
}
body.rd-kasa .rd-kasa-konto input.input-text:focus { border-color: var(--global-palette1); box-shadow: 0 0 0 1px var(--global-palette1); outline: none; }
body.rd-kasa .rd-kasa-konto form .form-row:has(.woocommerce-form-login__submit) {
	display: flex;
	flex-direction: row-reverse; /* przycisk pierwszy, „Zapamiętaj mnie” obok */
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;
	gap: 10px 18px;
}
body.rd-kasa .rd-kasa-konto form .form-row:has(.woocommerce-form-login__submit)::before,
body.rd-kasa .rd-kasa-konto form .form-row:has(.woocommerce-form-login__submit)::after { display: none; } /* clearfix motywu = element flex */
body.rd-kasa .rd-kasa-konto .woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: 6px; margin: 0; }
body.rd-kasa .rd-kasa-konto button.woocommerce-form-login__submit {
	height: 48px;
	min-height: 0;
	margin: 0;
	padding: 0 32px;
	line-height: 1;
	border: 2px solid var(--global-palette1);
	border-radius: 999px;
	background: var(--global-palette1);
	color: #fff;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
}
body.rd-kasa .rd-kasa-konto button.woocommerce-form-login__submit:hover { background: #0d3517; border-color: #0d3517; }
body.rd-kasa .rd-kasa-konto .lost_password { margin: 0; font-size: 14px; }
body.rd-kasa .rd-kasa-konto .lost_password a { color: var(--global-palette1); text-decoration: underline; text-underline-offset: 2px; }
.rd-kasa-gosc { margin: 0 0 32px; color: #6b6b6b; font-size: 14px; }
@media (min-width: 740px) {
	/* = treść lewej kolumny bloku: 65% minus odstęp 4,53% (pasek ma to samo przez padding) */
	body.rd-kasa .rd-kasa-konto,
	body.rd-kasa .rd-kasa-gosc { box-sizing: border-box; width: 60.4716981132%; }
}
@media (max-width: 739px) {
	.rd-kasa-konto > summary { padding: 12px 14px; font-size: 14px; }
	.rd-kasa-konto-przycisk { padding: 6px 16px; }
}

/* --- szuflada: pusta (2026-10-01, rd_koszyk_szuflada_pusta_html(); motyw: nagłówek WERSALIKAMI, margin-top -50px, kwadratowy przycisk) --- */
#cart-drawer.popup-drawer .woocommerce-mini-cart__empty-message.rd-szuflada-pusta {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	margin: 0;
	padding: 48px 32px;
	color: #555;
	text-align: center;
}
#cart-drawer.popup-drawer .rd-szuflada-pusta svg { color: var(--global-palette1); margin-bottom: 4px; }
#cart-drawer.popup-drawer .rd-szuflada-pusta p { margin: 0; font-size: 15px; line-height: 1.55; }
#cart-drawer.popup-drawer .rd-szuflada-pusta p.rd-szuflada-pusta-tytul {
	color: var(--global-palette1);
	font-family: Lora, serif;
	font-size: 26px;
	font-weight: 500;
	line-height: 1.25;
}
#cart-drawer.popup-drawer .rd-szuflada-pusta a.button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 50px;
	margin: 12px 0 0;
	padding: 10px 24px;
	border: 2px solid var(--global-palette1);
	border-radius: 999px;
	background: var(--global-palette1);
	color: #fff;
	font-family: Poppins, sans-serif;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
}
#cart-drawer.popup-drawer .rd-szuflada-pusta a.button:hover { background: #0d3517; border-color: #0d3517; }
#cart-drawer.popup-drawer .rd-szuflada-pusta a.rd-szuflada-link { color: var(--global-palette1); font-size: 14px; text-decoration: underline; text-underline-offset: 2px; }

/* ==========================================================================
   Przyklejony pasek „Dodaj do koszyka” na karcie produktu (2026-10-03, rd-pasek-koszyka.php)
   Selektory od #base-sticky-add-to-cart: reguły Woo i motywu (`.woocommerce button.button.alt`) biją same klasy.
   Zamiast paska z demo (białe tło, „Nazwa ⌇ Łacina”, szary licznik, wersaliki): tło i linia sklepu, nazwa + łacina
   kursywą jak w H1 karty, licznik w ramce i pigułka jak w koszyku. Telefon (< 768 px) jak plnts: zdjęcie, nazwa i cena
   jedna pod drugą, pigułka po prawej, bez licznika. Wjazd paska (klasa item-is-fixed) robi skrypt dodatku motywu.
   ========================================================================== */
body.single-product { --rd-pk-wys: 77px; } /* wysokość paska z linią — o tyle (minus odstęp przycisku od dołu) jedzie w górę „do góry” */
#base-sticky-add-to-cart.rd-pasek-koszyka.base-sticky-add-to-cart-footer {
	padding: 0; /* motyw daje 10 px po bokach na telefonie — margines robi .site-container */
	background: var(--rd-tlo);
	border-top: 1px solid var(--rd-linia);
	box-shadow: 0 -4px 16px rgba(0, 0, 0, .06);
}
#base-sticky-add-to-cart.rd-pasek-koszyka .rd-pk {
	display: grid;
	grid-template-columns: 52px minmax(0, 1fr) auto auto;
	grid-template-areas: "foto nazwa cena akcja";
	align-items: center;
	column-gap: 16px;
	min-height: 76px;
	padding: 12px 0;
}
#base-sticky-add-to-cart.rd-pasek-koszyka .rd-pk-foto {
	grid-area: foto;
	display: block;
	width: 52px;
	height: 52px;
	object-fit: cover;
	border-radius: 4px;
}
#base-sticky-add-to-cart.rd-pasek-koszyka .rd-pk-nazwa {
	grid-area: nazwa;
	min-width: 0;
	margin: 0;
	overflow: hidden;
	color: #111;
	font-family: var(--global-heading-font-family, Lora), serif;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: 0;
	white-space: nowrap;
	text-overflow: ellipsis;
}
#base-sticky-add-to-cart.rd-pasek-koszyka .rd-pk-lacina {
	display: block;
	margin-top: 2px;
	overflow: hidden;
	color: #4a6650;
	font-family: var(--global-body-font-family, Poppins), sans-serif;
	font-size: 13px;
	font-style: italic;
	font-weight: 400;
	text-overflow: ellipsis;
}
#base-sticky-add-to-cart.rd-pasek-koszyka .rd-pk-cena {
	grid-area: cena;
	margin: 0 0 0 8px;
	color: var(--global-palette1);
	font-size: 20px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0;
	white-space: nowrap;
}
#base-sticky-add-to-cart.rd-pasek-koszyka .rd-pk-cena del { margin-right: 6px; color: #777; font-size: 14px; font-weight: 400; }
#base-sticky-add-to-cart.rd-pasek-koszyka .rd-pk-cena del .woocommerce-Price-amount { color: inherit; }
#base-sticky-add-to-cart.rd-pasek-koszyka .rd-pk-cena ins { text-decoration: none; }
#base-sticky-add-to-cart.rd-pasek-koszyka .rd-pk-cena ins .woocommerce-Price-amount { color: #c34b17; } /* promocja: kolor etykiety rabatu */
#base-sticky-add-to-cart.rd-pasek-koszyka .rd-pk-formularz,
#base-sticky-add-to-cart.rd-pasek-koszyka .rd-pk-przycisk { grid-area: akcja; }
#base-sticky-add-to-cart.rd-pasek-koszyka form.cart { display: flex; align-items: center; gap: 12px; margin: 0; }
#base-sticky-add-to-cart.rd-pasek-koszyka .stock { display: none; } /* „Na stanie” / „Ostatnia sztuka” są na karcie — w pasku wypychały licznik w górę */

/* licznik jak w koszyku: biały, ramka 2 px, zielone − i + — w pasku i na karcie (karta od 2026-10-03, „żeby było spójne”) */
#base-sticky-add-to-cart.rd-pasek-koszyka .quantity.spinners-added,
body.single-product.woocommerce div.product div.summary form.cart .quantity.spinners-added {
	display: inline-flex;
	align-items: stretch;
	height: 48px;
	margin: 0;
	border: 2px solid var(--rd-linia);
	border-radius: 4px;
	background: #fff;
}
#base-sticky-add-to-cart.rd-pasek-koszyka .quantity.spinners-added input.qty,
body.single-product.woocommerce div.product div.summary form.cart .quantity.spinners-added input.qty {
	width: 34px;
	height: auto;
	padding: 0;
	border: 0;
	background: transparent;
	color: #222;
	font-size: 15px;
	font-weight: 500;
	text-align: center;
	-moz-appearance: textfield;
}
#base-sticky-add-to-cart.rd-pasek-koszyka .quantity input.qty::-webkit-inner-spin-button,
#base-sticky-add-to-cart.rd-pasek-koszyka .quantity input.qty::-webkit-outer-spin-button,
body.single-product.woocommerce div.product div.summary form.cart .quantity input.qty::-webkit-inner-spin-button,
body.single-product.woocommerce div.product div.summary form.cart .quantity input.qty::-webkit-outer-spin-button { margin: 0; -webkit-appearance: none; }
#base-sticky-add-to-cart.rd-pasek-koszyka .quantity.spinners-added input.minus,
#base-sticky-add-to-cart.rd-pasek-koszyka .quantity.spinners-added input.plus,
body.single-product.woocommerce div.product div.summary form.cart .quantity.spinners-added input.minus,
body.single-product.woocommerce div.product div.summary form.cart .quantity.spinners-added input.plus {
	width: 36px;
	border: 0;
	background-color: transparent;
	background-size: 16px;
	cursor: pointer;
}
#base-sticky-add-to-cart.rd-pasek-koszyka .quantity.spinners-added input.minus,
body.single-product.woocommerce div.product div.summary form.cart .quantity.spinners-added input.minus {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23134a21'%3E%3Cpath d='M19 11H5v2h14z'/%3E%3C/svg%3E");
}
#base-sticky-add-to-cart.rd-pasek-koszyka .quantity.spinners-added input.plus,
body.single-product.woocommerce div.product div.summary form.cart .quantity.spinners-added input.plus {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23134a21'%3E%3Cpath d='M11 11V5h2v6h6v2h-6v6h-2v-6H5v-2z'/%3E%3C/svg%3E");
}

/* pigułka jak „Przejdź do kasy” (bez wersalików motywu) — w pasku i główny przycisk karty */
#base-sticky-add-to-cart.rd-pasek-koszyka .single_add_to_cart_button,
body.single-product.woocommerce div.product div.summary form.cart .single_add_to_cart_button,
#base-sticky-add-to-cart.rd-pasek-koszyka a.rd-pk-przycisk {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	min-height: 48px;
	margin: 0;
	padding: 0 30px;
	border: 2px solid var(--global-palette1);
	border-radius: 999px;
	background: var(--global-palette1);
	color: #fff;
	font-family: Poppins, sans-serif;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: none;
	white-space: nowrap;
	box-shadow: none;
}
#base-sticky-add-to-cart.rd-pasek-koszyka .single_add_to_cart_button:hover,
body.single-product.woocommerce div.product div.summary form.cart .single_add_to_cart_button:hover,
#base-sticky-add-to-cart.rd-pasek-koszyka a.rd-pk-przycisk:hover { border-color: #0d3517; background: #0d3517; color: #fff; }
#base-sticky-add-to-cart.rd-pasek-koszyka .single_add_to_cart_button:focus-visible,
body.single-product.woocommerce div.product div.summary form.cart .single_add_to_cart_button:focus-visible,
#base-sticky-add-to-cart.rd-pasek-koszyka a.rd-pk-przycisk:focus-visible { outline: 2px solid var(--global-palette1); outline-offset: 2px; }
#base-sticky-add-to-cart.rd-pasek-koszyka .single_add_to_cart_button.loading,
body.single-product.woocommerce div.product div.summary form.cart .single_add_to_cart_button.loading { padding-right: 46px; } /* miejsce na kółko Woo (::after) */
/* karta: selektory od body.woocommerce — motyw ma `.woocommerce.base-cart-button-normal … form.cart .button` (rozmiar 100%,
   flex-grow: 0) i margin-right 15px !important; clearfix Woo (form.cart::before) w układzie flex robił 12 px przed licznikiem */
body.single-product.woocommerce div.product div.summary form.cart:not(.variations_form),
body.single-product.woocommerce div.product div.summary form.cart .woocommerce-variation-add-to-cart { display: flex; align-items: center; gap: 12px; }
body.single-product.woocommerce div.product div.summary form.cart:not(.variations_form)::before,
body.single-product.woocommerce div.product div.summary form.cart:not(.variations_form)::after,
body.single-product.woocommerce div.product div.summary form.cart .woocommerce-variation-add-to-cart::before,
body.single-product.woocommerce div.product div.summary form.cart .woocommerce-variation-add-to-cart::after { content: none; }
body.single-product.woocommerce div.product div.summary form.cart .single_add_to_cart_button { height: auto; margin-right: 0 !important; }
body.single-product.woocommerce div.product div.summary form.cart .quantity.spinners-added { flex: none; }
@media (max-width: 767px) {
	body.single-product.woocommerce div.product div.summary form.cart .single_add_to_cart_button { flex: 1 1 auto; padding: 0 20px; } /* plnts: na telefonie przycisk na całą szerokość */
}

/* przycisk „do góry” nad paskiem (motyw przesuwa go o stałe 60 px i tylko od 768 px — na telefonie chował się pod paskiem) */
body.single-product #bt-scroll-up.sticky-go-up { transform: translateY(calc(16px - var(--rd-pk-wys))) !important; }

@media (max-width: 767px) {
	body.single-product { --rd-pk-wys: 69px; }
	#base-sticky-add-to-cart.rd-pasek-koszyka .rd-pk {
		grid-template-columns: 44px minmax(0, 1fr) auto;
		grid-template-areas:
			"foto nazwa akcja"
			"foto cena akcja";
		column-gap: 12px;
		row-gap: 1px;
		min-height: 68px;
		padding: 10px 0 calc(10px + env(safe-area-inset-bottom, 0px));
	}
	#base-sticky-add-to-cart.rd-pasek-koszyka .rd-pk-foto { width: 44px; height: 44px; }
	#base-sticky-add-to-cart.rd-pasek-koszyka .rd-pk-nazwa { align-self: end; font-size: 15px; line-height: 1.25; }
	#base-sticky-add-to-cart.rd-pasek-koszyka .rd-pk-lacina { display: none; }
	#base-sticky-add-to-cart.rd-pasek-koszyka .rd-pk-cena { align-self: start; margin: 0; font-size: 15px; }
	#base-sticky-add-to-cart.rd-pasek-koszyka .rd-pk-cena del { font-size: 12px; }
	#base-sticky-add-to-cart.rd-pasek-koszyka .quantity { display: none !important; } /* ilość zmienia się na karcie i w koszyku */
	#base-sticky-add-to-cart.rd-pasek-koszyka .single_add_to_cart_button,
	#base-sticky-add-to-cart.rd-pasek-koszyka a.rd-pk-przycisk { min-height: 44px; padding: 0 20px; }
}
/* telefon: bez zdjęcia (jak plnts) — przy nim na nazwę zostawało ~100 px („Sansewieri…”) */
@media (max-width: 479px) {
	#base-sticky-add-to-cart.rd-pasek-koszyka .rd-pk { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "nazwa akcja" "cena akcja"; }
	#base-sticky-add-to-cart.rd-pasek-koszyka .rd-pk-foto { display: none; }
}

/* --------------------------------------------------------------------------
   Wyniki wyszukiwania w sekcjach (2026-10-09, rd-wyglad/rd-szukaj.php) — pas tytułu jak konto (body.rd-tytul--zielony),
   skróty do sekcji jako pigułki, Produkty w kartach .rd-karty-lista (4 / 2 kolumny), Porady w siatce kart bloga
   (.rd-kp--siatka: 3 / 2 / 1 kolumna zamiast paska przewijanego), Strony jako lista wierszy, pusty wynik z polem szukania.
   -------------------------------------------------------------------------- */
.rd-szukaj-strona .entry-hero .rd-szukaj-podsumowanie { margin: 8px 0 0; color: #fffaf2; font-size: 15px; opacity: .8; }
body.rd-tytul--krem .rd-szukaj-podsumowanie { color: var(--global-palette1); }
.rd-szukaj { padding-bottom: 24px; }
.rd-szukaj-skroty { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 40px; }
.rd-szukaj-skroty a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 18px;
	border: 1.4px solid var(--global-palette1);
	border-radius: 999px;
	color: var(--global-palette1);
	font-size: 15px;
	text-decoration: none;
	transition: background .2s, color .2s;
}
.rd-szukaj-skroty a span { min-width: 24px; padding: 1px 7px; border-radius: 999px; background: #e9efe2; font-size: 13px; text-align: center; transition: background .2s; }
.rd-szukaj-skroty a:hover,
.rd-szukaj-skroty a:focus-visible { background: var(--global-palette1); color: #fff; }
.rd-szukaj-skroty a:hover span,
.rd-szukaj-skroty a:focus-visible span { background: rgba(255, 255, 255, .18); }
.rd-szukaj-sekcja { margin: 0 0 72px; scroll-margin-top: 140px; }
.rd-szukaj-naglowek { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; margin-bottom: 22px; }
.rd-szukaj .rd-szukaj-tytul,
.rd-lz-pusta .rd-lz-tytul {
	margin: 0;
	color: var(--global-palette1);
	font-family: var(--global-heading-font-family, Lora), serif;
	font-size: clamp(26px, 2.4vw, 34px);
	font-weight: 500;
	line-height: 1.15;
	letter-spacing: 0;
	text-transform: none;
}
.rd-szukaj-licznik { margin-left: 4px; color: #5e6846; font-family: var(--global-body-font-family, Poppins), sans-serif; font-size: .5em; vertical-align: middle; }
.rd-szukaj .rd-szukaj-wiecej {
	padding: 8px 22px;
	border: 1.4px solid var(--global-palette1);
	border-radius: 999px;
	color: var(--global-palette1);
	font-size: 15px;
	text-decoration: none;
	white-space: nowrap;
	transition: background .2s, color .2s;
}
.rd-szukaj .rd-szukaj-wiecej:hover,
.rd-szukaj .rd-szukaj-wiecej:focus-visible { background: var(--global-palette1); color: #fff; }
.rd-szukaj-kategorie { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 28px; padding: 0; list-style: none; }
.rd-szukaj-kategorie li { margin: 0; }
.rd-szukaj-kategorie a {
	display: inline-block;
	padding: 6px 16px;
	border: 1px solid #d9d3c4;
	border-radius: 999px;
	background: #fff;
	color: var(--global-palette1);
	font-size: 14px;
	text-decoration: none;
	transition: border-color .2s;
}
.rd-szukaj-kategorie a:hover,
.rd-szukaj-kategorie a:focus-visible { border-color: var(--global-palette1); }
.rd-szukaj-dol { margin: 36px 0 0; text-align: center; }
.rd-szukaj .rd-szukaj-przycisk {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 12px 28px;
	border-radius: 999px;
	background: var(--global-palette1);
	color: #fff;
	font-size: 15px;
	text-decoration: none;
	transition: background .2s;
}
.rd-szukaj .rd-szukaj-przycisk:hover,
.rd-szukaj .rd-szukaj-przycisk:focus-visible { background: #0e3a19; color: #fff; }
.rd-szukaj-przycisk svg { width: 16px; height: 16px; transition: transform .2s; }
.rd-szukaj-przycisk:hover svg { transform: translateX(4px); }
.rd-szukaj-poprawka { margin: 0 0 36px; padding: 14px 20px; border-left: 3px solid var(--global-palette1); background: #f3efe4; color: #2b3a2b; font-size: 15px; line-height: 1.6; }
.rd-szukaj-poprawka a { margin-left: 4px; color: var(--global-palette1); text-decoration: underline; text-underline-offset: 3px; }

.rd-kp.rd-kp--siatka { margin: 0; }
.rd-kp.rd-kp--siatka .rd-kp-lista {
	grid-auto-flow: row;
	grid-auto-columns: auto;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 44px 24px;
	overflow: visible;
	scroll-snap-type: none;
}

.rd-szukaj-strony { margin: 0; padding: 0; border-top: 1px solid var(--rd-linia); list-style: none; }
.rd-szukaj-strony li { margin: 0; border-bottom: 1px solid var(--rd-linia); }
.rd-szukaj-strony a {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 4px 24px;
	padding: 18px 4px;
	color: var(--global-palette1);
	text-decoration: none;
}
.rd-szukaj-strona-tytul { font-family: var(--global-heading-font-family, Lora), serif; font-size: 20px; line-height: 1.3; }
.rd-szukaj-strona-opis { grid-column: 1; color: #666; font-size: 14px; line-height: 1.6; }
.rd-szukaj-strony svg { grid-column: 2; grid-row: 1 / span 2; width: 20px; height: 20px; transition: transform .2s; }
.rd-szukaj-strony a:hover svg { transform: translateX(4px); }
.rd-szukaj-strony a:hover .rd-szukaj-strona-tytul { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }

.rd-szukaj-strony-nav ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 44px 0 0; padding: 0; list-style: none; }
.rd-szukaj-strony-nav li { margin: 0; }
.rd-szukaj-strony-nav .page-numbers {
	display: inline-grid;
	place-items: center;
	min-width: 42px;
	height: 42px;
	padding: 0 14px;
	border: 1px solid #d9d3c4;
	border-radius: 999px;
	color: var(--global-palette1);
	text-decoration: none;
}
.rd-szukaj-strony-nav .page-numbers.current { border-color: var(--global-palette1); background: var(--global-palette1); color: #fff; }

/* pusty wynik, pole szukania (też na 404) */
.rd-szukaj-pusto { max-width: 720px; margin: 8px auto 72px; text-align: center; }
.rd-szukaj-pusto > p { margin: 12px auto 28px; color: #4a4f45; font-size: 16px; line-height: 1.6; }
.rd-szukaj-form { position: relative; display: flex; max-width: 620px; margin: 0 auto 20px; }
.rd-szukaj-form input[type="search"] {
	width: 100%;
	height: 54px;
	padding: 0 60px 0 24px;
	border: 1.4px solid #d9d3c4;
	border-radius: 999px;
	background: #fff;
	color: #1f2a1f;
	font-size: 16px;
	box-shadow: none;
}
.rd-szukaj-form input[type="search"]:focus { border-color: var(--global-palette1); outline: none; box-shadow: 0 0 0 3px rgba(19, 74, 33, .12); }
.rd-szukaj-form button[type="submit"] {
	position: absolute;
	top: 5px;
	right: 5px;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--global-palette1);
	color: #fff;
	cursor: pointer;
}
.rd-szukaj-form button[type="submit"]:hover { background: #0e3a19; }
.rd-szukaj-form button svg { width: 20px; height: 20px; }
.rd-szukaj-pusto .rd-szukaj-kategorie,
.rd-404 .rd-szukaj-kategorie { justify-content: center; }
:is(.rd-szukaj-pusto, .rd-lz-pusta) + .rd-bestsellery .rd-bestsellery-kontener,
.rd-404-podobne .rd-bestsellery-kontener { padding: 0; }

@media (max-width: 1024px) {
	.rd-kp.rd-kp--siatka .rd-kp-lista { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px 16px; }
}
@media (max-width: 767px) {
	.rd-szukaj-skroty { margin-bottom: 28px; }
	.rd-szukaj-sekcja { margin-bottom: 52px; }
	.rd-kp.rd-kp--siatka .rd-kp-lista { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.rd-szukaj-strona-tytul { font-size: 18px; }
}

/* --------------------------------------------------------------------------
   Strona 404 „Ta strona uschła” (2026-10-09, rd-wyglad/rd-404.php) — zero w „404” to doniczka (SVG w kodzie). Stan rośliny
   = klasa na .rd-404: bez klasy oklapnięta i żółtawa, .is-zywa prosta i zielona, .is-przelana znów oklapnięta;
   .is-leje = spadające krople (restart animacji w skrypcie modułu).
   -------------------------------------------------------------------------- */
.rd-404 { padding: 16px 0 8px; }
.rd-404-scena { max-width: 680px; margin: 0 auto 80px; text-align: center; }
.rd-404-grafika { display: block; width: min(100%, 420px); height: auto; margin: 0 auto 4px; overflow: visible; }
.rd-404-cyfra { fill: var(--global-palette1); font-family: var(--global-heading-font-family, Lora), serif; font-size: 130px; }
.rd-404-doniczka { fill: #c4683f; }
.rd-404-rant { fill: #a9552f; }
.rd-404-lodyga { fill: none; stroke: #6b6a3a; stroke-width: 3; transition: stroke 1.2s; }
.rd-404-lisc { fill: #b4a95c; transition: fill 1.2s; }
.rd-404-roslina { transform: rotate(28deg); transform-box: view-box; transform-origin: 150px 128px; transition: transform 1.2s cubic-bezier(.3, 1.4, .5, 1); }
.rd-404.is-zywa .rd-404-roslina { transform: rotate(0deg); }
.rd-404.is-zywa .rd-404-lisc { fill: #2f7a3e; }
.rd-404.is-zywa .rd-404-lodyga { stroke: #2f6b3a; }
.rd-404.is-przelana .rd-404-roslina { transform: rotate(-16deg); }
.rd-404.is-przelana .rd-404-lisc { fill: #8a9550; }
.rd-404-krople ellipse { fill: #6fa8c9; opacity: 0; }
.rd-404.is-leje .rd-404-krople ellipse { animation: rd-404-kropla .8s ease-in forwards; }
.rd-404.is-leje .rd-404-krople ellipse:nth-child(2) { animation-delay: .08s; }
.rd-404.is-leje .rd-404-krople ellipse:nth-child(3) { animation-delay: .16s; }
.rd-404.is-leje .rd-404-krople ellipse:nth-child(4) { animation-delay: .24s; }
.rd-404.is-leje .rd-404-krople ellipse:nth-child(5) { animation-delay: .32s; }
.rd-404.is-leje .rd-404-krople ellipse:nth-child(6) { animation-delay: .4s; }
@keyframes rd-404-kropla {
	0% { opacity: 0; transform: translateY(-24px); }
	20% { opacity: 1; }
	100% { opacity: 0; transform: translateY(72px); }
}
.rd-404 .rd-404-tytul {
	margin: 0 0 10px;
	color: var(--global-palette1);
	font-family: var(--global-heading-font-family, Lora), serif;
	font-size: clamp(34px, 4vw, 52px);
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: 0;
	text-transform: none;
}
.rd-404 .rd-404-opis { max-width: 520px; min-height: 3.2em; margin: 0 auto; color: #4a4f45; font-size: 17px; line-height: 1.6; }
.rd-404-opis a { color: var(--global-palette1); text-decoration: underline; text-underline-offset: 3px; }
.rd-404 .rd-404-podlej {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 24px 0 40px;
	padding: 12px 28px;
	border: 0;
	border-radius: 999px;
	background: var(--global-palette1);
	color: #fff;
	font-size: 15px;
	line-height: 1.4;
	text-transform: none;
	cursor: pointer;
	transition: background .2s;
}
.rd-404 .rd-404-podlej:hover,
.rd-404 .rd-404-podlej:focus-visible { background: #0e3a19; color: #fff; }
.rd-404-podlej svg { width: 18px; height: 18px; }
.rd-404-podobne { margin-bottom: 24px; }
@media (max-width: 767px) {
	.rd-404-scena { margin-bottom: 56px; }
	.rd-404 .rd-404-opis { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
	.rd-404-roslina,
	.rd-404-lisc,
	.rd-404-lodyga { transition: none; }
	.rd-404.is-leje .rd-404-krople ellipse { animation: none; }
}

/* --------------------------------------------------------------------------
   Pusta lista życzeń + powitanie w koncie (2026-10-09, rd-wyglad/rd-lista-zyczen.php). Zdanie wtyczki znika tylko wtedy,
   gdy za listą stoi nasz blok (:has) — po usunięciu ostatniej rośliny bez przeładowania zostaje zdanie wtyczki.
   -------------------------------------------------------------------------- */
.woosw-list:has(+ .rd-lz-pusta) .woosw-popup-content-mid-message { display: none; }
.rd-lz-pusta { max-width: 560px; margin: 16px auto 80px; text-align: center; }
.rd-lz-ikona { display: inline-grid; place-items: center; width: 88px; height: 88px; margin-bottom: 20px; border-radius: 50%; background: #e9efe2; color: var(--global-palette1); }
.rd-lz-ikona svg { width: 40px; height: 40px; }
.rd-lz-pusta .rd-lz-tytul { margin-bottom: 12px; }
.rd-lz-pusta .rd-lz-opis { margin: 0 auto 28px; color: #4a4f45; font-size: 16px; line-height: 1.6; }
.rd-lz-pusta .rd-lz-przyciski { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin: 0; }
.rd-lz-pusta .rd-lz-przycisk {
	padding: 12px 28px;
	border: 1.4px solid var(--global-palette1);
	border-radius: 999px;
	background: var(--global-palette1);
	color: #fff;
	font-size: 15px;
	text-decoration: none;
	transition: background .2s, color .2s;
}
.rd-lz-pusta .rd-lz-przycisk:hover,
.rd-lz-pusta .rd-lz-przycisk:focus-visible { background: #0e3a19; color: #fff; }
.rd-lz-pusta .rd-lz-przycisk--obrys { background: transparent; color: var(--global-palette1); }
.rd-lz-pusta .rd-lz-przycisk--obrys:hover,
.rd-lz-pusta .rd-lz-przycisk--obrys:focus-visible { background: var(--global-palette1); color: #fff; }

.rd-konto-powitanie { display: flex; align-items: center; gap: 14px; margin: 0 0 20px; padding: 0 4px; }
.rd-konto-inicjal {
	display: grid;
	flex: none;
	place-items: center;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: var(--global-palette1);
	color: #fffaf2;
	font-family: var(--global-heading-font-family, Lora), serif;
	font-size: 24px;
	line-height: 1;
}
.rd-konto-imie { color: var(--global-palette1); font-family: var(--global-heading-font-family, Lora), serif; font-size: 20px; line-height: 1.25; }
.rd-konto-imie span { display: block; color: #5e6846; font-family: var(--global-body-font-family, Poppins), sans-serif; font-size: 13px; }
/* Moje konto → Kokpit: podziękowanie + 3 kafelki zamiast „Witaj X (nie jesteś X? Wyloguj się)” (2026-10-21, Michał).
   Szablon rd-wyglad/szablon-konto-kokpit.php, podmiana w rd-koszyk.php (punkt 7). */
.rd-kokpit { max-width: 880px; }
.rd-kokpit-nad {
	margin: 0 0 10px;
	color: #5e6846;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: .14em;
	text-transform: uppercase;
}
body.rd-konto .woocommerce .rd-kokpit-tytul { margin: 0 0 14px; font-size: clamp(30px, 2.8vw, 40px); line-height: 1.12; }
.rd-kokpit-tytul em { color: #9c5638; font-style: italic; font-weight: 400; }
.rd-kokpit-tekst { max-width: 620px; margin: 0 0 40px; font-size: 16px; line-height: 1.7; }
.rd-kokpit .rd-kokpit-tekst + .rd-kokpit-nad { margin-bottom: 14px; }
body.rd-konto .woocommerce-MyAccount-content ul.rd-kokpit-kafle { /* motyw daje listom wcięcie */
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.rd-kokpit-kafle li { margin: 0; }
body.rd-konto .woocommerce-MyAccount-content a.rd-kokpit-kafel {
	display: flex;
	flex-direction: column;
	gap: 4px;
	height: 100%;
	padding: 22px 22px 20px;
	border: 1px solid var(--rd-linia);
	border-radius: 14px;
	background: #fff;
	color: #555;
	text-decoration: none;
	transition: border-color .2s, box-shadow .2s;
}
body.rd-konto .woocommerce-MyAccount-content a.rd-kokpit-kafel:hover,
body.rd-konto .woocommerce-MyAccount-content a.rd-kokpit-kafel:focus-visible { border-color: var(--global-palette1); box-shadow: 0 6px 18px rgba(19, 74, 33, .08); }
.rd-kokpit-ikona {
	width: 28px;
	height: 28px;
	margin-bottom: 10px;
	fill: none;
	stroke: var(--global-palette1);
	stroke-width: 1.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.rd-kokpit-kafel-tytul { color: var(--global-palette1); font-family: var(--global-heading-font-family, Lora), serif; font-size: 20px; line-height: 1.25; }
.rd-kokpit-kafel-opis { font-size: 14px; line-height: 1.5; }
@media (max-width: 767px) {
	.rd-kokpit-tekst { margin-bottom: 28px; }
	body.rd-konto .woocommerce-MyAccount-content ul.rd-kokpit-kafle { grid-template-columns: 1fr; gap: 10px; }
	body.rd-konto .woocommerce-MyAccount-content a.rd-kokpit-kafel {
		display: grid;
		grid-template-columns: 28px 1fr;
		column-gap: 14px;
		row-gap: 2px;
		align-items: center;
		padding: 16px 18px;
	}
	.rd-kokpit-ikona { grid-row: span 2; margin: 0; }
	.rd-kokpit-kafel-tytul { font-size: 18px; }
}
/* Moje konto: komunikaty z przyciskiem („Potwierdź adres email” z Woo 11, „Żadne zamówienia… Przeglądaj produkty”):
   tekst po lewej, przycisk w jednej linii po prawej, także gdy Woo stawia go przed tekstem (Michał, 21.10).
   Motyw robi z komunikatu flex, więc bez tego przycisk z przodu ściskał się do dwóch linii. Telefon: przycisk pod tekstem. */
body.rd-konto .woocommerce-MyAccount-content .woocommerce-info:has(> .button) { align-items: center; gap: 12px 32px; }
body.rd-konto .woocommerce-MyAccount-content .woocommerce-info > .button { order: 2; flex: none; margin: -6px 0 -6px auto; white-space: nowrap; }
@media (max-width: 600px) {
	body.rd-konto .woocommerce-MyAccount-content .woocommerce-info:has(> .button) { flex-direction: column; align-items: flex-start; }
	body.rd-konto .woocommerce-MyAccount-content .woocommerce-info > .button { margin: 2px 0 0; }
}

/* --------------------------------------------------------------------------
   Karta produktu: mniej miejsca między okruszkami a zdjęciem i nazwą (2026-10-09, Michał: „po prawej morze koloru tła”).
   Pas okruszków motywu miał min. 160 px (telefon 120) z okruszkami na środku + 48 px marginesu treści = 123 px od okruszków
   do zdjęcia (telefon 64). Teraz ok. 60 px (telefon ok. 40); nad okruszkami 46 px zamiast 67.
   -------------------------------------------------------------------------- */
body.single-product .entry-hero .entry-header.product-title { min-height: 0; padding-top: 40px; padding-bottom: 24px; }
body.single-product #primary.content-area { margin-top: 24px; }
@media (max-width: 767px) {
	body.single-product .entry-hero .entry-header.product-title { padding-top: 20px; padding-bottom: 10px; }
	body.single-product #primary.content-area { margin-top: 16px; }
}

/* --------------------------------------------------------------------------
   Menu na telefonie (2026-10-09, rd-wyglad/rd-menu-mobilne.php) — wzór plnts.com: zielony pas „Menu”, kategorie z ikonami,
   podmenu wysuwane w bok ze zdjęciem kategorii, przyciskami i skrótami filtrów. Szuflada i jej otwieranie = motyw (#mobile-drawer).
   -------------------------------------------------------------------------- */
body.rd-mm-wlaczone #mobile-drawer .drawer-inner { background: var(--rd-tlo); }
body.rd-mm-wlaczone #mobile-drawer .drawer-header {
	position: sticky;
	top: 0;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 0 12px;
	background: var(--global-palette1);
}
body.rd-mm-wlaczone #mobile-drawer .drawer-header::before {
	content: "Menu";
	color: #fffaf2;
	font-family: var(--global-heading-font-family, Lora), serif;
	font-size: 18px;
	line-height: 1;
}
body.rd-mm-wlaczone #mobile-drawer .drawer-header .menu-toggle-close { position: absolute; top: 50%; right: 8px; color: #fffaf2; transform: translateY(-50%); }
body.rd-mm-wlaczone #mobile-drawer .drawer-header .toggle-close-bar { background: #fffaf2; }
body.rd-mm-wlaczone #mobile-drawer .drawer-content { padding: 0; }

.rd-mm { color: var(--global-palette1); font-family: var(--global-body-font-family, Poppins), sans-serif; }
/* motyw stylizuje linki szuflady od .mobile-navigation (font nagłówków, capitalize) — stąd #mobile-drawer w selektorach niżej */
#mobile-drawer .rd-mm a,
#mobile-drawer .rd-mm button,
#mobile-drawer .rd-mm span { font-family: var(--global-body-font-family, Poppins), sans-serif; letter-spacing: 0; text-transform: none; }
.rd-mm ul { margin: 0; padding: 0; list-style: none; }
.rd-mm li { margin: 0; text-transform: none; } /* motyw: capitalize w menu szuflady („Akcesoria Do Roślin”, „Zł”) */
.rd-mm-lista > li { border-bottom: 1px solid var(--rd-linia); }
.rd-mm .rd-mm-wiersz {
	display: flex;
	align-items: center;
	gap: 14px;
	width: 100%;
	min-height: 56px;
	padding: 0 18px;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	line-height: 1.3;
	text-align: left;
	cursor: pointer;
	color: var(--global-palette1);
	font-size: 17px;
	font-weight: 400;
	letter-spacing: 0;
	text-decoration: none;
	text-transform: none;
}
#mobile-drawer .rd-mm .rd-mm-wiersz,
#mobile-drawer .rd-mm .rd-mm-wiersz .rd-mm-tekst { font-family: var(--global-heading-font-family, Lora), serif; }
.rd-mm-ikona { display: grid; flex: none; place-items: center; width: 28px; }
.rd-mm-ikona svg { width: 26px; height: 26px; }
.rd-mm-strzalka { display: grid; margin-left: auto; place-items: center; }
.rd-mm-strzalka svg { width: 18px; height: 18px; }
.rd-mm .rd-mm-akcent .rd-mm-wiersz { color: #c4683f; }
.rd-mm .rd-mm-lista--druga { margin-top: 18px; border-top: 1px solid var(--rd-linia); }
.rd-mm .rd-mm-lista--druga .rd-mm-wiersz { min-height: 50px; font-size: 16px; }
.rd-mm .rd-mm-male { display: grid; gap: 2px; padding: 20px 18px 32px; }
.rd-mm-male li { display: flex; align-items: center; gap: 12px; }
.rd-mm .rd-mm-male a,
.rd-mm-jezyk { display: inline-flex; align-items: center; gap: 12px; min-height: 42px; padding: 0; border: 0; color: #2b3a2b; font-size: 15px; text-decoration: none; text-transform: none; }
.rd-mm-male svg { width: 22px; height: 22px; color: var(--global-palette1); }
.rd-mm .rd-mm-male .rd-mm-kontakt { min-height: 0; margin-left: auto; color: var(--global-palette1); font-size: 14px; text-decoration: underline; text-underline-offset: 3px; }
.rd-mm-flaga { display: inline-grid; place-items: center; width: 22px; height: 22px; }
.rd-mm-flaga svg { width: 22px; height: 22px; border-radius: 50%; }

.rd-mm-panel[hidden] { display: none; }
.rd-mm-glowa {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: 150px;
	padding: 16px 18px;
	background: #5e6846 center / cover no-repeat;
}
.rd-mm-glowa--foto::before { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0, 0, 0, .55), rgba(0, 0, 0, .05) 65%); }
.rd-mm .rd-mm-glowa-tytul { position: relative; margin: 0; color: #fffaf2; font-family: var(--global-heading-font-family, Lora), serif; font-size: 28px; line-height: 1.1; }
.rd-mm .rd-mm-wstecz {
	position: absolute;
	top: 12px;
	left: 10px;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	gap: 2px;
	padding: 6px 12px 6px 6px;
	border: 0;
	border-radius: 999px;
	background: rgba(0, 0, 0, .3);
	color: #fffaf2;
	font-size: 14px;
	line-height: 1.2;
	text-transform: none;
	cursor: pointer;
}
.rd-mm-wstecz svg { width: 18px; height: 18px; }
.rd-mm-przyciski { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 18px; }
.rd-mm .rd-mm-btn {
	padding: 11px 22px;
	border: 1.4px solid var(--global-palette1);
	border-radius: 999px;
	background: var(--global-palette1);
	color: #fff;
	font-size: 15px;
	text-decoration: none;
}
.rd-mm .rd-mm-btn--obrys { background: transparent; color: var(--global-palette1); }
.rd-mm .rd-mm-etykieta { margin: 6px 18px 10px; color: #5e6846; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.rd-mm .rd-mm-skroty { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 18px 16px; }
.rd-mm .rd-mm-skroty a {
	display: inline-block;
	padding: 7px 14px;
	border: 1px solid #d9d3c4;
	border-radius: 999px;
	background: #fff;
	color: var(--global-palette1);
	font-size: 14px;
	text-decoration: none;
}
.rd-mm .rd-mm-pod { padding: 0 18px 36px; }
.rd-mm .rd-mm-pod--dwie { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 16px; }
.rd-mm-pod li { border-bottom: 1px solid #efebe1; }
.rd-mm .rd-mm-pod a { display: block; padding: 11px 0; border: 0; color: #2b3a2b; font-size: 15px; line-height: 1.3; text-decoration: none; text-transform: none; }
.rd-mm-panel.is-wjazd { animation: rd-mm-wjazd .25s ease-out; }
.rd-mm-panel.is-powrot { animation: rd-mm-powrot .25s ease-out; }
@keyframes rd-mm-wjazd {
	from { opacity: 0; transform: translateX(24px); }
	to { opacity: 1; transform: none; }
}
@keyframes rd-mm-powrot {
	from { opacity: 0; transform: translateX(-24px); }
	to { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
	.rd-mm-panel.is-wjazd,
	.rd-mm-panel.is-powrot { animation: none; }
}

/* ==========================================================================
   Karta produktu — galeria: miniatury w jednym rzędzie + tekst 16 px na telefonie (2026-10-15, Michał)
   Motyw (woocommerce.min.css Avanam): biały pasek miniatur zachodzi 32 px na zdjęcie i zawija się w rzędy — przy 15 zdjęciach
   Monstery 3 rzędy (195 px), na telefonie nazwa zaczynała się na 823 px, przycisk koszyka na 1364 px (ekran 812).
   Teraz jeden rząd: szerokość = miniatury (wyśrodkowany jak w motywie), najwyżej 94% zdjęcia, nadmiar przewija się w bok.
   Motyw odsuwał 1. miniaturę każdego rzędu o 5 px (nth-child 6/7/9) — w jednym rzędzie tylko pierwsza.
   Klasa body.rd-miniatury-rzad i skrypt aktywnej miniatury: rd-karta-produktu.php, wyłącznik `rd_karta_miniatury_rzad`.
   ========================================================================== */
body.rd-miniatury-rzad.woocommerce div.product div.images .flex-control-thumbs {
	flex-wrap: nowrap;
	justify-content: flex-start;
	width: auto;
	max-width: 94%;
	overflow-x: auto;
	overflow-y: hidden;
	overscroll-behavior-x: contain;
	scroll-snap-type: x proximity;
	scrollbar-width: none;
}
body.rd-miniatury-rzad.woocommerce div.product div.images .flex-control-thumbs::-webkit-scrollbar { display: none; }
body.rd-miniatury-rzad.woocommerce div.product div.images .flex-control-thumbs li { flex: none; scroll-snap-align: start; }
body.rd-miniatury-rzad.woocommerce div.product div.images .flex-control-thumbs li:not(:first-child) { width: 60px; padding-left: 0; }
/* telefon: między miniaturami a nazwą było 64 px pustego (galeria 14 + 14, opakowanie 28) — zostaje 16 */
@media (max-width: 767px) {
	body.rd-miniatury-rzad.woocommerce div.product div.base-product-image-wrap.product-images { margin-bottom: 16px; }
	body.rd-miniatury-rzad.woocommerce div.product div.images.woocommerce-product-gallery { margin-bottom: 0; padding-bottom: 0; }
}

/* tekst karty na telefonie: 16 px zamiast 14 (bazowa czcionka motywu) — opis w zakładkach, punkty przy cenie, opis wariantu */
@media (max-width: 767px) {
	.single-product div.product div.summary .woocommerce-Tabs-panel { font-size: 16px; line-height: 1.6; }
	.single-product div.product div.summary .woocommerce-Tabs-panel h3 { font-size: 17px; }
	.single-product div.product div.summary > .woocommerce-product-details__short-description { font-size: 16px; line-height: 1.6; }
	.single-product div.product div.summary form.variations_form .woocommerce-variation-description p { font-size: 16px; }
}

/* ==========================================================================
   Karta produktu — nazwa tak, jak w danych (2026-10-15): motyw (woocommerce.min.css Avanam) ma
   `.woocommerce div.product .product_title { text-transform: capitalize }` → „Lampa Na Klips Do Doświetlania Roślin Domowych”,
   „Osłonka Betonowa HERA O Stożkowym Kształcie”. Po polsku wielka litera tylko tam, gdzie jest w nazwie produktu.
   ========================================================================== */
.single-product.woocommerce div.product div.summary > .product_title { text-transform: none; }

/* ==========================================================================
   Karta produktu — box „zestaw” (2026-10-15, Michał: „tak jak na plnts.com”; rd-karta-zestaw.php)
   Beżowy box z formularzem: „Wybierz rozmiar” → zwijane „Odpowiednio zadbaj” / „Odpowiednio udekoruj” (nie-rośliny:
   „Do kompletu”) → zestaw z sumą → licznik i „Dodaj do koszyka”. Kafelki przewijane w bok, klik = do zestawu (aria-pressed).
   ========================================================================== */
.rd-zestaw {
	max-width: 650px;
	margin: 20px 0 0;
	padding: 18px 18px 20px;
	border-radius: 12px;
	background: #efece2;
}
.single-product div.product div.summary .rd-zestaw form.cart { margin: 0; }
.rd-zestaw-sekcja { margin: 16px 0 0; border-top: 1px solid rgba(19, 74, 33, .22); }
.rd-zestaw-sekcja + .rd-zestaw-sekcja { margin-top: 0; }
.rd-zestaw-sekcja > summary {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 14px 0;
	color: var(--global-palette1, #134a21);
	font-size: 15px;
	font-weight: 600;
	list-style: none;
	cursor: pointer;
}
.rd-zestaw-sekcja > summary::-webkit-details-marker { display: none; }
.rd-zestaw-sekcja > summary:focus-visible { outline: 2px solid var(--global-palette1, #134a21); outline-offset: 2px; }
.rd-zestaw-tytul { flex: 1 1 auto; }
.rd-zestaw-licznik {
	padding: 2px 9px;
	border-radius: 999px;
	background: var(--global-palette1, #134a21);
	color: #fff;
	font-size: 12px;
	font-weight: 500;
}
.rd-zestaw-strzalka {
	flex: none;
	width: 9px;
	height: 9px;
	margin: 0 4px 4px 0;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	transition: transform .2s ease;
}
.rd-zestaw-sekcja[open] .rd-zestaw-strzalka { margin-bottom: -4px; transform: rotate(-135deg); }
.rd-zestaw-pasek { position: relative; padding: 0 0 16px; }
.single-product div.product div.summary .rd-zestaw-lista {
	display: flex;
	gap: 10px;
	margin: 0;
	padding: 2px;
	overflow-x: auto;
	list-style: none;
	scroll-snap-type: x proximity;
	scrollbar-width: none;
	overscroll-behavior-x: contain;
}
.rd-zestaw-lista::-webkit-scrollbar { display: none; }
.rd-zestaw-poz { flex: 0 0 118px; margin: 0; scroll-snap-align: start; }
.rd-zestaw-poz[hidden] { display: none; }
.single-product div.product div.summary .rd-zestaw-kafelek {
	display: flex;
	flex-direction: column;
	gap: 3px;
	width: 100%;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
	color: #3f3f3f;
	font: inherit;
	line-height: 1.3;
	text-align: left;
	text-transform: none;
	letter-spacing: 0;
	cursor: pointer;
}
.rd-zestaw-foto {
	position: relative;
	display: block;
	aspect-ratio: 4 / 5;
	margin: 0 0 4px;
	padding: 6px;
	border-radius: 8px;
	background: #fff;
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .04);
	transition: box-shadow .15s ease;
}
.rd-zestaw-foto img { display: block; width: 100%; height: 100%; object-fit: contain; }
.rd-zestaw-kafelek:hover .rd-zestaw-foto { box-shadow: inset 0 0 0 1px rgba(19, 74, 33, .35); }
.rd-zestaw-kafelek[aria-pressed="true"] .rd-zestaw-foto { box-shadow: inset 0 0 0 2px var(--global-palette1, #134a21); }
.rd-zestaw-kafelek:focus-visible { outline: 2px solid var(--global-palette1, #134a21); outline-offset: 2px; }
.rd-zestaw-znacznik {
	position: absolute;
	top: 6px;
	right: 6px;
	display: none;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--global-palette1, #134a21);
	color: #fff;
	font-size: 13px;
	line-height: 22px;
	text-align: center;
}
.rd-zestaw-kafelek[aria-pressed="true"] .rd-zestaw-znacznik { display: block; }
.rd-zestaw-nazwa {
	display: -webkit-box;
	overflow: hidden;
	color: var(--global-palette1, #134a21);
	font-size: 12.5px;
	font-weight: 600;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}
.rd-zestaw-dopisek { color: #6b6b6b; font-size: 11.5px; }
.rd-zestaw-cena { color: #3f3f3f; font-size: 12.5px; }
.rd-zestaw-cena .woocommerce-Price-amount { font-weight: 500; }
.single-product div.product div.summary .rd-zestaw-nav {
	position: absolute;
	top: 64px;
	z-index: 2;
	width: 34px;
	height: 34px;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #fff;
	box-shadow: var(--rd-cien);
	color: var(--global-palette1, #134a21);
	font-size: 22px;
	line-height: 32px;
	text-align: center;
	cursor: pointer;
}
.rd-zestaw-nav[hidden] { display: none; }
.single-product div.product div.summary .rd-zestaw-wstecz { left: -8px; }
.single-product div.product div.summary .rd-zestaw-dalej { right: -8px; }
.rd-zestaw-brak { margin: 0; color: #6b6b6b; font-size: 13px; }
.rd-zestaw-podsumowanie { margin: 0 0 4px; padding: 14px 0 0; border-top: 1px solid rgba(19, 74, 33, .22); }
.rd-zestaw-podsumowanie[hidden] { display: none; }
.single-product div.product div.summary .rd-zestaw-linie { margin: 0 0 10px; padding: 0; list-style: none; }
.rd-zestaw-linie li { display: flex; justify-content: space-between; gap: 16px; margin: 0 0 6px; color: #3f3f3f; font-size: 14px; line-height: 1.4; }
.rd-zestaw-linia-cena { flex: none; }
.rd-zestaw-razem { margin: 0; color: var(--global-palette1, #134a21); font-size: 15px; text-align: right; }
.rd-zestaw-razem strong { font-size: 18px; }
/* produkt prosty: formularz to rząd flex (licznik + przycisk) — sekcje i zestaw idą w osobnych wierszach nad nimi */
body.single-product.woocommerce div.product div.summary .rd-zestaw form.cart:not(.variations_form) { flex-wrap: wrap; }
.rd-zestaw form.cart:not(.variations_form) > .rd-zestaw-sekcja,
.rd-zestaw form.cart:not(.variations_form) > .rd-zestaw-podsumowanie { flex: 0 0 100%; width: 100%; }
.rd-zestaw form.cart:not(.variations_form) > .rd-zestaw-sekcja:first-of-type { margin-top: 0; border-top: 0; }
/* przy wybranych dodatkach podsumowanie zastępuje odstęp nad licznikiem */
.rd-zestaw:not(.is-zestaw) .rd-zestaw-sekcja:last-of-type { border-bottom: 1px solid rgba(19, 74, 33, .22); }
@media (max-width: 767px) {
	.rd-zestaw { padding: 14px 14px 16px; }
	.rd-zestaw-poz { flex-basis: calc((100% - 20px) / 3.25); }
	.single-product div.product div.summary .rd-zestaw-nav { display: none; }
}

/* „Zamiast niej” na niedostępnej karcie (2026-10-15, rd-podobne.php): beżowy box jak „zestaw”, kafelki jak „Do pielęgnacji” */
.rd-pow.rd-zamiast { box-sizing: border-box; width: 100%; min-width: 0; margin: 18px 0 0; padding: 16px; overflow: hidden; border-radius: 12px; background: #efece2; }
.rd-zamiast .rd-pow-lista { min-width: 0; max-width: 100%; }
.rd-zamiast .rd-pow-tytul { font-size: 15px; }
.rd-zamiast .rd-pow-kafelek { background: #fff; }

/* --------------------------------------------------------------------------
   Strona główna bez Elementora (2026-10-15) — 11 bloków „Kod skrócony” w treści strony (układ motywu „pełna szerokość”).
   Odtwarza to, co dawały sekcje Elementora (post-1563.css): sekcje rozciągnięte na całą szerokość, a Nowości,
   Promocje i Podróż w pudełku jak treść motywu (kontener 1430 px z odstępem 15 px od krawędzi = najwyżej 1400 px;
   pomiar 15.10 na 1100–1920 px) z odstępem pod spodem 84/70/50 px (Podróż 100/70/50).
   Działa tylko, gdy sekcje są bezpośrednio w treści (.entry-content > section) — pod Elementorem siedzą głębiej,
   więc te reguły nic tam nie zmieniają.
   Kolumna flex: odstępy między sekcjami sumują się jak w Elementorze (w zwykłym przepływie marginesy sąsiadów by się nakładały).
   -------------------------------------------------------------------------- */
.home .entry-content:has(> section[class^="rd-"]) {
	display: flex;
	flex-direction: column;
}
.home .entry-content > .rd-nowosci,
.home .entry-content > .rd-podroz {
	width: min(var(--global-content-width, 1430px) - 2 * var(--global-content-edge-padding, 15px), 100% - 2 * var(--global-content-edge-padding, 15px));
	margin-left: auto;
	margin-right: auto;
}
.home .entry-content > .rd-nowosci { margin-bottom: 84px; }
.home .entry-content > .rd-podroz { margin-bottom: 100px; }
@media (max-width: 1024px) {
	.home .entry-content > .rd-nowosci,
	.home .entry-content > .rd-podroz { margin-bottom: 70px; }
}
@media (max-width: 767px) {
	.home .entry-content > .rd-nowosci,
	.home .entry-content > .rd-podroz { margin-bottom: 50px; }
}

/* „Powiadom mnie, gdy wróci” (2026-10-15, rd-wyglad/rd-powiadom.php) — cała karta niedostępna: na górze boksu „Zamiast niej”;
   brak jednego rozmiaru: w formularzu wariantów (box „zestaw”) zamiast licznika i przycisku. Makieta:
   Clients/GlobalFlowers/Roslinydomowe/makieta-powiadom-2026-10-15/. */
.rd-powiadom[hidden],
.rd-powiadom [hidden] { display: none !important; }
.rd-powiadom { margin: 0; }
.rd-powiadom-tytul { display: flex; align-items: center; gap: 8px; margin: 0; color: var(--global-palette1, #134a21); font-size: 15px; font-weight: 600; }
.rd-powiadom-tytul svg { flex: none; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.rd-powiadom-opis { margin: 4px 0 12px; font-size: 14px; line-height: 1.5; }
.rd-powiadom--wariant { margin: 12px 0 0; }
.rd-powiadom--wariant .rd-powiadom-opis { margin-top: 0; }
.rd-powiadom-pulapka { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.rd-powiadom .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.rd-powiadom-wiersz { display: flex; gap: 8px; }
.rd-powiadom .rd-powiadom-wiersz input.rd-powiadom-email {
	flex: 1 1 auto;
	min-width: 0;
	height: 46px;
	margin: 0;
	padding: 0 18px;
	border: 1px solid rgba(19, 74, 33, .25);
	border-radius: 999px;
	background: #fff;
	color: #1f1f1f;
	font-size: 16px; /* 16 px: iPhone nie przybliża strony przy wpisywaniu */
	box-shadow: none;
}
.rd-powiadom .rd-powiadom-wiersz input.rd-powiadom-email:focus { border-color: var(--global-palette1, #134a21); outline: 2px solid var(--global-palette1, #134a21); outline-offset: 0; }
.rd-powiadom .rd-powiadom-wiersz button.rd-powiadom-przycisk {
	flex: none;
	height: 46px;
	min-height: 0;
	margin: 0;
	padding: 0 24px;
	border: 0;
	border-radius: 999px;
	background: var(--global-palette1, #134a21);
	color: #fff;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none; /* motyw daje przyciskom wersaliki */
	box-shadow: none;
	cursor: pointer;
	transition: background-color .2s;
}
.rd-powiadom .rd-powiadom-wiersz button.rd-powiadom-przycisk:hover,
.rd-powiadom .rd-powiadom-wiersz button.rd-powiadom-przycisk:focus-visible { background: #0d3517; color: #fff; }
.rd-powiadom .rd-powiadom-wiersz button.rd-powiadom-przycisk:disabled { opacity: .6; cursor: default; }
.rd-powiadom-zgoda { display: flex; align-items: flex-start; gap: 9px; margin: 10px 0 0; color: #4b5149; font-size: 12.5px; line-height: 1.5; cursor: pointer; }
.rd-powiadom-zgoda input { flex: none; width: 16px; height: 16px; margin: 2px 0 0; accent-color: var(--global-palette1, #134a21); cursor: pointer; }
.rd-powiadom-zgoda a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.rd-powiadom-komunikat { margin: 8px 0 0; color: #b3261e; font-size: 13px; line-height: 1.45; }
.rd-powiadom-komunikat:empty { display: none; }
.rd-powiadom-komunikat.is-info { color: inherit; }
.rd-powiadom-dzieki { display: flex; gap: 10px; align-items: flex-start; margin: 10px 0 0; padding: 12px 14px; border-radius: 10px; background: #fff; }
.rd-powiadom-ptaszek { flex: none; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--global-palette1, #134a21); color: #fff; font-size: 14px; line-height: 1; }
.rd-powiadom-dzieki p { margin: 0; font-size: 14px; line-height: 1.5; }
.rd-powiadom-dzieki .rd-powiadom-drobne { margin-top: 2px; color: #6b7069; font-size: 12px; }
.rd-zamiast-linia { height: 0; margin: 16px 0 12px; border: 0; border-top: 1px solid rgba(19, 74, 33, .18); background: none; }
/* cała karta niedostępna: licznik i szary przycisk nic nie dają — znikają (zostaje „Brak w magazynie” nad boksem).
   Selektory od body.single-product.woocommerce: inaczej przegrywają z „display: flex” wiersza koszyka (blok „Karta produktu — etap 1”). */
body.single-product.woocommerce div.product div.summary:has(.rd-powiadom--boks) form.cart .woocommerce-variation-add-to-cart { display: none; }
/* wybrany rozmiar bez stanu: formularz zamiast licznika i przycisku; dodatki z boksu „zestaw” do niedostępnej rośliny bez sensu */
body.single-product.woocommerce div.product div.summary form.cart.rd-powiadom-on .woocommerce-variation-add-to-cart,
body.single-product.woocommerce div.product div.summary form.cart.rd-powiadom-on .rd-zestaw-sekcja,
body.single-product.woocommerce div.product div.summary form.cart.rd-powiadom-on .rd-zestaw-podsumowanie { display: none; }
@media (max-width: 480px) {
	.rd-powiadom-wiersz { flex-direction: column; }
	.rd-powiadom .rd-powiadom-wiersz input.rd-powiadom-email,
	.rd-powiadom .rd-powiadom-wiersz button.rd-powiadom-przycisk { flex: none; width: 100%; }
}

/* --------------------------------------------------------------------------
   Nagłówek — pasek wyszukiwania (2026-10-16, Michał: „żeby nie wyglądała tak mocno defaultowo”, wzór plnts.com, nie 1:1)
   Pigułka z beżową ramką, zielona lupa w polu, przy fokusie zielona ramka jak pole na stronie wyników (.rd-szukaj-form).
   Na komputerze lupa po prawej (drugie wejście do tej samej wyszukiwarki) schowana; telefon ma tylko lupę z panelem
   na cały ekran (#mobile-header, #search-drawer) — pole w panelu w tym samym stylu. Tekst w polu: rd-szukaj.php (filtr get_search_form).
   -------------------------------------------------------------------------- */
#masthead .header-search-bar form input.search-field,
#search-drawer .drawer-content form input.search-field {
	height: 44px;
	padding: 0 56px 0 22px;
	border: 1.5px solid #ddd6c6;
	border-radius: 999px;
	background: #fff;
	color: var(--global-palette1);
	font-size: 15px;
	box-shadow: none;
	transition: border-color .2s, box-shadow .2s;
}
#search-drawer .drawer-content form input.search-field { font-size: 16px; } /* 16 px — iPhone nie powiększa strony przy fokusie */
:is(#masthead .header-search-bar, #search-drawer .drawer-content) form input.search-field::placeholder { color: #7d8378; opacity: 1; }
:is(#masthead .header-search-bar, #search-drawer .drawer-content) form input.search-field:hover { border-color: #c5bca6; }
:is(#masthead .header-search-bar, #search-drawer .drawer-content) form input.search-field:focus { border-color: var(--global-palette1); outline: none; box-shadow: 0 0 0 3px rgba(19, 74, 33, .12); }
:is(#masthead .header-search-bar, #search-drawer .drawer-content) form .base-search-icon-wrap { right: 8px; width: 40px; color: var(--global-palette1); }
:is(#masthead .header-search-bar, #search-drawer .drawer-content) form .base-search-icon-wrap svg { width: 18px; height: 18px; }
:is(#masthead .header-search-bar, #search-drawer .drawer-content) form input.search-submit { right: 8px; width: 40px; border-radius: 999px; }
#main-header .search-toggle-open-container { display: none; }

/* Karta produktu — nazwa zielona i większa (2026-10-16, Michał: „nazwa rośliny też tą zieloną ozdobną czcionką… coś jak na plnts.com,
   ale może nie aż tak duże”). Jak nagłówki sekcji strony głównej (Lora 500, var(--global-palette1)); plnts: 45 / 33 px, my 36 / 26 px
   (było 26 / 20 px, kolor motywu #111). Nazwa łacińska (.rd-nazwa-lac) bez zmian. */
.single-product.woocommerce div.product div.summary > .product_title {
	color: var(--global-palette1);
	font-size: clamp(26px, 2.5vw, 36px);
	font-weight: 500;
	line-height: 1.15;
}

/* --------------------------------------------------------------------------
   Statusy dostępności (2026-10-21, rd-wyglad/rd-dostepnosc.php) — nazwa statusu w miejscu „Na stanie” / „Brak w magazynie”
   na karcie, linia pod ceną na kafelku (nic na zdjęciu), przy „W produkcji” boks z „Powiadom mnie” i „Zapytaj o ilość hurtową”.
   -------------------------------------------------------------------------- */
.rd-karta .rd-karta-dost { display: block; margin-top: 2px; padding-right: 60px; color: #4a6650; font-size: 12px; line-height: 1.35; }
.rd-karta .rd-karta-dost.is-blokada { color: #8a4b12; }
.single-product div.product .stock.rd-dost .rd-dost-data { display: block; margin-top: 2px; color: #4a6650; font-size: 13px; font-weight: 400; }
/* „nie można kupić” — jedna pigułka bez względu na stan (templatemela-core daje zieloną przy in-stock i różową przy out-of-stock) */
body.single-product.woocommerce div.product div.summary .entry-product-stock.rd-dost.is-blokada { background-color: #f6ead9; color: #8a4b12; }
/* punkty lojalnościowe („Za ten zakup dostaniesz…”, wtyczka Simple Points) przy produkcie, którego nie da się kupić — nieprawda */
body.single-product div.product div.summary:has(.entry-product-stock.rd-dost.is-blokada) .spar-product-points { display: none; }
.rd-dost-hurt { margin: 12px 0 0; }
.rd-dost-hurt[hidden] { display: none !important; }
.rd-powiadom + .rd-dost-hurt { margin-top: 14px; padding-top: 14px; border-top: 1px solid rgba(19, 74, 33, .18); }
.rd-dost-hurt a.rd-dost-hurt-przycisk {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 22px;
	border: 1px solid var(--global-palette1, #134a21);
	border-radius: 999px;
	background: transparent;
	color: var(--global-palette1, #134a21);
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	transition: background-color .2s, color .2s;
}
.rd-dost-hurt a.rd-dost-hurt-przycisk:hover,
.rd-dost-hurt a.rd-dost-hurt-przycisk:focus-visible { background: var(--global-palette1, #134a21); color: #fff; }
.rd-dost-boks .rd-powiadom-opis { margin-top: 0; }
