/* Biblioteka Publiczna w Budzyniu – motyw
   Tokeny: kolory z logo (turkus, błękit, bursztyn); kontrast tekstu ≥ 4.5:1 (WCAG 2.1 AA). */
:root {
  --tlo: #ffffff;
  --tlo-2: #f3f7f6;
  --tlo-3: #e6efed;
  --tekst: #1c2b2e;
  --tekst-2: #4a5b5e;
  --linia: #d5e0de;
  --akcent: #0b6b61;         /* 6.4:1 na białym */
  --akcent-ciemny: #084f48;
  --akcent-jasny: #d8efeb;
  --blekit: #2a5ea8;
  --bursztyn: #f2a33a;
  --fokus: #f2a33a;
  --promien: 10px;
  --cien: 0 1px 2px rgba(16, 40, 44, .06), 0 6px 20px rgba(16, 40, 44, .07);
  --szer: 1200px;
  --odstep: clamp(40px, 5vw, 64px);   /* jeden rytm pionowy dla wszystkich sekcji */
  --szer-tekst: 72ch;
  --font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-szeryf: Georgia, "Iowan Old Style", "Palatino Linotype", "Times New Roman", serif;
  --r-0: clamp(1rem, .96rem + .2vw, 1.0625rem);
  --r-1: clamp(1.15rem, 1.08rem + .35vw, 1.3rem);
  --r-2: clamp(1.4rem, 1.25rem + .7vw, 1.75rem);
  --r-3: clamp(1.8rem, 1.5rem + 1.4vw, 2.6rem);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0; background: var(--tlo); color: var(--tekst);
  font: 400 var(--r-0)/1.65 var(--font);
  display: flex; flex-direction: column; min-height: 100vh;
}
main { flex: 1; }
main:focus { outline: none; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--akcent); text-underline-offset: .18em; }
a:hover { color: var(--akcent-ciemny); }
:focus-visible { outline: 3px solid var(--fokus); outline-offset: 2px; border-radius: 3px; }
h1, h2, h3, h4 { font-family: var(--font-szeryf); line-height: 1.2; color: var(--tekst); margin: 1.6em 0 .5em; font-weight: 700; }
h1 { font-size: var(--r-3); margin-top: 0; }
h2 { font-size: var(--r-2); }
h3 { font-size: var(--r-1); }
p { margin: 0 0 1em; }

.wrap { width: 100%; max-width: var(--szer); margin-inline: auto; padding-inline: 16px; }
@media (min-width: 700px) { .wrap { padding-inline: 28px; } }

.sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: absolute; left: 12px; top: -60px; z-index: 50; background: var(--akcent); color: #fff; padding: .6em 1em; border-radius: 6px; }
.skip:focus { top: 12px; color: #fff; }

/* ---------- Nagłówek i menu ---------- */
.naglowek { background: var(--tlo); border-bottom: 1px solid var(--linia); position: sticky; top: 0; z-index: 20; }
.naglowek__wnetrze { display: flex; align-items: center; gap: 16px; min-height: 72px; }
.logo { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--tekst); line-height: 1.15; margin-right: auto; flex-shrink: 0; }
.logo img { width: 40px; height: auto; }
.logo span { font-family: var(--font-szeryf); font-size: 1.05rem; }
.logo strong { display: block; font-size: 1.2rem; color: var(--akcent-ciemny); }
.logo:hover { color: var(--tekst); }
@media (max-width: 600px) { .logo { flex-shrink: 1; min-width: 0; } }

.menu__lista, .podmenu { list-style: none; margin: 0; padding: 0; }
.menu__lista > li > a { display: block; white-space: nowrap; padding: .55em .6em; text-decoration: none; color: var(--tekst); font-weight: 600; border-radius: 8px; }
.menu__lista a:hover { background: var(--tlo-2); color: var(--akcent-ciemny); }
.menu a[aria-current="page"], .menu a.w-sekcji { color: var(--akcent); }
.menu__lista > li > a[aria-current="page"], .menu__lista > li > a.w-sekcji { box-shadow: inset 0 -3px 0 var(--bursztyn); }
.menu__lista > .menu__katalog > a { padding: .3em .85em; font-size: .92rem; border: 1.5px solid var(--akcent); border-radius: 999px; color: var(--akcent) !important; }
.menu__katalog > a:hover { background: var(--akcent) !important; color: #fff !important; }
.podmenu a { display: block; padding: .5em .9em; color: var(--tekst); text-decoration: none; border-radius: 6px; }
.podmenu-przycisk { background: none; border: 0; cursor: pointer; padding: .4em; color: var(--tekst); border-radius: 6px; }
.podmenu-przycisk span { display: block; width: 9px; height: 9px; border: solid currentColor; border-width: 0 2px 2px 0; transform: rotate(45deg) translate(-2px, -2px); transition: transform .15s; }
.podmenu-przycisk[aria-expanded="true"] span { transform: rotate(-135deg) translate(-2px, -2px); }
.menu-przycisk { display: none; }

@media (min-width: 1260px) {
  .menu { min-width: 0; }
  .menu__lista { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 2px; }
  .menu__pozycja { position: relative; display: flex; align-items: center; }
  .ma-podmenu > a { padding-right: .2em; }
  .podmenu { display: none; position: absolute; top: 100%; left: 0; min-width: 260px; background: var(--tlo); border: 1px solid var(--linia); border-radius: var(--promien); box-shadow: var(--cien); padding: 6px; z-index: 30; }
  .ma-podmenu:hover > .podmenu, .ma-podmenu:focus-within > .podmenu, .podmenu-przycisk[aria-expanded="true"] + .podmenu { display: block; }
  .podmenu a:hover { background: var(--tlo-2); }
  .menu__katalog { margin-left: 4px; }
}
@media (max-width: 1259px) {
  .menu-przycisk { display: inline-flex; align-items: center; gap: 8px; font: 600 1rem var(--font); background: var(--akcent); color: #fff; border: 0; border-radius: 8px; padding: .6em 1em; cursor: pointer; min-height: 44px; }
  .menu-przycisk__ikona, .menu-przycisk__ikona::before, .menu-przycisk__ikona::after { width: 18px; height: 2px; background: currentColor; display: block; position: relative; }
  .menu-przycisk__ikona::before, .menu-przycisk__ikona::after { content: ""; position: absolute; left: 0; }
  .menu-przycisk__ikona::before { top: -6px; } .menu-przycisk__ikona::after { top: 6px; }
  .js .menu { display: none; }
  .menu { position: absolute; left: 0; right: 0; top: 100%; background: var(--tlo); border-bottom: 1px solid var(--linia); box-shadow: var(--cien); max-height: calc(100dvh - 72px); overflow-y: auto; padding: 8px 16px 16px; }
  .menu.otwarte { display: block; }
  .menu__pozycja { display: flex; flex-wrap: wrap; align-items: center; border-bottom: 1px solid var(--tlo-3); }
  .menu__pozycja > a { flex: 1; padding: .8em .4em; }
  .podmenu-przycisk { min-width: 44px; min-height: 44px; display: grid; place-items: center; }
  .podmenu { display: none; width: 100%; padding: 0 0 8px 12px; }
  .podmenu-przycisk[aria-expanded="true"] + .podmenu { display: block; }
  .no-js .podmenu, html:not(.js) .podmenu { display: block; }
  .menu__katalog { border: 0; padding-top: 10px; }
  .menu__lista > .menu__katalog > a { text-align: center; padding: .65em 1em; margin-top: 4px; }
}

/* ---------- Nagłówek podstrony: baner w tle (ludzie po prawej, jasna strona pod tekst) ---------- */
.naglowek-strony { position: relative; isolation: isolate; overflow: hidden; display: flex; align-items: center; min-height: clamp(240px, 21vw, 360px); padding-block: clamp(36px, 4.5vw, 56px); margin-bottom: var(--odstep); background: var(--tlo-2); border-bottom: 1px solid var(--linia); }
.naglowek-strony > .wrap { position: relative; }
.naglowek-strony__tlo { position: absolute; top: 0; right: 0; bottom: 0; width: min(72%, 1180px); z-index: -1; }   /* zdjęcie tylko z prawej: mniejsze przycięcie, widać całe postacie */
.naglowek-strony__tlo img { width: 100%; height: 100%; object-fit: cover; object-position: 78% 30%; }
.naglowek-strony__tlo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--tlo-2) 0%, rgba(243,247,246,.85) 18%, rgba(243,247,246,0) 48%); }
.naglowek-strony h1 { margin: 0; max-width: 22ch; color: var(--akcent-ciemny); letter-spacing: -.01em; text-wrap: balance; }
.podtytul { margin: .7em 0 0; color: var(--tekst-2); font-size: .95rem; font-weight: 600; letter-spacing: .02em; }
.okruszki ol { list-style: none; display: flex; flex-wrap: wrap; align-items: center; gap: 2px 8px; margin: 0 0 16px; padding: 0; font-size: .875rem; color: var(--tekst-2); }
.okruszki li + li::before { content: "›"; margin-right: 8px; color: var(--bursztyn); font-weight: 700; }
.okruszki a { color: var(--tekst-2); text-decoration: none; }
.okruszki a:hover { color: var(--akcent); text-decoration: underline; }
.okruszki [aria-current="page"] { color: var(--tekst); font-weight: 600; }
/* telefon: baner jako pasek u góry, tytuł pod nim na jasnym tle */
@media (max-width: 759px) {
  .naglowek-strony { display: block; min-height: 0; padding: 28px 0 24px; }
  .naglowek-strony:has(.naglowek-strony__tlo) { padding-top: 0; background: var(--tlo); }
  .naglowek-strony__tlo { position: relative; z-index: 0; width: auto; aspect-ratio: 16 / 9; margin-bottom: 18px; }
  .naglowek-strony__tlo img { object-position: 74% 30%; }
  .naglowek-strony__tlo::after { background: linear-gradient(0deg, var(--tlo) 0%, rgba(255,255,255,0) 40%); }
}
html.kontrast .naglowek-strony__tlo { display: none; }

/* ---------- Układ treści ---------- */
.uklad { display: grid; grid-template-columns: minmax(0, 1fr); gap: 40px; padding-bottom: 56px; }
@media (min-width: 960px) { .uklad--boczny { grid-template-columns: minmax(0, 1fr) 280px; } }
.tresc { min-width: 0; }
.tresc > :first-child { margin-top: 0; }
.tresc p, .tresc li { max-width: var(--szer-tekst); }
/* dokumenty (polityka prywatności, deklaracja dostępności): tekst na całą szerokość treści */
.tresc--szeroka p, .tresc--szeroka li { max-width: none; }
.tresc--szeroka table { display: table; }
.a11y-daty { margin-top: 2.5em; padding-top: 1em; border-top: 1px solid var(--linia); font-size: .85rem; color: var(--tekst-2); }
.tresc img { border-radius: 6px; margin: 1em 0; }
.tresc table { border-collapse: collapse; width: 100%; margin: 1.2em 0; display: block; overflow-x: auto; }
.tresc td, .tresc th { border: 1px solid var(--linia); padding: .45em .7em; text-align: left; vertical-align: top; }
.tresc blockquote { border-left: 4px solid var(--bursztyn); margin: 1.2em 0; padding: .2em 0 .2em 1.2em; color: var(--tekst-2); font-style: italic; }
.tresc hr { border: 0; border-top: 1px solid var(--linia); margin: 2em 0; }
.wstep { margin-bottom: 28px; }
.okladka { margin: 0 0 1.5em; }
.okladka img { border-radius: var(--promien); margin: 0; }

.boczne { align-self: start; background: var(--tlo-2); border-radius: var(--promien); padding: 18px 20px; }
@media (min-width: 960px) { .boczne { position: sticky; top: 92px; } }
.boczne h2 { font-size: 1.15rem; margin: 0 0 .6em; }
.boczne ul { list-style: none; margin: 0; padding: 0; }
.boczne a { display: block; padding: .45em .2em; text-decoration: none; color: var(--tekst); border-bottom: 1px solid var(--linia); }
.boczne li:last-child a { border-bottom: 0; }
.boczne a:hover, .boczne a[aria-current="page"] { color: var(--akcent); }
.boczne a[aria-current="page"] { font-weight: 700; }

/* ---------- Przyciski, etykiety ---------- */
.przycisk { display: inline-flex; align-items: center; min-height: 44px; padding: .55em 1.2em; border-radius: 8px; background: var(--akcent); color: #fff; font-weight: 600; text-decoration: none; border: 2px solid var(--akcent); margin: 0 8px 8px 0; }
.przycisk:hover { background: var(--akcent-ciemny); border-color: var(--akcent-ciemny); color: #fff; }
.przycisk--jasny { background: transparent; color: var(--akcent); }
.przycisk--jasny:hover { background: var(--akcent-jasny); color: var(--akcent-ciemny); }
.etykieta { display: inline-block; background: var(--akcent-jasny); color: var(--akcent-ciemny); font-size: .82rem; font-weight: 600; padding: .1em .6em; border-radius: 999px; }
.meta { color: var(--tekst-2); font-size: .9rem; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 .5em; }

/* ---------- Karty wpisów ---------- */
/* stała liczba kolumn, żeby przy parzystej liczbie wpisów nie zostawały puste pola:
   strona główna 8 wpisów = 4+4 / 2×4, listy 10–12 wpisów po 2 w rzędzie */
.karty { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; }
@media (min-width: 600px) { .karty { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1000px) { .karty--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
/* ostatnia strona listy z nieparzystą liczbą wpisów: ostatnia karta zajmuje cały wiersz, w poziomie */
@media (min-width: 600px) {
  .karty--lista > .karta:last-child:nth-child(odd) { grid-column: 1 / -1; flex-direction: row; }
  .karty--lista > .karta:last-child:nth-child(odd) .karta__obraz { position: relative; flex: 0 0 50%; aspect-ratio: auto; min-height: 240px; }
  .karty--lista > .karta:last-child:nth-child(odd) .karta__obraz img { position: absolute; inset: 0; }
  .karty--lista > .karta:last-child:nth-child(odd) .karta__tresc { justify-content: center; padding: 24px 28px; }
}
.karta { background: var(--tlo); border: 1px solid var(--linia); border-radius: var(--promien); overflow: hidden; display: flex; flex-direction: column; transition: box-shadow .15s, transform .15s; position: relative; }
.karta:hover { box-shadow: var(--cien); transform: translateY(-2px); }
.karta__obraz { display: block; aspect-ratio: 64 / 42; background: var(--tlo-3); }
.karta__obraz img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; }
.karta__brak { display: block; height: 100%; background: url("../images/ikona.png") center / 64px auto no-repeat, linear-gradient(135deg, var(--akcent-jasny), var(--tlo-3)); }
.karta__tresc { padding: 16px 18px 18px; display: flex; flex-direction: column; flex: 1; }
.karta__tytul { font-size: 1.08rem; line-height: 1.32; margin: 0 0 .35em; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.karta__tytul a { color: var(--tekst); text-decoration: none; }
.karta__tytul a::after { content: ""; position: absolute; inset: 0; }
.karta__tytul a:hover { color: var(--akcent); text-decoration: underline; }
.karta__zajawka { color: var(--tekst-2); font-size: .95rem; margin: 0; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

.sekcja { padding-block: var(--odstep) 8px; }
.sekcja__naglowek { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 24px; margin-bottom: 20px; }
.sekcja__naglowek h2 { margin: 0; }
.licznik { color: var(--tekst-2); font-weight: 400; font-family: var(--font); font-size: .9em; }

/* ---------- Stronicowanie ---------- */
.strony { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; margin: 36px 0 0; }
.strony ul { display: flex; flex-wrap: wrap; gap: 4px; list-style: none; margin: 0; padding: 0; }
.strony a, .strony span { display: inline-grid; place-items: center; min-width: 44px; min-height: 44px; padding: 0 .7em; border-radius: 8px; text-decoration: none; }
.strony a { border: 1px solid var(--linia); }
.strony a:hover { background: var(--tlo-2); }
.strony [aria-current="page"] { background: var(--akcent); color: #fff; font-weight: 700; }
.strony li[aria-hidden] { padding: 0 4px; align-self: center; }

/* ---------- Sąsiednie wpisy ---------- */
.sasiednie { display: grid; grid-template-columns: 1fr; gap: 12px; margin: 40px 0 24px; }
@media (min-width: 640px) { .sasiednie { grid-template-columns: 1fr 1fr; } }
.sasiednie a { display: block; border: 1px solid var(--linia); border-radius: var(--promien); padding: 14px 16px; text-decoration: none; color: var(--tekst); font-weight: 600; }
.sasiednie a:hover { border-color: var(--akcent); color: var(--akcent); }
.sasiednie span { display: block; font-weight: 400; font-size: .85rem; color: var(--tekst-2); margin-bottom: 2px; }
.sasiednie__starszy { text-align: right; grid-column: -2; }
.sasiednie:has(a:only-child) { grid-template-columns: minmax(0, 1fr); }
.sasiednie a:only-child { text-align: left; grid-column: 1; }

/* ---------- Galeria i podgląd ---------- */
.galeria { margin: 2em 0 0; }
.galeria__siatka { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 10px; }
.galeria__siatka a { display: block; border-radius: 6px; overflow: hidden; aspect-ratio: 4 / 3; background: var(--tlo-3); }
.galeria__siatka img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 35%; margin: 0; border-radius: 0; transition: transform .2s; }
.galeria__siatka a:hover img { transform: scale(1.04); }
.podglad { border: 0; padding: 0; background: transparent; max-width: 100vw; max-height: 100vh; width: 100vw; height: 100vh; }
.podglad::backdrop { background: rgba(8, 18, 20, .92); }
.podglad__wnetrze { position: relative; width: 100%; height: 100%; display: grid; place-items: center; padding: 56px 8px; }
.podglad img { max-width: min(100%, 1600px); max-height: calc(100vh - 120px); width: auto; border-radius: 4px; }
.podglad button { position: absolute; background: rgba(255,255,255,.12); color: #fff; border: 0; border-radius: 999px; width: 48px; height: 48px; font-size: 1.5rem; cursor: pointer; }
.podglad button:hover { background: rgba(255,255,255,.25); }
.podglad__zamknij { top: 8px; right: 8px; }
.podglad__poprz { left: 8px; top: 50%; transform: translateY(-50%); }
.podglad__nast { right: 8px; top: 50%; transform: translateY(-50%); }
.podglad__licznik { position: absolute; bottom: 14px; left: 0; right: 0; text-align: center; color: #e8f0ef; margin: 0; font-size: .95rem; }

/* ---------- Strona główna ---------- */
/* Sekcja powitalna na całą szerokość: zdjęcie w tle (ludzie po prawej, jasna strona po lewej pod tekst) */
.powitanie { position: relative; isolation: isolate; overflow: hidden; background: var(--tlo-2); border-bottom: 1px solid var(--linia); }
.powitanie__tlo { position: absolute; inset: 0; z-index: -1; }
.powitanie__tlo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 70% 30%; opacity: 0; transition: opacity 1.2s ease; }
.powitanie__tlo img.aktywny { opacity: 1; animation: powitanie-zoom 9s ease-out both; }
@keyframes powitanie-zoom { from { transform: scale(1.06); } to { transform: scale(1); } }
/* rozjaśnienie od lewej – tekst zawsze czytelny, niezależnie od kadru */
.powitanie__tlo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(255,255,255,.94) 0%, rgba(255,255,255,.82) 30%, rgba(255,255,255,.35) 52%, rgba(255,255,255,0) 66%); }
.powitanie__tresc { min-height: clamp(400px, 56vh, 560px); display: flex; flex-direction: column; justify-content: center; padding-block: 48px; }
.powitanie__tresc > * { max-width: 720px; }
/* bez przycisków cytat jest głównym elementem sekcji – większy i z oddechem */
.powitanie .cytaty { margin: .4em 0 0; }
.powitanie .cytat { border-left-color: var(--bursztyn); padding-left: 22px; font-size: clamp(1.25rem, 1.02rem + .95vw, 1.75rem); line-height: 1.5; }
.powitanie .cytat p { max-width: 48ch; color: var(--tekst); text-wrap: pretty; }
.powitanie .cytat footer { margin-top: .7em; color: var(--tekst-2); font-size: .95rem; font-weight: 600; letter-spacing: .02em; }
.powitanie .cytat footer::before { content: "— "; }
.powitanie .baner__kropki { position: static; margin-top: 34px; }
.powitanie .baner__kropki button { border-color: var(--akcent); background: transparent; }
.powitanie .baner__kropki button[aria-current="true"] { background: var(--akcent); width: 28px; border-radius: 999px; }
.powitanie .baner__kropki button { transition: width .3s ease, background-color .3s ease; }
.powitanie .baner__kropki .baner__pauza { background: var(--akcent); border-radius: 50%; }
/* telefon: zdjęcie u góry jako pasek, tekst pod spodem na jasnym tle */
@media (max-width: 759px) {
  .powitanie { display: flex; flex-direction: column; background: var(--tlo); }
  .powitanie__tlo { position: relative; z-index: 0; aspect-ratio: 16 / 9; order: -1; }
  .powitanie__tlo img { object-position: 76% 30%; }
  .powitanie__tlo::after { background: linear-gradient(0deg, var(--tlo) 0%, rgba(255,255,255,0) 35%); }
  .powitanie__tresc { min-height: 0; padding-block: 8px 32px; }
  .powitanie .cytat { font-size: var(--r-1); }
  .powitanie .baner__kropki { margin-top: 24px; }
  .powitanie .cytat br { display: none; }   /* na wąskim ekranie cytat płynie jednym akapitem */
}
@media (prefers-reduced-motion: reduce) {
  .powitanie__tlo img { transition: none; }
  .powitanie__tlo img.aktywny { animation: none; }
}
.powitanie h1 { color: var(--akcent-ciemny); margin-bottom: .4em; }
.powitanie h1 span { display: block; font-size: .6em; color: var(--tekst); font-weight: 400; }
.cytat { margin: 0 0 1.6em; padding: 0 0 0 18px; border-left: 4px solid var(--bursztyn); font-family: var(--font-szeryf); font-size: var(--r-1); font-style: italic; color: var(--tekst); }
.cytat p { margin: 0 0 .3em; max-width: 34ch; }
.cytat footer { font-family: var(--font); font-style: normal; font-size: .9rem; color: var(--tekst-2); }

/* ---------- Kafle działów: ikona albo zdjęcie, opis, wezwanie do działania ---------- */
.kafle { list-style: none; margin: 0 0 var(--odstep); padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 22px; }
.kafle > li { display: flex; }
.kafel { position: relative; display: flex; flex-direction: column; width: 100%; background: var(--tlo); border: 1px solid var(--linia); border-radius: 14px; overflow: hidden; text-decoration: none; color: var(--tekst); transition: border-color .2s, box-shadow .2s, transform .2s; }
.kafel:hover { border-color: var(--akcent); box-shadow: 0 2px 4px rgba(16,40,44,.05), 0 14px 32px rgba(16,40,44,.12); transform: translateY(-3px); color: var(--tekst); }
.kafel__foto { display: block; aspect-ratio: 16 / 9; background: var(--tlo-3); overflow: hidden; }
.kafel__foto img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; transition: transform .4s ease; }
.kafel:hover .kafel__foto img { transform: scale(1.04); }
.kafel__ikona { display: grid; place-items: center; width: 56px; height: 56px; margin: 24px 24px 0; border-radius: 14px; background: var(--akcent-jasny); color: var(--akcent-ciemny); transition: background-color .2s, color .2s; }
.kafel:hover .kafel__ikona { background: var(--akcent); color: #fff; }
.kafel__tresc { display: flex; flex-direction: column; flex: 1; gap: 8px; padding: 18px 24px 22px; }
.kafel__tytul { font-family: var(--font-szeryf); font-size: 1.25rem; font-weight: 700; line-height: 1.25; color: var(--akcent-ciemny); }
.kafel__opis { color: var(--tekst-2); font-size: .95rem; line-height: 1.55; }
.kafel__wiecej { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 12px; margin-top: auto; padding-top: 12px; border-top: 1px solid var(--tlo-3); font-size: .92rem; }
.kafel__licznik { color: var(--tekst-2); }
.kafel__cta { display: inline-flex; align-items: center; gap: 6px; margin-left: auto; color: var(--akcent); font-weight: 700; }
.kafel__cta svg { transition: transform .2s; }
.kafel:hover .kafel__cta svg { transform: translateX(4px); }
.naglowek-strony__lead { margin: .8em 0 0; max-width: 56ch; color: var(--tekst); font-size: var(--r-1); line-height: 1.5; text-wrap: pretty; }
html.kontrast .kafel__ikona { background: #000; color: #ffe600; border: 2px solid #ffe600; }
html.kontrast .kafel__tytul, html.kontrast .kafel__cta { color: #ffe600; }
html.kontrast .kafel__opis, html.kontrast .kafel__licznik, html.kontrast .naglowek-strony__lead { color: #fff; }

/* ---------- Stopka ---------- */
.stopka { background: #12302d; color: #dfeae8; margin-top: 24px; }
.stopka a { color: #fff; }
.stopka h2 { color: #fff; font-family: var(--font); font-size: 1rem; text-transform: uppercase; letter-spacing: .06em; margin: 0 0 .9em; }
.stopka__siatka { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 32px; padding-block: 44px 28px; }
.stopka p { margin: 0 0 .4em; }
.stopka__dol { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; border-top: 1px solid rgba(255,255,255,.15); padding-block: 16px 22px; font-size: .9rem; color: #bcd0cd; }
.stopka__dol p { margin: 0; }
.stopka__linki { display: flex; flex-wrap: wrap; gap: 6px 20px; }
.tresc td code { white-space: nowrap; font-size: .9em; }
.wstep-polityki { padding: 16px 18px; border-radius: 10px; background: var(--akcent-jasny); color: var(--akcent-ciemny); }
html.kontrast .wstep-polityki { background: #000; color: #fff; border: 2px solid #fff; }

/* ---------- Treść przeniesiona z Joomli: opływanie zdjęć, wyrównania ---------- */
.tresc img.img-lewo { float: left; margin: 4px 24px 14px 0; max-width: min(50%, 450px); }
.tresc img.img-prawo { float: right; margin: 4px 0 14px 24px; max-width: min(50%, 450px); }
.tresc img.img-lewo, .tresc img.img-prawo, .tresc img.img-srodek { border: 5px solid #fff; border-radius: 3px; box-shadow: 0 6px 12px -6px rgba(0, 0, 0, .55); background: #fff; }
.tresc img.img-srodek { display: block; margin: 1em auto; max-width: min(100%, 700px); }
.tresc p:has(> img.img-srodek) { max-width: none; }
.tresc .okladka-strony { max-width: 45%; box-shadow: var(--cien); }
.tresc .tekst-srodek { text-align: center; }
.tresc .tekst-justuj { text-align: justify; hyphens: auto; }
.tresc .tekst-prawo { text-align: right; }
.tresc::after { content: ""; display: block; clear: both; }
.tresc sup, .tresc sub { line-height: 0; }
@media (min-width: 700px) {
  .okladka { float: left; width: 45%; max-width: 440px; margin: 4px 28px 16px 0; }
}
.galeria { clear: both; }
@media (max-width: 600px) {
  .tresc img.img-lewo, .tresc img.img-prawo, .tresc .okladka-strony { float: none; max-width: 100%; margin: 0 0 16px; }
}
.strony__licznik { text-align: center; color: var(--tekst-2); font-size: .9rem; margin: 10px 0 0; }

/* ---------- Strona główna: baner z cytatami ---------- */
.cytaty { display: grid; margin: 0 0 1.4em; }
/* wszystkie cytaty w jednej komórce: wysokość = najdłuższy, przyciski pod spodem nie skaczą */
.cytaty .cytat { grid-area: 1 / 1; align-self: center; }
.cytaty .cytat[hidden] { display: block; visibility: hidden; }
.cytaty .cytat { margin: 0; }
.cytaty .cytat.aktywny { animation: pojaw .7s ease both; }
@keyframes pojaw { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
.baner__kropki { position: absolute; left: 12px; bottom: 12px; display: flex; gap: 6px; align-items: center; }
.baner__kropki button { width: 12px; height: 12px; padding: 0; border: 2px solid #fff; border-radius: 50%; background: rgba(255,255,255,.35); cursor: pointer; }
.baner__kropki button[aria-current="true"] { background: #fff; }
.baner__kropki .baner__pauza { width: 26px; height: 26px; border: 0; background: rgba(0,0,0,.45); position: relative; margin-left: 4px; }
.baner__pauza::before, .baner__pauza::after { content: ""; position: absolute; top: 8px; width: 3px; height: 10px; background: #fff; }
.baner__pauza::before { left: 9px; } .baner__pauza::after { left: 14px; }
.baner__pauza[aria-pressed="true"]::before { left: 10px; width: 0; height: 0; background: none; border: solid transparent; border-width: 5px 0 5px 8px; border-left-color: #fff; }
.baner__pauza[aria-pressed="true"]::after { display: none; }

/* ---------- Strona główna: godziny otwarcia ---------- */
.godziny-sekcja { padding-top: var(--odstep); }
.godziny-sekcja h2 { margin: 0 0 18px; }
.godziny-karty { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; }
@media (min-width: 700px) { .godziny-karty { grid-template-columns: 1fr 1fr; } }
.godziny-karta { background: var(--tlo); border: 1px solid var(--linia); border-radius: 14px; box-shadow: var(--cien); padding: 16px 20px 14px; }
.godziny-karta__naglowek { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 16px; margin-bottom: 8px; padding-bottom: 10px; border-bottom: 2px solid var(--akcent-jasny); }
.godziny-karta h3 { margin: 0; font-size: 1.3rem; color: var(--akcent-ciemny); }
.godziny-karta__tel { font-weight: 700; font-size: 1.05rem; text-decoration: none; white-space: nowrap; }
.godziny-karta__tel:hover { text-decoration: underline; }
.godziny-dni { list-style: none; margin: 0; padding: 0; }
.godziny-dni li { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 8px 10px; border-radius: 8px; }
.godziny-dni li + li { border-top: 1px solid var(--tlo-3); }
.godziny-dni__dzien em { font-style: normal; font-weight: 700; margin-left: 6px; font-size: .85rem; text-transform: uppercase; letter-spacing: .04em; }
.godziny-dni__godz { font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.godziny-dni li.dzis { background: var(--akcent); color: #fff; border-top-color: transparent; }
.godziny-dni li.dzis + li { border-top-color: transparent; }
.godziny-tabela { display: none; }
@media (max-width: 640px) {
  .godziny-karty { display: none; }
  .godziny-tabela { display: table; width: 100%; border-collapse: separate; border-spacing: 0; background: var(--tlo); border: 1px solid var(--linia); border-radius: 14px; box-shadow: var(--cien); overflow: hidden; font-size: 1rem; }
  .godziny-tabela th, .godziny-tabela td { padding: 9px 7px; text-align: left; border-top: 1px solid var(--tlo-3); }
  .godziny-tabela th:first-child, .godziny-tabela td:first-child { padding-left: 12px; }
  .godziny-tabela thead th { border-top: 0; background: var(--tlo-2); color: var(--akcent-ciemny); font-size: 1.02rem; }
  .godziny-tabela tbody th { font-weight: 400; }
  .godziny-tabela td { font-weight: 700; white-space: nowrap; font-variant-numeric: tabular-nums; }
  .godziny-tabela tr.dzis th, .godziny-tabela tr.dzis td { background: var(--akcent); color: #fff; }
  .godziny-tabela em { font-style: normal; font-weight: 700; }
  .godziny-tabela tfoot th, .godziny-tabela tfoot td { background: var(--tlo-2); }
  .godziny-tabela tfoot a { white-space: nowrap; }
}
@media (max-width: 400px) {
  .godziny-tabela { font-size: .92rem; }
  .godziny-tabela td { white-space: normal; }
  .godziny-tabela tfoot a { white-space: normal; }
}

/* ---------- Stopka: kontakt, polecamy, katalog + licznik, loga ---------- */
@media (min-width: 900px) { .stopka__siatka { grid-template-columns: 1fr 1.7fr 1fr; align-items: start; } }
.polecamy { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.polecamy a { display: inline-block; padding: 6px 12px; border: 1px solid rgba(255,255,255,.22); border-radius: 999px; font-size: .9rem; line-height: 1.3; text-decoration: none; }
.polecamy a:hover { background: rgba(255,255,255,.1); text-decoration: none; }
.stopka__tel { font-size: 1.05rem; }
.stopka__tel a { font-weight: 700; white-space: nowrap; }
.stopka__tel { margin-bottom: .1em; }
.stopka__adres { font-style: normal; color: #bcd0cd; margin: 0 0 .9em; font-size: .95rem; }
html.kontrast .stopka__adres { color: #fff; }
.stopka h2 a { text-decoration: none; }
.stopka h2 a:hover { text-decoration: underline; }
.licznik { margin-top: 18px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.14); border-radius: 12px; padding: 14px 16px; }
.licznik__siatka { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 14px; margin: 0; }
.licznik__siatka div { min-width: 0; }
.licznik__siatka dt { font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; color: #a9c4c0; }
.licznik__siatka dd { margin: 0; font-size: 1.15rem; font-weight: 700; color: #fff; font-variant-numeric: tabular-nums; }
.licznik__suma { grid-column: 1 / -1; border-top: 1px solid rgba(255,255,255,.14); padding-top: 8px; }
.licznik__suma dd { font-size: 1.6rem; color: var(--bursztyn); }
.loga { list-style: none; margin: 0; padding: 22px 0; border-top: 1px solid rgba(255,255,255,.15); display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 12px 16px; }
.loga li { background: #fff; border-radius: 8px; padding: 6px 10px; }
.loga img { display: block; height: 44px; width: auto; }

/* ---------- Pasek ułatwień (rozmiar tekstu, kontrast) + skrót dla zalogowanych ---------- */
.pasek-narzedzi { background: var(--tlo-2); color: var(--tekst-2); font-size: .82rem; border-bottom: 1px solid var(--linia); }
.pasek-narzedzi__wnetrze { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 6px 14px; min-height: 38px; padding-block: 3px; }
.ulatwienia { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.ulatwienia__etykieta { font-weight: 600; letter-spacing: .02em; }
/* rozmiar tekstu jako jeden przełącznik segmentowy */
.ulatwienia__rozmiar { display: inline-flex; gap: 2px; padding: 2px; background: var(--tlo); border: 1px solid var(--linia); border-radius: 999px; }
.ulatwienia button { font: 600 .82rem var(--font); color: var(--tekst-2); background: transparent; border: 0; border-radius: 999px; min-height: 28px; min-width: 32px; padding: 0 9px; cursor: pointer; line-height: 1; transition: background-color .15s, color .15s; }
.ulatwienia [data-rozmiar="1"] { font-size: .92rem; }
.ulatwienia [data-rozmiar="2"] { font-size: 1.02rem; }
.ulatwienia button:hover { background: var(--tlo-3); color: var(--akcent-ciemny); }
.ulatwienia__rozmiar button[aria-pressed="true"] { background: var(--akcent); color: #fff; }
.ulatwienia__kontrast { display: inline-flex; align-items: center; gap: 5px; border: 1px solid var(--linia) !important; background: var(--tlo) !important; }
.ulatwienia__kontrast:hover { border-color: var(--akcent) !important; }
.ulatwienia__kontrast[aria-pressed="true"] { background: var(--tekst) !important; color: #fff; border-color: var(--tekst) !important; }
@media (max-width: 600px) {
  .ulatwienia__etykieta { display: none; }
  .ulatwienia { margin: 0 auto; }
  .ulatwienia button { min-height: 32px; min-width: 38px; }
}

/* ---------- Powiększenie tekstu (cała strona jest w rem) ---------- */
html.rozmiar-1 { font-size: 112.5%; }
html.rozmiar-2 { font-size: 125%; }
html.rozmiar-1 .menu__lista > li > a, html.rozmiar-2 .menu__lista > li > a { padding-inline: .45em; }
@media (max-width: 420px) {
  .logo strong { font-size: min(1.2rem, 5.4vw); }
  .logo span { font-size: min(1.05rem, 4.6vw); }
  .godziny-tabela { table-layout: fixed; }
  .godziny-tabela th, .godziny-tabela td, .godziny-tabela tfoot a { white-space: normal; overflow-wrap: anywhere; }
}
@media (max-width: 360px) {
  .menu-przycisk { font-size: 0; gap: 0; padding: 0 14px; }
}

/* ---------- Wersja kontrastowa (żółty na czarnym) ---------- */
html.kontrast {
  --tlo: #000; --tlo-2: #000; --tlo-3: #333; --tekst: #fff; --tekst-2: #fff; --linia: #fff;
  --akcent: #ffe600; --akcent-ciemny: #ffe600; --akcent-jasny: #000; --bursztyn: #ffe600; --fokus: #00e5ff;
  --cien: none;
}
html.kontrast body, html.kontrast .naglowek, html.kontrast .stopka, html.kontrast .pasek-narzedzi, html.kontrast .powitanie, html.kontrast .naglowek-strony { background: #000; color: #fff; }
html.kontrast a, html.kontrast .stopka a, html.kontrast .menu a, html.kontrast .karta__tytul a, html.kontrast .boczne a, html.kontrast .okruszki a { color: #ffe600; text-decoration: underline; }
html.kontrast .powitanie__tlo { display: none; }
html.kontrast .powitanie .cytat p { color: #fff; }
html.kontrast .powitanie .baner__kropki button { border-color: #ffe600; }
html.kontrast .powitanie .baner__kropki button[aria-current="true"], html.kontrast .powitanie .baner__kropki .baner__pauza { background: #ffe600; }
html.kontrast .powitanie .baner__pauza::before, html.kontrast .powitanie .baner__pauza::after { background: #000; }
html.kontrast .powitanie .baner__pauza[aria-pressed="true"]::before { background: none; border-left-color: #000; }
html.kontrast h1, html.kontrast h2, html.kontrast h3, html.kontrast .logo strong, html.kontrast .powitanie h1 { color: #fff; }
html.kontrast .karta, html.kontrast .godziny-karta, html.kontrast .boczne, html.kontrast .kafel, html.kontrast .sasiednie a, html.kontrast .licznik, html.kontrast .godziny-tabela, html.kontrast .podmenu, html.kontrast .menu { background: #000; border: 2px solid #fff; }
html.kontrast .menu { border: 0; }
html.kontrast .przycisk, html.kontrast .menu-przycisk, html.kontrast .strony [aria-current="page"], html.kontrast .dodaj__nr, html.kontrast .skip,
html.kontrast .godziny-dni li.dzis, html.kontrast .godziny-tabela tr.dzis th, html.kontrast .godziny-tabela tr.dzis td,
html.kontrast .ulatwienia button[aria-pressed="true"], html.kontrast #grav-login button { background: #ffe600; color: #000 !important; border-color: #ffe600; text-decoration: none; }
html.kontrast .przycisk--jasny { background: #000; color: #ffe600 !important; border: 2px solid #ffe600; }
html.kontrast .godziny-dni li.dzis *, html.kontrast .godziny-tabela tr.dzis * { color: #000 !important; }
html.kontrast .polecamy a { border-color: #ffe600; }
html.kontrast .licznik__siatka dt { color: #fff; }
html.kontrast .licznik__suma dd, html.kontrast .licznik__siatka dd { color: #ffe600; }
html.kontrast .karta__brak { background: #222; }
html.kontrast .cytat { border-left-color: #ffe600; color: #fff; }
html.kontrast .cytat footer, html.kontrast .meta, html.kontrast .podtytul, html.kontrast .karta__zajawka, html.kontrast .strony__licznik { color: #fff; }
html.kontrast .menu-przycisk__ikona, html.kontrast .menu-przycisk__ikona::before, html.kontrast .menu-przycisk__ikona::after { background: #000; }
html.kontrast .dodaj input[type="text"], html.kontrast .dodaj textarea, html.kontrast #grav-login input { background: #000; color: #fff; border-color: #fff; }
html.kontrast .dodaj .dodaj__dzial, html.kontrast .dodaj .dodaj__pliki, html.kontrast .dodaj__podglad li { background: #000; border-color: #fff; }
html.kontrast .dodaj__dzial:has(input:checked) { border-color: #ffe600; outline: 3px solid #ffe600; }
html.kontrast .dodaj__sukces, html.kontrast .dodaj__blad { background: #000; color: #fff; border-color: #ffe600; }
html.kontrast .loga li { background: #fff; }
html.kontrast :focus-visible { outline: 3px solid #00e5ff; }
html.kontrast .pasek-narzedzi { border-bottom-color: #fff; }
html.kontrast .ulatwienia__rozmiar { background: #000; border-color: #fff; }
html.kontrast .ulatwienia button { color: #fff; }
html.kontrast .ulatwienia__kontrast { background: #000 !important; border-color: #fff !important; }
html.kontrast .ulatwienia__kontrast[aria-pressed="true"] { background: #ffe600 !important; color: #000 !important; border-color: #ffe600 !important; }

/* ---------- Formularz „Dodaj wpis”: edytor na całą szerokość, panel boczny z ustawieniami ---------- */
.naglowek-strony--kompakt { min-height: 0; padding-block: 18px; margin-bottom: 28px; }
.naglowek-strony--kompakt h1 { font-size: 1.5rem; }
.naglowek-strony__pasek { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 20px; }
.naglowek-strony__konto { margin: 0; font-size: .9rem; color: var(--tekst-2); }
.dodaj { padding-bottom: 56px; }
.dodaj__formularz { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; align-items: start; }
@media (min-width: 960px) { .dodaj__formularz { grid-template-columns: minmax(0, 1fr) 320px; gap: 32px; } }
.dodaj__glowna { display: grid; gap: 20px; min-width: 0; }
.dodaj__pole { display: grid; gap: 6px; }
.dodaj label, .dodaj legend, .dodaj__etykieta { font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--tekst-2); margin: 0; padding: 0; }
.dodaj input[type="text"] { width: 100%; font: 600 1.25rem/1.3 var(--font); padding: 12px 14px; border: 1px solid var(--linia); border-radius: 8px; background: #fff; color: var(--tekst); }
.dodaj textarea { width: 100%; min-height: 420px; font: inherit; padding: 12px 14px; border: 1px solid var(--linia); border-radius: 8px; }
.dodaj input[type="text"]:focus, .dodaj textarea:focus { border-color: var(--akcent); outline: 3px solid var(--akcent-jasny); outline-offset: 0; }
.dodaj__boczna { display: grid; gap: 16px; }
@media (min-width: 960px) { .dodaj__boczna { position: sticky; top: 92px; } }
.dodaj__panel { margin: 0; padding: 16px; border: 1px solid var(--linia); border-radius: 10px; background: var(--tlo); display: grid; gap: 10px; min-width: 0; }
.dodaj__panel legend { float: left; width: 100%; margin-bottom: 10px; }
.dodaj__dzialy { display: grid; gap: 2px; clear: both; }
.dodaj .dodaj__dzial { display: flex; align-items: center; gap: 10px; padding: 7px 8px; border-radius: 6px; font: 400 .95rem var(--font); letter-spacing: 0; text-transform: none; color: var(--tekst); cursor: pointer; }
.dodaj .dodaj__dzial:hover { background: var(--tlo-2); }
.dodaj__dzial input { width: 16px; height: 16px; accent-color: var(--akcent); flex: none; margin: 0; }
.dodaj__dzial:has(input:checked) { background: var(--akcent-jasny); color: var(--akcent-ciemny); font-weight: 600; }
.dodaj .dodaj__pliki { display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 12px; border: 1px dashed #9fb3b0; border-radius: 8px; background: var(--tlo-2); font: 600 .92rem var(--font); letter-spacing: 0; text-transform: none; color: var(--akcent-ciemny); cursor: pointer; }
.dodaj .dodaj__pliki:hover, .dodaj__pliki:focus-within { border-color: var(--akcent); background: var(--akcent-jasny); }
.dodaj__podglad { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.dodaj__podglad:empty { display: none; }
.dodaj__podglad li { position: relative; display: grid; gap: 4px; font-size: .78rem; text-align: center; color: var(--tekst-2); }
.dodaj__podglad img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 6px; }
.dodaj__podglad--jedno { grid-template-columns: minmax(0, 1fr); }
.dodaj__podglad--jedno img { aspect-ratio: 16 / 10; }
.dodaj__podglad button { font: inherit; font-size: .78rem; min-height: 28px; border: 1px solid var(--linia); color: #a3362a; background: #fff; border-radius: 6px; cursor: pointer; }
.dodaj__podglad button:hover { border-color: #c94a3a; }
.przycisk--publikuj { width: 100%; justify-content: center; min-height: 48px; margin: 0; font: 700 1rem var(--font); cursor: pointer; }
.przycisk--publikuj:disabled { opacity: .6; cursor: progress; }
.dodaj__czekaj { margin: 8px 0 0; font-size: .9rem; text-align: center; color: var(--tekst-2); }
.dodaj__blad { background: #fdecea; border: 1px solid #e3a59d; color: #7a1d13; border-radius: 8px; padding: 12px 14px; font-weight: 600; }
.dodaj__sukces { background: #eaf5f1; border: 1px solid #b9dbd2; border-radius: 10px; padding: 18px 20px; margin-bottom: 24px; }
.dodaj__sukces p { margin: 0 0 .4em; }
.dodaj__sukces-tytul { font-size: 1.15rem; font-weight: 700; color: var(--akcent-ciemny); }
.dodaj__przyciski { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 0 !important; }
.dodaj__przyciski .przycisk { margin: 0; }
.dodaj__ostatnie { margin-top: 48px; }
.dodaj__ostatnie h2 { font-family: var(--font); font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--tekst-2); margin: 0 0 10px; }
.dodaj__tabela { width: 100%; border-collapse: collapse; font-size: .92rem; }
.dodaj__tabela th { text-align: left; font-size: .75rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--tekst-2); padding: 8px 10px; border-bottom: 1px solid var(--linia); }
.dodaj__tabela td { padding: 10px; border-bottom: 1px solid var(--tlo-3); vertical-align: top; }
.dodaj__tabela td:nth-child(2), .dodaj__tabela td:nth-child(3) { color: var(--tekst-2); white-space: nowrap; }
.dodaj__tabela td:last-child { text-align: right; white-space: nowrap; }
.dodaj__tabela tr:hover td { background: var(--tlo-2); }
@media (max-width: 640px) { .dodaj__tabela th:nth-child(2), .dodaj__tabela td:nth-child(2) { display: none; } }
/* pola dla wyszukiwarki z podglądem wyniku */
.dodaj__seo { gap: 14px; }
.dodaj__seo textarea { min-height: 0; resize: vertical; font: inherit; }
.dodaj__seo input[type="text"] { font: 400 1rem var(--font); padding: 10px 12px; }
.dodaj__pole label { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.dodaj__licznik { font-weight: 600; letter-spacing: 0; text-transform: none; font-variant-numeric: tabular-nums; color: var(--tekst-2); }
.dodaj__licznik--za-dlugi { color: #b3261e; }
.dodaj__serp { display: grid; gap: 2px; padding: 12px 14px; border-radius: 8px; background: var(--tlo-2); font-family: Arial, sans-serif; }
.dodaj__serp-adres { font-size: .78rem; color: #4d5156; }
.dodaj__serp-tytul { font-size: 1.12rem; color: #1a0dab; line-height: 1.3; }
.dodaj__serp-opis { font-size: .86rem; color: #4d5156; line-height: 1.45; }
/* zdjęcia już zapisane we wpisie */
.dodaj__istniejace li { gap: 4px; }
.dodaj .dodaj__usun { display: flex; align-items: center; justify-content: center; gap: 4px; font: 400 .78rem var(--font); letter-spacing: 0; text-transform: none; color: #a3362a; cursor: pointer; }
.dodaj__usun input { width: 14px; height: 14px; margin: 0; accent-color: #b3261e; }
.dodaj__istniejace li:has(input:checked) img { opacity: .3; outline: 2px solid #b3261e; }
.dodaj__akcje-wpisu { display: flex; justify-content: space-between; align-items: center; margin: 12px 0 0; font-size: .9rem; }
.dodaj__usun-wpis, .dodaj__akcje button { font: inherit; font-size: .9rem; border: 0; background: none; color: #a3362a; cursor: pointer; padding: 0; text-decoration: underline; text-underline-offset: .18em; }
.dodaj__usun-wpis:hover, .dodaj__akcje button:hover { color: #7a1d13; }
/* lista wpisów: wyszukiwanie i strony */
.dodaj__ostatnie-naglowek { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; margin-bottom: 10px; }
.dodaj__ostatnie-naglowek h2 { margin: 0; }
.dodaj__ile { margin-left: 6px; padding: 1px 8px; border-radius: 999px; background: var(--tlo-3); font-variant-numeric: tabular-nums; letter-spacing: 0; }
.dodaj__szukaj { width: min(100%, 280px); font: inherit; font-size: .92rem; padding: 8px 12px; border: 1px solid var(--linia); border-radius: 8px; }
.dodaj__szukaj:focus { border-color: var(--akcent); outline: 3px solid var(--akcent-jasny); }
.dodaj__akcje { display: flex; justify-content: flex-end; gap: 14px; }
.dodaj__biezacy td { background: var(--akcent-jasny) !important; }
.dodaj__szkic { margin-left: 6px; padding: 0 6px; border-radius: 4px; background: #fdecea; color: #7a1d13; font-size: .75rem; }
.dodaj__strony { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px; margin-top: 16px; }
.dodaj__strony button { min-width: 36px; height: 36px; padding: 0 8px; font: inherit; font-size: .9rem; border: 1px solid var(--linia); border-radius: 8px; background: var(--tlo); color: var(--tekst); cursor: pointer; }
.dodaj__strony button:hover:not(:disabled) { background: var(--tlo-2); }
.dodaj__strony button[aria-current="page"] { background: var(--akcent); border-color: var(--akcent); color: #fff; font-weight: 700; }
.dodaj__strony button:disabled { opacity: .4; cursor: default; }
.dodaj__strony span { align-self: center; padding: 0 4px; color: var(--tekst-2); }
/* Edytor treści (TinyMCE) */
.dodaj .tox-tinymce { border: 1px solid var(--linia); border-radius: 8px; }
.dodaj .tox-tinymce.tox-edit-focus, .dodaj .tox-tinymce:focus-within { border-color: var(--akcent); outline: 3px solid var(--akcent-jasny); outline-offset: 0; }
.dodaj .tox .tox-toolbar__primary, .dodaj .tox .tox-toolbar-overlord { background: var(--tlo-2); }
.dodaj .tox .tox-tbtn:hover { background: var(--akcent-jasny); }
.dodaj .tox .tox-tbtn--enabled, .dodaj .tox .tox-tbtn--enabled:hover { background: var(--akcent); }
.dodaj .tox .tox-tbtn--enabled svg { fill: #fff; }

/* Okienko „Jak ustawić zdjęcie?” */
.uklad-zdjecia { border: 0; border-radius: 12px; padding: 20px; max-width: min(560px, calc(100vw - 24px)); box-shadow: 0 20px 60px rgba(0, 0, 0, .3); font-size: 1rem; }
.uklad-zdjecia::backdrop { background: rgba(10, 25, 25, .55); }
.uklad-zdjecia h2 { margin: 0 0 14px; font: 700 1.05rem var(--font); }
.uklad-zdjecia__opcje { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.uklad-zdjecia__opcja { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 12px 8px; border: 1px solid var(--linia); border-radius: 10px; background: #fff; font: 600 .9rem var(--font); color: var(--tekst); cursor: pointer; line-height: 1.25; text-align: center; }
.uklad-zdjecia__opcja:hover, .uklad-zdjecia__opcja:focus-visible { border-color: var(--akcent); background: var(--akcent-jasny); }
.uklad-zdjecia__opcja svg { width: 100%; max-width: 160px; height: auto; }
.uklad-zdjecia .u-zdj { fill: var(--akcent); }
.uklad-zdjecia .u-txt rect { fill: #b9c9c6; }
.uklad-zdjecia__dol { margin: 16px 0 0; text-align: right; }
.uklad-zdjecia__dol .przycisk { cursor: pointer; font: inherit; font-size: 1rem; }
@media (max-width: 560px) {
  .uklad-zdjecia__opcje { grid-template-columns: minmax(0, 1fr); }
  .uklad-zdjecia__opcja { flex-direction: row; text-align: left; }
  .uklad-zdjecia__opcja svg { width: 110px; flex: none; }
  .uklad-zdjecia__dol { text-align: center; }
}
html.kontrast .uklad-zdjecia { background: #000; color: #fff; border: 2px solid #fff; }
html.kontrast .uklad-zdjecia__opcja { background: #000; color: #fff; border-color: #fff; }
html.kontrast .uklad-zdjecia .u-zdj { fill: #ffe600; }
/* Pasek nad zaznaczonym zdjęciem w edytorze – większe przyciski z napisami */
.tox .tox-pop .tox-tbtn { height: 44px; padding: 0 10px; }
.tox .tox-pop .tox-tbtn__select-label, .tox .tox-pop .tox-tbtn { font-size: 1rem; font-weight: 600; }

/* Logowanie na stronie formularza (wtyczka login) */
#grav-login { max-width: 420px; margin: 0 0 60px; font-size: 1rem; }
#grav-login label { display: block; font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--tekst-2); margin: 0 0 6px; }
#grav-login input[type="text"], #grav-login input[type="password"], #grav-login input[type="email"] { width: 100%; font: inherit; padding: 11px 13px; border: 1px solid var(--linia); border-radius: 8px; margin-bottom: 16px; }
#grav-login .login-zapamietaj { display: flex; align-items: center; gap: 8px; font-size: .92rem; font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--tekst); margin: 0 0 18px; }
#grav-login .login-zapamietaj input { width: 16px; height: 16px; accent-color: var(--akcent); }
#grav-login button, #grav-login .button { width: 100%; font: inherit; font-weight: 700; min-height: 46px; padding: 0 1.2em; border-radius: 8px; border: 0; background: var(--akcent); color: #fff; cursor: pointer; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
@media print {
  .naglowek, .stopka, .boczne, .sasiednie, .strony, .skip { display: none !important; }
}
