/*
Theme Name: Przedszkole
Description: Motyw blokowy strony przedszkola „Papierowy Świat”. Spokojny, pastelowy, mobile-first. Treści edytowane wzorcami bloków.
Version: 0.4.0
Requires at least: 6.5
Requires PHP: 8.3
Text Domain: przedszkole
License: Proprietary
*/

/*
 * Koncept „Papierowy Świat” (design/koncept-3-papierowy-swiat.md): strona jak starannie
 * wyklejona książeczka. Pola to arkusze papieru z miękkim cieniem, zdjęcia przyklejone
 * taśmą washi, nagłówki podkreślone kredką, maskotka: papierowy miś.
 *
 * Zasada: kolory, fonty i odstępy żyją w theme.json (presety i settings.custom).
 * Tutaj tylko to, czego theme.json nie wyrazi: komponenty wzorców, ilustracje,
 * pasek szybkich akcji, fokus, ruch, druk.
 *
 * Wersja wyciszona względem konceptu (CLAUDE.md): bez JavaScriptu i bez animacji
 * wejścia sekcji. Ruch: jednorazowe rozsunięcie warstw papieru w powitaniu (pop-up),
 * prostowanie zdjęć i unoszenie kart przy najechaniu. Kreska pod nagłówkami jest
 * statyczna. Wszystko wyłącza prefers-reduced-motion.
 */

:root {
	--pz-pole: var(--wp--custom--promien--pole, 18px);
	--pz-karta: var(--wp--custom--promien--karta, 12px);
	--pz-czas: var(--wp--custom--ruch--czas, 400ms);
	--pz-krzywa: var(--wp--custom--ruch--krzywa, ease-out);
	--pz-cien: var(--wp--preset--shadow--papier, 0 6px 14px -8px rgba(45, 51, 64, 0.28));
	--pz-cien-wysoko: var(--wp--preset--shadow--papier-wysoko, 0 14px 26px -12px rgba(45, 51, 64, 0.34));
}

/* Faktura papieru: bardzo subtelna, nie obniża kontrastu tekstu. */
body {
	background-image: url("assets/ilustracje/faktura.svg");
	background-size: 240px 240px;
}

h1, h2, h3, h4,
.wp-block-site-title {
	text-wrap: balance;
}

p { text-wrap: pretty; }

a {
	text-decoration-thickness: 1.5px;
	text-underline-offset: 0.2em;
}

:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 3px solid var(--wp--preset--color--akcent);
	outline-offset: 3px;
	border-radius: 4px;
}

::selection { background: var(--wp--preset--color--wanilia); color: var(--wp--preset--color--atrament); }

.pz-pomin-do-tresci {
	position: absolute;
	left: -9999px;
}
.pz-pomin-do-tresci:focus {
	left: 1rem;
	top: 1rem;
	z-index: 1000;
	background: var(--wp--preset--color--bialy);
	padding: 0.75rem 1rem;
	border-radius: var(--pz-karta);
}

/* Krótkie dopiski odręcznym pismem: podpisy zdjęć, klasa pz-dopisek, kategoria nad tytułem. */
.wp-element-caption,
figcaption,
.pz-dopisek,
.pz-artykul > .taxonomy-category {
	font-family: var(--wp--preset--font-family--odreczny);
	font-size: 1.25rem;
	line-height: 1.35;
}

/* ---------- Kreska kredki pod nagłówkami sekcji ---------- */

main h2.wp-block-heading::after {
	content: "";
	display: block;
	width: min(5.5em, 60%);
	height: 0.4em;
	margin-top: 0.15em;
	background: url("assets/ilustracje/kreska.svg") left center / 100% 100% no-repeat;
}
.pz-pole h2.wp-block-heading::after,
.pz-kafle h2.wp-block-heading::after { display: none; }

/* ---------- Przyciski: wycięte z granatowego papieru ---------- */

.wp-element-button,
.wp-block-button__link {
	box-shadow: var(--pz-cien);
	transition:
		background-color var(--pz-czas) var(--pz-krzywa),
		color var(--pz-czas) var(--pz-krzywa),
		transform var(--pz-czas) var(--pz-krzywa),
		box-shadow var(--pz-czas) var(--pz-krzywa);
}
.wp-element-button:hover,
.wp-block-button__link:hover {
	transform: translateY(-2px);
	box-shadow: var(--pz-cien-wysoko);
}
.wp-element-button:active,
.wp-block-button__link:active { transform: translateY(0); box-shadow: none; }

.wp-block-button.is-style-outline > .wp-block-button__link {
	background: var(--wp--preset--color--bialy);
	color: var(--wp--preset--color--akcent);
	border: 2px solid currentColor;
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--wp--preset--color--niebo);
	color: var(--wp--preset--color--atrament);
}

/* ---------- Nagłówek ---------- */

.pz-naglowek {
	padding-block: 0.875rem;
}

.pz-naglowek .wp-block-site-title a {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
}
.pz-naglowek .wp-block-site-title a::before {
	content: "";
	flex: none;
	width: 2.5rem;
	height: 2.5rem;
	background: url("assets/ilustracje/mis.svg") center / contain no-repeat;
}

.pz-naglowek .wp-block-navigation a {
	text-decoration: none;
}
.pz-naglowek .wp-block-navigation-item__content:hover,
.pz-naglowek .current-menu-item > .wp-block-navigation-item__content {
	text-decoration: underline;
	text-decoration-color: var(--wp--custom--papier--roz);
	text-decoration-thickness: 4px;
	text-underline-offset: 0.35em;
}
.pz-naglowek .wp-block-navigation__submenu-container {
	border: 0 !important;
	border-radius: var(--pz-karta);
	padding: 0.5rem;
	box-shadow: var(--pz-cien-wysoko);
}
/* Podmenu na komputerze: wyrównane do prawej krawędzi pozycji nadrzędnej, linki do prawej.
 * Menu siedzi przy prawej krawędzi strony, więc tak podmenu nie wychodzi poza ekran. */
.pz-naglowek .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container {
	left: auto;
	right: 0;
	align-items: flex-end;
	text-align: right;
}
.pz-naglowek .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item {
	justify-content: flex-end;
}
.pz-naglowek .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	text-align: right;
}

/* Menu na telefonie: pełny ekran, duże pozycje, papierowa łąka na dole. */
.pz-naglowek .wp-block-navigation__responsive-container.is-menu-open {
	background:
		url("assets/ilustracje/scena-przod.svg") center bottom / auto 140px no-repeat,
		var(--wp--preset--color--tlo);
	padding: 1.5rem 1.5rem 150px;
}
.pz-naglowek .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	font-size: var(--wp--preset--font-size--duzy);
}
.pz-naglowek .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	box-shadow: none;
	padding: 0 0 0 1rem;
	font-size: var(--wp--preset--font-size--sredni);
}

/* ---------- Pola: arkusze kolorowego papieru ----------
 * Nazwy klas zostają z pierwszej palety (są zapisane w treściach w bazie).
 * Kolory pod nimi: pistacja, błękit gołębi, pudrowy róż, lawenda.
 */

.pz-pole {
	border-radius: var(--pz-pole);
	padding: clamp(1.5rem, 5vw, 3rem);
	box-shadow: var(--pz-cien);
}
.pz-pole--szalwia { background: var(--wp--preset--color--szalwia); }
.pz-pole--niebo   { background: var(--wp--preset--color--niebo); }
.pz-pole--morela  { background: var(--wp--preset--color--morela); }
.pz-pole--lawenda { background: var(--wp--preset--color--lawenda); }
.pz-pole--wanilia,
.pz-pole--piasek  { background: var(--wp--preset--color--wanilia); }

.pz-lead {
	font-size: var(--wp--preset--font-size--duzy);
	line-height: 1.5;
	color: var(--wp--preset--color--atrament-miekki);
	max-width: 36em;
}

/* ---------- Powitanie: książeczka pop-up ----------
 * Dwie warstwy papieru (niebo z chmurami i słońcem, potem domek z łąką) są tłem pola,
 * więc klient edytuje tylko tekst. Przy wejściu warstwy raz rozsuwają się do góry.
 */

.pz-ksiazeczka {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	/* Wysokość sceny = proporcje rysunku (1200 x 420), żeby słońce i chmury nie były ucięte. */
	--pz-scena: clamp(170px, 31vw, 440px);
	padding-bottom: calc(var(--pz-scena) + 0.5rem);
}
.pz-ksiazeczka::before,
.pz-ksiazeczka::after {
	content: "";
	position: absolute;
	inset: auto 0 0 0;
	z-index: -1;
	height: var(--pz-scena);
	background: center bottom / cover no-repeat;
	pointer-events: none;
}
.pz-ksiazeczka::before {
	background-image: url("assets/ilustracje/scena-tyl.svg");
	animation: pz-popup 700ms var(--pz-krzywa) 100ms both;
}
.pz-ksiazeczka::after {
	background-image: url("assets/ilustracje/scena-przod.svg");
	animation: pz-popup 800ms var(--pz-krzywa) 300ms both;
}
.pz-ksiazeczka h1 { max-width: 15em; }
/* Na telefonie scena jest kadrowana: pokazujemy prawą część z domkiem i słońcem. */
@media (max-width: 600px) {
	.pz-ksiazeczka::before,
	.pz-ksiazeczka::after { background-position: 85% bottom; }
}

@keyframes pz-popup {
	from { opacity: 0; transform: translateY(18%); }
	to   { opacity: 1; transform: translateY(0); }
}

/* ---------- Ilustracja w powitaniu: piknik pod kasztanowcem ----------
 * Obrazek SVG klienta (assets/ilustracje/scena-hero.svg) w papierowej ramce z taśmą,
 * wstawiany przy wyświetlaniu przez functions.php. Animacje są w samym pliku SVG.
 * Telefon i tablet: ilustracja pod tekstem. Od 960 px: tekst po lewej, ilustracja po prawej,
 * więc sekcja ma wysokość tekstu (~450 px), a rysunek nie jest przycinany.
 * Statyczne tło z ::before/::after zostaje tylko dla edytora bloków.
 */

.pz-ksiazeczka--zywa {
	padding-bottom: clamp(1.5rem, 5vw, 3rem);
}
.pz-ksiazeczka--zywa::before,
.pz-ksiazeczka--zywa::after { display: none; }
/* Ilustracja stoi pierwsza w kodzie; tytuł za nią nie potrzebuje odstępu z blockGap. */
.pz-ksiazeczka--zywa > .pz-scena-ramka + * { margin-top: 0; }

.pz-scena-ramka {
	position: relative;
	margin: 0;
	transform: rotate(-0.8deg);
}
.pz-scena-ramka::before {
	content: "";
	position: absolute;
	top: -14px;
	left: 50%;
	z-index: 1;
	width: 130px;
	height: 32px;
	transform: translateX(-50%) rotate(2deg);
	background: url("assets/ilustracje/tasma.svg") center / contain no-repeat;
}
.pz-scena {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1986 / 1100;
	border: 8px solid var(--wp--preset--color--bialy);
	border-radius: 6px;
	box-sizing: border-box;
	box-shadow: var(--pz-cien-wysoko);
	background: #D4DEE7;
}

/* Telefon i tablet: tekst, potem ilustracja. */
@media (max-width: 959px) {
	.pz-ksiazeczka--zywa { display: flex; flex-direction: column; }
	.pz-ksiazeczka--zywa .pz-scena-ramka { order: 10; margin-top: 1.75rem; }
	.pz-ksiazeczka--zywa h1 { font-size: clamp(1.875rem, 8vw, 2.5rem); }
	.pz-ksiazeczka--zywa .pz-lead { font-size: var(--wp--preset--font-size--sredni); }
}

/* Od 960 px: dwie kolumny, tekst po lewej, ilustracja po prawej. */
@media (min-width: 960px) {
	.pz-ksiazeczka--zywa {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr);
		column-gap: clamp(2rem, 4vw, 3.5rem);
		align-content: center;
	}
	.pz-ksiazeczka--zywa > * { grid-column: 1; }
	.pz-ksiazeczka--zywa > .pz-scena-ramka {
		grid-column: 2;
		grid-row: 1 / span 10;
		align-self: center;
	}
	.pz-ksiazeczka--zywa h1 { font-size: clamp(2.25rem, 3.4vw, 3rem); }
}

/* ---------- Plan dnia: element rozpoznawczy strony ----------
 * Kartka przyklejona taśmą. Oś to kreska kredki, pory dnia to papierowe kółka.
 * Telefon: pionowa oś. Szeroki kontener: pozioma.
 */

.pz-plan-dnia {
	container-type: inline-size;
	position: relative;
	background: var(--wp--preset--color--bialy);
	border-radius: var(--pz-karta);
	box-shadow: var(--pz-cien);
	padding: clamp(1.75rem, 4vw, 2.75rem) clamp(1.25rem, 4vw, 2.5rem) clamp(1.25rem, 3vw, 2rem);
}
.pz-plan-dnia::before {
	content: "";
	position: absolute;
	top: -12px;
	left: 50%;
	width: 120px;
	height: 30px;
	transform: translateX(-50%) rotate(-2deg);
	background: url("assets/ilustracje/tasma.svg") center / contain no-repeat;
}

.pz-plan-dnia ol {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0;
	position: relative;
}

.pz-plan-dnia li {
	position: relative;
	padding: 0 0 1.5rem 2.5rem;
	margin: 0;
}

.pz-plan-dnia li::before {
	content: "";
	position: absolute;
	left: 0.1rem;
	top: 0.3rem;
	width: 1.35rem;
	height: 1.35rem;
	border-radius: 50%;
	background: var(--pz-kropka, var(--wp--custom--papier--wanilia));
	box-shadow: 0 1px 1px rgba(45, 51, 64, 0.15), 0 3px 6px -2px rgba(45, 51, 64, 0.3);
	z-index: 1;
	transition: transform var(--pz-czas) var(--pz-krzywa);
}
.pz-plan-dnia li:hover::before { transform: translateY(-2px); }

/* Kreska kredki: przerywana, jak rysowana ręką. */
.pz-plan-dnia li::after {
	content: "";
	position: absolute;
	left: 0.7rem;
	top: 0.6rem;
	bottom: -0.35rem;
	width: 3px;
	background: repeating-linear-gradient(180deg, var(--wp--custom--papier--golab) 0 8px, transparent 8px 13px);
	border-radius: 3px;
}
.pz-plan-dnia li:last-child::after { display: none; }

.pz-plan-dnia li:nth-child(5n + 1) { --pz-kropka: var(--wp--custom--papier--roz); }
.pz-plan-dnia li:nth-child(5n + 2) { --pz-kropka: var(--wp--custom--papier--wanilia); }
.pz-plan-dnia li:nth-child(5n + 3) { --pz-kropka: var(--wp--custom--papier--pistacja); }
.pz-plan-dnia li:nth-child(5n + 4) { --pz-kropka: var(--wp--custom--papier--golab); }
.pz-plan-dnia li:nth-child(5n + 5) { --pz-kropka: var(--wp--custom--papier--lawenda); }

.pz-plan-dnia strong {
	display: block;
	font-weight: 800;
	font-size: var(--wp--preset--font-size--duzy);
	line-height: 1.2;
	font-variant-numeric: tabular-nums;
}

/*
 * Oś układa się poziomo, gdy szeroki jest JEJ KONTENER, a nie okno przeglądarki
 * (dawniej @media łamało opisy po jednym słowie w wąskim pudełku).
 * Przeglądarki bez @container zostają przy układzie pionowym z telefonu - czytelnym.
 */
@container (min-width: 1000px) {
	.pz-plan-dnia ol {
		grid-auto-flow: column;
		grid-auto-columns: 1fr;
	}
	.pz-plan-dnia li {
		padding: 2.5rem 1rem 0 0;
	}
	.pz-plan-dnia li::before {
		left: 0;
		top: 0;
	}
	.pz-plan-dnia li::after {
		left: 0.65rem;
		right: -0.65rem;
		top: 0.55rem;
		bottom: auto;
		width: auto;
		height: 3px;
		background: repeating-linear-gradient(90deg, var(--wp--custom--papier--golab) 0 8px, transparent 8px 13px);
	}
}

/* ---------- Kafle w hubie „Dla rodziców” ----------
 * Papierowe karty. W rogu wycinanka: słońce, chmurka, kwiatek, serce.
 */

.pz-kafle .wp-block-column {
	position: relative;
	border-radius: var(--pz-pole);
	padding: 1.5rem 4.75rem 1.5rem 1.5rem;
	box-shadow: var(--pz-cien);
	transition: transform var(--pz-czas) var(--pz-krzywa), box-shadow var(--pz-czas) var(--pz-krzywa);
}
.pz-kafle .wp-block-column::before {
	content: "";
	position: absolute;
	top: 1.1rem;
	right: 1.1rem;
	width: 3rem;
	height: 3rem;
	background: var(--pz-wycinanka) center / contain no-repeat;
	transition: transform 700ms var(--pz-krzywa);
}
.pz-kafle .wp-block-column:nth-child(4n + 1) { background: var(--wp--preset--color--wanilia); --pz-wycinanka: url("assets/ilustracje/ik-slonce.svg"); }
.pz-kafle .wp-block-column:nth-child(4n + 2) { background: var(--wp--preset--color--niebo);   --pz-wycinanka: url("assets/ilustracje/ik-chmurka.svg"); }
.pz-kafle .wp-block-column:nth-child(4n + 3) { background: var(--wp--preset--color--szalwia); --pz-wycinanka: url("assets/ilustracje/ik-kwiat.svg"); }
.pz-kafle .wp-block-column:nth-child(4n + 4) { background: var(--wp--preset--color--morela);  --pz-wycinanka: url("assets/ilustracje/ik-serce.svg"); }
.pz-kafle .wp-block-column:hover,
.pz-kafle .wp-block-column:focus-within {
	transform: translateY(-4px);
	box-shadow: var(--pz-cien-wysoko);
}
.pz-kafle .wp-block-column:hover::before { transform: rotate(-8deg); }
.pz-kafle h3 a { color: inherit; text-decoration: none; }
.pz-kafle h3 a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }

/* ---------- Pola z kartami (wsparcie, kontakt) ---------- */

.wp-block-columns .pz-pole { height: 100%; box-sizing: border-box; }

/* ---------- Zdjęcia przyklejone taśmą ----------
 * Lekko krzywo, jak przyklejone ręką; przy najechaniu się prostują.
 */

.pz-zdjecie,
.wp-block-image.is-style-przyklejone {
	position: relative;
}
.pz-zdjecie img,
.wp-block-image.is-style-przyklejone img {
	border-radius: 6px;
	border: 8px solid var(--wp--preset--color--bialy);
	box-sizing: border-box;
	box-shadow: var(--pz-cien);
	transform: rotate(-0.6deg);
	transition: transform var(--pz-czas) var(--pz-krzywa);
}
.pz-zdjecie:hover img,
.wp-block-image.is-style-przyklejone:hover img { transform: rotate(0deg); }
.pz-zdjecie::before,
.wp-block-image.is-style-przyklejone::before {
	content: "";
	position: absolute;
	top: -12px;
	left: 50%;
	z-index: 1;
	width: 120px;
	height: 30px;
	transform: translateX(-50%) rotate(3deg);
	background: url("assets/ilustracje/tasma.svg") center / contain no-repeat;
}

/* ---------- Karteczka (styl bloku Grupa i Cytat do wyboru w edytorze) ----------
 * Ramki w poradach: „W skrócie”, „Wskazówka”, „Kiedy porozmawiać z nauczycielem”.
 */

.is-style-karteczka {
	position: relative;
	background: var(--wp--preset--color--wanilia);
	border: 0;
	border-radius: 4px;
	padding: 1.75rem 1.5rem 1.25rem;
	box-shadow: var(--pz-cien);
	margin-block: 2rem;
}
.is-style-karteczka::before {
	content: "";
	position: absolute;
	top: -12px;
	left: 1.25rem;
	width: 96px;
	height: 26px;
	transform: rotate(-3deg);
	background: url("assets/ilustracje/tasma.svg") center / contain no-repeat;
}
.is-style-karteczka > :first-child { margin-top: 0; }
.is-style-karteczka > :last-child { margin-bottom: 0; }
blockquote.is-style-karteczka { font-style: normal; }

/* ---------- Lista wpisów (archiwum, wyszukiwanie) ---------- */

.pz-karta-wpisu {
	position: relative;
	background: var(--wp--preset--color--bialy);
	border-radius: var(--pz-karta);
	padding: clamp(1.25rem, 4vw, 1.75rem);
	margin-bottom: 1.25rem;
	box-shadow: var(--pz-cien);
	transition: transform var(--pz-czas) var(--pz-krzywa), box-shadow var(--pz-czas) var(--pz-krzywa);
}
.pz-karta-wpisu:hover,
.pz-karta-wpisu:focus-within {
	transform: translateY(-3px);
	box-shadow: var(--pz-cien-wysoko);
}
.pz-karta-wpisu .wp-block-post-title { margin: 0 0 0.5rem; }
.pz-karta-wpisu .wp-block-post-title a { text-decoration: none; color: var(--wp--preset--color--atrament); }
.pz-karta-wpisu .wp-block-post-title a:hover { text-decoration: underline; text-decoration-color: var(--wp--custom--papier--roz); }
.pz-karta-wpisu .wp-block-post-excerpt { margin: 0; }

/* ---------- Etykiety tematów: każdy temat to inny kolor papieru ---------- */

.taxonomy-category a,
.taxonomy-post_tag a {
	display: inline-block;
	padding: 0.15rem 0.75rem;
	border-radius: 4px;
	background: var(--wp--preset--color--szalwia);
	color: var(--wp--preset--color--atrament);
	text-decoration: none;
	box-shadow: 0 2px 4px -2px rgba(45, 51, 64, 0.3);
	transition: background-color var(--pz-czas) var(--pz-krzywa);
}
.taxonomy-post_tag a { font-weight: 700; }
.taxonomy-post_tag a[href*="adaptacja"],
.taxonomy-post_tag a[href*="pierwsze"] { background: var(--wp--preset--color--morela); }
.taxonomy-post_tag a[href*="wsparcie"],
.taxonomy-post_tag a[href*="emocje"] { background: var(--wp--preset--color--lawenda); }
.taxonomy-post_tag a[href*="rozwoj"] { background: var(--wp--preset--color--niebo); }
.taxonomy-post_tag a[href*="zywienie"] { background: var(--wp--preset--color--wanilia); }
.taxonomy-category a:hover,
.taxonomy-post_tag a:hover { background: var(--wp--preset--color--bialy); }
.taxonomy-category .wp-block-post-terms__separator,
.taxonomy-post_tag .wp-block-post-terms__separator { color: transparent; }

/* ---------- Artykuł porady ---------- */

.pz-artykul .wp-block-post-excerpt__excerpt {
	font-size: var(--wp--preset--font-size--duzy);
	line-height: 1.5;
}

/* Podpis autora: karteczka przypięta taśmą. */
.pz-autor {
	position: relative;
	background: var(--wp--preset--color--wanilia);
	border-radius: 4px;
	padding: 1.75rem 1.5rem 1.25rem;
	box-shadow: var(--pz-cien);
}
.pz-autor::before {
	content: "";
	position: absolute;
	top: -12px;
	right: 1.5rem;
	width: 96px;
	height: 26px;
	transform: rotate(4deg);
	background: url("assets/ilustracje/tasma.svg") center / contain no-repeat;
}

/* ---------- Strona 404: miś pomaga ---------- */

.pz-404::before {
	content: "";
	display: block;
	width: 8rem;
	height: 8rem;
	margin-bottom: 1rem;
	background: url("assets/ilustracje/mis.svg") left bottom / contain no-repeat;
}

/* ---------- Stopka: arkusz pistacji przycięty nożyczkami do ząbków ---------- */

.pz-stopka {
	position: relative;
	margin-top: var(--wp--preset--spacing--60);
	background: var(--wp--preset--color--szalwia);
	padding-top: var(--wp--preset--spacing--50);
	padding-bottom: var(--wp--preset--spacing--40);
}
.pz-stopka::before {
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: 14px;
	background:
		linear-gradient(135deg, var(--wp--preset--color--tlo) 50%, transparent 50%) 0 0 / 14px 14px repeat-x,
		linear-gradient(225deg, var(--wp--preset--color--tlo) 50%, transparent 50%) 0 0 / 14px 14px repeat-x;
}
.pz-stopka h2 { margin-top: 0; }

/* ---------- Pasek szybkich akcji (tylko telefon) ---------- */

.pz-szybkie-akcje { display: none; }

@media (max-width: 781px) {
	.pz-szybkie-akcje {
		display: block;
		position: fixed;
		inset: auto 0 0 0;
		z-index: 50;
		background: var(--wp--preset--color--tlo);
		box-shadow: 0 -6px 18px -12px rgba(45, 51, 64, 0.45);
		padding: 0.6rem 0.75rem calc(0.6rem + env(safe-area-inset-bottom, 0px));
	}
	.pz-szybkie-akcje ul {
		list-style: none;
		margin: 0;
		padding: 0;
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 0.5rem;
	}
	.pz-szybkie-akcje a {
		display: block;
		text-align: center;
		padding: 0.65rem 0.25rem;
		border-radius: var(--pz-karta);
		background: var(--wp--preset--color--niebo);
		color: var(--wp--preset--color--atrament);
		text-decoration: none;
		font-weight: 800;
		font-size: var(--wp--preset--font-size--maly);
		box-shadow: 0 2px 4px -2px rgba(45, 51, 64, 0.3);
	}
	.pz-szybkie-akcje li:first-child a {
		background: var(--wp--preset--color--akcent);
		color: var(--wp--preset--color--bialy);
	}
	body { padding-bottom: 4.75rem; }
}

/* ---------- Ruch ---------- */

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: 0.01ms !important;
		animation-delay: 0ms !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
	/* Scena stoi nieruchomo, w pełni widoczna. */
	.wp-element-button:hover,
	.wp-block-button__link:hover,
	.pz-kafle .wp-block-column:hover,
	.pz-kafle .wp-block-column:focus-within,
	.pz-karta-wpisu:hover,
	.pz-karta-wpisu:focus-within { transform: none; }
}

/* ---------- Druk (strona ogólna; plan tygodnia ma własne reguły we wtyczce) ----------
 * Oszczędnie w tuszu: bez faktury, cieni, taśm i ilustracji.
 */

@media print {
	.pz-naglowek .wp-block-navigation,
	.pz-szybkie-akcje,
	.pz-stopka,
	.pz-nie-drukuj { display: none !important; }
	.pz-scena-ramka,
	.pz-ksiazeczka::before,
	.pz-ksiazeczka::after,
	.pz-plan-dnia::before,
	.pz-zdjecie::before,
	.is-style-karteczka::before,
	.pz-autor::before,
	main h2.wp-block-heading::after,
	.pz-naglowek .wp-block-site-title a::before,
	.pz-404::before { display: none; }
	.pz-ksiazeczka { padding-bottom: 0; }
	*, .pz-pole, .pz-plan-dnia { box-shadow: none !important; }
	body { background: #fff; padding: 0; }
	a { color: inherit; text-decoration: none; }
}
