/*
 * SIDIP Żłobek – style motywu (nagłówek, stopka, elementy wspólne).
 * Kolory wyłącznie z palety theme.json (warianty zmieniają tylko presety).
 * Odstępy w rem; obrysy i cele dotyku w px (WCAG 2.5.8 mówi o pikselach CSS).
 */

/* Font zastępczy dopasowany do Montserrat (wartości jak na sidip.pl) – bez przeskoku tekstu. */
@font-face {
	font-family: "Montserrat Fallback";
	font-style: normal;
	font-weight: 400;
	src: local("Arial"), local("Helvetica"), local("Liberation Sans"), local("Arimo");
	size-adjust: 112.4%;
}
@font-face {
	font-family: "Montserrat Fallback";
	font-style: normal;
	font-weight: 700;
	src: local("Arial Bold"), local("Arial-BoldMT"), local("Helvetica Bold"), local("Liberation Sans Bold"), local("Arimo Bold");
	size-adjust: 110%;
}

:root {
	--tekst: var(--wp--preset--color--tekst);
	--tekst-2: var(--wp--preset--color--tekst-2);
	--tlo: var(--wp--preset--color--tlo);
	--tlo-2: var(--wp--preset--color--tlo-2);
	--tlo-3: var(--wp--preset--color--tlo-3);
	--primary: var(--wp--preset--color--primary);
	--primary-h: var(--wp--preset--color--primary-h);
	--na-primary: var(--wp--preset--color--na-primary);
	--secondary: var(--wp--preset--color--secondary);
	--ostrz: var(--wp--preset--color--ostrz);
	--ostrz-tlo: var(--wp--preset--color--ostrz-tlo);
	--fokus: var(--wp--preset--color--fokus);
	--halo: var(--wp--preset--color--halo);
	--ramka: var(--wp--preset--color--ramka);
	--linia: var(--wp--preset--color--linia);
	--cien-2: var(--wp--preset--shadow--2);
	--pad-x: var(--wp--preset--spacing--50);
}

/* ---------- Panel ułatwień dostępu (klasy na <html>, zapisane w przeglądarce) ---------- */
html.a11y-kontrast {
	--wp--preset--color--tekst: #000;
	--wp--preset--color--tekst-2: #000;
	--wp--preset--color--tlo: #FFF;
	--wp--preset--color--tlo-2: #FFF;
	--wp--preset--color--tlo-3: #FFF;
	--wp--preset--color--primary: #000;
	--wp--preset--color--primary-h: #000;
	--wp--preset--color--secondary: #FFE14D;
	--wp--preset--color--akcent: #000;
	--wp--preset--color--ramka: #000;
	--wp--preset--color--linia: #000;
	--wp--preset--color--fokus: #000;
	--wp--preset--color--halo: #FFE14D;
	--wp--preset--shadow--1: none;
	--wp--preset--shadow--2: none;
}
html.a11y-tekst { font-size: 125%; }
html.a11y-linki a { text-decoration: underline !important; text-decoration-thickness: 2px !important; }
html.a11y-stop *, html.a11y-stop *::before, html.a11y-stop *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* ---------- Podstawy ---------- */
*, *::before, *::after { box-sizing: border-box; }
em, i { font-style: normal; font-weight: 700; }
h1, h2, h3, h4, h5, h6 { text-wrap: balance; }
a { text-decoration-thickness: 1px; text-underline-offset: .18em; }
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid var(--fokus); outline-offset: 3px; box-shadow: 0 0 0 3px var(--halo); }
.wp-element-button { min-height: 44px; min-width: 44px; }

/* Stopka przy krótkiej treści na dole okna – bez position: fixed. */
.wp-site-blocks { min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; }
.wp-site-blocks > main { flex: 1 0 auto; }
.wp-site-blocks > * { margin-block: 0; }

.sr-only {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

/* Link "Przejdź do treści" (dodaje WordPress). */
.skip-link.screen-reader-text:focus {
	top: 1rem; left: 1rem; z-index: 100000; padding: .75rem 1.25rem; width: auto; height: auto; clip: auto;
	background: var(--tlo); color: var(--primary); border: 2px solid var(--primary); border-radius: var(--wp--custom--radius--xs);
	font-weight: 700; font-size: 1rem; text-decoration: underline;
}

.no-js .wymaga-js { display: none !important; }
.in { max-width: var(--wp--style--global--content-size, 78rem); margin-inline: auto; }
.hd-pad { padding-inline: var(--pad-x); }
.ico { width: 1.5rem; height: 1.5rem; flex: none; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ico.s { width: 1.25rem; height: 1.25rem; }
.only-m { display: none; }

/* Przyciski poza blokami (nagłówek, stopka) – ten sam system co elementy theme.json. */
.btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .625rem; min-height: 44px; min-width: 44px;
	padding: .75rem 1.875rem; border: 2px solid transparent; border-radius: var(--wp--custom--radius--pill);
	font-family: inherit; font-size: 1.125rem; font-weight: 700; line-height: 1.2; text-decoration: none; text-align: center; cursor: pointer;
}
.btn-p { background: var(--primary); border-color: var(--primary); color: var(--na-primary); }
.btn-p:hover { background: var(--primary-h); border-color: var(--primary-h); color: var(--na-primary); text-decoration: underline; }
.btn-o { background: var(--tlo); border-color: var(--primary); color: var(--primary); }
.btn-o:hover { background: var(--tlo-3); border-color: var(--primary-h); color: var(--primary-h); text-decoration: underline; }
.btn-x {
	display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; flex: none; padding: 0;
	border: 2px solid currentColor; border-radius: var(--wp--custom--radius--pill); background: transparent; color: inherit; cursor: pointer;
}
.btn-x:hover { background: var(--tlo-3); }
.btn-t {
	display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; padding: .375rem .75rem;
	border: 2px solid transparent; border-radius: var(--wp--custom--radius--pill); background: transparent; color: var(--tekst);
	font-family: inherit; font-size: .9375rem; font-weight: 700; cursor: pointer; text-decoration: underline; text-underline-offset: .18em;
}
.btn-t:hover { border-color: var(--ramka); }
.btn-t[aria-expanded="true"] { border-color: var(--tekst); }
.lbl { display: block; font-weight: 700; margin-bottom: .25rem; }
.pole {
	display: block; width: 100%; min-height: 3rem; padding: .625rem 1rem; border: 2px solid var(--ramka);
	border-radius: var(--wp--custom--radius--xs); background: #fff; color: var(--tekst); font: inherit;
}
.pole:hover { border-color: var(--tekst); }

/* ---------- Nagłówek ---------- */
.wp-block-template-part:has(> .belka), header.wp-block-template-part { position: relative; background: var(--tlo); border-bottom: 1px solid var(--linia); }

.pilny { background: var(--ostrz-tlo); border-bottom: 3px solid var(--ostrz); padding-block: .625rem; }
.pilny__in { display: flex; gap: .875rem; align-items: center; }
.pilny__ikona { color: var(--ostrz); }
.pilny__tekst { margin: 0; flex: 1; min-width: 0; font-size: 1rem; line-height: 1.5; }
.pilny__tekst a { color: var(--tekst); font-weight: 700; }
.pilny .btn-x { color: var(--tekst); }

.top { background: var(--tlo-2); border-bottom: 1px solid var(--linia); font-size: .9375rem; line-height: 1.5; }
.top__in { display: flex; flex-wrap: wrap; align-items: center; gap: 0 1.25rem; }
.top__prawo { margin-left: auto; display: flex; flex-wrap: wrap; align-items: center; gap: 0 .75rem; }
.top a { color: var(--tekst); font-weight: 700; }
.top a:hover { color: var(--primary-h); }
.ti { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; }
.ti abbr { text-decoration: none; }
.bip { display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; }
.bip__znak {
	display: inline-flex; align-items: center; justify-content: center; min-width: 3.5rem; height: 1.75rem; padding: 0 .5rem;
	border: 2px solid var(--tekst); border-radius: var(--wp--custom--radius--xs); background: #fff; color: var(--tekst);
	font-size: .8125rem; font-weight: 700; letter-spacing: .06em;
}
.bip:hover .bip__znak { background: var(--tlo-3); }

.panel { background: var(--tlo-3); border-bottom: 1px solid var(--linia); padding-block: 1rem; }
.szukaj { display: flex; flex-wrap: wrap; align-items: flex-end; gap: .625rem; }
.szukaj__pole { flex: 1 1 18rem; }

.a11y { display: flex; flex-direction: column; gap: 1rem; padding-block: .25rem; }
.a11y__naglowek { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.a11y__tytul { margin: 0; font-weight: 700; font-size: 1.1875rem; }
.a11y__opcje { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 14rem), 1fr)); gap: .625rem; }
.a11y__status { margin: 0; font-size: .9375rem; }
.opt {
	display: flex; align-items: center; gap: .625rem; min-height: 44px; width: 100%; padding: .625rem 1rem;
	border: 2px solid var(--ramka); border-radius: var(--wp--custom--radius--m); background: var(--tlo); color: var(--tekst);
	font-family: inherit; font-size: 1rem; font-weight: 700; text-align: left; cursor: pointer;
}
.opt:hover { border-color: var(--tekst); }
.opt[aria-pressed="true"] { background: var(--primary); border-color: var(--primary); color: var(--na-primary); }
.opt--reset { border-style: dashed; }
.box { display: inline-flex; align-items: center; justify-content: center; width: 1.5rem; height: 1.5rem; flex: none; border: 2px solid currentColor; border-radius: var(--wp--custom--radius--xs); }
.box .ico { width: 1rem; height: 1rem; stroke-width: 3; visibility: hidden; }
.opt[aria-pressed="true"] .box .ico { visibility: visible; }

.belka { padding-block: .875rem; }
.belka__in { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .625rem 1.25rem; }
.logo { display: flex; align-items: center; gap: .875rem; color: var(--tekst); text-decoration: none; min-width: 0; flex: 0 1 auto; }
.logo:hover { color: var(--tekst); }
.logo:hover .logo__nazwa { text-decoration: underline; }
.logo__znak, .logo__obraz { flex: none; width: 3rem; height: 3rem; object-fit: contain; }
.logo__teksty { display: flex; flex-direction: column; min-width: 0; }
.logo__nazwa { font-weight: 700; font-size: 1.125rem; line-height: 1.3; }
.logo__podtytul { font-size: .9375rem; line-height: 1.4; color: var(--tekst-2); }

.nav-d { margin-left: auto; }
.nv { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem; list-style: none; margin: 0; padding: 0; }
.nv li { margin: 0; }
.nv__grupa { position: relative; }
.nv-a {
	position: relative; display: inline-flex; align-items: center; gap: .375rem; min-height: 44px; padding: .625rem .875rem;
	border: 0; border-radius: var(--wp--custom--radius--m); background: transparent; color: var(--tekst);
	font-family: inherit; font-size: inherit; font-weight: 700; line-height: 1.3; text-decoration: none; cursor: pointer;
}
.nv-a:hover { background: var(--tlo-3); color: var(--tekst); text-decoration: underline; }
.nv-a.cur { color: var(--primary); }
.nv-a.cur::after { content: ""; position: absolute; left: .875rem; right: .875rem; bottom: .25rem; height: 3px; border-radius: 2px; background: var(--primary); }
.nv-a.cur:hover { text-decoration: none; }
.nv-a[aria-expanded="true"] .ico { transform: rotate(180deg); }
.sub {
	position: absolute; top: 100%; left: 0; z-index: 20; min-width: 19rem; list-style: none; margin: .25rem 0 0; padding: .625rem;
	background: var(--tlo); border: 1px solid var(--ramka); border-radius: var(--wp--custom--radius--xs); box-shadow: var(--cien-2);
}
.nv__grupa:last-of-type .sub, .sub.r { left: auto; right: 0; }
.sub li { margin: 0; }
.sub a { display: flex; align-items: center; min-height: 44px; padding: .625rem 1rem; border-radius: var(--wp--custom--radius--m); color: var(--tekst); font-weight: 700; text-decoration: none; }
.sub a:hover { background: var(--tlo-3); text-decoration: underline; }
.sub a[aria-current="page"] { color: var(--primary); box-shadow: inset 4px 0 0 var(--primary); }
.no-js .sub[hidden] { display: block; position: static; box-shadow: none; }

.btn-menu { padding-inline: 1rem; border-radius: var(--wp--custom--radius--s); }
.btn-menu__zamknij { display: none; }
.btn-menu[aria-expanded="true"] .btn-menu__otworz { display: none; }
.btn-menu[aria-expanded="true"] .btn-menu__zamknij { display: inline-flex; }
.btn-menu span { display: inline-flex; }

.menu-mob { border-top: 1px solid var(--linia); padding-block: 1.25rem 1.875rem; background: var(--tlo); }
.menu-mob__szukaj { display: flex; flex-direction: column; gap: .625rem; margin-bottom: 1.25rem; }
.menu-mob__szukaj .lbl { margin: 0; }
.menu-mob__wiersz { display: flex; gap: .625rem; }
.menu-mob__wiersz .pole { flex: 1; min-width: 0; }
.btn-ikona { padding-inline: 1rem; }
.mm { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .25rem; }
.mm li { margin: 0; }
.mm a {
	display: flex; align-items: center; justify-content: space-between; gap: .5rem; min-height: 48px; padding: .625rem 1rem;
	border: 1px solid var(--linia); border-radius: var(--wp--custom--radius--m); color: var(--tekst); font-weight: 700; text-decoration: none;
}
.mm a:hover { text-decoration: underline; background: var(--tlo-3); }
.mm a[aria-current="page"] { color: var(--primary); box-shadow: inset 6px 0 0 var(--primary); }
.mm .mm { padding-left: 1rem; }
.mm__prosty { margin-top: .625rem; }
.mm-h { margin: 1rem 0 .5rem; font-size: .9375rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--tekst-2); }

@media (max-width: 48rem) {
	.btn { font-size: 1rem; }
	.only-d { display: none !important; }
	.only-m { display: block; }
	.menu-mob.only-m[hidden] { display: none; }
	.no-js .menu-mob.only-m[hidden] { display: block; }
}

/* ---------- Stopka ---------- */
footer.wp-block-template-part { font-size: inherit; }
.dof { background: #FFFFFF; color: var(--tekst); border-top: 1px solid var(--linia); padding-block: 1.875rem; }
.dof__in { display: flex; flex-direction: column; gap: 1.25rem; align-items: center; text-align: center; }
.dof img { display: block; width: min(100%, 40rem); height: auto; }
.dof p { margin: 0; font-size: .9375rem; line-height: 1.5; max-width: 52rem; }
.dof a.dofl { color: var(--primary); font-weight: 700; }

.dark { background: var(--primary-h); color: #FFFFFF; padding-block: var(--wp--preset--spacing--70) 1.875rem; }
.dark a { color: #FFFFFF; }
.dark a:hover { color: #FFFFFF; text-decoration-thickness: 3px; }
.dark :focus-visible { outline-color: var(--halo); box-shadow: 0 0 0 3px var(--fokus); }
html.a11y-kontrast .dark :focus-visible { box-shadow: 0 0 0 3px #FFF; }
.ft__kolumny { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: 1.875rem; }
.fh { font-size: 1.1875rem; line-height: 1.4; font-weight: 700; margin: 0 0 1rem; }
.dark p { margin: 0 0 1rem; }
.dark address { font-style: normal; }
.ft__kontakt { display: flex; flex-direction: column; gap: .25rem; }
.ft__kontakt a { display: inline-flex; align-items: center; gap: .625rem; min-height: 44px; overflow-wrap: anywhere; }
.ft__godziny { margin: 0; display: grid; grid-template-columns: auto 1fr; gap: .25rem 1.25rem; }
.ft__godziny dt { font-weight: 700; }
.ft__godziny dd { margin: 0; }
.ft__linki { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .25rem; }
.ft__linki li { margin: 0; }
.ft__linki a { display: inline-flex; align-items: center; min-height: 44px; }
.ft__social { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 50%; border: 2px solid #FFFFFF; }
.ft__pytanie { margin-top: 1.25rem !important; }
.ft__dol {
	margin-top: 3.125rem; padding-top: 1.25rem; border-top: 1px solid rgba(255, 255, 255, .55);
	display: flex; flex-wrap: wrap; justify-content: space-between; gap: .625rem 1.875rem; font-size: .9375rem; line-height: 1.5;
}
.ft__dol p { margin: 0 !important; }

@media print {
	.top, .panel, .pilny .btn-x, .nav-d, .menu-mob, .only-m, .wymaga-js { display: none !important; }
	.dark { background: none; color: #000; }
	.dark a { color: #000; }
}

/* Stopnie pisma na telefonie (do 48rem) – identyczne jak na sidip.pl. */
@media (max-width: 48rem) {
	:root {
		--wp--preset--font-size--medium: 1rem;
		--wp--preset--font-size--h-1: 1.875rem;
		--wp--preset--font-size--h-2: 1.625rem;
		--wp--preset--font-size--h-3: 1.375rem;
		--wp--preset--font-size--h-4: 1.1875rem;
		--wp--preset--font-size--h-5: 1.0625rem;
		--wp--preset--font-size--h-6: 1rem;
	}
	.wp-element-button, .wp-block-button__link { font-size: 1rem; }
}

/* ---------- Elementy treści (strona główna i kolejne szablony) ---------- */
.sec { padding: var(--wp--preset--spacing--70) var(--pad-x); }
.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 17.5rem), 1fr)); gap: 1rem; }
.card { background: var(--tlo); border: 1px solid var(--linia); border-radius: var(--wp--custom--radius--l); box-shadow: var(--wp--preset--shadow--1); }
.card-xl { background: var(--tlo); border: 1px solid var(--linia); border-radius: var(--wp--custom--radius--xl); box-shadow: var(--wp--preset--shadow--2); }
.badge {
	display: inline-flex; align-items: center; gap: .375rem; margin: 0 0 1.25rem; padding: .125rem .75rem;
	border: 1px solid var(--ramka); border-radius: var(--wp--custom--radius--pill); background: var(--tlo); color: var(--tekst);
	font-size: .9375rem; line-height: 1.5; font-weight: 700;
}
.tile-i { display: inline-flex; align-items: center; justify-content: center; width: 3rem; height: 3rem; flex: none; border-radius: var(--wp--custom--radius--m); background: var(--tlo-2); color: var(--primary); }
.h4, .ct { font-size: var(--wp--preset--font-size--h-4); line-height: 1.35; margin: 0 0 1rem; }
.more { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; font-weight: 700; }
.zawijaj { overflow-wrap: anywhere; }
.b-dzis, .b-jutro {
	display: inline-flex; align-items: center; padding: .125rem .75rem; border-radius: var(--wp--custom--radius--pill);
	font-size: .9375rem; line-height: 1.5; font-weight: 700; border: 1px solid var(--tekst); color: var(--tekst);
}
.b-dzis { background: var(--secondary); }
.b-jutro { background: var(--tlo-3); border-color: var(--ramka); }

.sg-hero { position: relative; overflow: hidden; background: var(--tlo-2); }
.sg-hero__sec { padding-bottom: var(--wp--preset--spacing--80); }
.sg-hero__in { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 26rem), 1fr)); gap: var(--wp--preset--spacing--50); align-items: stretch; }
.sg-hero h1 { margin: 0 0 1.5rem; }
.sg-hero__opis { max-width: 36rem; margin: 0 0 1.5rem; }
.sg-hero__przyciski { display: flex; flex-wrap: wrap; gap: 1rem; }
.ue { display: block; width: fit-content; max-width: 100%; margin-top: 1.875rem; padding: .25rem .5rem; background: #FFFFFF; border-radius: var(--wp--custom--radius--xs); }
.ue img { display: block; width: 28rem; max-width: 100%; height: auto; }
.sg-info { padding: clamp(1.25rem, 4vw, 1.875rem); display: flex; flex-direction: column; justify-content: space-between; gap: 1.25rem; }
.sg-info h2 { margin: 0; }
.info { margin: 0; }
.info dt { font-weight: 700; display: flex; align-items: center; gap: .625rem; }
.info dt .ico { color: var(--primary); }
.info dd { margin: 0 0 0 2.125rem; }
.sg-fala { position: absolute; left: 0; right: 0; bottom: -1px; display: block; width: 100%; height: clamp(2.5rem, 6vw, 5rem); }

.sg-kafle { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); }
.sg-kafle li { margin: 0; }
.tile { display: flex; gap: 1rem; align-items: flex-start; height: 100%; padding: 1.25rem; color: var(--tekst); text-decoration: none; }
.tile:hover { border-color: var(--primary); color: var(--tekst); }
.tile .tt { font-weight: 700; font-size: 1.1875rem; line-height: 1.4; color: var(--primary); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .18em; }
.tile:hover .tt { text-decoration-thickness: 3px; }
.tile__opis { display: block; margin-top: .25rem; font-size: .9375rem; line-height: 1.5; color: var(--tekst-2); }

.sg-akt { background: var(--tlo-3); }
.sg-naglowek-sekcji { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: .625rem 1.875rem; margin-bottom: 1.25rem; }
.sg-naglowek-sekcji h2 { margin: 0; }
.sg-wpis { display: flex; flex-direction: column; overflow: hidden; }
.sg-wpis__zdj { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.sg-wpis__tresc { padding: 1.25rem; }
.sg-wpis__data { margin: 0 0 .625rem; font-size: .9375rem; line-height: 1.5; color: var(--tekst-2); }
.sg-wpis__tresc p:last-child { margin: 0; }

.sg-dni { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 26rem), 1fr)); gap: 1rem; }
.sg-dzien { padding: clamp(1.25rem, 3vw, 1.875rem); }
.sg-dzien__tytul { display: flex; flex-wrap: wrap; align-items: center; gap: .625rem; margin-bottom: 1.25rem; }
.sg-dzien__brak { margin: 0; color: var(--tekst-2); }
.sg-dzien__nieczynne { margin: 0; display: flex; gap: .625rem; align-items: flex-start; }
.sg-dzien__nieczynne .ico { color: var(--ostrz); }
.meals { margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); gap: 1rem 1.25rem; }
.meals dt { font-weight: 700; }
.meals dd { margin: 0; }
.meals__alergeny { display: block; font-size: .9375rem; line-height: 1.5; color: var(--tekst-2); }

.sg-kontakt { background: var(--tlo-2); }
.sg-kontakt__in { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 24rem), 1fr)); gap: var(--wp--preset--spacing--50); align-items: start; }
.sg-kontakt__lead { max-width: 32rem; }
.kl { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 1rem; }
.kl li { display: flex; gap: 1rem; align-items: flex-start; margin: 0; }
.kl strong { display: block; }
.kl__min { min-width: 0; }
.sg-formularz { padding: clamp(1.25rem, 4vw, 1.875rem); }

/* Formularz kontaktowy (wtyczka SIDIP). */
.kf__tytul { font-size: var(--wp--preset--font-size--h-4); line-height: 1.35; margin: 0 0 .625rem; }
.kf__wymagane { margin: 0 0 1.25rem; font-size: .9375rem; color: var(--tekst-2); }
.kf__dwa { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); gap: 0 1.25rem; }
.kf__pole { margin-bottom: 1.25rem; }
.kf .lbl { margin-bottom: .625rem; }
.kf textarea.pole { min-height: 8rem; resize: vertical; }
.kf .pole[aria-invalid="true"] { border-color: var(--wp--preset--color--blad); box-shadow: inset 6px 0 0 var(--wp--preset--color--blad); }
.kf__blad { margin: .625rem 0 0; color: var(--wp--preset--color--blad); font-size: .9375rem; line-height: 1.5; font-weight: 700; }
.kf__zgoda { display: flex; gap: 1rem; align-items: flex-start; }
.kf__zgoda input { width: 1.5rem; height: 1.5rem; margin: .125rem 0 0; flex: none; accent-color: var(--primary); }
.kf__bledy { padding: 1.25rem; margin-bottom: 1.25rem; border: 2px solid var(--wp--preset--color--blad); border-radius: var(--wp--custom--radius--l); background: var(--wp--preset--color--blad-tlo); }
.kf__bledy-tytul { margin: 0 0 .625rem; font-weight: 700; color: var(--wp--preset--color--blad); }
.kf__bledy ul { margin: 0; padding-left: 1.25rem; }
.kf__ok { padding: 1.25rem; margin-bottom: 1.25rem; border: 2px solid var(--wp--preset--color--sukces); border-radius: var(--wp--custom--radius--l); background: var(--wp--preset--color--sukces-tlo); }
.kf__ok p { margin: 0; }
.kf__pulapka { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* ---------- Podstrony ---------- */
.phead { background: var(--tlo-2); padding: var(--wp--preset--spacing--50); }
.phead h1 { margin: 0 0 .625rem; }
.phead__wstep { margin: 0; max-width: 46rem; }
.phead__logotypy { display: block; width: min(100%, 36rem); height: auto; margin: 0 0 1.25rem; padding: .25rem .5rem; background: #FFFFFF; border-radius: var(--wp--custom--radius--xs); }
.crumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: .25rem .625rem; margin: 0 0 1.25rem; padding: 0; font-size: .9375rem; line-height: 1.5; }
.crumbs li { margin: 0; }
.crumbs li + li::before { content: "›" / ""; margin-right: .625rem; color: var(--tekst-2); }
.sec--tlo { background: var(--tlo-3); }
.prose { max-width: 46rem; }
.cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 26rem), 1fr)); gap: var(--wp--preset--spacing--50); align-items: start; }
.stos { display: flex; flex-direction: column; gap: 1.875rem; }
.stos h2 { font-size: var(--wp--preset--font-size--h-4); line-height: 1.35; }
.sec h2 { margin: 0 0 1.25rem; }
.in > section + section { margin-top: var(--wp--preset--spacing--50); }
.maly { font-size: .9375rem; line-height: 1.5; color: var(--tekst-2); }
.tresc ul, .tresc ol, .karta ul, .acc-b ul { padding-left: 1.25rem; }
.tresc li + li, .karta li + li { margin-top: .625rem; }

.ramka { display: flex; gap: 1rem; align-items: flex-start; padding: 1.25rem; border: 1px solid var(--linia); border-radius: var(--wp--custom--radius--l); background: var(--tlo-3); }
.ramka .ico { color: var(--primary); }
.ramka p:last-child { margin-bottom: 0; }

.karty { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); }
.karta { margin: 0; padding: 1.25rem; display: flex; flex-direction: column; justify-content: space-between; gap: .5rem; }
.karta > :last-child { margin-bottom: 0; }

.kroki { list-style: none; counter-reset: krok; margin: 0 0 1.25rem; padding: 0; display: flex; flex-direction: column; gap: 1.25rem; }
.kroki li { counter-increment: krok; position: relative; padding-left: 3.25rem; margin: 0; }
.kroki li::before {
	content: counter(krok) / ""; position: absolute; left: 0; top: 0; width: 2.25rem; height: 2.25rem; border-radius: 50%;
	display: flex; align-items: center; justify-content: center; background: var(--primary); color: var(--na-primary); font-weight: 700;
}
.kroki h3 { margin: 0 0 .25rem; }
.kroki p { margin: 0; }
.h5 { font-size: var(--wp--preset--font-size--h-5); line-height: 1.4; }

.tl { list-style: none; margin: 0; padding: 0; }
.tl li { position: relative; margin: 0; padding: 0 0 1.875rem 3.125rem; }
.tl li::before { content: ""; position: absolute; left: 1.0625rem; top: 2.25rem; bottom: 0; width: 2px; background: var(--ramka); }
.tl li:last-child::before { display: none; }
.dot { position: absolute; left: 0; top: 0; width: 2.25rem; height: 2.25rem; border-radius: 50%; display: flex; align-items: center; justify-content: center; border: 2px solid var(--ramka); background: var(--tlo); color: var(--tekst); }
.dot--done { background: var(--wp--preset--color--sukces); border-color: var(--wp--preset--color--sukces); color: #FFFFFF; }
.dot--now { background: var(--primary); border-color: var(--primary); }
.tl__data { margin: 0 0 .25rem; font-weight: 700; }
.tl__opis { margin: 0 0 .625rem; }
.st { display: inline-flex; align-items: center; padding: .125rem .75rem; border: 1px solid currentColor; border-radius: var(--wp--custom--radius--pill); font-size: .9375rem; line-height: 1.5; font-weight: 700; }
.st--done { color: var(--wp--preset--color--sukces); background: var(--wp--preset--color--sukces-tlo); }
.st--now { color: var(--primary); background: var(--tlo-2); }
.st--next { color: var(--tekst-2); background: var(--tlo-3); }

details.acc { border: 1px solid var(--linia); border-radius: var(--wp--custom--radius--l); background: var(--tlo); }
details.acc + details.acc { margin-top: .625rem; }
details.acc > summary { display: flex; justify-content: space-between; align-items: center; gap: 1rem; min-height: 44px; padding: 1rem 1.25rem; font-weight: 700; cursor: pointer; list-style: none; border-radius: var(--wp--custom--radius--l); }
details.acc > summary::-webkit-details-marker { display: none; }
details.acc > summary::after { content: "+" / ""; font-size: 1.5rem; line-height: 1; color: var(--primary); flex: none; }
details.acc[open] > summary::after { content: "−" / ""; }
details.acc > summary:hover { text-decoration: underline; }
.acc-b { padding: 0 1.25rem 1.25rem; }
.acc-b > :last-child { margin-bottom: 0; }

.tbl-box { border: 1px solid var(--linia); border-radius: var(--wp--custom--radius--l); overflow-x: auto; background: var(--tlo); }
.tbl { width: 100%; border-collapse: collapse; font-size: 1rem; line-height: 1.5; }
.tbl caption { text-align: left; font-weight: 700; padding: 1rem 1.25rem; font-size: 1.1875rem; border-bottom: 1px solid var(--linia); }
.tbl th, .tbl td { text-align: left; vertical-align: top; padding: 1rem 1.25rem; border-bottom: 1px solid var(--linia); }
.tbl tbody th { font-weight: 400; }
.tbl thead th { background: var(--tlo-3); }
.tbl .kw { text-align: right; white-space: nowrap; font-weight: 700; }
.kw__dopisek { display: block; font-size: .9375rem; font-weight: 400; color: var(--tekst-2); }
.tbl tr:last-child td, .tbl tr:last-child th { border-bottom: 0; }
.tbl-pod { margin-top: 1.875rem; }

.konto-box { padding: clamp(1.25rem, 4vw, 1.875rem); }
.konto { font-size: 1.375rem; font-weight: 700; letter-spacing: .04em; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; margin: 0 0 1rem; }
.konto__akcje { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; margin-bottom: 1.25rem; }
.konto__status { margin: 0; color: var(--wp--preset--color--sukces); font-weight: 700; }

.plan-box { padding: clamp(1.25rem, 4vw, 1.875rem); }
.plan { list-style: none; margin: 0; padding: 0; }
.plan li { display: grid; grid-template-columns: 9.5rem minmax(0, 1fr); gap: 1.25rem; padding: 1.25rem 0; border-bottom: 1px solid var(--linia); margin: 0; }
.plan li:first-child { padding-top: 0; }
.plan li:last-child { border-bottom: 0; padding-bottom: 0; }
.plan__godz { font-weight: 700; font-variant-numeric: tabular-nums; color: var(--primary); }
.plan__co { display: block; font-weight: 700; }
.plan__opis { display: block; color: var(--tekst-2); }

.dane { margin: 0 0 1.5rem; display: grid; gap: .5rem; }
.dane > div { display: grid; grid-template-columns: minmax(8rem, 14rem) minmax(0, 1fr); gap: 1rem; }
.dane dt { font-weight: 700; }
.dane dd { margin: 0; }
.k-adres { font-style: normal; }

.telefony { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .625rem; }
.telefony li { display: flex; flex-wrap: wrap; gap: .25rem 1rem; align-items: baseline; margin: 0; padding: 1rem 1.25rem; border: 1px solid var(--linia); border-radius: var(--wp--custom--radius--l); background: var(--tlo); }
.telefony a { font-weight: 700; font-size: 1.1875rem; min-height: 44px; display: inline-flex; align-items: center; }

.files { list-style: none; margin: 0 0 1.25rem; padding: 0; display: flex; flex-direction: column; gap: .625rem; }
.files li { margin: 0; }
.files a { display: flex; align-items: center; gap: 1rem; padding: 1rem 1.25rem; border: 1px solid var(--linia); border-radius: var(--wp--custom--radius--l); background: var(--tlo); font-weight: 700; }
.files a:hover { border-color: var(--primary); }
.files__nazwa { flex: 1; min-width: 0; }
.meta { display: block; font-weight: 400; font-size: .9375rem; color: var(--tekst-2); }
.typ { display: inline-flex; align-items: center; justify-content: center; min-width: 3.25rem; height: 2rem; padding: 0 .5rem; border-radius: var(--wp--custom--radius--xs); border: 2px solid currentColor; font-size: .8125rem; font-weight: 700; letter-spacing: .04em; color: var(--tekst); flex: none; }

.cta { padding: clamp(1.25rem, 4vw, 3.125rem); display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1.25rem; }
.cta h2 { margin-bottom: .625rem; }
.cta p { margin: 0; }
.h3 { font-size: var(--wp--preset--font-size--h-3); line-height: 1.3; }

.mapa { display: grid; gap: 1.875rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); }
.mapa ul { padding-left: 1.25rem; }
.mapa li + li { margin-top: .5rem; }

.dok-filtr { padding: 1.25rem; margin-bottom: 1.875rem; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); gap: 1.25rem 1.875rem; align-items: end; }
.dok-filtr fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.pomoc-pola { margin: -.375rem 0 .625rem; font-size: .9375rem; line-height: 1.5; color: var(--tekst-2); }
.chips { display: flex; flex-wrap: wrap; gap: .625rem; list-style: none; margin: 0; padding: 0; }
.chips li { margin: 0; }
.chip { display: inline-flex; align-items: center; min-height: 44px; padding: .5rem 1.25rem; border: 2px solid var(--primary); border-radius: var(--wp--custom--radius--pill); background: var(--tlo); color: var(--primary); font: inherit; font-size: 1rem; font-weight: 700; cursor: pointer; }
.chip:hover { background: var(--tlo-3); }
.chip[aria-pressed="true"] { background: var(--primary); color: var(--na-primary); }
.dok-grupa { margin-bottom: 3.125rem; }

@media (max-width: 48rem) {
	.plan li { grid-template-columns: minmax(0, 1fr); gap: .25rem; }
	.dane > div { grid-template-columns: minmax(0, 1fr); gap: 0; }
	.konto { font-size: 1.1875rem; }
	.tbl th, .tbl td { padding: .75rem 1rem; }
}

/* ---------- Kadra ---------- */
.sec--ciasna { padding-bottom: 0; }
.odstep-dol { height: var(--wp--preset--spacing--70); }
.osoby { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 17.5rem), 1fr)); }
.osoba { margin: 0; padding: 1.25rem; display: flex; gap: 1rem; align-items: center; }
.osoba__zdj { width: 4.5rem; height: 4.5rem; flex: none; object-fit: cover; border-radius: var(--wp--custom--radius--s); }
.osoba__ini { width: 4.5rem; height: 4.5rem; flex: none; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: var(--tlo-2); color: var(--tekst); font-weight: 700; font-size: 1.375rem; border: 2px solid var(--linia); }
.osoba__tekst { min-width: 0; }
.osoba h3 { margin: 0 0 .25rem; }
.osoba p { margin: 0; }

/* ---------- Galeria ---------- */
.gal { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr)); gap: 1.25rem 1rem; }
.gal li { margin: 0; }
.gal__link { display: block; border-radius: var(--wp--custom--radius--s); cursor: zoom-in; }
.gal__zdj { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--wp--custom--radius--s); border: 2px solid var(--linia); }
.gal__link:hover .gal__zdj { border-color: var(--primary); }
.gal__podpis { display: block; margin-top: .5rem; font-size: .9375rem; line-height: 1.5; color: var(--tekst-2); }
.lb { width: min(100% - 2rem, 72rem); max-height: calc(100dvh - 2rem); padding: 1.25rem; border: 0; border-radius: var(--wp--custom--radius--xl); background: var(--tlo); color: var(--tekst); box-shadow: var(--cien-2); }
.lb::backdrop { background: rgba(0, 0, 0, .75); }
.lb__pasek { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: .75rem; }
.lb__licznik { margin: 0; font-weight: 700; }
.lb__fig { margin: 0; }
.lb__fig img { display: block; max-width: 100%; max-height: calc(100dvh - 14rem); margin: 0 auto; height: auto; border-radius: var(--wp--custom--radius--s); }
.lb__fig figcaption { margin-top: .75rem; text-align: center; }
.lb__nawigacja { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .625rem; margin-top: 1rem; }

/* ---------- PJM ---------- */
.prose-szeroka { max-width: 62rem; }
.pjm { margin: 0 0 1.875rem; }
.pjm__film { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; background: #1F2A37; border-radius: var(--wp--custom--radius--l); }
.pjm figcaption { margin-top: .625rem; }
.pjm__kontakt { margin-top: 1.875rem; }

/* ---------- Deklaracja dostępności ---------- */
.dekl { display: grid; grid-template-columns: minmax(0, 16rem) minmax(0, 1fr); gap: var(--wp--preset--spacing--50); align-items: start; }
.dekl__spis { padding: 1.25rem; }
.dekl__spis-tytul { margin: 0 0 .625rem; font-weight: 700; }
.dekl__spis ol { margin: 0; padding-left: 1.25rem; }
.dekl__spis li + li { margin-top: .5rem; }
.dekl h2 { margin-top: 2.5rem; }
.dekl .prose > p:first-child { margin-top: 0; }
@media (max-width: 60rem) { .dekl { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Listy, wpis, wyszukiwanie ---------- */
.stronicowanie-m ul { list-style: none; display: flex; flex-wrap: wrap; gap: .5rem; margin: 1.875rem 0 0; padding: 0; }
.stronicowanie-m li { margin: 0; }
.stronicowanie-m a, .stronicowanie-m span.page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 .875rem; border: 2px solid var(--primary); border-radius: var(--wp--custom--radius--pill); font-weight: 700; }
.stronicowanie-m .current { background: var(--primary); color: var(--na-primary); }
.stronicowanie-m .dots { border-color: transparent; }
.pusto { padding: clamp(1.25rem, 4vw, 1.875rem); max-width: 46rem; }
.wpis__data { margin: 0; color: var(--tekst-2); }
.wpis__zdj { margin: 0 0 1.875rem; }
.wpis__zdj img { display: block; width: 100%; height: auto; border-radius: var(--wp--custom--radius--l); }
.wpis__powrot { margin-top: 2.5rem; }
.wpis img { max-width: 100%; height: auto; }
.szukaj--strona { padding: 1.25rem; margin-bottom: 1.875rem; }
.wyniki { margin: 0; padding-left: 1.5rem; }
.wyniki li + li { margin-top: 1.25rem; }
.wyniki h2 { margin: 0 0 .25rem; }
.wyniki p { margin: 0; }

/* ---------- Grupy (wtyczka SIDIP) w kolorach motywu ---------- */
.grupa-tresc .sidip-przycisk {
	display: inline-flex; align-items: center; justify-content: center; gap: .625rem; min-height: 44px; min-width: 44px;
	padding: .75rem 1.875rem; border: 2px solid var(--primary); border-radius: var(--wp--custom--radius--pill);
	background: var(--primary); color: var(--na-primary); font: inherit; font-weight: 700; line-height: 1.2; text-decoration: none; cursor: pointer;
}
.grupa-tresc .sidip-przycisk:hover { background: var(--primary-h); border-color: var(--primary-h); color: var(--na-primary); text-decoration: underline; }
.grupa-tresc .sidip-przycisk--drugi { background: var(--tlo); color: var(--primary); }
.grupa-tresc .sidip-przycisk:focus-visible, .grupa-tresc a:focus-visible, .grupa-tresc input:focus-visible { outline: 3px solid var(--fokus); outline-offset: 3px; box-shadow: 0 0 0 3px var(--halo); }
.grupa-tresc .sidip-haslo input { min-height: 3rem; padding: .625rem 1rem; border: 2px solid var(--ramka); border-radius: var(--wp--custom--radius--xs); font: inherit; }
.grupa-tresc .sidip-blad { color: var(--wp--preset--color--blad); }
.grupa-tresc .sidip-pole--blad input { border-color: var(--wp--preset--color--blad); }
.grupa-tresc .sidip-dostep { padding: clamp(1.25rem, 4vw, 1.875rem); background: var(--tlo); border: 1px solid var(--linia); border-radius: var(--wp--custom--radius--xl); box-shadow: var(--cien-2); }
.grupa-tresc .sidip-wpis { padding: clamp(1.25rem, 3vw, 1.875rem); border: 1px solid var(--linia); border-radius: var(--wp--custom--radius--l); background: var(--tlo); box-shadow: var(--wp--preset--shadow--1); }
.grupa-tresc .sidip-wpis__data { color: var(--tekst-2); font-size: .9375rem; }
.grupa-tresc .sidip-galeria img { border-radius: var(--wp--custom--radius--s); border: 2px solid var(--linia); }
.grupa-tresc .sidip-stronicowanie a { border-color: var(--primary); border-radius: var(--wp--custom--radius--pill); }

/* ---------- Jadłospis (wtyczka SIDIP) ---------- */
.sidip-jadlospis .jad-tytul { font-size: var(--wp--preset--font-size--h-2); }
.sidip-jadlospis .jad-dzien { padding: clamp(1.25rem, 3vw, 1.875rem); border: 1px solid var(--linia); border-radius: var(--wp--custom--radius--l); background: var(--tlo); box-shadow: var(--wp--preset--shadow--1); }
.sidip-jadlospis .jad-dzien h3 { margin: 0 0 1.25rem; font-size: var(--wp--preset--font-size--h-4); }
.sidip-jadlospis .jad-dzien--dzis { border-left: 0.375rem solid var(--primary); padding-left: clamp(1.25rem, 3vw, 1.875rem); }
.sidip-jadlospis .jad-dzis { display: inline-flex; margin-left: .5rem; padding: .125rem .75rem; border-radius: var(--wp--custom--radius--pill); background: var(--secondary); color: var(--tekst); font-size: .9375rem; border: 1px solid var(--tekst); }
.sidip-jadlospis .jad-alergeny, .sidip-jadlospis .jad-dieta { font-size: .9375rem; color: var(--tekst-2); }
.sidip-jadlospis .jad-nawigacja a { font-weight: 700; }
.sidip-jadlospis .jad-legenda summary { color: var(--primary); }
