/*
 * Kroczki – placówka: style bazowe wspólne dla 4 wersji wyglądu.
 * Tokeny (kolory, kroje, promienie) są w vN.css, układ charakterystyczny dla wersji w vN-layout.css.
 * Kierunek (decyzja usera 6.10.2026): kolorowo i „dziecięco”, ale czytelnie i bez przeładowania.
 * Każda wersja ma 5 kolorów (--k-c1…c5) i ich jasne odcienie (--k-t1…t5); kolejne karty dostają kolejne kolory.
 * Fale między sekcjami i proste kształty (słońce, chmurka, gwiazdka, kwiatek) są maskami SVG w kolorach wersji.
 */
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
body, .editor-styles-wrapper { font-size: var(--k-text-size, 1.0625rem); }
:where(h1, h2, h3, h4) { text-wrap: balance; }
:where(p, li) { text-wrap: pretty; }
a { text-underline-offset: 0.18em; text-decoration-thickness: 1px; }
@media (hover: hover) { a:hover { text-decoration-thickness: 2px; } }
img { height: auto; }
.wp-site-blocks > * { margin-block-start: 0; }
::selection { background: var(--k-tint); color: var(--k-ink); }

/* ---------- Strony wewnętrzne ---------- */
.kp-main { padding-top: clamp(1.25rem, 3vw, 2rem); padding-bottom: clamp(3rem, 7vw, 5rem); }
.kp-main--home { padding-top: 0; padding-bottom: 0; }
.kp-crumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.25rem 0.5rem; font-size: 0.875rem; color: var(--k-muted); }
.kp-crumbs li + li::before { content: "/"; margin-right: 0.5rem; color: var(--k-line); }
.kp-crumbs a { color: var(--k-muted); text-decoration: none; }
@media (hover: hover) { .kp-crumbs a:hover { text-decoration: underline; } }
.kp-title { margin-top: 1rem !important; margin-bottom: 1.5rem !important; }
.kp-prose > * + h2 { margin-top: 2.75rem; }
.kp-prose > * + h3 { margin-top: 2rem; }
.kp-prose h2 + p, .kp-prose h3 + p { margin-top: 0.6rem; }
.kp-prose ul, .kp-prose ol { padding-left: 1.3rem; }
.kp-prose li + li { margin-top: 0.35rem; }
.kp-prose--wide > :where(p, ul, ol, h2, h3, .wp-block-details) { max-width: 760px; }
.kp-lead, .kp-prose > p.kp-lead { font-size: 1.1875rem; line-height: 1.55; color: var(--k-ink); max-width: 46rem; }
.kp-single-img { border-radius: var(--k-radius); overflow: hidden; margin-bottom: 1.5rem; }
.kp-postlist { list-style: none; padding: 0; }
.kp-postlist > li { padding: 1.25rem 0; border-bottom: 1px solid var(--k-line); }
.kp-postlist__date { color: var(--k-muted); font-size: 0.875rem; }
.kp-postlist__title { font-size: 1.25rem; margin: 0.25rem 0 0.5rem; }
.kp-postlist__title a { color: var(--k-ink); text-decoration: none; }

/* Przyciski WordPressa: wersja konturowa = drugi przycisk. */
.wp-block-button__link { min-height: 2.75rem; display: inline-flex; align-items: center; text-decoration: none; }
.wp-block-button.is-style-outline > .wp-block-button__link { background: transparent; color: var(--k-ink); border: 2px solid currentColor; }
@media (hover: hover) { .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--k-surface); } }
.wp-block-buttons { gap: 0.75rem; }

/* FAQ i szczegóły */
.wp-block-details { padding-block: 0.25rem; }
.wp-block-details summary { cursor: pointer; font-weight: 600; color: var(--k-ink); min-height: 2.75rem; padding: 0.6rem 2rem 0.6rem 0; position: relative; list-style: none; display: flex; align-items: center; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: "+"; position: absolute; right: 0.25rem; top: 50%; transform: translateY(-50%); font-size: 1.5rem; font-weight: 400; color: var(--k-primary); }
.wp-block-details[open] summary::after { content: "−"; }
.wp-block-details > :not(summary) { margin-top: 0.25rem; }
.wp-block-details[open] { padding-bottom: 1rem; }
.wp-block-details:first-of-type { border-top: 1px solid var(--k-line); }

/* Tabele w treści */
.wp-block-table table { border-collapse: collapse; width: 100%; font-size: 0.9375rem; }
.wp-block-table th, .wp-block-table td { border: 0; border-bottom: 1px solid var(--k-line); padding: 0.75rem 0.75rem 0.75rem 0; text-align: left; vertical-align: top; }
.wp-block-table thead { border-bottom: 2px solid var(--k-line); }

/* ---------- Sekcje strony głównej ---------- */
.kp-section { padding-top: clamp(3rem, 7vw, 5.5rem); padding-bottom: clamp(3rem, 7vw, 5.5rem); margin-top: 0 !important; margin-bottom: 0 !important; }
.kp-section--tight { padding-top: clamp(1.5rem, 4vw, 2.5rem); padding-bottom: clamp(1.5rem, 4vw, 2.5rem); }
.kp-section--surface { background: var(--k-surface); }
.kp-section--tint { background: var(--k-tint); }
.kp-section--dark { background: var(--k-ink); color: rgb(255 255 255 / 0.88); }
.kp-section--dark :where(h2, h3, a) { color: #fff; }
.kp-section__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 0.75rem 2rem; margin-bottom: clamp(1.5rem, 3vw, 2.25rem) !important; }
.kp-section__head > div { max-width: 44rem; }
.kp-section__head h2 { margin: 0; }
.kp-section__head p { margin: 0.6rem 0 0; color: var(--k-muted); font-size: 1.0625rem; }
.kp-section--dark .kp-section__head p { color: rgb(255 255 255 / 0.75); }
.kp-section--dark .wp-block-button.is-style-outline > .wp-block-button__link { color: #fff; }
@media (hover: hover) { .kp-section--dark .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: rgb(255 255 255 / 0.1); } }
.kp-section__head .kp-more { margin: 0; font-weight: 600; }
.kp-section__head .kp-more a { text-decoration: none; }
.kp-section__head .kp-more a::after { content: " →"; }

.kp-cols { display: grid; gap: clamp(1.5rem, 4vw, 3.5rem); }
@media (min-width: 900px) {
	.kp-cols { grid-template-columns: 1fr 1fr; align-items: start; }
	.kp-cols--wide-left { grid-template-columns: 1.4fr 1fr; }
	.kp-cols--wide-right { grid-template-columns: 1fr 1.4fr; }
}
.kp-cols > * { margin-top: 0 !important; }

/* Pas zdjęć (sale, ogród, szatnia) */
.kp-photos { display: grid; gap: 1rem; grid-template-columns: 1fr; margin: 0; }
@media (min-width: 700px) { .kp-photos { grid-template-columns: 1.5fr 1fr 1fr; grid-auto-rows: clamp(14rem, 26vw, 22rem); } .kp-photos img { height: 100%; aspect-ratio: auto !important; } }
.kp-photos figure { margin: 0; height: 100%; }
.kp-photos img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--k-radius); display: block; }
.kp-photos figcaption { font-size: 0.875rem; color: var(--k-muted); margin-top: 0.5rem; }

/* Ramka „zdjęcia dzieci tylko dla rodziców” */
.kp-callout { border-radius: var(--k-radius-lg); padding: clamp(1.25rem, 3vw, 2rem); background: var(--k-bg); border: 1px solid var(--k-line); }
.kp-callout h3 { margin-top: 0; }
.kp-callout blockquote { margin: 1rem 0; padding: 0.25rem 0 0.25rem 1rem; border-left: 3px solid var(--k-primary); color: var(--k-ink); }
.kp-callout blockquote p { margin: 0; }
.kp-callout cite, .kp-source { display: block; font-size: 0.875rem; color: var(--k-muted); font-style: normal; margin-top: 0.4rem; }

/* Pas zachęty na końcu strony */
.kp-cta-band { display: grid; gap: 1.25rem; align-items: center; }
@media (min-width: 900px) { .kp-cta-band { grid-template-columns: 1.5fr auto; } }
.kp-cta-band h2 { margin: 0; }
.kp-cta-band p { margin: 0.5rem 0 0; }

/* Kotwice na jednej stronie (wersja Dom) */
.kp-anchors { display: flex; flex-wrap: wrap; gap: 0.5rem; list-style: none; padding: 0; margin: 0; }
.kp-anchors a { display: inline-flex; align-items: center; min-height: 2.75rem; padding: 0 1rem; border: 1px solid var(--k-line); border-radius: var(--k-radius); text-decoration: none; color: var(--k-ink); font-weight: 600; background: var(--k-bg); }
@media (hover: hover) { .kp-anchors a:hover { border-color: var(--k-primary); } }
[id] { scroll-margin-top: 1rem; }

.kp-hero { margin-top: 0 !important; margin-bottom: 0 !important; }
.kp-hero h1 { margin: 0; }
.kp-hero__lead { font-size: clamp(1.125rem, 2vw, 1.3125rem); line-height: 1.5; color: var(--k-text); max-width: 36rem; margin: 1rem 0 0; }
.kp-hero .wp-block-buttons { margin-top: 1.5rem; }
.kp-hero .krc-miejsca { margin-top: 1.25rem; }

@media (max-width: 699px) { .kp-hide-mobile { display: none !important; } }
@media (min-width: 700px) { .kp-show-mobile { display: none !important; } }

/* ==========================================================================
   Warstwa kolorowa: fale, kształty, karty w kolorach wersji
   ========================================================================== */
:root { --k-wave: url("../img/fala.svg"); }
h1, h2, h3, .krc-brand__name, .krc-news__title, .krc-day__name, .krc-team__name { font-family: var(--k-head); font-weight: var(--k-head-weight); }
.kp-section__head h2, .kp-title { font-size: clamp(1.9rem, 4vw, 2.75rem); }

/* Sekcje w kolorach, z falą na górnej krawędzi */
.kp-section, .kp-hero, .krc-footer { position: relative; }
.kp-section--c1 { background: var(--k-t1); }
.kp-section--c2 { background: var(--k-t2); }
.kp-section--c3 { background: var(--k-t3); }
.kp-section--c4 { background: var(--k-t4); }
.kp-section--c5 { background: var(--k-t5); }
.kp-section--strong { background: var(--k-primary); color: #fff; }
.kp-section--strong :where(h2, h3, p, a, li) { color: #fff; }
.kp-section--surface { background: var(--k-surface); }
:where(.kp-section--c1, .kp-section--c2, .kp-section--c3, .kp-section--c4, .kp-section--c5, .kp-section--surface, .kp-section--strong, .kp-section--dark, .kp-section--tint, .kp-section--white)::before,
.krc-footer::before {
	content: ""; position: absolute; left: 0; right: 0; top: -33px; height: 34px; background: inherit; pointer-events: none;
	-webkit-mask: var(--k-wave) center bottom / 100% 100% no-repeat; mask: var(--k-wave) center bottom / 100% 100% no-repeat;
}
.kp-section--white { background: var(--k-bg); }

/* Kształty dekoracyjne (maski SVG w kolorze) */
.kp-shape { position: absolute; display: block; pointer-events: none; -webkit-mask: var(--m) no-repeat center / contain; mask: var(--m) no-repeat center / contain; }
.kp-shape--sun { --m: url("../img/slonce.svg"); background: var(--k-c2); }
.kp-shape--cloud { --m: url("../img/chmurka.svg"); background: #fff; }
.kp-shape--star { --m: url("../img/gwiazdka.svg"); background: var(--k-c5); }
.kp-shape--flower { --m: url("../img/kwiatek.svg"); background: var(--k-c4); }

/* Przyciski: zaokrąglone, z „podstawką” */
.wp-block-button__link, .krc-btn { border-radius: var(--k-radius); font-weight: 700; letter-spacing: 0.01em; }
.wp-block-button:not(.is-style-outline) > .wp-block-button__link, .krc-btn--cta { box-shadow: 0 4px 0 color-mix(in srgb, var(--k-cta) 62%, #000); transition: transform 0.12s, box-shadow 0.12s; }
@media (hover: hover) { .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover, .krc-btn--cta:hover { transform: translateY(-1px); box-shadow: 0 5px 0 color-mix(in srgb, var(--k-cta) 62%, #000); filter: none; } }
.wp-block-button:not(.is-style-outline) > .wp-block-button__link:active, .krc-btn--cta:active { transform: translateY(3px); box-shadow: 0 1px 0 color-mix(in srgb, var(--k-cta) 62%, #000); }
.wp-block-button.is-style-outline > .wp-block-button__link { background: #fff; border-color: var(--k-ink); }

/* Nagłówek: kolorowa linia pod paskiem, zaokrąglone podświetlenie menu */
.krc-header { border-bottom: 0; box-shadow: 0 2px 0 var(--k-line); }
.krc-header::after { content: ""; position: absolute; left: 0; right: 0; bottom: -6px; height: 4px; background: linear-gradient(90deg, var(--k-c1) 0 20%, var(--k-c2) 20% 40%, var(--k-c3) 40% 60%, var(--k-c4) 60% 80%, var(--k-c5) 80%); }
.krc-nav__list a { border-radius: var(--k-radius); font-weight: 600; }
@media (hover: hover) { .krc-nav__list a:hover { background: var(--k-tint); } }
.krc-nav__list a[aria-current] { background: var(--k-tint); color: var(--k-primary-dark); box-shadow: none; border-radius: var(--k-radius); }
.krc-brand__mark { color: var(--k-primary); }

/* Kafelki skrótów: każdy w innym kolorze */
.krc-tiles a { border: 0; border-radius: var(--k-radius-lg); padding: 1.25rem; min-height: 5.5rem; background: var(--k-t1); }
.krc-tiles__ic { width: 3rem; height: 3rem; padding: 0.7rem; border-radius: 50%; background: #fff; box-sizing: border-box; color: var(--k-c1); }
.krc-tiles__t { font-family: var(--k-head); font-size: 1.1875rem; }
.krc-tiles__d { color: var(--k-text); }
.krc-tiles li:nth-child(5n+2) a { background: var(--k-t2); } .krc-tiles li:nth-child(5n+2) .krc-tiles__ic { color: color-mix(in srgb, var(--k-c2) 70%, #000); }
.krc-tiles li:nth-child(5n+3) a { background: var(--k-t3); } .krc-tiles li:nth-child(5n+3) .krc-tiles__ic { color: var(--k-c3); }
.krc-tiles li:nth-child(5n+4) a { background: var(--k-t4); } .krc-tiles li:nth-child(5n+4) .krc-tiles__ic { color: color-mix(in srgb, var(--k-c4) 75%, #000); }
.krc-tiles li:nth-child(5n+5) a { background: var(--k-t5); } .krc-tiles li:nth-child(5n+5) .krc-tiles__ic { color: var(--k-c5); }
@media (hover: hover) { .krc-tiles a:hover { transform: translateY(-2px); transition: transform 0.15s; } }

/* Karta placówki jako kolorowe karteczki */
.krc-karta--karty { display: grid; gap: 1rem; border: 0; grid-template-columns: 1fr; }
@media (min-width: 640px) { .krc-karta--karty { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) { .krc-karta--karty { grid-template-columns: repeat(3, 1fr); } }
.krc-karta--karty .krc-karta__row { display: block; border: 0; border-radius: var(--k-radius-lg); padding: 1.25rem 1.35rem; background: var(--k-t1); }
.krc-karta--karty .krc-karta__row:nth-child(5n+2) { background: var(--k-t2); }
.krc-karta--karty .krc-karta__row:nth-child(5n+3) { background: var(--k-t3); }
.krc-karta--karty .krc-karta__row:nth-child(5n+4) { background: var(--k-t4); }
.krc-karta--karty .krc-karta__row:nth-child(5n+5) { background: var(--k-t5); }
.krc-karta--karty dt { font-family: var(--k-head); font-size: 1.125rem; color: var(--k-ink); margin-bottom: 0.35rem; }
.krc-karta--karty dd { font-size: 1rem; }

/* Plan dnia: kolorowe kropki */
.krc-plan { border-left: 3px dotted var(--k-line); }
.krc-plan li::before { width: 0.9rem; height: 0.9rem; left: -0.55rem; border: 0; background: var(--k-c1); }
.krc-plan li:nth-child(5n+2)::before { background: var(--k-c2); }
.krc-plan li:nth-child(5n+3)::before { background: var(--k-c3); }
.krc-plan li:nth-child(5n+4)::before { background: var(--k-c4); }
.krc-plan li:nth-child(5n+5)::before { background: var(--k-c5); }

/* Kadra: portrety w kołach na kolorowym tle */
.krc-team { gap: 1.75rem 1.25rem; }
.krc-team__item { text-align: center; }
.krc-team__img { width: min(13rem, 80%); margin: 0 auto 1rem; aspect-ratio: 1; border-radius: 50%; padding: 0.55rem; background: var(--k-t1); box-sizing: border-box; overflow: visible; }
.krc-team__img img { border-radius: 50%; }
.krc-team__item:nth-child(5n+2) .krc-team__img { background: var(--k-t2); }
.krc-team__item:nth-child(5n+3) .krc-team__img { background: var(--k-t3); }
.krc-team__item:nth-child(5n+4) .krc-team__img { background: var(--k-t4); }
.krc-team__item:nth-child(5n+5) .krc-team__img { background: var(--k-t5); }
.krc-team__role { color: var(--k-primary-dark); }

/* Jadłospis: dni w kolorach */
.krc-day { border: 0; border-radius: var(--k-radius-lg); background: var(--k-t1); padding: 1.1rem 1.15rem; }
.krc-week__days .krc-day:nth-child(5n+2) { background: var(--k-t2); }
.krc-week__days .krc-day:nth-child(5n+3) { background: var(--k-t3); }
.krc-week__days .krc-day:nth-child(5n+4) { background: var(--k-t4); }
.krc-week__days .krc-day:nth-child(5n+5) { background: var(--k-t5); }
.krc-day.is-today { box-shadow: 0 0 0 3px var(--k-primary); }
.krc-day__today { border-radius: 999px; padding: 0.15rem 0.6rem; }
.krc-day__meals dd { color: var(--k-ink); }

/* Aktualności: zaokrąglone karty */
.krc-news--karty .krc-news__item { background: #fff; border-radius: var(--k-radius-lg); padding: 0.6rem 0.6rem 1.1rem; box-shadow: 0 6px 22px rgb(40 30 60 / 0.08); }
.krc-news__img.is-placeholder { background: var(--k-t2); color: var(--k-c1); }
.krc-news--karty .krc-news__body { padding: 0 0.6rem; }
.krc-news__img { border-radius: calc(var(--k-radius-lg) - 0.4rem); }
.krc-badge { border-radius: 999px; padding: 0.15rem 0.6rem; }

/* Opłaty, kalkulator */
.krc-calc { border: 0; background: var(--k-t3); border-radius: var(--k-radius-lg); }
.krc-calc__out { border-top-color: rgb(0 0 0 / 0.1); }
.krc-calc__out strong { font-family: var(--k-head); color: var(--k-primary-dark); font-size: 2.25rem; }

/* Grupy, opinie, wydarzenia, dokumenty, pomoc */
.krc-groups li { border: 0; border-radius: var(--k-radius-lg); background: var(--k-t1); padding: 1.35rem; }
.krc-groups li:nth-child(5n+2) { background: var(--k-t2); }
.krc-groups li:nth-child(5n+3) { background: var(--k-t3); }
.krc-groups li:nth-child(5n+4) { background: var(--k-t4); }
.krc-groups li:nth-child(5n+5) { background: var(--k-t5); }
.krc-groups h3 { font-size: 1.375rem; }
.krc-quote { border-radius: var(--k-radius-lg); background: var(--k-t5); border: 0; }
.krc-quotes .krc-quote:nth-child(3n+2) { background: var(--k-t3); }
.krc-quotes .krc-quote:nth-child(3n+3) { background: var(--k-t4); }
.krc-events__date { border: 0; background: var(--k-c2); color: var(--k-ink); border-radius: var(--k-radius); }
.krc-events li:nth-child(3n+2) .krc-events__date { background: var(--k-t3); }
.krc-events li:nth-child(3n+3) .krc-events__date { background: var(--k-t5); }
.krc-doccats a, .krc-help li, .krc-som__person, .krc-contact__reg, .krc-locked, .krc-zone__hello, .krc-note, .krc-demo-login { border-radius: var(--k-radius-lg); }
.krc-doccats a { border: 0; background: var(--k-t4); }
.krc-help li { border: 0; background: var(--k-t3); }
.krc-locked { border: 0; background: #fff; box-shadow: 0 6px 22px rgb(40 30 60 / 0.08); }
.krc-som__person { background: var(--k-t1); }
.krc-quote blockquote p { font-family: var(--k-body); }

/* FAQ: zaokrąglone pola */
.wp-block-details { background: #fff; border: 0 !important; border-radius: var(--k-radius); padding: 0.15rem 1.1rem; margin-top: 0.6rem !important; box-shadow: 0 2px 0 var(--k-line); }
.wp-block-details summary::after { content: "+"; width: 1.9rem; height: 1.9rem; border-radius: 50%; background: var(--k-tint); display: grid; place-items: center; font-size: 1.25rem; right: 0; }
.kp-section--white .wp-block-details, .kp-main .wp-block-details { background: var(--k-surface); box-shadow: none; }

/* Ramka o zdjęciach i galeria zamknięta */
.kp-callout { border: 0; background: #fff; box-shadow: 0 6px 22px rgb(40 30 60 / 0.08); }
.kp-callout h3 { display: flex; gap: 0.6rem; align-items: center; }
.kp-callout h3::before { content: ""; width: 2.25rem; height: 2.25rem; flex: none; border-radius: 50%; background: var(--k-c2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23222' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='10' rx='2'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E") no-repeat center / 1.2rem; }

/* Zdjęcia w treści: zaokrąglone */
.kp-photos img, .kp-single-img img, .krc-albums__img, .krc-photos a { border-radius: var(--k-radius-lg); }

/* Stopka w kolorze, z falą */
.krc-footer { background: var(--k-primary-dark); }
.krc-footer .krc-brand__mark text { fill: var(--k-primary-dark); }

/* Pas zachęty: mocny kolor z kształtami */
.kp-cta-band { position: relative; z-index: 1; }

/* Nagłówek podstron: kolorowy pas z falą i kształtem */
.kp-main:not(.kp-main--home) { padding-top: 0; }
.kp-pagehead { background: var(--k-pagehead, var(--k-t2)); padding-top: clamp(1.25rem, 3vw, 2rem) !important; padding-bottom: clamp(2.5rem, 5vw, 3.75rem) !important; margin-top: 0 !important; margin-bottom: clamp(1.5rem, 4vw, 2.5rem) !important; position: relative; overflow: hidden; }
.kp-pagehead::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 30px; background: var(--k-bg); -webkit-mask: var(--k-wave) center bottom / 100% 100% no-repeat; mask: var(--k-wave) center bottom / 100% 100% no-repeat; }
.kp-pagehead::before { content: ""; position: absolute; right: max(1rem, calc(50% - 600px)); top: 1.25rem; width: 4.5rem; height: 4.5rem; background: var(--k-c2); -webkit-mask: url("../img/slonce.svg") no-repeat center / contain; mask: url("../img/slonce.svg") no-repeat center / contain; }
.kp-pagehead .kp-title { margin-bottom: 0 !important; max-width: 46rem; }
.kp-pagehead .kp-crumbs a, .kp-pagehead .kp-crumbs ol { color: var(--k-text); }
@media (max-width: 699px) { .kp-pagehead::before { width: 3rem; height: 3rem; top: 0.75rem; } }
@media (min-width: 1000px) { .krc-v1 .krc-tiles { grid-template-columns: repeat(4, 1fr); } }

/* W kolorowych sekcjach karty są białe z kolorowym paskiem (żeby nie zlewały się z tłem) */
:is(.kp-section--c1, .kp-section--c2, .kp-section--c3, .kp-section--c4, .kp-section--c5, .kp-section--surface) :is(.krc-karta--karty .krc-karta__row, .krc-groups li, .krc-week__days .krc-day, .krc-quote, .krc-help li, .krc-doccats a) { background: #fff !important; border-top: 5px solid var(--k-c1); box-shadow: 0 4px 0 rgb(0 0 0 / 0.04); }
:is(.kp-section--c1, .kp-section--c2, .kp-section--c3, .kp-section--c4, .kp-section--c5, .kp-section--surface) :is(.krc-karta--karty .krc-karta__row, .krc-groups li, .krc-week__days .krc-day, .krc-quote, .krc-help li):nth-child(5n+2) { border-top-color: var(--k-c2); }
:is(.kp-section--c1, .kp-section--c2, .kp-section--c3, .kp-section--c4, .kp-section--c5, .kp-section--surface) :is(.krc-karta--karty .krc-karta__row, .krc-groups li, .krc-week__days .krc-day, .krc-quote, .krc-help li):nth-child(5n+3) { border-top-color: var(--k-c3); }
:is(.kp-section--c1, .kp-section--c2, .kp-section--c3, .kp-section--c4, .kp-section--c5, .kp-section--surface) :is(.krc-karta--karty .krc-karta__row, .krc-groups li, .krc-week__days .krc-day, .krc-quote, .krc-help li):nth-child(5n+4) { border-top-color: var(--k-c4); }
:is(.kp-section--c1, .kp-section--c2, .kp-section--c3, .kp-section--c4, .kp-section--c5, .kp-section--surface) :is(.krc-karta--karty .krc-karta__row, .krc-groups li, .krc-week__days .krc-day, .krc-quote, .krc-help li):nth-child(5n+5) { border-top-color: var(--k-c5); }
:is(.kp-section--c1, .kp-section--c2, .kp-section--c3, .kp-section--c4, .kp-section--c5) .krc-calc { background: #fff; }

/* Długie słowa w nagłówkach na wąskim telefonie */
:where(h1, h2, h3) { overflow-wrap: break-word; }

/* Skróty na telefonie: dwa w rzędzie, ikona nad nazwą */
@media (max-width: 519px) {
	.krc-tiles { grid-template-columns: 1fr 1fr; gap: 0.6rem; }
	.krc-tiles a { grid-template-columns: 1fr; padding: 1rem; min-height: 0; gap: 0.5rem; }
	.krc-tiles__ic { grid-row: auto; }
	.krc-tiles__d { display: none; }
	.krc-tiles__t { font-size: 1.0625rem; }
}

/* ==========================================================================
   Poprawki z audytu Apple Design (docs/audyt-apple-design-2026-10-06.md)
   ========================================================================== */

/* Typografia: odstępy między literami zależą od rozmiaru (duże ciaśniej, drobne luźniej).
   Okrągłe kroje nagłówków łatwo się zlewają, więc nie ciaśniej niż -0.015em. */
h1, .kp-title { letter-spacing: -0.015em; }
h2 { letter-spacing: -0.01em; }
h3, h4, h5, h6 { letter-spacing: 0; }
body { font-weight: 400; letter-spacing: 0; }
:where(.kp-crumbs, .krc-badge, .krc-news__meta, .krc-brand__sub, .krc-miejsca__data, .krc-doc__meta, .krc-table th, .krc-alerg, .krc-day__meals dt, .krc-today-menu dt, .krc-events__m, .krc-check__desc, .krc-field__hint, .krc-field__err, .kp-photos figcaption, .kp-source, .krc-footer__bottom) { letter-spacing: 0.01em; }

/* Kontrast: linki na kolorowych i jasnych tłach w ciemniejszym odcieniu koloru głównego (min. 4,5:1). */
:is(.krc-alertbar, .kp-pagehead, .kp-section--c1, .kp-section--c2, .kp-section--c3, .kp-section--c4, .kp-section--c5, .kp-section--surface, .kp-section--tint, .krc-note, .krc-day, .krc-calc, .krc-groups, .krc-karta, .krc-help, .krc-events, .krc-quote, .krc-som__person, .krc-contact__reg, .krc-zone__hello, .krc-demo-login, .krc-doccats, .kp-hero--glina, .kp-hero--dom) { --k-link: var(--k-primary-dark); }

/* Reakcja przy naciśnięciu (pointer-down) także poza głównym przyciskiem. */
.wp-block-button.is-style-outline > .wp-block-button__link, .krc-tiles a, .kp-anchors a, .wp-block-details summary { -webkit-tap-highlight-color: transparent; transition: transform 0.1s ease-out, background-color 0.1s ease-out; }
.wp-block-button.is-style-outline > .wp-block-button__link:active, .krc-tiles a:active, .kp-anchors a:active { transform: scale(0.97); }
.wp-block-details summary:active { opacity: 0.7; }

/* Ustawienia systemu */
@media (prefers-reduced-motion: reduce) {
	/* Bez przesunięć i skalowania przycisków i kafelków: zostaje zmiana koloru. */
	.wp-block-button__link, .krc-btn, .krc-tiles a, .kp-anchors a { transition-property: background-color, color, border-color, box-shadow, filter; }
	.wp-block-button__link:is(:hover, :active), .krc-btn:is(:hover, :active), .krc-tiles a:is(:hover, :active), .kp-anchors a:active { transform: none; }
	html { scroll-behavior: auto; }
}
@media (prefers-contrast: more) {
	:root { --k-muted: var(--k-text); --k-line: #767b85; --k-link: var(--k-primary-dark); }
	.wp-block-details, .krc-tiles a, .krc-karta--karty .krc-karta__row, .krc-day, .krc-groups li { box-shadow: inset 0 0 0 2px var(--k-line); }
	.kp-shape { opacity: 0.5; }
}
