/*
Theme Name: OT20 PZK
Theme URI: https://ot20.pzk.org.pl/
Author: Lubelski Oddział Terenowy PZK
Description: Własny motyw blokowy Lubelskiego Oddziału Terenowego Polskiego Związku Krótkofalowców (OT20). Kolory kobalt i koral, kroje Newsreader, IBM Plex Sans i IBM Plex Mono (wbudowane, bez Google), romb PZK z księgi znaku. Wygląd według makiety strony głównej, wersja 8 (wariant A, wybrany 16.10.2026).
Version: 0.1.0
Requires at least: 6.6
Requires PHP: 8.1
License: GPL-2.0-or-later
Text Domain: ot20
*/

/* ---------- Skróty nazw z theme.json (CSS przeniesiony z makiety używa krótkich nazw) ---------- */
:root {
	--papier: var(--wp--preset--color--papier);
	--papier-2: var(--wp--preset--color--papier-2);
	--karta: var(--wp--preset--color--karta);
	--tusz: var(--wp--preset--color--tusz);
	--tusz-2: var(--wp--preset--color--tusz-2);
	--linia: var(--wp--preset--color--linia);
	--morze: var(--wp--preset--color--morze);
	--fosfor: var(--wp--preset--color--fosfor);
	--miedz: var(--wp--preset--color--miedz);
	--miedz-2: var(--wp--preset--color--miedz-2);
	--tag: var(--wp--preset--color--tag);
	--szeryf: var(--wp--preset--font-family--szeryf);
	--bezszeryf: var(--wp--preset--font-family--bezszeryf);
	--mono: var(--wp--preset--font-family--mono);
	--cien: 0 1px 2px rgba(20,30,40,.06), 0 8px 24px rgba(20,30,40,.10);
	--cien-2: 0 2px 4px rgba(20,30,40,.08), 0 18px 40px rgba(20,30,40,.18);
	--szer: 1240px; --r: 12px;
	/* wysokość przyklejonego nagłówka + paska administratora (dla kotwic) */
	--gora: calc(84px + var(--wp-admin--admin-bar--height, 0px));
}

/* ---------- Ogólne ---------- */
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: var(--gora); }
body { -webkit-font-smoothing: antialiased; }
img { height: auto; }
a { text-decoration-color: color-mix(in srgb, var(--miedz) 60%, transparent); text-underline-offset: .18em; }
.wp-site-blocks { overflow-wrap: break-word; }
.wp-site-blocks > * + * { margin-block-start: 0; }
:where(.wp-site-blocks) :focus-visible { outline: 3px solid var(--tag); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation: none !important; transition: none !important; } }
.mono, code, kbd { font-family: var(--mono); }
.zaw { max-width: var(--szer); margin-inline: auto !important; padding-inline: 20px; box-sizing: border-box; width: 100%; }
/* kontenery .zaw to siatki i rzędy z własnym odstępem (gap) — odstęp WordPressa między blokami (block gap)
   spychał tu wszystko poza pierwszym elementem o 1,2rem w dół (np. menu 10 px niżej niż napis OT20) */
.zaw > * + * { margin-block-start: 0; }
.rubryka { font: 600 12px/1 var(--bezszeryf); letter-spacing: .16em; text-transform: uppercase; color: var(--miedz); margin: 0 0 10px; }
.tytul-sekcji { font: 600 clamp(30px, 3.6vw, 44px)/1.08 var(--szeryf); letter-spacing: -.015em; margin: 0 0 18px; }
.link-strz, .link-strz a { font: 600 15px/1 var(--bezszeryf); text-decoration: none; color: var(--miedz); }
.wp-block-button.is-style-outline > .wp-block-button__link { border: 2px solid var(--tusz); color: var(--tusz); background: transparent; padding: 11px 16px; }
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--tusz); color: #fff; }
.wp-block-button__link { transition: transform .15s, box-shadow .15s; }
.wp-block-button:not(.is-style-outline) > .wp-block-button__link { box-shadow: 0 6px 18px color-mix(in srgb, var(--miedz) 35%, transparent); }
.wp-block-button__link:hover { transform: translateY(-1px); }
.dioda { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--fosfor); margin-right: 6px; animation: puls 1.8s infinite; }
@keyframes puls { 0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--fosfor) 60%, transparent); } 70% { box-shadow: 0 0 0 9px transparent; } 100% { box-shadow: 0 0 0 0 transparent; } }

/* ---------- Nagłówek: romb PZK wystający z białego paska; po przewinięciu zwija się do paska ---------- */
.wp-site-blocks > header.wp-block-template-part { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 20; }
.naglowek { background: #fff; color: var(--tusz); box-shadow: 0 1px 0 var(--linia), 0 6px 18px rgba(18,22,51,.06); }
.naglowek > .zaw { display: flex; align-items: center; gap: 22px; height: 80px; }
.marka { display: flex; align-items: center; gap: 12px; text-decoration: none; flex: none; color: inherit; }
.marka b { font: 700 30px/1 var(--szeryf); color: var(--morze); letter-spacing: -.02em; }
.marka span { font: italic 400 15px/1.15 var(--szeryf); color: var(--tusz-2); max-width: 190px; }
/* logo PZK (romb, wariant podstawowy z księgi znaku SIW PZK, #005abb): bez obracania, rozciągania i zmiany kolorów */
.marka .romb { height: 46px; width: auto; flex: none; }
.naglowek .marka b { font-size: 24px; }
.naglowek .marka .romb { height: 132px; transform: translateY(34px); filter: drop-shadow(0 6px 10px rgba(18,22,51,.22)); transition: height .25s, transform .25s; position: relative; z-index: 25; }
.naglowek.zwiniety .marka .romb { height: 58px; transform: none; filter: none; }
@media (max-width: 720px) { .naglowek .marka .romb { height: 100px; transform: translateY(26px); } .naglowek.zwiniety .marka .romb { height: 54px; transform: none; } }
@media (max-width: 1100px) { .naglowek .marka span { display: none; } }
.naglowek .wp-block-navigation { flex: 1; font: 500 15px/1 var(--bezszeryf); }
.naglowek .wp-block-navigation .wp-block-navigation-item__content { padding: 10px 11px; border-radius: 8px; text-decoration: none; white-space: nowrap; }
.naglowek .wp-block-navigation .wp-block-navigation-item__content:hover,
.naglowek .wp-block-navigation .current-menu-item > .wp-block-navigation-item__content { background: color-mix(in srgb, var(--morze) 10%, transparent); color: var(--morze); }
.naglowek .wp-block-navigation__container { gap: 2px; }
.naglowek .wp-block-buttons { flex: none; }
.naglowek .wp-block-button__link { padding: 10px 15px; font-size: 14px; }
.naglowek .wp-block-navigation__responsive-container-open { border: 1px solid var(--tusz); border-radius: 8px; padding: 8px 10px; }
/* menu w nakładce już poniżej 960 px (siedem pozycji nie mieści się obok rombu) */
@media (max-width: 960px) {
	.naglowek .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.naglowek .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
	.naglowek .wp-block-navigation { flex: 0 0 auto; margin-left: auto; }
	.naglowek .wp-block-buttons { display: none; }
}
.naglowek .wp-block-navigation__responsive-container.is-menu-open { padding: 24px; }
/* podmenu (Aktualności → kategorie): karta jak na stronie */
.naglowek .wp-block-navigation .wp-block-navigation__submenu-container { background: #fff; border: 1px solid var(--linia) !important; border-radius: var(--r); box-shadow: var(--cien-2); padding: 8px; min-width: 270px !important; font: 500 15px/1.2 var(--bezszeryf); }
.naglowek .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 9px 12px; white-space: normal; }
.naglowek .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item:first-child .wp-block-navigation-item__content { font-weight: 600; color: var(--miedz); }
.naglowek .wp-block-navigation .wp-block-navigation__submenu-icon { margin-left: 2px; }
.naglowek .wp-block-navigation .has-child > .wp-block-navigation-item__content { padding-right: 4px; }
/* w nakładce na telefonie podmenu jest rozwinięte: mniejsze, z wcięciem */
.naglowek .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { border: 0 !important; box-shadow: none; padding: 0 0 8px 16px; background: transparent; }
.naglowek .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font: 500 16px/1.3 var(--bezszeryf); padding: 6px 0; }
.naglowek .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font: 600 22px/1.2 var(--szeryf); padding: 10px 0; }

/* ---------- Główna treść ---------- */
main.wp-block-group { margin-top: 0; }
/* romb wystaje z paska — treść podstron zaczyna się niżej */
.ot20-tresc { padding-top: 72px; padding-bottom: 72px; padding-inline: 20px; }

/* ---------- Strona główna: czołówka ---------- */
.czolo { position: relative; overflow: hidden; color: var(--tusz); background: var(--papier); padding: 76px 0 120px; }
.czolo::before { content: ""; position: absolute; right: -8%; top: 50%; width: 900px; height: 900px; transform: translateY(-50%); border-radius: 50%;
	background: repeating-radial-gradient(circle, transparent 0 46px, color-mix(in srgb, var(--fosfor) 22%, transparent) 46px 48px);
	-webkit-mask: radial-gradient(circle, #000 30%, transparent 70%); mask: radial-gradient(circle, #000 30%, transparent 70%); }
.czolo > .zaw { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1.1fr; gap: 44px; align-items: center; }
@media (max-width: 960px) { .czolo > .zaw { grid-template-columns: 1fr; } }
.chip { display: inline-flex; align-items: center; gap: 8px; font: 600 12.5px/1 var(--bezszeryf); letter-spacing: .06em; text-transform: uppercase; padding: 7px 11px; border-radius: 999px;
	background: color-mix(in srgb, var(--fosfor) 14%, #fff); border: 1px solid color-mix(in srgb, var(--morze) 25%, transparent); color: var(--morze); margin: 0; width: fit-content; }
.czolo h1 { font: 600 clamp(44px, 6.4vw, 84px)/1.0 var(--szeryf); letter-spacing: -.025em; margin: 18px 0 16px; max-width: 12ch; text-wrap: balance; color: var(--tusz); }
.czolo .lead { font: 400 clamp(18px, 1.6vw, 21px)/1.5 var(--szeryf); max-width: 46ch; margin: 0 0 24px; color: var(--tusz-2); }
.kolaz-czolo { position: relative; height: clamp(340px, 40vw, 480px); }
.kolaz-czolo figure { position: absolute; margin: 0; background: #fff; padding: 8px 8px 30px; border-radius: 12px; box-shadow: var(--cien-2); }
.kolaz-czolo img { width: 100%; height: 100%; object-fit: cover; border-radius: 7px; display: block; }
.kolaz-czolo figcaption { position: absolute; left: 12px; bottom: 8px; font: 500 12.5px/1 var(--bezszeryf); color: var(--tusz-2); }
.kolaz-czolo .f1 { left: 4%; top: 0; width: 66%; height: 68%; transform: rotate(-2.5deg); z-index: 2; }
.kolaz-czolo .f2 { right: 0; top: 4%; width: 42%; height: 44%; transform: rotate(4deg); z-index: 1; }
.kolaz-czolo .f2 figcaption { left: auto; right: 12px; }
.kolaz-czolo .f3 { left: 32%; bottom: 0; width: 48%; height: 44%; transform: rotate(2deg); z-index: 3; }
@media (max-width: 640px) {
	.kolaz-czolo { height: auto; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
	.kolaz-czolo figure { position: relative; inset: auto !important; width: auto !important; height: auto !important; transform: none !important; }
	.kolaz-czolo .f1 { grid-column: 1/-1; } .kolaz-czolo img { aspect-ratio: 4/3; height: auto; } .kolaz-czolo .f2 figcaption { left: 12px; right: auto; }
}

/* ---------- Kafle „Na antenie” (nachodzą na czołówkę) ---------- */
.antena { position: relative; z-index: 5; margin-top: -60px !important; }
.antena > .zaw { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
@media (max-width: 900px) { .antena > .zaw { grid-template-columns: 1fr; } }
.kafel { position: relative; background: var(--karta); border-radius: var(--r); box-shadow: var(--cien-2); padding: 18px 20px; display: grid; grid-template-columns: auto 1fr; gap: 4px 14px; align-items: center; text-decoration: none; color: inherit; }
.kafel .ikona { grid-row: span 2; width: 46px; height: 46px; border-radius: 12px; display: grid; place-items: center; background: color-mix(in srgb, var(--fosfor) 18%, transparent); color: var(--morze); }
.kafel.k2 .ikona { background: color-mix(in srgb, var(--miedz) 14%, transparent); color: var(--miedz); }
.kafel.k3 .ikona { background: color-mix(in srgb, var(--tag) 18%, transparent); color: color-mix(in srgb, var(--tag) 70%, #000); }
.kafel small { font: 600 11.5px/1 var(--bezszeryf); letter-spacing: .1em; text-transform: uppercase; color: var(--tusz-2); }
.kafel b { font: 600 19px/1.25 var(--szeryf); }
.kafel .za-ile { font: 500 14px var(--mono); color: var(--miedz); }
.kafel .szczegol { grid-column: 2; font-size: 14px; color: var(--tusz-2); }
.kafel .szczegol .mono { color: var(--tusz); }

/* fale radiowe w prawym górnym rogu kart (zamiast pasków na krawędziach) */
.kafel, .dzial, .wynik, .karta.category-silent-key { --fala-k: var(--morze); }
.kafel.k2, .wynik { --fala-k: var(--miedz); } .kafel.k3 { --fala-k: var(--tag); } .karta.category-silent-key { --fala-k: #5b6472; }
.kafel::after, .dzial::after, .wynik::after, .karta.category-silent-key::after { content: ""; position: absolute; top: 0; right: 0; width: 120px; height: 120px; pointer-events: none; border-top-right-radius: inherit; background: var(--fala-k);
	-webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20120%20120%27%3E%3Ccircle%20cx%3D%27120%27%20cy%3D%270%27%20r%3D%2711%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-opacity%3D%271.00%27%2F%3E%3Ccircle%20cx%3D%27120%27%20cy%3D%270%27%20r%3D%2724%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-opacity%3D%270.90%27%2F%3E%3Ccircle%20cx%3D%27120%27%20cy%3D%270%27%20r%3D%2737%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-opacity%3D%270.78%27%2F%3E%3Ccircle%20cx%3D%27120%27%20cy%3D%270%27%20r%3D%2750%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-opacity%3D%270.64%27%2F%3E%3Ccircle%20cx%3D%27120%27%20cy%3D%270%27%20r%3D%2763%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-opacity%3D%270.50%27%2F%3E%3Ccircle%20cx%3D%27120%27%20cy%3D%270%27%20r%3D%2776%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-opacity%3D%270.36%27%2F%3E%3Ccircle%20cx%3D%27120%27%20cy%3D%270%27%20r%3D%2789%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-opacity%3D%270.24%27%2F%3E%3Ccircle%20cx%3D%27120%27%20cy%3D%270%27%20r%3D%27102%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-opacity%3D%270.13%27%2F%3E%3Ccircle%20cx%3D%27120%27%20cy%3D%270%27%20r%3D%27115%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-opacity%3D%270.06%27%2F%3E%3C%2Fsvg%3E") top right/120px 120px no-repeat;
	mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20120%20120%27%3E%3Ccircle%20cx%3D%27120%27%20cy%3D%270%27%20r%3D%2711%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-opacity%3D%271.00%27%2F%3E%3Ccircle%20cx%3D%27120%27%20cy%3D%270%27%20r%3D%2724%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-opacity%3D%270.90%27%2F%3E%3Ccircle%20cx%3D%27120%27%20cy%3D%270%27%20r%3D%2737%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-opacity%3D%270.78%27%2F%3E%3Ccircle%20cx%3D%27120%27%20cy%3D%270%27%20r%3D%2750%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-opacity%3D%270.64%27%2F%3E%3Ccircle%20cx%3D%27120%27%20cy%3D%270%27%20r%3D%2763%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-opacity%3D%270.50%27%2F%3E%3Ccircle%20cx%3D%27120%27%20cy%3D%270%27%20r%3D%2776%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-opacity%3D%270.36%27%2F%3E%3Ccircle%20cx%3D%27120%27%20cy%3D%270%27%20r%3D%2789%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-opacity%3D%270.24%27%2F%3E%3Ccircle%20cx%3D%27120%27%20cy%3D%270%27%20r%3D%27102%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-opacity%3D%270.13%27%2F%3E%3Ccircle%20cx%3D%27120%27%20cy%3D%270%27%20r%3D%27115%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-opacity%3D%270.06%27%2F%3E%3C%2Fsvg%3E") top right/120px 120px no-repeat;
	opacity: .5; transition: opacity .25s; }
.kafel:hover::after, .dzial:hover::after { opacity: .75; }

/* ---------- Karty wpisów (strona główna, Aktualności, kategorie, wyszukiwanie) ---------- */
.aktualnosci { padding: 72px 0 30px; }
.naglowek-sekcji { display: flex; align-items: end; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-bottom: 22px; }
.naglowek-sekcji .tytul-sekcji { margin: 0; }
.wp-block-post-template.siatka { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin: 0; padding: 0; list-style: none; }
@media (max-width: 980px) { .wp-block-post-template.siatka { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .wp-block-post-template.siatka { grid-template-columns: 1fr; } }
.siatka > li { margin: 0; display: flex; min-width: 0; }
.karta { position: relative; background: var(--karta); border-radius: var(--r); box-shadow: var(--cien); overflow: hidden; display: flex; flex-direction: column; width: 100%; transition: transform .2s, box-shadow .2s; }
.karta:hover { transform: translateY(-3px); box-shadow: var(--cien-2); }
.karta .wp-block-post-featured-image { margin: 0; }
.karta .wp-block-post-featured-image img { width: 100%; aspect-ratio: 16/10; object-fit: cover; display: block; }
.karta .tresc { padding: 18px 20px 20px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.karta .tresc > * { margin: 0; }
.karta .wp-block-post-title { font: 600 23px/1.2 var(--szeryf); letter-spacing: -.005em; }
.karta .wp-block-post-title a { text-decoration: none; }
/* cała karta klikalna: odnośnik tytułu rozciągnięty na kartę; etykieta kategorii nad nim */
.karta .wp-block-post-title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.karta .wp-block-post-excerpt { color: var(--tusz-2); font-size: 15.5px; }
.karta .wp-block-post-excerpt__excerpt { margin: 0; }
.karta .wp-block-post-date { margin-top: auto !important; padding-top: 6px; }
.etykieta, .etykieta a { font: 600 11px/1 var(--bezszeryf); letter-spacing: .12em; text-transform: uppercase; color: var(--miedz); text-decoration: none; }
.karta .etykieta { position: relative; z-index: 2; }
.karta .etykieta .wp-block-post-terms__separator { color: var(--tusz-2); }
/* strona główna: pierwszy wpis duży, drugi obok, pozostałe po trzy */
.start-siatka.wp-block-post-template.siatka { grid-template-columns: repeat(12, 1fr); }
.start-siatka > li { grid-column: span 4; }
.start-siatka > li:nth-child(1) { grid-column: span 7; }
.start-siatka > li:nth-child(2) { grid-column: span 5; }
.start-siatka > li:nth-child(1) .wp-block-post-title { font-size: 30px; }
.start-siatka > li:nth-child(1) .wp-block-post-featured-image img { aspect-ratio: 1400/759; }
@media (max-width: 980px) { .start-siatka > li:nth-child(n) { grid-column: span 6; } .start-siatka > li:nth-child(1) { grid-column: span 12; } }
@media (max-width: 640px) { .start-siatka > li:nth-child(n) { grid-column: span 12; } .start-siatka > li:nth-child(1) .wp-block-post-title { font-size: 25px; } }
/* wpis bez zdjęcia: ilustracja w kolorach oddziału (znak wywoławczy z tytułu albo fale) */
.ilustracja, .wp-block-post-featured-image a.ilustracja { aspect-ratio: 16/10; height: auto; display: grid; place-items: center; position: relative; overflow: hidden; text-decoration: none; }
.start-siatka > li:nth-child(1) .ilustracja { aspect-ratio: 1400/759; }
.il-znak { background: linear-gradient(135deg, var(--miedz-2), var(--miedz)); }
.il-znak span { font: 600 clamp(24px, 3vw, 34px)/1 var(--mono); color: #fff; letter-spacing: .04em; }
.il-fala { background: linear-gradient(160deg, var(--morze), var(--fosfor)); }
.il-fala::before { content: ""; position: absolute; inset: -40%; background: repeating-radial-gradient(circle at 70% 30%, transparent 0 22px, rgba(255,255,255,.18) 22px 24px); }
.il-sk { background: var(--papier-2); color: #c9a227; }
.il-sk svg { width: 78px; height: 110px; }   /* większa świeca (SP8HPW 28.10) */
.il-fala .piktogram { position: relative; width: clamp(56px, 22%, 84px); height: auto; color: #fff; opacity: .92; }
.karta.category-silent-key .etykieta a { color: #5b6472; }

/* ---------- Pas liczb ---------- */
.liczby { background: linear-gradient(120deg, #2b3fe0, #1b28a6); color: #fff; margin-top: 50px !important; }
.liczby > .zaw { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; padding-top: 40px; padding-bottom: 40px; }
@media (max-width: 800px) { .liczby > .zaw { grid-template-columns: repeat(2, 1fr); } }
.liczby b { display: block; font: 600 clamp(40px, 4.6vw, 58px)/1 var(--szeryf); letter-spacing: -.02em; }
.liczby span { font-size: 15px; opacity: .92; }
.liczby p { margin: 0; }

/* ---------- Eter Lubelszczyzny: mapa stacji i przemienniki ---------- */
.eter { background: var(--papier-2); padding: 80px 0; }
.eter > .zaw { display: grid; grid-template-columns: 1.1fr 1fr; gap: 48px; align-items: center; }
@media (max-width: 900px) { .eter > .zaw { grid-template-columns: 1fr; } }
.eter p { color: var(--tusz-2); }
.mapa { position: relative; border-radius: 16px; background: var(--karta); padding: 12px; box-shadow: var(--cien-2); }
.mapa-svg { width: 100%; height: auto; display: block; border-radius: 10px; background: color-mix(in srgb, var(--fosfor) 7%, #fff); }
.mapa-svg .podklad { filter: grayscale(.5) saturate(.85); opacity: .85; }
.mapa-svg .s1 { stroke: color-mix(in srgb, var(--morze) 6%, transparent); stroke-width: 1; }
.mapa-svg .s2 { stroke: color-mix(in srgb, var(--morze) 55%, transparent); stroke-width: 1.3; stroke-dasharray: 6 5; }
.mapa-svg .pole { fill: var(--morze); opacity: .8; font: 600 14px var(--mono); letter-spacing: .1em; }
.mapa-svg .punkt { fill: var(--miedz); stroke: #fff; stroke-width: 2.5; }
.mapa-svg .fala { fill: color-mix(in srgb, var(--miedz-2) 22%, transparent); stroke: none; transform-box: fill-box; transform-origin: center; animation: fala 3.2s ease-out infinite; }
.mapa-svg .miejsce:nth-child(odd) .fala { animation-delay: 1.1s; }
@keyframes fala { 0% { transform: scale(.35); opacity: 1; } 100% { transform: scale(1); opacity: 0; } }
.mapa-svg .nazwa { fill: var(--tusz); font: 600 14px var(--bezszeryf); paint-order: stroke; stroke: #fff; stroke-width: 4px; stroke-linejoin: round; }
.mapa-svg .ile { fill: var(--miedz); font: 600 13px var(--mono); }
.mapa .legenda { display: block; padding: 6px 8px 2px; font: 500 12px/1.4 var(--mono); color: var(--tusz-2); }
.mapa .legenda a { color: inherit; }
@media (max-width: 640px) { .mapa-svg .nazwa { font-size: 18px; stroke-width: 5px; } .mapa-svg .ile { font-size: 16px; } .mapa-svg .pole { font-size: 18px; } }
.przem { margin: 20px 0 24px; }
.przem table { width: 100%; border-collapse: collapse; font-size: 15px; }
.przem th { font: 600 11px/1 var(--bezszeryf); letter-spacing: .1em; text-transform: uppercase; color: var(--tusz-2); text-align: left; padding: 0 10px 10px 0; border: 0; border-bottom: 2px solid var(--morze); }
.przem td { padding: 10px 10px 10px 0; border: 0; border-bottom: 1px solid var(--linia); }
.przem td:nth-child(2), .przem td:nth-child(3) { font-family: var(--mono); color: var(--morze); }
.przem td:first-child { font: 600 15px var(--mono); color: var(--tusz); }
.przem thead { border: 0; }

/* ---------- Zawody: Lubelski Maraton UKF ---------- */
.zawody { padding: 84px 0 60px; }
.zawody > .zaw { display: grid; grid-template-columns: 1fr 1.15fr; gap: 44px; align-items: start; }
@media (max-width: 900px) { .zawody > .zaw { grid-template-columns: 1fr; } }
.kolaz { position: relative; padding-bottom: 60px; margin: 0; }
.kolaz .duze { border-radius: 14px; box-shadow: var(--cien-2); aspect-ratio: 3/2; object-fit: cover; width: 88%; }
.kolaz .tablica { position: absolute; right: 0; bottom: 0; width: 42%; border-radius: 8px; box-shadow: var(--cien-2); transform: rotate(3deg); border: 6px solid var(--karta); }
.kolaz figcaption { font-size: 13px; color: var(--tusz-2); margin-top: 10px; width: 55%; }
.wynik { position: relative; background: var(--karta); border-radius: 14px; box-shadow: var(--cien); padding: 24px; }
.zakladki { display: flex; gap: 6px; margin: 6px 0 16px; flex-wrap: wrap; }
.zakladki button { font: 600 13.5px/1 var(--bezszeryf); padding: 9px 13px; border-radius: 999px; border: 1px solid var(--linia); background: transparent; color: var(--tusz); cursor: pointer; }
.zakladki button[aria-selected="true"] { background: var(--morze); border-color: var(--morze); color: #fff; }
.slupki { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.slupki[hidden] { display: none; }
.slupki li { display: grid; grid-template-columns: 28px 92px 1fr 70px; align-items: center; gap: 10px; font-size: 15px; }
.slupki .m { font: 600 20px/1 var(--szeryf); color: var(--miedz); }
.slupki .z { font: 600 15px var(--mono); }
.pasek { height: 14px; border-radius: 7px; background: var(--papier-2); overflow: hidden; }
.pasek i { display: block; height: 100%; border-radius: 7px; background: linear-gradient(90deg, var(--fosfor), var(--morze)); width: var(--w); }
.slupki li:first-child .pasek i { background: linear-gradient(90deg, var(--miedz), var(--miedz-2)); }
.slupki .p { text-align: right; font: 500 14px var(--mono); }
.terminy { display: flex; gap: 12px; margin-top: 22px; flex-wrap: wrap; }
.termin { flex: 1; min-width: 150px; border: 1px dashed var(--linia); border-radius: 10px; padding: 12px 14px; }
.termin b { display: block; font: 600 26px/1 var(--szeryf); }
.termin span { font-size: 13.5px; color: var(--tusz-2); }

/* ---------- Zostań krótkofalowcem ---------- */
.zacznij { position: relative; color: #fff; overflow: hidden; background: linear-gradient(120deg, var(--morze), color-mix(in srgb, var(--morze) 72%, #000)); }
.zacznij > .zaw { position: relative; z-index: 2; display: grid; grid-template-columns: 1.3fr .7fr; gap: 48px; align-items: center; padding-top: 84px; padding-bottom: 84px; }
@media (max-width: 900px) { .zacznij > .zaw { grid-template-columns: 1fr; } }
.zacznij .tytul-sekcji, .zacznij p, .zacznij .rubryka { color: #fff; }
.zacznij p { max-width: 52ch; }
.kroki { list-style: none; margin: 26px 0 30px; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; counter-reset: k; }
@media (max-width: 640px) { .kroki { grid-template-columns: 1fr; } }
.kroki li { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12); border-radius: 12px; padding: 16px; counter-increment: k; font-size: 14.5px; }
.kroki li::before { content: "0" counter(k); font: 600 13px/1 var(--mono); opacity: .85; display: block; margin-bottom: 10px; }
.kroki strong { display: block; font: 600 19px/1.2 var(--szeryf); margin-bottom: 6px; }
.plakaty { position: relative; min-height: 420px; }
.plakaty .plakat { position: absolute; right: 0; top: 0; width: 68%; transform: rotate(4deg); border-radius: 8px; box-shadow: 0 30px 60px rgba(0,0,0,.45); border: 8px solid #fff; }
.plakaty .foto { position: absolute; left: 0; bottom: 0; width: 56%; aspect-ratio: 1; object-fit: cover; border-radius: 50%; border: 8px solid #fff; box-shadow: 0 20px 40px rgba(0,0,0,.25); }
@media (max-width: 900px) { .plakaty { min-height: 380px; max-width: 420px; } }

/* ---------- Działy ---------- */
.dzialy { padding: 80px 0 30px; }
.dzialy > .zaw { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
@media (max-width: 900px) { .dzialy > .zaw { grid-template-columns: 1fr; } }
.dzial { position: relative; background: var(--karta); border-radius: 14px; box-shadow: var(--cien); padding: 24px; }
.dzial > * { margin: 0; }
.dzial .ikona { width: 48px; height: 48px; border-radius: 12px; display: grid; place-items: center; background: var(--morze); color: #fff; margin-bottom: 14px; }
.dzial h3 { font: 600 24px/1.2 var(--szeryf); margin: 0 0 6px; }
.dzial p { margin: 0 0 12px; color: var(--tusz-2); font-size: 15px; }
.dzial ul { list-style: none; margin: 0; padding: 0; }
.dzial li a { display: flex; justify-content: space-between; padding: 9px 0; border-top: 1px solid var(--linia); text-decoration: none; font-size: 15.5px; }
.dzial li a::after { content: "→"; color: var(--miedz); }

/* ---------- Partnerzy i zaprzyjaźnione strony (functions.php: ot20-odnosniki) ---------- */
.odnosniki { padding: 30px 0 80px; }
.odnosniki > .zaw { display: flex; flex-wrap: wrap; gap: 28px 48px; }
.grupa-odnosnikow { flex: 0 1 auto; }
.grupa-odnosnikow h2.rubryka { margin-bottom: 14px; }
.odnosniki .loga { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 14px; }
.odnosniki .loga a, .odnosniki .loga li > img, .odnosniki .loga li > .nazwa { display: grid; place-items: center; height: 116px; min-width: 116px; padding: 12px 18px; box-sizing: border-box; background: #fff; border-radius: 12px; box-shadow: var(--cien); text-decoration: none; transition: box-shadow .2s, transform .2s; }
.odnosniki .loga a:hover { box-shadow: var(--cien-2); transform: translateY(-2px); }
.odnosniki .loga img { max-height: 90px; width: auto; max-width: 240px; height: auto; display: block; }
.odnosniki .loga .nazwa { font: 600 15px/1.25 var(--bezszeryf); color: var(--tusz); max-width: 200px; text-align: center; }
@media (max-width: 600px) { .odnosniki .loga img { max-width: 200px; max-height: 64px; } .odnosniki .loga a { height: 88px; } }
/* strona Linki (functions.php: ot20-linki) */
.linki .spis-linkow { list-style: none; margin: 1.5em 0 .5em; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.linki .spis-linkow a { display: inline-block; padding: 6px 14px; border: 1px solid var(--linia); border-radius: 999px; background: #fff; font: 600 14px var(--bezszeryf); text-decoration: none; color: var(--tusz); }
.linki .spis-linkow a:hover { border-color: var(--tusz-2); }
.grupa-linkow { scroll-margin-top: 90px; }
.katalog-linkow { list-style: none; margin: 0; padding: 0; columns: 2 300px; column-gap: 40px; }
.katalog-linkow li { break-inside: avoid; padding: 10px 0 12px; border-top: 1px solid var(--linia); }
.katalog-linkow a { font-weight: 600; }
.katalog-linkow .domena { font: 400 13px var(--mono); color: var(--tusz-2); margin-left: 4px; }
.katalog-linkow p { margin: 4px 0 0; font-size: 15px; line-height: 1.5; color: var(--tusz-2); }

/* ---------- Stopka ---------- */
.stopka { background: var(--tusz); color: #e3e7ec; margin-top: 70px; }
.stopka > .zaw { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 30px; padding-top: 44px; padding-bottom: 44px; font-size: 14.5px; }
@media (max-width: 1100px) { .stopka > .zaw { grid-template-columns: 1fr 1fr; } }
@media (max-width: 800px) { .stopka > .zaw { grid-template-columns: 1fr; } }
.stopka h2 { font: 600 12px/1 var(--bezszeryf); letter-spacing: .14em; text-transform: uppercase; color: var(--fosfor); margin: 0 0 12px; }
.stopka p { margin: 0 0 6px; }
.stopka .marka { margin-bottom: 12px; }
.stopka .marka b { font-size: 38px; color: #fff; }
.stopka .marka .romb { height: 56px; }
.stopka .przygaszony { opacity: .75; }
.stopka a { color: inherit; }

/* ---------- Wpis i strona ---------- */
.wpis-naglowek { margin-bottom: 28px; }
.wpis-naglowek > * { margin: 0; }
.wpis-naglowek .wp-block-post-title { font-size: clamp(34px, 5vw, 52px); line-height: 1.08; letter-spacing: -.02em; margin: 10px 0 14px; text-wrap: balance; }
.wpis-meta { display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: center; color: var(--tusz-2); font-size: 14px; }
.wpis-meta > * { margin: 0 !important; }
.wpis-meta .wp-block-post-author-name { font-family: var(--mono); font-size: 12.5px; }
.wpis-meta .wpis-odslony { font-family: var(--mono); font-size: 12.5px; }
.licznik-odslon { font-family: var(--mono); font-size: 12.5px; margin-top: 10px; }
.wpis-obraz img { border-radius: 14px; box-shadow: var(--cien); }
/* pionowe zdjęcie nad wpisem (np. Skarbnik, 5.11.2026): najwyżej 720 px, wyśrodkowane, bez przycinania */
.wpis-obraz img { max-height: 720px; width: auto !important; max-width: 100%; margin-inline: auto; display: block; }
.wp-block-post-content { font-size: 18px; line-height: 1.7; }
.wp-block-post-content a { color: var(--morze); }
/* przyciski w treści: kolor linku z treści nadpisywał napis na przycisku (niebieskie na czerwonym) */
.wp-block-post-content .wp-block-button:not(.is-style-outline) > .wp-block-button__link { color: #fff; }
.wp-block-post-content .wp-block-button.is-style-outline > .wp-block-button__link { color: var(--tusz); }
/* odnośnik do kopii w Internet Archive (dawna strona już nie istnieje) — widać, że to kopia historyczna */
.wp-block-post-content a[href^="https://web.archive.org/web/"]::after { content: "archiwum"; font: 600 10px/1 var(--bezszeryf); letter-spacing: .06em; text-transform: uppercase; color: var(--tusz-2); border: 1px solid var(--linia); border-radius: 4px; padding: 2px 4px; margin-left: 5px; vertical-align: 2px; white-space: nowrap; }
.wp-block-post-content img { border-radius: 10px; }
.wp-block-post-content table { border-collapse: collapse; width: 100%; font-size: 16px; }
.wp-block-post-content th, .wp-block-post-content td { border: 1px solid var(--linia); padding: 8px 10px; text-align: left; vertical-align: top; }
.wp-block-post-content th { background: var(--papier-2); }
.wp-block-post-content figure.wp-block-table, .wp-block-post-content table { overflow-x: auto; }
@media (max-width: 640px) { .wp-block-post-content table { display: block; overflow-x: auto; font-size: 14.5px; } }
.wp-block-post-content td p, .wp-block-post-content th p { margin: 0; }
.dane-oddzialu table { background: var(--karta); border-radius: var(--r); box-shadow: var(--cien); overflow: hidden; }
@media (max-width: 640px) { .wp-block-post-content .dane-oddzialu table { display: table; width: 100%; } }   /* krótkie wiersze — bez przewijania w bok, pełna szerokość */
.dane-oddzialu th, .dane-oddzialu td { border: 0 !important; border-bottom: 1px solid var(--linia) !important; padding: 12px 16px !important; }
.dane-oddzialu th { width: 110px; background: transparent !important; font: 600 12px/1.2 var(--bezszeryf); letter-spacing: .1em; text-transform: uppercase; color: var(--tusz-2); }
.wp-block-post-content h2 { font-size: 30px; margin-top: 2.2em; }
.wp-block-post-content h3 { margin-top: 1.8em; }
.sasiedzi { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 48px; }
@media (max-width: 640px) { .sasiedzi { grid-template-columns: 1fr; } }
.sasiedzi > * { margin: 0 !important; background: var(--karta); border-radius: var(--r); box-shadow: var(--cien); transition: transform .2s, box-shadow .2s; }
.sasiedzi > :hover { transform: translateY(-2px); box-shadow: var(--cien-2); }
.sasiedzi > :empty { display: none; }
.sasiedzi a { display: block; padding: 16px 18px; color: var(--tusz); text-decoration: none; }
.sasiedzi .post-navigation-link__label { display: block; font: 600 11px/1 var(--bezszeryf); letter-spacing: .12em; text-transform: uppercase; color: var(--miedz); margin-bottom: 8px; }
.sasiedzi .post-navigation-link__title { font: 600 19px/1.25 var(--szeryf); }
.sasiedzi .post-navigation-link-next { text-align: right; }
.naglowek-listy { margin-bottom: 28px; }
/* strony działów: ścieżka nad tytułem, lista podstron, rozdziały cyklu */
.ot20-okruszki a { color: inherit; }
.ot20-okruszki span { color: var(--tusz-2); margin: 0 4px; }
.wp-block-post-content .wp-block-page-list { list-style: none; padding: 0; margin: 0 0 1.5em; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 0 28px; font-size: 16.5px; }
.wp-block-post-content .wp-block-page-list > li { border-top: 1px solid var(--linia); }
.wp-block-post-content .wp-block-page-list a { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; text-decoration: none; color: var(--tusz); }
.wp-block-post-content .wp-block-page-list a::after { content: "→"; color: var(--miedz); }
.wp-block-post-content .wp-block-page-list .wp-block-navigation__submenu-container { display: none; }
.wp-block-post-content .wp-block-page-list .wp-block-navigation-item__label { all: unset; }
.ot20-rozdzialy.sasiedzi > a { margin: 0 !important; background: var(--karta); border-radius: var(--r); box-shadow: var(--cien); padding: 16px 18px; display: block; color: var(--tusz); text-decoration: none; }
.ot20-rozdzialy.sasiedzi > span:empty { display: block; }
/* galeria: siatka albumów i album */
.ot20-albumy.siatka { list-style: none; padding: 0; margin: 2em 0 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 20px; }
.ot20-albumy .karta a { display: flex; flex-direction: column; height: 100%; text-decoration: none; color: var(--tusz); }
.ot20-albumy .karta img, .ot20-albumy .karta .ilustracja { width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block; }
.ot20-albumy .karta .tresc { padding: 12px 14px 14px; gap: 6px; }
.ot20-albumy .karta b { font: 600 18px/1.25 var(--szeryf); }
.ot20-albumy .karta .data { font: 500 12.5px/1 var(--mono); color: var(--tusz-2); margin-top: auto; }
.wp-block-gallery.ot20-album { margin-top: 1.5em; }
/* albumy: własna siatka zamiast rzędów WordPressa (jego reguły z :not(#individual-image) gryzły się z podpisem
   pod zdjęciem) — kafelki 4:3 z podpisem pod spodem; karty QSL (bez is-cropped) w całości, po dwie */
.wp-block-gallery.has-nested-images.ot20-album { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px 14px; align-items: start; }
.wp-block-gallery.has-nested-images.ot20-album:not(.is-cropped) { grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); }
.wp-block-gallery.has-nested-images.ot20-album figure.wp-block-image:not(#ot20) { width: auto !important; margin: 0 !important; display: flex; flex-direction: column; }
.wp-block-gallery.has-nested-images.ot20-album figure.wp-block-image:not(#ot20) img { width: 100%; height: auto; flex: none; border-radius: 8px; }
.wp-block-gallery.has-nested-images.ot20-album.is-cropped figure.wp-block-image:not(#ot20) img { aspect-ratio: 4/3; object-fit: cover; }
.wp-block-gallery.has-nested-images.ot20-album:not(.is-cropped) figure.wp-block-image:not(#ot20) img { box-shadow: var(--cien); }
.wp-block-gallery.has-nested-images.ot20-album figure.wp-block-image:not(#ot20)::before { display: none; }
.wp-block-gallery.has-nested-images.ot20-album figure.wp-block-image:not(#ot20) figcaption { position: static; background: none; color: var(--tusz-2); text-shadow: none; font-size: 13px; line-height: 1.35; padding: 6px 2px 0; max-height: none; overflow: visible; text-align: left; }
/* Lubelski Maraton UKF */
.maraton h2 { font-size: 28px; margin: 1.6em 0 .4em; }
.maraton .lata { display: flex; flex-wrap: wrap; gap: 6px; margin: 1em 0; }
.maraton .lata a, .maraton .lata span { font: 600 14px/1 var(--mono); padding: 8px 11px; border-radius: 999px; text-decoration: none; border: 1px solid var(--linia); color: var(--tusz); }
.maraton .lata span { background: var(--morze); border-color: var(--morze); color: #fff; }
.maraton .wynik { margin-top: 12px; }
.maraton table.wyniki { width: 100%; border-collapse: collapse; font-size: 15.5px; }
.maraton table.wyniki th { font: 600 11px/1 var(--bezszeryf); letter-spacing: .1em; text-transform: uppercase; color: var(--tusz-2); text-align: left; padding: 0 10px 10px 0; border: 0; border-bottom: 2px solid var(--morze); background: none; }
.maraton table.wyniki td { padding: 8px 10px 8px 0; border: 0; border-bottom: 1px solid var(--linia); }
.maraton table.wyniki td:first-child { font: 600 18px/1 var(--szeryf); color: var(--miedz); width: 70px; }
.maraton table.wyniki .znak { font: 600 15px var(--mono); }
.maraton table.wyniki .tur { font: 400 12px var(--mono); color: var(--tusz-2); }
.maraton .tury { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.maraton .tury a { display: grid; gap: 2px; padding: 12px 14px; border: 1px solid var(--linia); border-radius: 10px; text-decoration: none; color: var(--tusz); background: var(--karta); }
.maraton .tury a:hover { border-color: var(--morze); }
.maraton .tury b { font: 600 22px/1 var(--szeryf); color: var(--morze); }
.maraton .tury span { font-size: 13.5px; color: var(--tusz-2); }
/* archiwa: wyszukiwarka, wspomnienia, baza klubów */
.filtr .filtry { display: flex; flex-wrap: wrap; gap: 12px 18px; align-items: end; margin: 1.5em 0 .5em; }
.filtr label { display: grid; gap: 4px; font: 600 12px/1.2 var(--bezszeryf); letter-spacing: .06em; text-transform: uppercase; color: var(--tusz-2); }
.filtr label.szukaj { margin-top: 1.5em; max-width: 520px; }
.filtr .filtry label.szukaj { margin-top: 0; flex: 1 1 280px; }
.filtr input[type=search], .filtr select { font: 400 16px var(--bezszeryf); padding: 10px 14px; border: 1px solid var(--linia); border-radius: 10px; background: #fff; text-transform: none; letter-spacing: 0; color: var(--tusz); }
.filtr label.pole-wyboru { display: flex; align-items: center; gap: 8px; text-transform: none; letter-spacing: 0; font: 500 15px var(--bezszeryf); color: var(--tusz); padding-bottom: 10px; }
.filtr .licznik { margin: .6em 0 1.2em; font-size: 14px; }
.wspomnienie { padding: 16px 0 18px; border-top: 1px solid var(--linia); display: grid; grid-template-columns: auto 1fr; column-gap: 18px; }
.wspomnienie > :not(.foto) { grid-column: 2; }
.wspomnienie:not(:has(.foto)) { grid-template-columns: 1fr; }
.wspomnienie:not(:has(.foto)) > * { grid-column: 1; }
.wspomnienie .foto { grid-row: span 2; width: 96px; height: 96px; object-fit: cover; border-radius: 10px; }
.wspomnienie h3 { margin: 0 0 6px; font-size: 20px; }
.wspomnienie .znak { font: 600 18px var(--mono); color: var(--tusz); }
.wspomnienie .oddzial { font: 500 12px var(--mono); color: var(--tusz-2); margin-left: 6px; }
.wspomnienie .tresc { font-size: 16px; line-height: 1.6; color: var(--tusz-2); }
.wspomnienie .tresc p { margin: 0 0 .5em; }
.wspomnienie .tresc img { max-width: 220px; border-radius: 8px; margin: 4px 0; }
.wspomnienie .cale-wspomnienie summary { cursor: pointer; font-size: 14px; font-weight: 600; color: var(--tusz); margin: 2px 0 6px; }
.wspomnienie .cale-wspomnienie[open] summary { margin-bottom: 10px; }
.wspomnienie .o-osobie { font-size: 14px; line-height: 1.6; margin: 6px 0 0; }
.wspomnienie:target { background: var(--papier-2, #f4f1ea); }
.tabela-przewijana { overflow-x: auto; }
table.kluby { width: 100%; border-collapse: collapse; font-size: 14.5px; }
table.kluby th { font: 600 11px/1 var(--bezszeryf); letter-spacing: .1em; text-transform: uppercase; color: var(--tusz-2); text-align: left; padding: 0 10px 10px 0; border: 0; border-bottom: 2px solid var(--morze); background: none; white-space: nowrap; }
table.kluby td { padding: 7px 10px 7px 0; border: 0; border-bottom: 1px solid var(--linia); vertical-align: top; }
table.kluby td.znak { font: 600 14.5px var(--mono); white-space: nowrap; }
/* do pobrania: pozycja = tytuł, rok, odnośniki do plików */
.wp-block-list.do-pobrania { list-style: none; padding: 0; font-size: 16px; }
.wp-block-list.do-pobrania > li { padding: 10px 0; border-top: 1px solid var(--linia); line-height: 1.45; }
.do-pobrania .rok { font: 500 12.5px/1 var(--mono); color: var(--tusz-2); margin-left: 4px; }
.do-pobrania .pliki { display: inline-block; margin-left: 6px; white-space: nowrap; }
.do-pobrania .pliki a { font: 600 12px/1 var(--mono); letter-spacing: .04em; text-decoration: none; background: color-mix(in srgb, var(--morze) 10%, transparent); color: var(--morze); padding: 4px 7px; border-radius: 5px; }
.do-pobrania .rozmiar { font: 400 12px/1 var(--mono); color: var(--tusz-2); }
/* komunikaty: odtwarzacz z datą */
.wp-block-audio.komunikat { margin: 0 0 10px; display: grid; grid-template-columns: 220px 1fr; align-items: center; gap: 4px 16px; }
.wp-block-audio.komunikat audio { width: 100%; }
.wp-block-audio.komunikat figcaption { order: -1; margin: 0; text-align: left; font: 500 14px var(--bezszeryf); color: var(--tusz); }
@media (max-width: 640px) { .wp-block-audio.komunikat { grid-template-columns: 1fr; } }
.wp-block-gallery.ot20-album .wp-block-image img { border-radius: 8px; }
.wp-block-gallery.ot20-album.has-nested-images figure.wp-block-image { flex-direction: column; }
/* podpis pod zdjęciem, nie na nim (długie podpisy zasłaniały zdjęcia i karty QSL) */
.wp-block-gallery.ot20-album.has-nested-images figure.wp-block-image figcaption { position: static; background: none; color: var(--tusz-2); text-shadow: none; font-size: 13px; line-height: 1.35; padding: 6px 2px 0; max-height: none; overflow: visible; text-align: left; }
.wp-block-gallery.ot20-album.has-nested-images figure.wp-block-image figcaption::before { display: none; }
.wp-block-gallery.ot20-album.is-cropped figure.wp-block-image img { aspect-ratio: 4/3; height: auto; flex: none; }
.wp-block-gallery.ot20-album:not(.is-cropped) figure.wp-block-image { justify-content: flex-start; }
.wp-block-gallery.ot20-album:not(.is-cropped) img { box-shadow: var(--cien); }
.naglowek-listy > * { margin: 0; }
.naglowek-listy .ot20-okruszki { margin-bottom: 12px; }
.naglowek-listy .wp-block-query-title, .naglowek-listy h1 { font-size: clamp(36px, 5vw, 56px); }
.naglowek-listy .wp-block-term-description { color: var(--tusz-2); max-width: 70ch; margin-top: 10px; }
.wp-block-query-pagination { margin-top: 40px; gap: 6px; font: 600 15px var(--bezszeryf); }
.wp-block-query-pagination a, .wp-block-query-pagination .current { padding: 8px 12px; border-radius: 8px; text-decoration: none; }
.wp-block-query-pagination .current { background: var(--morze); color: #fff; }
.wp-block-query-pagination a:hover { background: color-mix(in srgb, var(--morze) 10%, transparent); }
.wp-block-search__input { border: 1px solid var(--linia); border-radius: 999px; padding: 10px 16px; font: inherit; }
.wp-block-search__button { border-radius: 999px; }
/* odnośniki powrotu pod wpisem, stroną i listą (functions.php: ot20_powrot) */
.ot20-powrot { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 32px; margin-top: 48px !important; font: 600 15px/1.4 var(--bezszeryf); }
.ot20-powrot a { color: var(--miedz); text-decoration: none; }
.ot20-powrot a:hover, .ot20-powrot a:focus-visible { text-decoration: underline; }
/* ramka „DX na żywo” na liście kategorii DX i wyprawy (functions.php) */
.dx-na-zywo { margin-top: 22px; padding: 18px 22px 8px; background: var(--karta); border-radius: var(--r); box-shadow: var(--cien); max-width: 980px; }
.dx-na-zywo h2.rubryka { margin: 0 0 6px; }
.dx-na-zywo .katalog-linkow { columns: 2 300px; }
/* kafelki „W tym dziale” (functions.php: render_block_core/page-list) */
.kafle-dzialu { list-style: none; margin: 18px 0 1.5em; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 18px; }
.kafle-dzialu > li { margin: 0; }
.wp-block-post-content .kafle-dzialu a.kafel-dzialu { height: 100%; box-sizing: border-box; display: flex; flex-direction: column; gap: 8px; padding: 20px 22px 18px; background: var(--karta); border-radius: var(--r); box-shadow: var(--cien); color: var(--tusz); text-decoration: none; transition: transform .2s, box-shadow .2s; overflow: hidden; }
.wp-block-post-content .kafle-dzialu a.kafel-dzialu:hover, .wp-block-post-content .kafle-dzialu a.kafel-dzialu:focus-visible { transform: translateY(-2px); box-shadow: var(--cien-2); }
.kafel-dzialu .tytul { font: 600 21px/1.2 var(--szeryf); }
.kafel-dzialu .opis { font-size: 15px; line-height: 1.5; color: var(--tusz-2); }
.kafel-dzialu .dalej { margin-top: auto; padding-top: 6px; color: var(--miedz); font: 600 18px/1 var(--bezszeryf); }
/* „Ci, którzy odeszli”: lista pożegnanych z kategorii Silent Key (functions.php) */
.sk-oddzialu { margin: 8px 0 40px; }
.lista-sk { list-style: none; margin: 14px 0 0; padding: 0; columns: 2 300px; column-gap: 32px; }
.lista-sk li { break-inside: avoid; padding: 7px 0; border-top: 1px solid var(--linia); font-size: 15px; display: flex; justify-content: space-between; gap: 10px; }
.lista-sk a { color: var(--tusz); text-decoration: none; }
.lista-sk a:hover { text-decoration: underline; }
.lista-sk .mono { color: var(--tusz-2); font-size: 13px; white-space: nowrap; margin-left: auto; }
.lista-sk .do-karty { font-size: 13px; color: var(--tusz-2); white-space: nowrap; }
.filtr .maly { font-size: 13px; margin: 6px 0 0; }

/* Aktualności według lat (wariant c) */
.archiwum-lat { margin: 56px 0 0; padding-top: 28px; border-top: 1px solid var(--linia); }
.archiwum-lat h2 { margin: 0 0 6px; }
nav.lata ul { list-style: none; margin: 16px 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
nav.lata a { display: inline-flex; align-items: baseline; gap: 6px; padding: 7px 12px; border: 1px solid var(--linia); border-radius: 999px; color: var(--tusz); text-decoration: none; font-size: 15px; }
nav.lata a:hover { border-color: var(--tusz); }
nav.lata a[aria-current] { background: var(--tusz); color: #fff; border-color: var(--tusz); }
nav.lata a span { font: 500 12px var(--mono); opacity: .7; }
.szukaj-w-archiwum { max-width: 520px; margin-top: 8px; }
.ot20-rok h2.miesiac { font-size: 18px; margin: 28px 0 6px; }
.rok-lista { list-style: none; margin: 0; padding: 0; }
.rok-lista li { display: grid; grid-template-columns: 52px 1fr auto; gap: 14px; align-items: baseline; padding: 8px 0; border-top: 1px solid var(--linia); font-size: 16px; }
.rok-lista li .mono { color: var(--tusz-2); font-size: 13px; }
.rok-lista li a { color: var(--tusz); text-decoration: none; }
.rok-lista li a:hover { text-decoration: underline; }
.rok-lista li .kat { color: var(--tusz-2); font-size: 13px; white-space: nowrap; }
@media (max-width: 640px) { .rok-lista li { grid-template-columns: 44px 1fr; } .rok-lista li .kat { grid-column: 2; } }

/* Ekspedycje DX (strona historii): wyprawa = zdjęcie + opis */
.wp-block-media-text.wyprawa { margin: 0 0 28px; padding-top: 24px; border-top: 1px solid var(--linia); }
.wp-block-media-text.wyprawa img { border-radius: 10px; }
.wp-block-media-text.wyprawa .wp-block-media-text__content { padding: 0 0 0 24px; }
.wp-block-media-text.wyprawa h3 { margin: 0 0 4px; }
.wp-block-media-text.wyprawa p { margin: 0 0 8px; color: var(--tusz-2); }
@media (max-width: 600px) { .wp-block-media-text.wyprawa .wp-block-media-text__content { padding: 14px 0 0; } }

/* Silent Key: czarna wstęga (kir) w prawym górnym rogu zdjęcia; kafelki ze świecą (bez zdjęcia) bez wstęgi */
.category-silent-key .karta-obraz:not(:has(.ilustracja)), .wpis-sk .wpis-obraz, .wpis-sk .wp-block-post-content figure.wp-block-image { position: relative; overflow: hidden; }
.wpis-sk .wp-block-post-content figure.wp-block-image { width: fit-content; max-width: 100%; border-radius: 10px; }
.category-silent-key .karta-obraz:not(:has(.ilustracja))::after, .wpis-sk .wpis-obraz::after, .wpis-sk .wp-block-post-content figure.wp-block-image::after {
	content: ""; position: absolute; top: 24px; right: -46px; width: 170px; height: 20px; background: #111;
	transform: rotate(45deg); box-shadow: 0 1px 3px rgba(0, 0, 0, .35); pointer-events: none;
}
.wpis-sk .z-kirem { position: relative; display: inline-block; overflow: hidden; border-radius: 8px; line-height: 0; max-width: 100%; }
.wpis-sk .z-kirem.plyw-left { float: left; margin: 4px 18px 10px 0; }
.wpis-sk .z-kirem.plyw-right { float: right; margin: 4px 0 10px 18px; }
.wpis-sk .z-kirem::after { content: ""; position: absolute; top: 22px; right: -48px; width: 170px; height: 18px; background: #111; transform: rotate(45deg); box-shadow: 0 1px 3px rgba(0, 0, 0, .35); pointer-events: none; }
.stopka .autorzy span { white-space: nowrap; }

/* Mapa stacji bezobsługowych (strona Eter) */
.mapa-stacji { margin: 0 0 40px; }
.mapa-interaktywna { position: relative; height: 520px; border-radius: 14px; overflow: hidden; box-shadow: var(--cien); background: var(--papier-2); }
.mapa-zaslona { position: absolute; inset: 0; background-size: cover; background-position: center; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: 20px; text-align: center; }
.mapa-zaslona::before { content: ""; position: absolute; inset: 0; background: rgba(255, 255, 255, .55); }
.mapa-zaslona > * { position: relative; }
.mapa-zaslona p { margin: 0; max-width: 420px; font-size: 14px; color: var(--tusz); background: rgba(255, 255, 255, .85); padding: 6px 10px; border-radius: 8px; }
.mapa-lista { list-style: none; margin: 6px 0 0; padding: 0; font-size: 13px; }
.mapa-lista li { padding: 4px 0; border-top: 1px solid #eee; }
.mapa-lista span { color: #555; font-family: var(--mono); font-size: 12px; }
@media (max-width: 640px) { .mapa-interaktywna { height: 420px; } }
.mapa-link { display: block; }

/* Władze oddziału: karty osób (treść własna strony /oddzial/wladze/) */
.osoby { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 14px; margin: 14px 0 36px; }
.osoba { display: flex; gap: 16px; align-items: flex-start; padding: 16px; background: var(--karta); border: 1px solid var(--linia); border-radius: 14px; }
.osoba-foto { flex: 0 0 76px; width: 76px; height: 90px; object-fit: cover; border-radius: 10px; }
.osoba-foto.brak { display: flex; align-items: center; justify-content: center; background: color-mix(in srgb, var(--morze) 10%, #fff); color: var(--morze); font: 600 24px var(--szeryf); letter-spacing: .02em; }
.osoba-dane { min-width: 0; }
.osoba .funkcja { margin: 0 0 4px; font: 600 12px/1.3 var(--bezszeryf); letter-spacing: .1em; text-transform: uppercase; color: var(--miedz); }
.osoba h3 { margin: 0 0 6px; font-size: 19px; line-height: 1.3; }
.osoba h3 .znak { display: block; font: 600 15px var(--mono); color: var(--tusz-2); margin-top: 2px; }
.osoba .kontakt { margin: 0; font-size: 15px; line-height: 1.6; overflow-wrap: anywhere; }
.osoba .kontakt .adres { display: block; color: var(--tusz-2); }
@media (max-width: 640px) { .osoby { grid-template-columns: 1fr; } }

/* Odznaczenia PZK: liczby, medale na kartach, tabela z wyszukiwarką i znaczkami wyróżnień */
.liczby-odznaczen { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 18px 0 30px; }
.liczby-odznaczen div { padding: 16px 18px; background: var(--karta); border: 1px solid var(--linia); border-radius: 14px; }
.liczby-odznaczen b { display: block; font: 600 40px/1 var(--szeryf); color: var(--miedz); }
.liczby-odznaczen span { display: block; margin-top: 6px; font-size: 14px; color: var(--tusz-2); line-height: 1.35; }
@media (max-width: 640px) { .liczby-odznaczen { grid-template-columns: 1fr; } }
.osoba-foto.medal { display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; flex-basis: 64px; border-radius: 12px; font: 600 14px var(--mono); background: color-mix(in srgb, var(--miedz) 9%, #fff); color: var(--miedz); }
.osoba-foto.medal.ch { box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--miedz) 55%, transparent); }
table.odznaczenia { width: 100%; border-collapse: collapse; font-size: 15px; }
table.odznaczenia th { text-align: left; font: 600 12px var(--bezszeryf); letter-spacing: .08em; text-transform: uppercase; color: var(--tusz-2); padding: 8px 10px; border-bottom: 2px solid var(--tusz); }
table.odznaczenia td { padding: 9px 10px; border-bottom: 1px solid var(--linia); vertical-align: top; }
table.odznaczenia td.nr, table.odznaczenia td.rok { font-family: var(--mono); color: var(--tusz-2); white-space: nowrap; }
table.odznaczenia td.znak { font: 600 15px var(--mono); white-space: nowrap; }
table.odznaczenia tbody tr:hover { background: color-mix(in srgb, var(--morze) 5%, transparent); }
.wyr { display: inline-block; margin: 0 4px 3px 0; padding: 2px 8px; border-radius: 999px; font: 600 12px/1.6 var(--bezszeryf); white-space: nowrap; }
.wyr.ch, .wyr.zoh { background: color-mix(in srgb, var(--miedz) 10%, #fff); color: var(--miedz); }
.wyr.wsp { background: color-mix(in srgb, var(--morze) 10%, #fff); color: var(--morze); text-decoration: none; }
.wyr.wsp:hover { text-decoration: underline; }
@media (max-width: 640px) {
	table.odznaczenia, table.odznaczenia tbody { display: block; width: 100%; }
	table.odznaczenia thead { display: none; }
	table.odznaczenia tr { display: grid; grid-template-columns: auto 1fr auto; gap: 2px 12px; padding: 10px 2px; border-bottom: 1px solid var(--linia); }
	table.odznaczenia td { border: 0; padding: 0; }
	table.odznaczenia td.nr { grid-area: 1 / 1; } table.odznaczenia td.znak { grid-area: 1 / 2; } table.odznaczenia td.rok { grid-area: 1 / 3; }
	table.odznaczenia td:nth-child(3) { grid-area: 2 / 1 / 3 / -1; } table.odznaczenia td.wyrozn { grid-area: 3 / 1 / 4 / -1; }
	table.odznaczenia td.wyrozn:empty { display: none; }
}

/* Do pobrania: zwijana część „Materiały archiwalne” w dziale (decyzje redakcji) */
.wp-block-details.archiwalne { margin: 6px 0 26px; padding: 10px 14px; border: 1px dashed var(--linia); border-radius: 10px; }
.wp-block-details.archiwalne summary { cursor: pointer; font-size: 14px; font-weight: 600; color: var(--tusz-2); }
.wp-block-details.archiwalne[open] summary { margin-bottom: 4px; }
.wp-block-details.archiwalne .do-pobrania { opacity: .85; }
