/*
 * Komponenty wtyczki. Kolory i fonty biorą się z presetów motywu (theme.json),
 * z wartościami zapasowymi, gdyby motyw został zmieniony.
 */

.pz-kalendarz,
.pz-jadlospis,
.pz-sekcja-domowa,
.pz-zajecia,
.pz-zespol,
.pz-faq,
.pz-porady,
.pz-plan-tygodnia {
	--pz-szalwia: var(--wp--preset--color--szalwia, #DDEBDF);
	--pz-niebo: var(--wp--preset--color--niebo, #DCE7F2);
	--pz-morela: var(--wp--preset--color--morela, #FBE2CC);
	--pz-lawenda: var(--wp--preset--color--lawenda, #E6E1F1);
	--pz-akcent: var(--wp--preset--color--akcent, #2D5C4C);
	--pz-tekst-miekki: var(--wp--preset--color--atrament-miekki, #4A5866);
	--pz-naglowki: var(--wp--preset--font-family--naglowki, Georgia, serif);
}

/* ---------- Sekcje strony głównej: obiad i najbliższe wydarzenia ---------- */

.pz-sekcja-domowa {
	margin-block: var(--wp--preset--spacing--50, 3rem);
}
.pz-sekcja-domowa > h2 { margin-top: 0; }
.pz-sekcja-domowa__link { margin: 1rem 0 0; font-weight: 700; }
.pz-sekcja-domowa__link a::after { content: " →"; }

.pz-obiad__dni,
.pz-wydarzenia__lista {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr));
	gap: 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pz-obiad__dzien,
.pz-wydarzenia__karta {
	margin: 0;
	padding: 1.25rem 1.5rem;
	border-radius: var(--wp--custom--promien--karta, 12px);
	background: var(--wp--preset--color--bialy, #fff);
	box-shadow: var(--wp--preset--shadow--papier, 0 6px 14px -8px rgba(0, 0, 0, 0.25));
}
.pz-obiad__dzien:first-child { background: var(--wp--preset--color--wanilia, var(--pz-morela)); }
.pz-obiad__dzien h3 {
	margin: 0 0 0.5rem;
	font-size: var(--wp--preset--font-size--sredni, 1.125rem);
}
.pz-obiad__dania { margin: 0; }
.pz-obiad__alergeny { margin: 0.5rem 0 0; font-size: 0.9375rem; color: var(--pz-tekst-miekki); }

.pz-wydarzenia__karta {
	display: grid;
	grid-template-columns: 4rem 1fr;
	gap: 1rem;
	align-items: center;
}
.pz-wydarzenia__tytul { font-weight: 700; }
.pz-wydarzenia__meta { display: block; color: var(--pz-tekst-miekki); }

/* ---------- Kalendarz ---------- */

.pz-kalendarz__miesiac { margin-top: 2rem; }

.pz-kalendarz__lista {
	list-style: none;
	margin: 0;
	padding: 0;
}

.pz-kalendarz__wydarzenie {
	display: grid;
	grid-template-columns: 4rem 1fr;
	gap: 1rem;
	align-items: center;
	padding: 0.75rem 0;
	border-bottom: 1px solid var(--pz-szalwia);
}

.pz-kalendarz__data {
	display: grid;
	place-items: center;
	aspect-ratio: 1;
	border-radius: 50%;
	background: var(--pz-niebo);
	font-size: 0.8125rem;
	line-height: 1.1;
	text-align: center;
}
.pz-kalendarz__data span {
	display: block;
	font-family: var(--pz-naglowki);
	font-size: 1.5rem;
	font-weight: 600;
}

.pz-kalendarz__tytul { font-weight: 700; }
.pz-kalendarz__meta { display: block; color: var(--pz-tekst-miekki); }

.pz-subskrypcja {
	margin-top: 2.5rem;
	padding: clamp(1.25rem, 4vw, 2rem);
	border-radius: 32px;
	background: var(--pz-lawenda);
}
.pz-subskrypcja h3 { margin-top: 0; }
.pz-subskrypcja__przyciski { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.pz-subskrypcja__przyciski .wp-element-button { text-decoration: none; }
.pz-przycisk-jasny.wp-element-button {
	background: transparent;
	color: var(--pz-akcent);
	box-shadow: inset 0 0 0 2px var(--pz-akcent);
}
.pz-subskrypcja__adres { font-size: 0.9375rem; overflow-wrap: anywhere; }

/* ---------- Plan tygodnia ---------- */

.pz-plan-tygodnia__nawigacja { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; }
.pz-plan-tygodnia__nawigacja .wp-element-button { margin-left: auto; cursor: pointer; border: 0; }

.pz-plan-tygodnia { container-type: inline-size; }

/* Telefon: dni jeden pod drugim. Szeroki kontener: pięć równych kolumn w jednym rzędzie. */
.pz-plan-tygodnia__dni {
	display: grid;
	gap: 0.75rem;
	grid-template-columns: minmax(0, 1fr);
}
@container (min-width: 820px) {
	.pz-plan-tygodnia__dni { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

.pz-plan-tygodnia__dzien {
	border-radius: 20px;
	padding: 1rem;
	background: var(--pz-szalwia);
}
.pz-plan-tygodnia__dzien:nth-child(2) { background: var(--pz-niebo); }
.pz-plan-tygodnia__dzien:nth-child(3) { background: var(--pz-morela); }
.pz-plan-tygodnia__dzien:nth-child(4) { background: var(--pz-lawenda); }

.pz-plan-tygodnia__dzien h3 { margin: 0 0 0.75rem; font-size: 1.125rem; }
.pz-plan-tygodnia__dzien h3 span { display: block; font-size: 1.5rem; }
.pz-plan-tygodnia__dzien ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.75rem; }
.pz-plan-tygodnia__dzien li strong,
.pz-plan-tygodnia__dzien li span { display: block; }
.pz-plan-tygodnia__dzien li span { font-size: 0.9375rem; color: var(--pz-tekst-miekki); }
.pz-plan-tygodnia__pusto { color: var(--pz-tekst-miekki); margin: 0; }

/* Zakładki grup nad planem i nazwa grupy w tytule (także na wydruku). */
.pz-plan-tygodnia__grupa { display: block; font-size: 0.6em; font-weight: 700; }
.pz-plan-tygodnia__grupy { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0 0 1rem; }
.pz-plan-tygodnia__grupy a {
	padding: 0.4rem 1rem;
	border-radius: 999px;
	background: var(--pz-niebo);
	color: inherit;
	font-weight: 700;
	text-decoration: none;
}
.pz-plan-tygodnia__grupy a[aria-current="page"] {
	background: var(--pz-akcent);
	color: var(--wp--preset--color--bialy, #fff);
}

/* Plan w PDF: podgląd na stronie i przycisk do pliku (druk z przeglądarki PDF). */
.pz-plan-tygodnia__pdf {
	display: block;
	width: 100%;
	height: 80vh;
	min-height: 28rem;
	border: 0;
	border-radius: 12px;
	background: var(--wp--preset--color--bialy, #fff);
}

/* Zajęcia z planu odróżnione od jednorazowych wydarzeń z kalendarza kreską z lewej. */
.pz-plan-tygodnia__stale {
	padding-left: 0.6rem;
	border-left: 3px solid rgba(0, 0, 0, 0.18);
}
.pz-plan-tygodnia__obiad { margin: 1rem 0 0; font-size: 0.9375rem; }

/* Wydruk: A4 poziomo, pięć kolumn, duże litery, czarno-białe-przyjazne. */
@media print {
	@page { size: A4 landscape; margin: 12mm; }

	body * { visibility: hidden; }
	.pz-plan-tygodnia,
	.pz-plan-tygodnia * { visibility: visible; }
	/* Bez inset: 0 - wysokość równa stronie przerzucała dni na drugą kartkę. */
	.pz-plan-tygodnia { position: absolute; top: 0; left: 0; right: 0; }
	.pz-nie-drukuj { display: none !important; }

	.pz-plan-tygodnia h2 { font-size: 20pt; margin: 0 0 6mm; }
	.pz-plan-tygodnia h2::after { display: none; }
	/* minmax(0, 1fr): kolumny zawsze równe, długie słowa nie rozpychają dnia. */
	.pz-plan-tygodnia__dni { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; gap: 4mm; }
	.pz-plan-tygodnia__dzien {
		background: #fff !important;
		border: 1.5pt solid #000;
		border-radius: 4mm;
		box-shadow: none !important;
		padding: 3mm;
		font-size: 11.5pt;
		line-height: 1.3;
		break-inside: avoid;
	}
	.pz-plan-tygodnia__dzien h3 { font-size: 11pt; }
	.pz-plan-tygodnia__dzien h3 span { font-size: 16pt; }
	.pz-plan-tygodnia__dzien li span,
	.pz-plan-tygodnia__obiad { font-size: 10pt; }
	.pz-plan-tygodnia__stale { border-left-color: #000; }
}

/* ---------- Jadłospis ---------- */

.pz-jadlospis { display: grid; gap: 1rem; }

.pz-jadlospis__dzien {
	border-radius: 24px;
	padding: 1.25rem 1.5rem;
	background: var(--wp--preset--color--bialy, #fff);
	border: 2px solid var(--pz-szalwia);
}
.pz-jadlospis__dzien.is-dzis { background: var(--pz-szalwia); }
.pz-jadlospis__dzien h3 { margin: 0 0 0.75rem; }

.pz-jadlospis__dzis {
	display: inline-block;
	margin-left: 0.5rem;
	padding: 0.1rem 0.6rem;
	border-radius: 999px;
	background: var(--pz-akcent);
	color: #fff;
	font-family: inherit;
	font-size: 0.875rem;
	vertical-align: middle;
}

.pz-jadlospis dl { margin: 0; display: grid; grid-template-columns: max-content 1fr; gap: 0.4rem 1rem; }
.pz-jadlospis dt { font-weight: 700; }
.pz-jadlospis dd { margin: 0; }
.pz-jadlospis__alergeny { display: block; font-size: 0.9375rem; color: var(--pz-tekst-miekki); }
.pz-jadlospis__zrodlo { font-size: 0.9375rem; color: var(--pz-tekst-miekki); }

@media (max-width: 520px) {
	.pz-jadlospis dl { grid-template-columns: 1fr; }
	.pz-jadlospis dd { margin-bottom: 0.5rem; }
}

/* ---------- Zajęcia ---------- */

.pz-zajecia {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
}
.pz-zajecia__pozycja {
	padding: 1.5rem;
	border-radius: 32px;
	background: var(--pz-niebo);
}
.pz-zajecia__pozycja:nth-child(3n + 2) { background: var(--pz-morela); }
.pz-zajecia__pozycja:nth-child(3n + 3) { background: var(--pz-lawenda); }
.pz-zajecia__pozycja h3 { margin-top: 0; }
.pz-zajecia dl { margin: 0; display: grid; gap: 0.25rem; }
.pz-zajecia dl div { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.pz-zajecia dt { font-weight: 700; }
.pz-zajecia dt::after { content: ":"; }
.pz-zajecia dd { margin: 0; }

/* ---------- Zespół ---------- */

.pz-zespol {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 2rem;
	grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
}
.pz-zespol img,
.pz-zespol__inicjal {
	width: 9rem;
	height: 9rem;
	border-radius: 50%;
	object-fit: cover;
}
.pz-zespol__inicjal {
	display: grid;
	place-items: center;
	background: var(--pz-szalwia);
	font-family: var(--pz-naglowki);
	font-size: 3rem;
}
.pz-zespol h3 { margin: 1rem 0 0.25rem; }
.pz-zespol__rola { margin: 0; color: var(--pz-tekst-miekki); }

/* ---------- FAQ ---------- */

.pz-faq details {
	border-bottom: 1px solid var(--pz-szalwia);
	padding: 1rem 0;
}
.pz-faq summary {
	cursor: pointer;
	font-weight: 700;
	list-style-position: outside;
}
.pz-faq details[open] summary { margin-bottom: 0.5rem; }

/* ---------- Powiązane porady ---------- */

.pz-porady {
	margin-top: 3rem;
	padding: clamp(1.25rem, 4vw, 2rem);
	border-radius: 32px;
	background: var(--pz-szalwia);
}
.pz-porady h2 { margin-top: 0; font-size: 1.5rem; }
.pz-porady ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; }
.pz-porady li a { font-weight: 700; font-size: 1.125rem; }
.pz-porady li p { margin: 0.25rem 0 0; color: var(--pz-tekst-miekki); }
