/*
Theme Name: Jefferson
Theme URI: https://jefferson.org.pl
Description: Motyw blokowy Instytutu Jeffersona. Prototyp v0.1 — wymaga wtyczki IJ Core.
Version: 0.1.19
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: jefferson
License: proprietary
*/

/* ---------- kolory kolumn: --acc = kolor obszaru bieżącej strony lub elementu ---------- */
:root { --ij-k1:#34557A; --ij-k2:#9A7430; --ij-k2t:#7E5E22; --ij-k3:#4E6A58; --ij-k4:#A3431F; --ij-ink:#172231; --ij-stone:#5F6873; --ij-line:#D5DAE0; --ij-paper:#F6F7F8; --acc: var(--ij-ink); }
.ij-kol-1 { --acc: var(--ij-k1); --acc-t: var(--ij-k1); }
.ij-kol-2 { --acc: var(--ij-k2); --acc-t: var(--ij-k2t); }
.ij-kol-3 { --acc: var(--ij-k3); --acc-t: var(--ij-k3); }
.ij-kol-4 { --acc: var(--ij-k4); --acc-t: var(--ij-k4); }
.ij-fg-1 { color: var(--ij-k1); } .ij-fg-2 { color: var(--ij-k2t); } .ij-fg-3 { color: var(--ij-k3); } .ij-fg-4 { color: var(--ij-k4); }
.ij-bg-1 { background: var(--ij-k1); } .ij-bg-2 { background: var(--ij-k2); } .ij-bg-3 { background: var(--ij-k3); } .ij-bg-4 { background: var(--ij-k4); }
.ij-btn-acc, .ij-btn-acc:visited { background: var(--acc-t, var(--acc)) !important; color: #fff !important; }
.ij-kicker { font-family: var(--wp--preset--font-family--mono); font-size: var(--wp--preset--font-size--xs); letter-spacing: .08em; text-transform: uppercase; color: var(--acc-t, var(--ij-stone)); margin: 0; }
.ij-luka { font-family: var(--wp--preset--font-family--mono); font-size: .75rem; background: #FFF5D6; border: 1px solid #E8D69A; color: #6B4E0F; border-radius: 3px; padding: .15rem .45rem; display: inline-block; }
.ij-link { font-weight: 600; color: var(--acc-t, var(--ij-ink)); text-underline-offset: 3px; }
.ij-small { font-weight: 400; }
:focus-visible { outline: 2px solid var(--acc); outline-offset: 2px; }

/* ---------- nagłówek ---------- */
.ij-proto { background: #FFF5D6; color: #6B4E0F; font: 500 .75rem/1.4 var(--wp--preset--font-family--mono); text-align: center; padding: .35rem 1rem; }
.ij-util { background: var(--ij-paper); font-size: var(--wp--preset--font-size--xs); }
.ij-util .wp-block-navigation { font-size: var(--wp--preset--font-size--xs); }
.ij-a11y { display: inline-flex; gap: .25rem; }
.ij-a11y button { font: 500 .75rem/1 var(--wp--preset--font-family--franklin); border: 1px solid #AEB5BE; background: #fff; color: var(--ij-ink); border-radius: 4px; padding: .3rem .5rem; cursor: pointer; }
.ij-a11y button[aria-pressed="true"] { background: var(--ij-ink); color: #fff; border-color: var(--ij-ink); }
.ij-logo { display: inline-flex; align-items: center; gap: .6rem; text-decoration: none; color: var(--ij-ink); }
.ij-logo__sygnet { width: 36px; height: 36px; flex: none; }
.ij-logo__napis { font-weight: 600; font-size: .8125rem; letter-spacing: .12em; white-space: nowrap; }
.ij-ink { fill: var(--ij-ink); } .ij-c1 { fill: var(--ij-k1); } .ij-c2 { fill: var(--ij-k2); } .ij-c3 { fill: var(--ij-k3); } .ij-c4 { fill: var(--ij-k4); }

.ij-header .wp-block-navigation a { text-decoration: none; }
.ij-header .wp-block-navigation a:hover { text-decoration: underline; }
@media (max-width: 781px) { .ij-util-nav { display: none !important; } .ij-logo__napis { font-size: .6875rem; } .ij-logo__sygnet { width: 28px; height: 28px; } }

/* ---------- okruszki ---------- */
.ij-crumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .25rem; font-size: var(--wp--preset--font-size--xs); color: var(--ij-stone); }
.ij-crumbs li + li::before { content: "›"; margin-right: .25rem; }
.ij-crumbs a { color: var(--ij-stone); }
.ij-crumbs [aria-current] { color: var(--ij-ink); }

/* ---------- hero: animacja kolumn ---------- */
.ij-kolumny { --pw: 84px; --ph: 220px; --pg: 84px; --s: .143; --u: calc(var(--pw) * var(--s) / 2); position: relative; height: 320px; overflow: hidden; }
/* Intro (raz, 4,4 s): ikona → dach w górę, podstawa w dół → kolumny rosną do pełnego rozmiaru */
.ij-intro { position: absolute; inset: 0; pointer-events: none; animation: ij-intro-out 4.4s linear both; }
.ij-intro__pillars { position: absolute; left: 50%; top: 50%; display: flex; gap: var(--pg); transform: translate(-50%, -50%) scale(var(--s)); animation: ij-pillars-grow 4.4s cubic-bezier(.3,.7,.2,1) both; }
.ij-intro__pillars span { display: block; width: var(--pw); height: var(--ph); border-radius: 999px; }
.ij-intro__roof { position: absolute; left: 50%; width: calc(19.5 * var(--u)); height: calc(8.5 * var(--u)); bottom: calc(50% + 4.125 * var(--u)); transform: translateX(-50%); animation: ij-roof-up 4.4s ease both; }
.ij-intro__base { position: absolute; left: 50%; width: calc(19 * var(--u)); height: calc(1.5 * var(--u)); top: calc(50% + 3.875 * var(--u)); border-radius: 999px; background: var(--ij-ink); transform: translateX(-50%); animation: ij-base-down 4.4s ease both; }
@keyframes ij-intro-out { 0% { opacity: 0; } 12% { opacity: 1; } 95% { opacity: 1; } 100% { opacity: 0; } }
@keyframes ij-roof-up { 0%, 36% { transform: translateX(-50%); opacity: 1; } 55%, 100% { transform: translate(-50%, -90px); opacity: 0; } }
@keyframes ij-base-down { 0%, 36% { transform: translateX(-50%); opacity: 1; } 55%, 100% { transform: translate(-50%, 90px); opacity: 0; } }
@keyframes ij-pillars-grow { 0%, 55% { transform: translate(-50%, -50%) scale(var(--s)); } 82%, 100% { transform: translate(-50%, -50%) scale(1); } }
/* Pętla (od 4,2 s, cykl 15 s): kolejno jedna kolumna z nazwą obszaru, potem cztery kolumny */
.ij-layer { position: absolute; inset: 0; display: flex; align-items: center; opacity: 0; animation: ij-show 15s linear infinite both; }
.ij-layer--all { justify-content: center; gap: var(--pg); }
.ij-layer--one { justify-content: flex-start; gap: 2.5rem; padding-left: 10%; }
.ij-pill { display: block; width: var(--pw); height: var(--ph); border-radius: 999px; flex: none; transform-origin: 50% 100%; animation: ij-grow 15s cubic-bezier(.2,.7,.2,1) infinite both; }
.ij-pill--sm { width: 56px; height: 147px; }
.ij-layer__name { font-size: 3.5rem; font-weight: 650; line-height: 1.05; letter-spacing: -.015em; max-width: 9em; }
.ij-kolumny__static { display: none; }
@keyframes ij-show { 0% { opacity: 0; } 2% { opacity: 1; } 18% { opacity: 1; } 20%, 100% { opacity: 0; } }
@keyframes ij-grow { 0% { transform: scaleY(0); } 5%, 100% { transform: scaleY(1); } }
@media (max-width: 781px) {
	.ij-kolumny { --pw: 44px; --ph: 115px; --pg: 44px; height: 220px; }
	.ij-layer--one { gap: 1.4rem; padding-left: 4%; }
	.ij-pill--sm { width: 36px; height: 94px; }
	.ij-layer__name { font-size: 1.9rem; }
}
@media (prefers-reduced-motion: reduce) {
	.ij-intro, .ij-layer--one { display: none; }
	.ij-layer, .ij-pill { animation: none; } .ij-layer--all { opacity: 1; }
	.ij-kolumny__static { display: flex; flex-wrap: wrap; gap: .25rem 1rem; justify-content: center; list-style: none; padding: 0; margin: 0; position: absolute; bottom: 0; left: 0; right: 0; font-size: .875rem; font-weight: 600; }
}

/* ---------- obszary (strona główna) ---------- */
.ij-obszary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; }
@media (max-width: 900px) { .ij-obszary { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .ij-obszary { grid-template-columns: 1fr; } }
.ij-obszar { display: grid; gap: .5rem; align-content: start; text-decoration: none; color: inherit; padding-bottom: .5rem; }
.ij-obszar__bar { height: 6px; border-radius: 3px; }
.ij-obszar__name { font-size: var(--wp--preset--font-size--l); font-weight: 650; }
.ij-obszar__desc { color: var(--ij-stone); font-size: var(--wp--preset--font-size--s); }
.ij-obszar__count { font-weight: 600; font-size: var(--wp--preset--font-size--s); color: var(--acc-t); }
.ij-obszar:hover .ij-obszar__name { text-decoration: underline; }

/* ---------- sekcja flagowa ---------- */
.ij-flag { background: var(--ij-paper); }
.ij-flag__inner { max-width: 1200px; margin: 0 auto; padding: clamp(2rem, 5vw, 4rem) max(16px, env(safe-area-inset-left, 0px)); display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 3.5rem; }
@media (max-width: 900px) { .ij-flag__inner { grid-template-columns: 1fr; gap: 2rem; } }
.ij-flag__lead { display: grid; gap: 1rem; align-content: start; }
.ij-flag__lead p { margin: 0; }
.ij-flag__h { font-size: var(--wp--preset--font-size--xxl); margin: 0; }
.ij-flag__quote { border-left: 3px solid var(--acc); margin: 0; padding-left: 1.1rem; font-size: var(--wp--preset--font-size--l); }
.ij-flag__quote cite { display: block; font-size: var(--wp--preset--font-size--xs); color: var(--ij-stone); font-style: normal; margin-top: .4rem; }
.ij-flag__pillars { list-style: none; counter-reset: p; margin: 0; padding: 0; }
.ij-flag__pillars li { counter-increment: p; display: grid; grid-template-columns: 3rem minmax(0, 1fr); column-gap: .75rem; padding: 1rem 0; border-bottom: 1px solid var(--ij-line); }
.ij-flag__pillars li:first-child { border-top: 1px solid var(--ij-line); }
.ij-flag__pillars li::before { content: counter(p, upper-roman); font-family: var(--wp--preset--font-family--mono); color: var(--acc-t); grid-row: span 2; }
.ij-flag__pillars strong { font-size: var(--wp--preset--font-size--l); }
.ij-flag__pillars span { color: var(--ij-stone); }

/* ---------- karty publikacji i osób ---------- */
.ij-card { border: 1px solid var(--ij-line); border-top: 3px solid var(--acc); border-radius: 8px; padding: 1.25rem; height: 100%; }
.ij-card .wp-block-post-title a { text-decoration: none; }
.ij-card .wp-block-post-title a:hover { text-decoration: underline; }
.ij-tag { display: flex; flex-wrap: wrap; gap: .6rem; font-family: var(--wp--preset--font-family--mono); font-size: .75rem; letter-spacing: .05em; text-transform: uppercase; color: var(--ij-stone); }
.ij-tag__rodzaj { font-weight: 600; }
.ij-autorzy-line { font-size: var(--wp--preset--font-size--s); color: #3B4553; margin: 0; }
.ij-row { border-bottom: 1px solid var(--ij-line); padding: 1.25rem 0; }
.ij-person-card { border: 1px solid var(--ij-line); border-radius: 8px; padding: 1.25rem; height: 100%; }
.ij-osoba-card p { margin: .2rem 0; font-size: var(--wp--preset--font-size--s); }
.ij-osoba-card__funk { color: var(--ij-stone); }
.ij-osoba-card__obszar { font-family: var(--wp--preset--font-family--mono); font-size: .75rem !important; text-transform: uppercase; letter-spacing: .06em; }

/* ---------- awatary ---------- */
.ij-av { display: inline-grid; place-items: center; border-radius: 50%; overflow: hidden; flex: none; font-weight: 650; }
.ij-av img { width: 100%; height: 100%; object-fit: cover; }
.ij-av--init { background: var(--ij-paper); color: var(--acc-t, var(--ij-ink)); border: 1.5px solid var(--acc); }
.ij-av--sm { width: 40px; height: 40px; font-size: .85rem; }
.ij-av--md { width: 72px; height: 72px; font-size: 1.4rem; }
.ij-av--lg { width: 160px; height: 160px; font-size: 3rem; }
@media (max-width: 600px) { .ij-av--lg { width: 112px; height: 112px; font-size: 2rem; } }

/* ---------- publikacja ---------- */
.ij-autorzy--avatars { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; }
.ij-autor { display: inline-flex; align-items: center; gap: .6rem; text-decoration: none; color: inherit; }
.ij-autor__name { font-weight: 600; display: block; }
.ij-autor__meta { display: block; font-size: var(--wp--preset--font-size--xs); color: var(--ij-stone); }
.ij-autorzy--cards { display: grid; gap: .75rem; }
.ij-side-h { font-size: var(--wp--preset--font-size--m); margin: 0 0 .5rem; }
.ij-meta-line { font-size: var(--wp--preset--font-size--xs); color: var(--ij-stone); margin: .5rem 0 0; }
.ij-tezy { border-left: 3px solid var(--acc); padding: .25rem 0 .25rem 1.25rem; }
.ij-tezy h2 { font-size: var(--wp--preset--font-size--xl); margin-top: 0; }
.ij-tezy ol { padding-left: 1.25rem; display: grid; gap: .6rem; }
.ij-cytowanie__txt { font-family: var(--wp--preset--font-family--mono); font-size: .8125rem; background: var(--ij-paper); border-radius: 6px; padding: .75rem; word-break: break-word; }
.ij-linkbtn { background: none; border: 0; padding: 0; font: inherit; font-weight: 600; color: var(--acc-t); text-decoration: underline; cursor: pointer; }
.ij-share { display: flex; flex-wrap: wrap; gap: .5rem 1rem; font-size: var(--wp--preset--font-size--s); }
.ij-share__label { color: var(--ij-stone); }
.ij-press { border: 1px solid var(--ij-line); border-radius: 8px; padding: 1.25rem; }
.ij-press p { margin: .25rem 0 .75rem; }
.ij-support-inline { border: 1px solid var(--ij-line); border-left: 4px solid var(--acc); border-radius: 8px; padding: 1.25rem; display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; justify-content: space-between; margin-top: 2rem; }
.ij-support-inline p { margin: 0; max-width: 52ch; }
.ij-aside { display: grid; gap: 2rem; align-content: start; }

/* ---------- osoba ---------- */
.ij-osoba-full { display: grid; gap: .9rem; }
.ij-osoba-full p { margin: 0; }
.ij-osoba-full__tytul { color: var(--ij-stone); }
.ij-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem; }
.ij-chip { border: 1px solid var(--ij-line); border-radius: 999px; padding: .2rem .7rem; font-size: var(--wp--preset--font-size--xs); }
.ij-chip--main { border-color: var(--acc); font-weight: 600; }
.ij-badge { font-family: var(--wp--preset--font-family--mono); font-size: .6875rem; text-transform: uppercase; letter-spacing: .06em; border: 1px solid var(--ij-ink); border-radius: 3px; padding: .3rem .5rem; width: max-content; }

/* ---------- filtry i formularz ---------- */
.ij-filtry { display: grid; grid-template-columns: minmax(0, 1.6fr) repeat(4, minmax(0, 1fr)) auto; gap: .75rem; align-items: end; background: var(--ij-paper); padding: 1rem; border-radius: 8px; }
@media (max-width: 1000px) { .ij-filtry { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ij-f--q { grid-column: 1 / -1; } }
@media (max-width: 600px) { .ij-filtry { grid-template-columns: 1fr; } }
.ij-f { display: grid; gap: .25rem; font-size: var(--wp--preset--font-size--xs); color: var(--ij-stone); }
.ij-f select, .ij-f input, .ij-form input, .ij-form select, .ij-form textarea { font: inherit; font-size: 1rem; color: var(--ij-ink); border: 1px solid #AEB5BE; border-radius: 6px; padding: .55rem .6rem; background: #fff; width: 100%; box-sizing: border-box; }
.ij-f--btn { display: flex; gap: .75rem; align-items: center; }
.ij-f--btn a { color: var(--ij-ink); font-size: var(--wp--preset--font-size--s); white-space: nowrap; }
.ij-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.ij-form label { display: grid; gap: .3rem; font-size: var(--wp--preset--font-size--s); }
.ij-form__wide { grid-column: 1 / -1; }
@media (max-width: 600px) { .ij-form { grid-template-columns: 1fr; } }

/* ---------- stopka ---------- */
.ij-footer, .ij-footer a { color: #DDE2E8; }
.ij-footer .ij-dane p { margin: 0 0 .5rem; }
.ij-footer .ij-dane strong { color: #fff; }

/* ---------- rozmiar tekstu: powiększa treść, nie nagłówek ---------- */
html[data-fs="sm"] main { zoom: .9; }
html[data-fs="lg"] main { zoom: 1.15; }
html[data-fs="xl"] main { zoom: 1.3; }

/* ---------- kontrast biało-czarny ---------- */
html.ij-hc body, html.ij-hc .wp-site-blocks { background: #000 !important; }
html.ij-hc .wp-site-blocks * { color: #fff !important; border-color: #fff !important; background-color: transparent !important; text-decoration-color: #fff !important; }
html.ij-hc .wp-block-button__link, html.ij-hc .wp-element-button, html.ij-hc .ij-a11y button[aria-pressed="true"] { background: #fff !important; color: #000 !important; }
html.ij-hc .ij-pill, html.ij-hc .ij-intro__pillars span, html.ij-hc .ij-intro__base, html.ij-hc .ij-obszar__bar { background: #fff !important; }
html.ij-hc svg path, html.ij-hc svg rect { fill: #fff !important; }
html.ij-hc .ij-luka, html.ij-hc .ij-proto { background: #000 !important; }
html.ij-hc .wp-block-navigation__responsive-container.is-menu-open { background: #000 !important; }

/* ---------- uzupełnienia ---------- */
.ij-bar-acc { background: var(--acc); width: 80px; }
.ij-card:has(.ij-kol-1), .ij-person-card:has(.ij-kol-1) { --acc: var(--ij-k1); --acc-t: var(--ij-k1); }
.ij-card:has(.ij-kol-2), .ij-person-card:has(.ij-kol-2) { --acc: var(--ij-k2); --acc-t: var(--ij-k2t); }
.ij-card:has(.ij-kol-3), .ij-person-card:has(.ij-kol-3) { --acc: var(--ij-k3); --acc-t: var(--ij-k3); }
.ij-card:has(.ij-kol-4), .ij-person-card:has(.ij-kol-4) { --acc: var(--ij-k4); --acc-t: var(--ij-k4); }
@media (min-width: 600px) { .ij-main-nav .wp-block-navigation__container > .ij-only-mobile { display: none; } }
.wp-block-navigation__responsive-container.is-menu-open .ij-only-mobile { display: block; }
.ij-person-card .wp-block-post-title { margin: 0; }
.ij-card > * + * { margin-top: .6rem; }
@media (max-width: 1180px) and (min-width: 600px) { .ij-main-nav { font-size: .8125rem !important; } .ij-main-nav .wp-block-navigation__container { gap: .9rem !important; } }
.ij-util .wp-block-search__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.ij-util .wp-block-search__button { padding: .4rem .6rem; }
.ij-measure { max-width: 72ch; margin-left: max(0px, calc((100% - 1200px) / 2)) !important; }
.ij-header .wp-block-button__link { white-space: nowrap; }
@media (max-width: 600px) { .ij-header .wp-block-button__link { padding: .45rem .8rem; font-size: .8125rem; } }
html.ij-hc .wp-block-search__button svg { fill: #000 !important; }

.ij-bar-acc { margin-left: 0 !important; }

/* ================= SYSTEM TYPOGRAFII I KOLORÓW (v0.1.2) =================
   Krój: Libre Franklin (zmienny 100–900, prosty i kursywa), self-hosting.
   Skala: 13 / 15 / 17 (tekst) / 20 / 28 / 40 / 52 px, płynna na telefonie.
   Tekst: Atrament #172231 (16:1). Drugorzędny: Kamień #5F6873 (5,7:1).
   Linki: Atrament z podkreśleniem; na stronach obszaru i ich materiałach — kolor kolumny (tekstowy wariant, ≥5,6:1).
   Mosiądz #9A7430 tylko w grafice; w tekście #7E5E22 (6:1). */
:root { --ij-link: var(--ij-ink); --ij-link-hover: var(--ij-ink); --ij-button-hover: #2E3F57; }
.ij-kol-1 { --ij-link: var(--ij-k1); --ij-button-hover: var(--ij-k1); }
.ij-kol-2 { --ij-link: var(--ij-k2t); --ij-button-hover: var(--ij-k2t); }
.ij-kol-3 { --ij-link: var(--ij-k3); --ij-button-hover: var(--ij-k3); }
.ij-kol-4 { --ij-link: var(--ij-k4); --ij-button-hover: var(--ij-k4); }
a { text-underline-offset: .18em; text-decoration-thickness: 1px; }
a:hover { text-decoration-thickness: 2px; }
.wp-block-post-content > p, .wp-block-post-content > ul > li, .wp-block-post-content > ol > li { max-width: 68ch; }
.wp-block-post-content em, .wp-block-post-content i { font-style: italic; }
strong, b { font-weight: 650; }
.ij-kicker, .ij-tag, .ij-badge, .ij-osoba-card__obszar { font-feature-settings: "tnum"; }
.has-kamien-color { color: var(--ij-stone) !important; }

/* ---------- menu: kolory obszarów jako lewe obramowanie ---------- */
.ij-footer .ij-nav-obszar > .wp-block-navigation-item__content { border-left: 3px solid var(--ij-nav-c); padding-left: .55rem !important; line-height: 1.25; }
.ij-nav-k1 { --ij-nav-c: var(--ij-k1); } .ij-nav-k2 { --ij-nav-c: var(--ij-k2); } .ij-nav-k3 { --ij-nav-c: var(--ij-k3); } .ij-nav-k4 { --ij-nav-c: var(--ij-k4); }
.ij-footer .ij-nav-k1 { --ij-nav-c: #8FB0D3; } .ij-footer .ij-nav-k2 { --ij-nav-c: #D4AE5E; } .ij-footer .ij-nav-k3 { --ij-nav-c: #93B39E; } .ij-footer .ij-nav-k4 { --ij-nav-c: #E08A62; }



html.ij-hc .ij-nav-obszar > .wp-block-navigation-item__content { border-left-color: #fff !important; text-decoration-color: #fff !important; }
.ij-obszar-title::after { content: ""; display: block; width: 80px; height: 6px; border-radius: 3px; background: var(--acc); margin-top: 1.25rem; }

/* ================= v0.1.3: rytm sekcji i nawigacja =================
   Sekcje oddziela kolor tła (biel / tło jasne), nie linie. Jeden odstęp pionowy dla wszystkich sekcji. */
.ij-sec { padding-top: var(--wp--preset--spacing--60) !important; padding-bottom: var(--wp--preset--spacing--60) !important; }
.ij-sec--band { padding-top: 1.5rem !important; padding-bottom: var(--wp--preset--spacing--50) !important; }
.ij-sec > .wp-block-heading:first-child, .ij-sec > :first-child { margin-top: 0; }
.ij-sec .wp-block-heading + .wp-block-query, .ij-sec .wp-block-heading + .ij-obszary { margin-top: 1.5rem; }
.ij-sec--band .ij-crumbs { margin-bottom: 1.5rem; }
.ij-flag__inner { padding-top: var(--wp--preset--spacing--60); padding-bottom: var(--wp--preset--spacing--60); }
.ij-card, .ij-person-card { background: #fff; }
.ij-sec.has-tlo-background-color .ij-filtry { background: #fff; }
.ij-sec:not(.has-background) .ij-filtry { background: var(--ij-paper); }
/* Nawigacja główna: równe odstępy, bez wyróżników kolorystycznych (v0.1.5) */
.ij-main-nav .wp-block-navigation-item__content { padding: .35rem 0 !important; border: 0 !important; }
.ij-header .wp-block-navigation-item__content[aria-current="page"] { font-weight: 650; text-decoration: underline; text-decoration-thickness: 3px !important; text-underline-offset: .45em; }

/* ================= v0.1.4: obszary jako cztery równe karty ================= */
.ij-obszary { align-items: stretch; gap: 1.5rem; }
.ij-obszar { display: flex; flex-direction: column; gap: .75rem; height: 100%; box-sizing: border-box; background: var(--ij-paper); border: 1px solid transparent; border-radius: 10px; overflow: hidden; padding: 0 1.5rem 1.5rem; }
.ij-obszar__bar { display: block; height: 6px; margin: 0 -1.5rem .75rem; border-radius: 0; }
.ij-obszar__name { font-size: var(--wp--preset--font-size--l); font-weight: 650; line-height: 1.25; }
.ij-obszar__desc { color: #3B4553; font-size: var(--wp--preset--font-size--s); line-height: 1.55; }
.ij-obszar__count { margin-top: auto; padding-top: .5rem; }
.ij-obszar:hover { background: #EEF0F3; }
.ij-obszar:hover .ij-obszar__count { text-decoration: underline; text-underline-offset: .18em; }
.ij-obszar:focus-visible { outline: 2px solid var(--acc); outline-offset: 3px; }
@media (min-width: 901px) { .ij-obszar__name { min-height: 2.5em; } }

/* ================= v0.1.5: charakter premium — Atrament jako kolor marki =================
   Rytm tła: Atrament (nagłówek, hero, pasy tytułowe, Konstytucja, stopka) / Mgła #E8EDF3 / Biel.
   Na Atramencie: tekst Biel struktury #F2F4F6 (14,6:1), drugorzędny #AEB7C2 (8,4:1),
   kolory kolumn w odcieniach jasnych (#8FB0D3 / #D4AE5E / #93B39E / #E08A62 — wszystkie ≥ 5,9:1). */
:root { --ij-mist: #E8EDF3; --ij-deep: #0F1824; --ij-on-dark: #F2F4F6; --ij-on-dark-2: #AEB7C2; --ij-line-dark: rgba(242,244,246,.16);
  --ij-k1l: #8FB0D3; --ij-k2l: #D4AE5E; --ij-k3l: #93B39E; --ij-k4l: #E08A62; }

/* --- kontekst ciemny --- */
.ij-dark, .has-atrament-background-color, .has-atrament-gleboki-background-color, .ij-flag {
  --ij-link: var(--ij-on-dark); --ij-link-hover: #fff; --ij-stone: var(--ij-on-dark-2); --ij-line: var(--ij-line-dark); --ij-paper: rgba(242,244,246,.06);
  --ij-k1: var(--ij-k1l); --ij-k2: var(--ij-k2l); --ij-k2t: var(--ij-k2l); --ij-k3: var(--ij-k3l); --ij-k4: var(--ij-k4l);
  --ij-ink: var(--ij-on-dark); --acc: var(--ij-on-dark); --acc-t: var(--ij-on-dark);
  color: var(--ij-on-dark); }
.has-atrament-background-color .ij-kol-1, .has-atrament-background-color.ij-kol-1, .ij-flag.ij-kol-1 { --acc: var(--ij-k1l); --acc-t: var(--ij-k1l); --ij-link: var(--ij-k1l); }
.has-atrament-background-color .ij-kol-2, .has-atrament-background-color.ij-kol-2, .ij-flag.ij-kol-2 { --acc: var(--ij-k2l); --acc-t: var(--ij-k2l); --ij-link: var(--ij-k2l); }
.has-atrament-background-color .ij-kol-3, .has-atrament-background-color.ij-kol-3, .ij-flag.ij-kol-3 { --acc: var(--ij-k3l); --acc-t: var(--ij-k3l); --ij-link: var(--ij-k3l); }
.has-atrament-background-color .ij-kol-4, .has-atrament-background-color.ij-kol-4, .ij-flag.ij-kol-4 { --acc: var(--ij-k4l); --acc-t: var(--ij-k4l); --ij-link: var(--ij-k4l); }
body.ij-kol-1 .has-atrament-background-color { --acc: var(--ij-k1l); --acc-t: var(--ij-k1l); }
body.ij-kol-2 .has-atrament-background-color { --acc: var(--ij-k2l); --acc-t: var(--ij-k2l); }
body.ij-kol-3 .has-atrament-background-color { --acc: var(--ij-k3l); --acc-t: var(--ij-k3l); }
body.ij-kol-4 .has-atrament-background-color { --acc: var(--ij-k4l); --acc-t: var(--ij-k4l); }
.has-atrament-background-color :where(h1,h2,h3,h4,.wp-block-post-title), .ij-flag :where(h1,h2,h3,h4) { color: #fff; }
.has-atrament-background-color a:where(:not(.wp-element-button)), .ij-flag a:where(:not(.wp-element-button)) { color: var(--ij-link); }
.has-atrament-background-color .has-kamien-color, .ij-flag .has-kamien-color { color: var(--ij-on-dark-2) !important; }
.has-atrament-background-color .ij-autorzy-line, .has-atrament-background-color .ij-obszar__desc { color: var(--ij-on-dark-2); }
/* przyciski na ciemnym: jasne pełne / obrys */
.has-atrament-background-color .wp-block-button:not(.is-style-outline) > .wp-block-button__link, .ij-flag .wp-block-button__link { background: var(--ij-on-dark) !important; color: var(--ij-deep) !important; }
.has-atrament-background-color .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover, .ij-flag .wp-block-button__link:hover { background: #fff !important; }
.has-atrament-background-color .is-style-outline > .wp-block-button__link { background: transparent !important; color: var(--ij-on-dark) !important; border: 1px solid rgba(242,244,246,.55) !important; }
.has-atrament-background-color .is-style-outline > .wp-block-button__link:hover { border-color: #fff !important; background: rgba(255,255,255,.08) !important; }
/* awatary, chipy, znaczniki na ciemnym */
.has-atrament-background-color .ij-av--init { background: rgba(242,244,246,.08); }
.has-atrament-background-color .ij-badge { border-color: var(--ij-on-dark-2); }
.has-atrament-background-color .ij-chip { border-color: var(--ij-line-dark); color: var(--ij-on-dark); }

/* --- nagłówek --- */
.ij-header { position: relative; z-index: 20; }
.ij-util { font-size: var(--wp--preset--font-size--xs); border-bottom: 1px solid var(--ij-line-dark); }
.ij-util a { color: var(--ij-on-dark-2) !important; }
.ij-util a:hover { color: #fff !important; }
.ij-a11y button { background: transparent; color: var(--ij-on-dark-2); border-color: rgba(242,244,246,.28); }
.ij-a11y button:hover { color: #fff; border-color: rgba(242,244,246,.6); }
.ij-a11y button[aria-pressed="true"] { background: var(--ij-on-dark); color: var(--ij-deep); border-color: var(--ij-on-dark); }
.ij-util .wp-block-search__button { background: transparent !important; border: 0 !important; color: var(--ij-on-dark-2) !important; }
.ij-util .wp-block-search__button svg { fill: currentColor; }
.ij-util .wp-block-search__input { background: var(--ij-deep); color: var(--ij-on-dark); border-color: rgba(242,244,246,.3); }
.ij-mainbar .ij-logo { color: #fff; }
.ij-mainbar .ij-logo__napis { letter-spacing: .16em; }
.ij-main-nav .wp-block-navigation-item__content { color: var(--ij-on-dark) !important; font-weight: 500; letter-spacing: .01em; }
.ij-main-nav .wp-block-navigation-item__content:hover { color: #fff !important; text-decoration: underline; text-decoration-color: rgba(242,244,246,.5); text-decoration-thickness: 1px !important; text-underline-offset: .5em; }
.ij-header .wp-block-navigation-item__content[aria-current="page"] { color: #fff !important; font-weight: 600; text-decoration: underline; text-decoration-color: #fff; text-decoration-thickness: 2px !important; text-underline-offset: .5em; }
.ij-main-nav .wp-block-navigation__responsive-container-open, .ij-main-nav .wp-block-navigation__responsive-container-close { color: var(--ij-on-dark); }
.ij-main-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--ij-ink-solid, #172231) !important; color: var(--ij-on-dark) !important; padding: 1.5rem; }
.ij-main-nav .is-menu-open .wp-block-navigation-item__content { font-size: 1.25rem; padding: .5rem 0 !important; }

/* --- logo i animacja na ciemnym --- */
.has-atrament-background-color .ij-ink, .has-atrament-gleboki-background-color .ij-ink, .ij-footer .ij-ink { fill: var(--ij-on-dark); }
.has-atrament-background-color .ij-c1 { fill: var(--ij-k1l); } .has-atrament-background-color .ij-c2 { fill: var(--ij-k2l); }
.has-atrament-background-color .ij-c3 { fill: var(--ij-k3l); } .has-atrament-background-color .ij-c4 { fill: var(--ij-k4l); }
.has-atrament-background-color .ij-bg-1 { background: var(--ij-k1l); } .has-atrament-background-color .ij-bg-2 { background: var(--ij-k2l); }
.has-atrament-background-color .ij-bg-3 { background: var(--ij-k3l); } .has-atrament-background-color .ij-bg-4 { background: var(--ij-k4l); }
.has-atrament-background-color .ij-fg-1 { color: var(--ij-k1l); } .has-atrament-background-color .ij-fg-2 { color: var(--ij-k2l); }
.has-atrament-background-color .ij-fg-3 { color: var(--ij-k3l); } .has-atrament-background-color .ij-fg-4 { color: var(--ij-k4l); }
.has-atrament-background-color .ij-intro__base { background: var(--ij-on-dark); }

/* --- typografia premium: eyebrow, lead, nagłówki --- */
.ij-eyebrow, .ij-kicker { font-family: var(--wp--preset--font-family--franklin) !important; font-size: .75rem !important; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; margin: 0 0 .9rem; color: var(--acc-t, var(--ij-stone)); }
.ij-eyebrow { color: var(--ij-stone); display: flex; align-items: center; gap: .75rem; }
.ij-eyebrow::before { content: ""; width: 28px; height: 1px; background: currentColor; opacity: .7; }
h1.wp-block-heading, .wp-block-post-title:where(h1), .ij-flag__h { letter-spacing: -.02em; line-height: 1.1; font-weight: 650; }
h2.wp-block-heading { letter-spacing: -.015em; line-height: 1.15; }
.ij-hero h1 { font-size: clamp(2.25rem, 1.4rem + 3vw, 3.5rem) !important; margin-bottom: 1.5rem; }
.ij-lead { color: var(--ij-on-dark-2); line-height: 1.6; }
.ij-hero { padding-top: clamp(3.5rem, 7vw, 6.5rem) !important; padding-bottom: clamp(3.5rem, 7vw, 6.5rem) !important; }
.ij-sec { padding-top: clamp(3.5rem, 6vw, 6rem) !important; padding-bottom: clamp(3.5rem, 6vw, 6rem) !important; }
.ij-sec--band { padding-top: 2rem !important; padding-bottom: clamp(2.75rem, 5vw, 4.5rem) !important; }
.ij-sec--band .ij-crumbs ol, .ij-sec--band .ij-crumbs a { color: var(--ij-on-dark-2); }
.ij-sec--band .ij-crumbs [aria-current] { color: var(--ij-on-dark); }
.has-mgla-background-color .ij-measure { color: #2A3647; }

/* --- karty na Mgle i bieli --- */
.has-mgla-background-color .ij-obszar, .has-mgla-background-color .ij-card, .has-mgla-background-color .ij-person-card { background: #fff; border-color: transparent; box-shadow: 0 1px 2px rgba(23,34,49,.06); }
.has-mgla-background-color .ij-obszar:hover { background: #fff; box-shadow: 0 10px 28px rgba(23,34,49,.10); transform: translateY(-2px); }
.ij-obszar { transition: box-shadow .2s ease, transform .2s ease, background .2s ease; border-radius: 4px; }
.ij-card, .ij-person-card { border-radius: 4px; }
.ij-card { border-top-width: 2px; }
.ij-sec:not(.has-background) .ij-card, .ij-sec:not(.has-background) .ij-person-card { background: #fff; }
.has-mgla-background-color .ij-filtry { background: #fff !important; }
.ij-sec:not(.has-background) .ij-filtry { background: var(--ij-mist) !important; }
.wp-block-button__link { border-radius: 3px; letter-spacing: .01em; }

/* --- Konstytucja Nowego Pokolenia: sekcja w głębokim Atramencie --- */
.ij-flag { background: var(--ij-deep) !important; }
.ij-flag__lead p { color: var(--ij-on-dark-2); }
.ij-flag__lead .ij-kicker { color: var(--acc); }
.ij-flag__h { color: #fff; }
.ij-flag__quote { color: var(--ij-on-dark); border-left-color: var(--acc); }
.ij-flag__pillars li { border-color: var(--ij-line-dark) !important; }
.ij-flag__pillars li::before { content: counter(p, decimal-leading-zero); font-family: var(--wp--preset--font-family--franklin); font-weight: 600; font-size: .875rem; letter-spacing: .08em; color: var(--acc); padding-top: .2rem; }
.ij-flag__pillars strong { color: #fff; font-weight: 600; }
.ij-flag__pillars span { color: var(--ij-on-dark-2); }
.ij-flag .ij-link { color: var(--acc); }

/* --- elementy robocze: dyskretne --- */
.ij-proto { background: var(--ij-deep); color: var(--ij-on-dark-2); border-bottom: 1px solid var(--ij-line-dark); font-family: var(--wp--preset--font-family--franklin); letter-spacing: .04em; }
.ij-luka { background: transparent; border: 1px dashed #B8913F; color: #8A6A28; font-family: var(--wp--preset--font-family--franklin); font-size: .75rem; }
.has-atrament-background-color .ij-luka, .ij-flag .ij-luka { border-color: rgba(212,174,94,.6); color: var(--ij-k2l); }

/* --- stopka --- */
.ij-footer .has-atrament-background-color, footer .has-atrament-background-color { border-top: 0; }

/* --- tryb kontrastu ma pierwszeństwo --- */
html.ij-hc .ij-flag, html.ij-hc .ij-proto { background: #000 !important; }
html.ij-hc .ij-eyebrow::before { background: #fff; }
html.ij-hc .ij-obszar:hover { transform: none; box-shadow: none; }
@media (prefers-reduced-motion: reduce) { .ij-obszar { transition: none; } .ij-obszar:hover { transform: none; } }
/* --- ciągłość pasów: bez odstępów blockGap między nagłówkiem, jego pasami i treścią --- */
.wp-site-blocks > * + *, .ij-header > * + *, .ij-header > .wp-block-group > * + *, main.wp-block-group > * + * { margin-block-start: 0 !important; }
.ij-tag { font-family: var(--wp--preset--font-family--franklin); font-weight: 500; letter-spacing: .1em; font-size: .6875rem; }

/* ================= v0.1.6: stopka =================
   Zasady: (1) dwa poziomy — nawigacja z nagłówkami + pasek prawny; (2) jedna kolumna = jedno pytanie użytkownika
   (Program / Instytut / Kontakt); (3) bez kolorów kolumn — cztery kolory razem tylko w znaku; (4) dane rejestrowe
   (NAP) identyczne z KRS i schema Organization; (5) linki tekstowe, crawlowalne, ≥ 44 px wysokości dotyku na telefonie. */
.ij-footer { padding-top: clamp(3.5rem, 6vw, 5rem) !important; padding-bottom: 0 !important; color: var(--ij-on-dark-2); font-size: var(--wp--preset--font-size--s); }
.ij-footer__grid { display: grid; grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr)); gap: 2.5rem 3rem; padding-bottom: clamp(2.5rem, 5vw, 3.5rem); }
.ij-footer__grid > * { margin: 0 !important; }
.ij-footer__brand { display: grid; gap: 1.25rem; align-content: start; max-width: 36ch; }
.ij-footer__brand > * { margin: 0 !important; }
.ij-footer__brand .ij-logo { color: #fff; }
.ij-footer__brand .ij-c1 { fill: var(--ij-k1l); } .ij-footer__brand .ij-c2 { fill: var(--ij-k2l); } .ij-footer__brand .ij-c3 { fill: var(--ij-k3l); } .ij-footer__brand .ij-c4 { fill: var(--ij-k4l); }
.ij-footer__about { color: var(--ij-on-dark-2); line-height: 1.6; }
.ij-footer__h { font-size: .75rem !important; font-weight: 600; letter-spacing: .14em !important; text-transform: uppercase; color: #fff !important; margin: 0 0 1.1rem !important; }
.ij-footer__h--sub { margin-top: 2rem !important; }
.ij-footer__list, .ij-footer__legal-nav { list-style: none; margin: 0; padding: 0; }
.ij-footer__list li + li { margin-top: .7rem; }
.ij-footer a { color: var(--ij-on-dark) !important; text-decoration: none; }
.ij-footer a:hover { color: #fff !important; text-decoration: underline; text-underline-offset: .2em; }
.ij-footer__bar { border-top: 1px solid var(--ij-line-dark); padding: 1.25rem 0 1.5rem; gap: .75rem 2rem; font-size: var(--wp--preset--font-size--xs); margin-top: 0 !important; }
.ij-footer__legal { margin: 0; color: var(--ij-on-dark-2); }
.ij-footer__legal-nav { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; }
.ij-footer__legal-nav a { color: var(--ij-on-dark-2) !important; }
.ij-footer .ij-luka { margin: 0; }
@media (max-width: 900px) { .ij-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ij-footer__brand { grid-column: 1 / -1; } }
@media (max-width: 600px) {
  .ij-footer__list li + li { margin-top: 0; }
  .ij-footer__list a, .ij-footer__legal-nav a { display: block; padding: .65rem 0; line-height: 1.35; }
  .ij-footer__bar { flex-direction: column; align-items: flex-start; }
}
html.ij-hc .ij-footer__bar { border-color: #fff !important; }

/* ================= v0.1.7: pasek narzędzi, hover = odwrócenie, hero 50/50 =================
   Zasada hover: element odwraca kolory (pełny ↔ obrys). Różnica jasności ≥ 10:1, czytelna bez koloru. */
.ij-util > .wp-block-group { min-height: 36px; }
.ij-util-tools { gap: .75rem !important; margin-left: auto; }
.ij-util .wp-block-search { position: relative; margin: 0; }
.ij-util .wp-block-search__inside-wrapper { position: static; }
.ij-util .wp-block-search__input { position: absolute; right: calc(100% + .25rem); top: 50%; transform: translateY(-50%); width: min(280px, 60vw) !important; height: 34px; z-index: 30; border-radius: 3px; }
.ij-util .wp-block-search.wp-block-search__searchfield-hidden .wp-block-search__input { width: 0 !important; padding: 0; border: 0; }
.ij-a11y__mode { display: inline-grid; place-items: center; width: 30px; padding: 0 !important; height: 26px; }
.ij-a11y__mode svg { width: 15px; height: 15px; fill: currentColor; stroke: currentColor; stroke-width: 0; }
.ij-a11y__mode .ij-ico-sun path { fill: none; stroke-width: 1.8; stroke-linecap: round; }
.ij-a11y__mode .ij-ico-sun, .ij-a11y__mode[aria-pressed="true"] .ij-ico-moon { display: none; }
.ij-a11y__mode[aria-pressed="true"] .ij-ico-sun { display: block; }
html.ij-hc .ij-a11y__mode svg, html.ij-hc .ij-a11y__mode svg path, html.ij-hc .ij-a11y__mode svg circle { fill: currentColor !important; }
html.ij-hc .ij-a11y__mode .ij-ico-sun path { fill: none !important; stroke: currentColor; }
/* hover — odwrócenie */
.ij-a11y button:hover, .ij-util .wp-block-search__button:hover { background: var(--ij-on-dark) !important; color: var(--ij-deep) !important; border-color: var(--ij-on-dark) !important; }
.has-atrament-background-color .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover, .ij-flag .wp-block-button__link:hover { background: transparent !important; color: #fff !important; box-shadow: inset 0 0 0 1px #fff; }
.has-atrament-background-color .is-style-outline > .wp-block-button__link:hover { background: var(--ij-on-dark) !important; color: var(--ij-deep) !important; border-color: var(--ij-on-dark) !important; }
:where(.ij-sec:not(.has-atrament-background-color), .ij-sec--plain) .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover, .has-mgla-background-color .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover { background: transparent !important; color: var(--ij-ink) !important; box-shadow: inset 0 0 0 2px var(--ij-ink); }
:where(.ij-sec:not(.has-atrament-background-color)) .is-style-outline > .wp-block-button__link:hover, .has-mgla-background-color .is-style-outline > .wp-block-button__link:hover { background: var(--ij-ink) !important; color: #fff !important; border-color: var(--ij-ink) !important; }
.ij-btn-acc:hover { background: transparent !important; color: var(--acc-t, var(--ij-ink)) !important; box-shadow: inset 0 0 0 2px var(--acc-t, var(--ij-ink)); }
.ij-footer .is-style-outline > .wp-block-button__link:hover { background: var(--ij-on-dark) !important; color: var(--ij-deep) !important; }
/* hero 50/50 */
.ij-hero .wp-block-column { flex-basis: 50% !important; }
.ij-hero .ij-lead { max-width: 34em; }
@media (max-width: 781px) { .ij-hero .wp-block-column { flex-basis: 100% !important; } }
.ij-util-tools { margin-left: auto !important; }
.ij-hero .ij-kolumny { --pw: 70px; --pg: 60px; --ph: 190px; }
@media (max-width: 1100px) { .ij-hero .ij-kolumny { --pw: 56px; --pg: 44px; --ph: 160px; } }
@media (max-width: 781px) { .ij-util .wp-block-search__input { right: auto; left: 0; top: calc(100% + 10px); transform: none; width: min(300px, calc(100vw - 32px)) !important; } }
/* v0.1.10: nazwa obszaru w hero skaluje się do szerokości kolumny (container query), długie nazwy łamią się na 2 wiersze */
.ij-kolumny { container-type: inline-size; }
.ij-layer--one { padding-left: 6%; padding-right: 4%; gap: clamp(1.25rem, 6cqi, 2.5rem); }
.ij-layer__name { font-size: clamp(1.6rem, 7cqi, 3.25rem) !important; flex: 1 1 auto; min-width: 0; max-width: 8.5em; overflow-wrap: break-word; hyphens: manual; }
.ij-pill--sm { width: clamp(36px, 9cqi, 56px); height: clamp(94px, 24cqi, 147px); }

/* ================= v0.1.14: pasek narzędzi na białym tle, wyciszony =================
   Tło białe, tekst Kamień #5F6873 (5,7:1), najechanie Atrament, obrysy #D5DAE0, linia dolna Mgła. */
.ij-util { background: #fff !important; border-bottom: 1px solid var(--ij-mist) !important; font-size: .8125rem; }
.ij-util a { color: var(--ij-stone) !important; }
.ij-util a:hover { color: var(--ij-ink, #172231) !important; }
.ij-util .ij-a11y button { background: #fff; color: var(--ij-stone); border-color: #D5DAE0; }
.ij-util .ij-a11y button:hover, .ij-util .wp-block-search__button:hover { background: #172231 !important; color: #fff !important; border-color: #172231 !important; }
.ij-util .ij-a11y button[aria-pressed="true"] { background: #172231; color: #fff; border-color: #172231; }
.ij-util .wp-block-search__button { color: var(--ij-stone) !important; background: transparent !important; }
.ij-util .wp-block-search__input { background: #fff; color: #172231; border: 1px solid #AEB5BE; }

/* ================= v0.1.14 (wariant C): jasny nagłówek, ciemne hero =================
   Pasek narzędzi i menu tworzą jeden biały nagłówek; kolor marki zostaje w hero. Logo w pełnych kolorach (wersja „kolor”). */
.ij-mainbar { background: #fff !important; border-bottom: 1px solid var(--ij-line, #D5DAE0); }
.ij-mainbar .ij-logo { color: #172231 !important; }
.ij-main-nav .wp-block-navigation-item__content { color: #172231 !important; }
.ij-main-nav .wp-block-navigation-item__content:hover { color: #172231 !important; text-decoration: underline; text-decoration-color: #AEB5BE; text-decoration-thickness: 1px !important; text-underline-offset: .5em; }
.ij-header .wp-block-navigation-item__content[aria-current="page"] { color: #172231 !important; text-decoration-color: #172231 !important; }
.ij-main-nav .wp-block-navigation__responsive-container-open, .ij-main-nav .wp-block-navigation__responsive-container-close { color: #172231; }
.ij-main-nav .wp-block-navigation__responsive-container.is-menu-open { background: #fff !important; color: #172231 !important; }
.ij-mainbar .is-style-outline > .wp-block-button__link { background: transparent !important; color: #172231 !important; border: 1.5px solid #172231 !important; }
.ij-mainbar .is-style-outline > .wp-block-button__link:hover { background: #172231 !important; color: #fff !important; }
html.ij-hc .ij-mainbar, html.ij-hc .ij-util { background: #000 !important; }

/* ================= v0.1.15: strona główna jako treść strony (edytor) =================
   Sekcje strony głównej żyją w treści strony „Strona główna”; post-content bez własnych odstępów. */
.wp-block-post-content > .alignfull { margin-top: 0 !important; margin-bottom: 0 !important; }
.wp-block-post-content > * + * { margin-block-start: 0; }

/* ================= v0.1.17: jedno menu =================
   O Instytucie | Prawo · Gospodarka · Zdrowie · Bezpieczeństwo | Publikacje · Kontakt | narzędzia | Wesprzyj.
   Separatory oddzielają grupy; poniżej 1240 px menu przechodzi w przycisk „Menu”. */
.ij-bar { gap: 1.5rem; }
.ij-bar-right { gap: 1.1rem !important; }
.ij-main-nav .wp-block-navigation-item__content { font-size: .90625rem; white-space: nowrap; }
.ij-main-nav .wp-block-navigation__container > .ij-sep-before { padding-left: 1.1rem; position: relative; }
.ij-main-nav .wp-block-navigation__container > .ij-sep-before::before { content: ""; position: absolute; left: 0; top: 50%; width: 1px; height: 18px; transform: translateY(-50%); background: #D5DAE0; }
.ij-mainbar .ij-util { background: transparent !important; border: 0 !important; padding: 0 0 0 1.1rem; position: relative; gap: .4rem !important; }
.ij-mainbar .ij-util::before { content: ""; position: absolute; left: 0; top: 50%; width: 1px; height: 26px; transform: translateY(-50%); background: #D5DAE0; }
.ij-a11y { position: relative; gap: .3rem; }
.ij-a11y > button { height: 30px; min-width: 30px; padding: 0 .45rem; display: inline-grid; place-items: center; }
.ij-a11y__aa { font-weight: 600 !important; font-size: .8125rem !important; }
.ij-a11y__fs { position: absolute; top: calc(100% + 10px); right: 0; z-index: 40; display: flex; gap: .3rem; padding: .45rem; background: #fff; border: 1px solid #D5DAE0; border-radius: 4px; box-shadow: 0 12px 28px rgba(23,34,49,.12); }
.ij-a11y__fs[hidden] { display: none; }
.ij-util .ij-a11y__fs button { height: 30px; min-width: 36px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ij-mainbar .ij-util .wp-block-search__input { right: calc(100% + .25rem); }
/* hamburger poniżej 1100 px */
@media (max-width: 1239px) {
  .ij-main-nav .wp-block-navigation__responsive-container-open { display: flex !important; }
  .ij-main-nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
  .ij-main-nav .wp-block-navigation__container > .ij-sep-before { padding-left: 0; }
  .ij-main-nav .wp-block-navigation__container > .ij-sep-before::before { display: none; }
}
.ij-main-nav .is-menu-open .wp-block-navigation__container { gap: 0 !important; }
.ij-main-nav .is-menu-open .ij-sep-before { margin-top: .75rem; padding-top: .75rem !important; border-top: 1px solid #E8EDF3; }
/* telefon: logo, Menu, Wesprzyj; narzędzia ukryte (powiększanie i kontrast zapewnia przeglądarka) */
@media (max-width: 599px) { .ij-mainbar .ij-util { display: none !important; } .ij-bar-right { gap: .75rem !important; } }
html.ij-hc .ij-a11y__fs { background: #000 !important; }
.ij-main-nav .wp-block-navigation__container { flex-wrap: nowrap !important; }
.ij-bar-right { flex-wrap: nowrap !important; min-width: 0; }
.ij-mainbar .ij-logo__napis { letter-spacing: .13em; }

/* ================= v0.1.18: sekcja III — Konstytucja jako książka =================
   Biały kontur książki na Atramencie głębokim; jeden kolor akcentu (kolumna I, Prawo, odcień jasny). */
.ij-konst { --bk-line: #F2F4F6; --bk-mute: #AEB7C2; --bk-acc: #8FB0D3; --bk-bg: #0F1824; color: #F2F4F6; }
.ij-konst .wp-block-heading { color: #fff !important; }
.ij-konst > * { margin-left: auto !important; margin-right: auto !important; }
.ij-center { text-align: center; justify-content: center; }
.ij-konst .ij-eyebrow { color: var(--bk-acc); }
.ij-konst .ij-eyebrow::before { display: none; }
.ij-konst__sub { color: var(--bk-mute); font-size: var(--wp--preset--font-size--s); margin-top: .5rem !important; }
.ij-konst__lead { max-width: 46ch; font-size: var(--wp--preset--font-size--l); line-height: 1.5; margin-top: 1.25rem !important; }
.ij-book { --w: min(1040px, 100%); width: var(--w); margin: clamp(2rem, 4vw, 3.25rem) auto 0; color: #F2F4F6; }
.ij-book__stage { position: relative; width: 100%; aspect-ratio: 1040 / 660; perspective: 2600px; outline: none; transition: transform .9s cubic-bezier(.4,.1,.2,1); }
.ij-book.is-closed .ij-book__stage { transform: translateX(-25%); }
.ij-book__stage:focus-visible { outline: 2px solid var(--bk-acc); outline-offset: 10px; border-radius: 6px; }
.ij-leaf { position: absolute; top: 0; left: 50%; width: 50%; height: 100%; transform-origin: left center; transform-style: preserve-3d; transition: transform .9s cubic-bezier(.4,.1,.2,1); }
.ij-leaf.is-turned { transform: rotateY(-180deg); }
.ij-pg { position: absolute; inset: 0; box-sizing: border-box; padding: clamp(1.5rem, 3.4vw, 2.75rem); background: var(--bk-bg); border: 1.5px solid var(--bk-line); backface-visibility: hidden; -webkit-backface-visibility: hidden; display: flex; flex-direction: column; gap: .75rem; overflow: hidden; cursor: pointer; }
.ij-pg--front { border-radius: 2px 10px 10px 2px; box-shadow: inset 14px 0 18px -16px rgba(0,0,0,.65); }
.ij-pg--back { transform: rotateY(180deg); border-radius: 10px 2px 2px 10px; box-shadow: inset -14px 0 18px -16px rgba(0,0,0,.65); }
.ij-pg--blank { border-color: transparent; background: transparent; }
/* grzbiet i krawędzie stron (kontur „stosu” kartek) */
.ij-book__stage::before, .ij-book__stage::after { content: ""; position: absolute; top: 6px; bottom: -6px; width: 50%; border: 1px solid rgba(242,244,246,.35); pointer-events: none; }
.ij-book__stage::before { left: -6px; border-radius: 10px 0 0 10px; border-right: 0; }
.ij-book__stage::after { right: -6px; border-radius: 0 10px 10px 0; border-left: 0; }
.ij-book.is-closed .ij-book__stage::before { display: none; }
.ij-book.is-end .ij-book__stage::after { display: none; }
/* typografia stron */
.ij-pg__eyebrow { font-size: .6875rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--bk-acc); }
.ij-pg__h { margin: 0; font-size: clamp(1.4rem, 2.2vw, 2rem); line-height: 1.15; letter-spacing: -.01em; color: #fff; font-weight: 650; text-wrap: balance; }
.ij-pg__h--sm { font-size: clamp(1.15rem, 1.6vw, 1.45rem); }
.ij-pg__num { font-size: clamp(3rem, 6vw, 5rem); line-height: 1; font-weight: 300; color: var(--bk-line); opacity: .9; letter-spacing: .02em; }
.ij-pg__arts { list-style: none; margin: .5rem 0 0; padding: 0; display: grid; gap: .1rem; font-size: .875rem; border-top: 1px solid rgba(242,244,246,.18); }
.ij-pg__arts li { display: grid; grid-template-columns: 4.2rem 1fr; gap: .5rem; padding: .45rem 0; border-bottom: 1px solid rgba(242,244,246,.12); color: #F2F4F6; }
.ij-pg__arts span { color: var(--bk-mute); font-variant-numeric: tabular-nums; }
.ij-pg__istota { margin: 0; font-size: .9375rem; line-height: 1.6; color: #F2F4F6; }
.ij-pg__q { margin: auto 0 0; padding: 1rem 0 0 1rem; border-left: 2px solid var(--bk-acc); }
.ij-pg__q p { margin: 0; font-size: .9375rem; line-height: 1.55; color: #fff; }
.ij-pg__q cite { display: block; margin-top: .4rem; font-style: normal; font-size: .75rem; letter-spacing: .06em; color: var(--bk-mute); }
.ij-pg__pre p { margin: 0 0 .45rem; font-size: .875rem; line-height: 1.55; color: #F2F4F6; }
.ij-pg__pre p:first-child, .ij-pg__pre p:last-child { color: #fff; font-weight: 600; }
.ij-pg__zal { list-style: none; margin: .5rem 0 0; padding: 0; display: grid; gap: .6rem; }
.ij-pg__zal li { display: grid; grid-template-columns: 2rem 1fr; align-items: baseline; font-size: 1rem; line-height: 1.4; color: #fff; padding-bottom: .6rem; border-bottom: 1px solid rgba(242,244,246,.14); }
.ij-pg__zal span { color: var(--bk-acc); font-weight: 600; font-variant-numeric: tabular-nums; }
.ij-pg__no { position: absolute; bottom: .9rem; left: 0; right: 0; text-align: center; font-size: .6875rem; color: var(--bk-mute); font-variant-numeric: tabular-nums; }
.ij-pg__cover { margin: auto; display: grid; justify-items: center; text-align: center; gap: .6rem; padding: 2rem 1rem; border: 1px solid rgba(242,244,246,.5); outline: 1px solid rgba(242,244,246,.25); outline-offset: 8px; width: 82%; }
.ij-pg__ctitle { font-size: clamp(2.2rem, 4.2vw, 3.6rem); font-weight: 650; letter-spacing: .08em; text-transform: uppercase; color: #fff; line-height: 1; }
.ij-pg__csub { font-size: clamp(1rem, 1.6vw, 1.3rem); color: #F2F4F6; }
.ij-pg__rule { width: 48px; height: 2px; background: var(--bk-acc); margin: .6rem 0; }
.ij-pg__meta { font-size: .75rem; color: var(--bk-mute); letter-spacing: .04em; }
.ij-pg__end { margin: auto 0; display: grid; gap: 1rem; justify-items: start; }
.ij-pg__btn { display: inline-block; background: #F2F4F6; color: #0F1824 !important; text-decoration: none !important; font-weight: 600; padding: .8rem 1.4rem; border-radius: 3px; border: 1.5px solid #F2F4F6; }
.ij-pg__btn:hover { background: transparent; color: #fff !important; }
.ij-pg__link { color: var(--bk-acc) !important; font-weight: 600; }
/* nawigacja rozdziałów */
.ij-book__nav { display: flex; align-items: center; justify-content: center; gap: .75rem; margin-top: 2.25rem; }
.ij-book__chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: .35rem; }
.ij-book__chip, .ij-book__arrow { font: 600 .8125rem/1 var(--wp--preset--font-family--franklin); color: #F2F4F6; background: transparent; border: 1px solid rgba(242,244,246,.35); border-radius: 3px; min-width: 2.5rem; height: 2.25rem; padding: 0 .65rem; cursor: pointer; letter-spacing: .04em; }
.ij-book__chip:hover, .ij-book__arrow:hover { border-color: #fff; }
.ij-book__chip[aria-current="true"] { background: #F2F4F6; color: #0F1824; border-color: #F2F4F6; }
.ij-book__arrow { font-size: 1rem; }
/* telefon i tablet: strony jedna po drugiej (przewijanie palcem) */
@media (max-width: 899px) {
  .ij-book__stage { aspect-ratio: auto; perspective: none; display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 6px; transform: none !important; }
  .ij-book__stage::before, .ij-book__stage::after { display: none; }
  .ij-leaf { display: contents; }
  .ij-pg { position: relative; inset: auto; flex: 0 0 min(86%, 420px); min-height: 520px; transform: none !important; backface-visibility: visible; scroll-snap-align: center; border-radius: 8px !important; box-shadow: none; cursor: default; }
  .ij-pg--blank { display: none; }
  .ij-book__chips { flex-wrap: nowrap; overflow-x: auto; justify-content: flex-start; max-width: calc(100vw - 140px); }
}
@media (prefers-reduced-motion: reduce) { .ij-leaf, .ij-book__stage { transition: none !important; } }
html.ij-hc .ij-pg { background: #000 !important; border-color: #fff !important; }
.ij-konst .has-text-align-center { text-align: center !important; }
.ij-pg__ctitle { font-size: clamp(1.7rem, 3vw, 2.6rem); letter-spacing: .05em; }
.ij-pg__cover { width: 78%; box-sizing: border-box; }
@media (max-width: 899px) { .ij-book__chips { flex-wrap: wrap; overflow: visible; max-width: none; justify-content: center; } .ij-book__nav { flex-wrap: wrap; } }
.ij-pg__ctitle { font-size: clamp(1.5rem, 2.5vw, 2.2rem); letter-spacing: .03em; }

/* ================= v0.1.19: sekcja Wesprzyj — trzy karty =================
   Szablon: nagłówek, akapit, trzy karty w kolorze Atrament z motywem kolumn (zamiast zdjęć). Cała karta jest linkiem. */
.ij-support__lead { max-width: 60ch; color: #2A3647; margin-top: 1rem !important; }
.ij-support__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; margin-top: 2.25rem !important; }
.ij-support__grid > * { margin: 0 !important; }
.ij-support-card { position: relative; display: flex; flex-direction: column; gap: .75rem; min-height: 15rem; padding: 2rem 2rem 1.75rem; background-color: #172231; color: #F2F4F6; border-radius: 4px; overflow: hidden; transition: background-color .2s ease, transform .2s ease;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23F2F4F6' stroke-opacity='.14' stroke-width='3'%3E%3Crect x='14' y='40' width='14' height='70' rx='7'/%3E%3Crect x='40' y='40' width='14' height='70' rx='7'/%3E%3Crect x='66' y='40' width='14' height='70' rx='7'/%3E%3Crect x='92' y='40' width='14' height='70' rx='7'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat; background-size: 160px; background-position: right -26px bottom -46px; }
.ij-support-card > * { margin: 0 !important; position: relative; }
.ij-support-card h3 { color: #fff !important; font-size: clamp(1.35rem, 1.1rem + 1vw, 1.75rem); line-height: 1.2; letter-spacing: -.01em; }
.ij-support-card p { color: #D9DEE5; font-size: var(--wp--preset--font-size--s); line-height: 1.6; max-width: 32ch; }
.ij-support-card__cta { margin-top: auto !important; padding-top: .75rem; }
.ij-support-card__cta a { color: #fff !important; font-weight: 600; text-decoration: none; position: static; }
.ij-support-card__cta a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.ij-support-card:hover { background-color: #0F1824; transform: translateY(-2px); }
.ij-support-card:hover .ij-support-card__cta a { text-decoration: underline; text-underline-offset: .2em; }
.ij-support-card:focus-within { outline: 2px solid #34557A; outline-offset: 3px; }
@media (max-width: 900px) { .ij-support__grid { grid-template-columns: 1fr; } .ij-support-card { min-height: 0; } }
@media (prefers-reduced-motion: reduce) { .ij-support-card { transition: none; } .ij-support-card:hover { transform: none; } }
html.ij-hc .ij-support-card { background-image: none !important; border: 1px solid #fff; }
.ij-support__lead { margin-left: max(0px, calc((100% - 1200px) / 2)) !important; }
