/* ============================================================
   PJATK.eu — „Rejestr" · wspólny arkusz stylów (2026)
   Nowoczesny rejestr instytucjonalny: atramentowy granat + miedź,
   dokumentowy porządek, dużo światła. Mobile-first, zero zasobów
   zdalnych, działa przez file://.
   ============================================================ */

/* ---------- 1. Design tokens ---------- */
:root{
  /* paleta */
  --granat:      #1B2A4A;  /* atramentowy granat — kolor wiodący */
  --granat-c:    #14213C;  /* ciemniejszy stopień */
  --granat-g:    #0F1A31;  /* najgłębszy (tła hero/stopki) */
  --granat-70:   #3D4E74;  /* rozjaśniony granat */
  --miedz:       #B4813B;  /* miedź — akcent dekoracyjny */
  --miedz-jasna: #D9A44A;  /* złoto na ciemnych tłach */
  --miedz-tekst: #8A5A16;  /* miedź tekstowa (AA na bieli) */
  --miedz-tlo:   #FAF3E4;  /* pergaminowe tło akcentowe */
  --tlo:         #F5F6F9;  /* tło strony */
  --papier:      #FFFFFF;  /* karty */
  --tekst:       #1E2637;  /* tekst zasadniczy */
  --mgla:        #5A6478;  /* tekst drugorzędny (AA) */
  --linia:       #E3E7EF;  /* obrysy, separatory */
  --linia-krop:  #CBD2DF;  /* kropkowane leadery rejestru */

  /* geometria */
  --promien:   16px;
  --promien-m: 10px;
  --szyna-max: 1180px;

  /* cienie */
  --cien-1: 0 1px 2px rgba(15,26,49,.05), 0 10px 28px -22px rgba(15,26,49,.28);
  --cien-2: 0 2px 6px rgba(15,26,49,.07), 0 22px 44px -22px rgba(15,26,49,.32);

  /* typografia płynna */
  --fs-xs:  clamp(.72rem, .69rem + .12vw, .78rem);
  --fs-s:   clamp(.84rem, .81rem + .15vw, .92rem);
  --fs-b:   clamp(.98rem, .94rem + .2vw, 1.06rem);
  --fs-h3:  clamp(1.08rem, 1rem + .45vw, 1.32rem);
  --fs-h2:  clamp(1.3rem, 1.15rem + .8vw, 1.75rem);
  --fs-h1:  clamp(1.9rem, 1.4rem + 2.6vw, 3.3rem);
  --fs-num: clamp(1.5rem, 1.25rem + 1.3vw, 2.2rem);

  --font: system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial,
          "Noto Sans", sans-serif;
}

/* ---------- 2. Reset i baza ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ transition:none !important; animation:none !important; }
}
body{
  margin:0;
  font-family:var(--font);
  font-size:var(--fs-b);
  line-height:1.62;
  color:var(--tekst);
  background:var(--tlo);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img,svg{ max-width:100%; height:auto; display:block; }
a{ color:var(--miedz-tekst); text-underline-offset:.18em; }
a:hover{ color:var(--granat); }
h1,h2,h3,h4{ line-height:1.22; margin:0; color:var(--granat); letter-spacing:-.01em; }
p{ margin:0; }
figure{ margin:0; }
dl,dt,dd,ul{ margin:0; padding:0; }
button,input{ font:inherit; }

:focus-visible{
  outline:3px solid var(--miedz);
  outline-offset:3px;
  border-radius:4px;
}

.szyna{
  max-width:var(--szyna-max);
  margin-inline:auto;
  padding-inline:clamp(1rem, 4vw, 2.25rem);
}

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

.skip-link{
  position:absolute; left:1rem; top:-4rem; z-index:100;
  background:var(--granat); color:#fff; padding:.6rem 1.1rem;
  border-radius:0 0 var(--promien-m) var(--promien-m);
  text-decoration:none; font-weight:600; font-size:var(--fs-s);
  transition:top .18s ease;
}
.skip-link:focus{ top:0; color:#fff; }

/* ---------- 3. Nagłówek ---------- */
.naglowek{
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,.92);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--linia);
}
.naglowek-szyna{
  display:flex; align-items:center; gap:1rem;
  min-height:4.25rem;
}
.logo{
  display:flex; align-items:center; gap:.7rem;
  text-decoration:none; color:var(--granat);
  margin-right:auto;
}
.logo-znak{ flex:0 0 auto; width:2.35rem; height:2.35rem; }
.logo-teksty{ display:flex; flex-direction:column; line-height:1.15; }
.logo-nazwa{
  font-weight:800; font-size:1.16rem; letter-spacing:.01em; color:var(--granat);
}
.logo-nazwa .tld{ color:var(--miedz-tekst); }
.logo-opis{
  font-size:var(--fs-xs); color:var(--mgla); letter-spacing:.02em;
}

.nav-glowna ul{ list-style:none; display:flex; gap:.25rem; }
.nav-glowna a{
  display:inline-block; padding:.5rem .9rem; border-radius:999px;
  text-decoration:none; font-weight:600; font-size:var(--fs-s);
  color:var(--granat);
  transition:background .15s ease, color .15s ease;
}
.nav-glowna a:hover{ background:var(--miedz-tlo); color:var(--granat); }
.nav-glowna a[aria-current="page"]{
  background:var(--granat); color:#fff;
}

/* wyszukiwarka w nagłówku */
.szukaj{
  display:flex; align-items:stretch;
  border:1px solid var(--linia); border-radius:999px;
  background:var(--papier); overflow:hidden;
  transition:border-color .15s ease, box-shadow .15s ease;
}
.szukaj:focus-within{
  border-color:var(--miedz);
  box-shadow:0 0 0 3px rgba(180,129,59,.18);
}
.szukaj input{
  border:0; background:transparent; padding:.5rem .95rem;
  width:9.5rem; min-width:0; color:var(--tekst); font-size:var(--fs-s);
}
.szukaj input::placeholder{ color:var(--mgla); }
.szukaj input:focus{ outline:none; }
.szukaj button{
  border:0; cursor:pointer;
  background:var(--granat); color:#fff;
  padding:.5rem 1rem; font-weight:600; font-size:var(--fs-s);
  transition:background .15s ease;
}
.szukaj button:hover{ background:var(--granat-c); }

/* menu mobilne — details/summary (działa bez JS) */
.menu-mobilne{ position:relative; }
.menu-mobilne summary{
  list-style:none; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  width:2.75rem; height:2.75rem;
  border:1px solid var(--linia); border-radius:var(--promien-m);
  background:var(--papier);
  transition:background .15s ease, border-color .15s ease;
}
.menu-mobilne summary::-webkit-details-marker{ display:none; }
.menu-mobilne summary:hover{ border-color:var(--miedz); }
.hamburger{ display:block; width:1.15rem; }
.hamburger span{
  display:block; height:2px; border-radius:2px; background:var(--granat);
  transition:transform .2s ease, opacity .2s ease;
}
.hamburger span + span{ margin-top:4px; }
.menu-mobilne[open] summary{ background:var(--granat); border-color:var(--granat); }
.menu-mobilne[open] .hamburger span{ background:#fff; }
.menu-mobilne[open] .hamburger span:nth-child(1){ transform:translateY(6px) rotate(45deg); }
.menu-mobilne[open] .hamburger span:nth-child(2){ opacity:0; }
.menu-mobilne[open] .hamburger span:nth-child(3){ transform:translateY(-6px) rotate(-45deg); }
.menu-panel{
  position:absolute; right:0; top:calc(100% + .6rem);
  width:min(20rem, calc(100vw - 2rem));
  background:var(--papier);
  border:1px solid var(--linia); border-radius:var(--promien);
  box-shadow:var(--cien-2);
  padding:1rem; display:grid; gap:1rem;
}
.menu-panel ul{ list-style:none; display:grid; gap:.25rem; }
.menu-panel nav a{
  display:block; padding:.65rem .9rem; border-radius:var(--promien-m);
  text-decoration:none; font-weight:600; color:var(--granat);
}
.menu-panel nav a:hover{ background:var(--miedz-tlo); }
.menu-panel nav a[aria-current="page"]{ background:var(--granat); color:#fff; }
.menu-panel .szukaj input{ width:100%; flex:1; }

/* nagłówek: co widać kiedy */
.nav-glowna, .szukaj-naglowek{ display:none; }
.menu-mobilne{ display:block; }
@media (min-width: 900px){
  .nav-glowna{ display:block; }
  .szukaj-naglowek{ display:flex; }
  .menu-mobilne{ display:none; }
}

/* ---------- 4. Hero ---------- */
.hero{
  position:relative; color:#fff;
  background:
    radial-gradient(60rem 30rem at 110% -20%, rgba(217,164,74,.16), transparent 60%),
    radial-gradient(50rem 26rem at -15% 120%, rgba(61,78,116,.5), transparent 60%),
    linear-gradient(150deg, var(--granat) 0%, var(--granat-c) 55%, var(--granat-g) 100%);
  overflow:hidden;
}
.hero::before{ /* subtelna siatka rejestrowa */
  content:""; position:absolute; inset:0; pointer-events:none;
  background:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size:2.6rem 2.6rem;
  mask-image:linear-gradient(180deg, rgba(0,0,0,.9), transparent 85%);
  -webkit-mask-image:linear-gradient(180deg, rgba(0,0,0,.9), transparent 85%);
}
.hero-szyna{
  position:relative;
  padding-block:clamp(2.75rem, 7vw, 5.5rem) clamp(2.25rem, 5vw, 4rem);
  display:grid; gap:clamp(1.5rem, 3.5vw, 2.75rem);
}
.hero-kicker{
  display:inline-flex; align-items:center; gap:.55rem;
  font-size:var(--fs-xs); font-weight:700;
  letter-spacing:.18em; text-transform:uppercase;
  color:var(--miedz-jasna);
}
.hero-kicker::before{
  content:""; width:2.2rem; height:2px; background:var(--miedz-jasna);
  border-radius:2px;
}
.hero h1{
  color:#fff; font-size:var(--fs-h1); font-weight:800; letter-spacing:-.02em;
}
.hero h1 .tld{ color:var(--miedz-jasna); }
.hero-podtytul{
  font-size:clamp(1.05rem, .95rem + .7vw, 1.4rem);
  color:#D7DEEC; max-width:34ch; line-height:1.45;
  text-wrap:balance;
}
.hero-tekst{ display:grid; gap:1rem; justify-items:start; }

/* pasek liczb rejestru */
.hero-liczby{
  list-style:none;
  display:grid; gap:1px; background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.14); border-radius:var(--promien);
  overflow:hidden;
  grid-template-columns:repeat(3, 1fr);
  max-width:44rem;
}
.hero-liczba{
  background:rgba(15,26,49,.55); padding:1rem 1.1rem;
  display:grid; gap:.15rem; align-content:start;
}
.hero-liczba b{
  font-size:var(--fs-num); font-weight:800; color:var(--miedz-jasna);
  font-variant-numeric:tabular-nums; line-height:1;
}
.hero-liczba span{ font-size:var(--fs-xs); color:#B9C3D8; letter-spacing:.04em; }

/* obraz nagłówkowy (placeholder) w hero */
.hero-obraz{ display:grid; gap:.45rem; }
.hero-obraz .ph-szeroki{
  border-radius:var(--promien);
  box-shadow:0 24px 48px -28px rgba(0,0,0,.55);
  border:1px solid rgba(255,255,255,.16);
  overflow:hidden;
}
.podpis-obrazu{
  font-size:var(--fs-xs); color:#93A1BC; letter-spacing:.02em;
}
.hero .podpis-obrazu{ color:#93A1BC; }

@media (min-width: 1000px){
  .hero-szyna{
    grid-template-columns:minmax(0, 1.05fr) minmax(0, 1fr);
    align-items:center;
  }
  .hero-liczby{ grid-column:1 / -1; }
}

/* ---------- 5. Nagłówki sekcji / pagina podstron ---------- */
.pagina{
  position:relative; color:#fff;
  background:linear-gradient(150deg, var(--granat) 0%, var(--granat-g) 100%);
}
.pagina::after{
  content:""; position:absolute; inset:auto 0 0 0; height:3px;
  background:linear-gradient(90deg, var(--miedz-jasna), rgba(217,164,74,0) 65%);
}
.pagina-szyna{
  padding-block:clamp(2.25rem, 5.5vw, 4rem);
  display:grid; gap:.9rem; justify-items:start;
}
.pagina h1{ color:#fff; font-size:var(--fs-h1); }
.okruszki{ font-size:var(--fs-s); color:#B9C3D8; }
.okruszki ol{
  list-style:none; margin:0; padding:0;
  display:flex; flex-wrap:wrap; gap:.4rem; align-items:center;
}
.okruszki li{ display:flex; align-items:center; gap:.4rem; }
.okruszki li + li::before{ content:"›"; color:var(--miedz-jasna); }
.okruszki a{ color:#D7DEEC; text-decoration:none; }
.okruszki a:hover{ color:#fff; text-decoration:underline; }
.okruszki [aria-current="page"]{ color:#fff; }

.sekcja-naglowek{
  display:flex; flex-wrap:wrap; align-items:baseline; gap:.6rem 1rem;
  margin-bottom:clamp(1.25rem, 3vw, 2rem);
}
.sekcja-naglowek h2{ font-size:var(--fs-h2); }
.sekcja-naglowek .licznik{
  font-size:var(--fs-s); color:var(--mgla);
  font-variant-numeric:tabular-nums;
}
.sekcja-naglowek::after{
  content:""; flex:1 1 3rem; height:1px; align-self:center;
  background:linear-gradient(90deg, var(--linia), transparent);
  min-width:2rem;
}

/* ---------- 6. Układ treści + sidebar ---------- */
.uklad{
  display:grid; gap:clamp(1.5rem, 3vw, 2.5rem);
  padding-block:clamp(2rem, 5vw, 3.5rem) clamp(2.5rem, 6vw, 4.5rem);
}
@media (min-width: 1024px){
  .uklad{ grid-template-columns:minmax(0,1fr) 19rem; align-items:start; }
  .sidebar{ position:sticky; top:5.5rem; }
}

/* ---------- 7. Karty rejestrowe wpisów ---------- */
.wykaz{ display:grid; gap:clamp(.9rem, 2vw, 1.35rem); }

.karta{
  position:relative;
  background:var(--papier);
  border:1px solid var(--linia);
  border-radius:var(--promien);
  box-shadow:var(--cien-1);
  padding:clamp(1.1rem, 2.5vw, 1.6rem);
  display:grid; gap:1rem;
  grid-template-columns:minmax(0,1fr);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.karta:hover{
  transform:translateY(-2px);
  box-shadow:var(--cien-2);
  border-color:#D8C6A4;
}
.karta:hover .karta-nr{ color:var(--miedz); }

.karta-bok{
  display:flex; align-items:center; gap:.9rem;
}
.karta-nr{
  font-size:var(--fs-num); font-weight:800; line-height:1;
  color:#76829B; /* 3.9:1 na bieli — AA dla dużego tekstu */
  letter-spacing:-.02em;
  font-variant-numeric:tabular-nums;
  transition:color .18s ease;
}
.karta-nr::after{
  content:""; display:block; width:1.4rem; height:2px; margin-top:.3rem;
  background:var(--miedz-jasna); border-radius:2px;
}
.miniatura{ display:grid; gap:.35rem; position:relative; }
.miniatura .ph{
  width:4.25rem; height:4.25rem; border-radius:var(--promien-m);
  overflow:hidden; box-shadow:inset 0 0 0 1px rgba(15,26,49,.08);
}
.miniatura figcaption{ /* podpis dostępny, wizualnie ukryty (rail karty) */
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}

.karta-tresc{ display:grid; gap:.7rem; min-width:0; }
.karta-tytul{ font-size:var(--fs-h3); font-weight:700; }
.karta-tytul a{
  color:var(--granat); text-decoration:none;
  background-image:linear-gradient(90deg, var(--miedz), var(--miedz));
  background-repeat:no-repeat; background-size:0 2px;
  background-position:0 100%;
  transition:background-size .22s ease, color .15s ease;
}
.karta-tytul a:hover{ color:var(--granat-c); background-size:100% 2px; }

.karta-meta{
  display:flex; flex-wrap:wrap; gap:.4rem .55rem; align-items:center;
  font-size:var(--fs-xs); color:var(--mgla);
}
.karta-meta .data{
  display:inline-flex; align-items:center; gap:.35rem;
  font-variant-numeric:tabular-nums;
}
.karta-meta .data svg{ width:.85rem; height:.85rem; }
.chip{
  display:inline-flex; align-items:center; gap:.3rem;
  padding:.18rem .65rem; border-radius:999px;
  background:var(--miedz-tlo); color:var(--miedz-tekst);
  border:1px solid #EBDDBE;
  font-weight:600; font-size:var(--fs-xs);
  text-decoration:none; letter-spacing:.02em;
  transition:background .15s ease, border-color .15s ease;
}
a.chip:hover{ background:#F3E6C8; border-color:var(--miedz); color:var(--miedz-tekst); }

/* rejestrowa lista pól */
.pola{ display:grid; }
.pola > div{
  display:grid; gap:.05rem .9rem;
  padding-block:.42rem;
  border-bottom:1px dashed var(--linia-krop);
}
.pola > div:first-child{ padding-top:0; }
.pola > div:last-child{ border-bottom:0; padding-bottom:0; }
.pola dt{
  font-size:var(--fs-xs); font-weight:700;
  text-transform:uppercase; letter-spacing:.09em;
  color:var(--miedz-tekst); white-space:nowrap;
}
.pola dd{ font-size:var(--fs-s); color:var(--tekst); overflow-wrap:anywhere; }
@media (min-width: 640px){
  .pola > div{ grid-template-columns:10.5rem minmax(0,1fr); align-items:baseline; }
}

.wiecej{
  justify-self:start;
  display:inline-flex; align-items:center; gap:.45rem;
  font-weight:700; font-size:var(--fs-s);
  color:var(--miedz-tekst); text-decoration:none;
  padding:.35rem .2rem;
}
.wiecej svg{ width:1rem; height:1rem; transition:transform .18s ease; }
.wiecej:hover{ color:var(--granat); }
.wiecej:hover svg{ transform:translateX(4px); }

@media (min-width: 760px){
  .karta{ grid-template-columns:auto minmax(0,1fr); }
  .karta-bok{
    flex-direction:column; align-items:center; gap:.75rem;
    padding-right:1.1rem; border-right:1px solid var(--linia);
  }
  .miniatura .ph{ width:5rem; height:5rem; }
}

/* ---------- 8. Sidebar ---------- */
.sidebar{ display:grid; gap:1.25rem; align-content:start; }
.widget{
  background:var(--papier);
  border:1px solid var(--linia); border-radius:var(--promien);
  box-shadow:var(--cien-1);
  padding:1.2rem 1.25rem; display:grid; gap:.9rem;
}
.widget h2{
  font-size:var(--fs-xs); font-weight:800;
  text-transform:uppercase; letter-spacing:.14em;
  color:var(--granat);
  display:flex; align-items:center; gap:.55rem;
}
.widget h2::before{
  content:""; width:.95rem; height:3px; border-radius:2px;
  background:var(--miedz);
}
.widget .szukaj input{ flex:1; width:100%; }
.lista-kategorii{ list-style:none; display:grid; gap:.3rem; }
.lista-kategorii a{
  display:flex; align-items:center; justify-content:space-between; gap:.6rem;
  padding:.6rem .8rem; border-radius:var(--promien-m);
  text-decoration:none; font-weight:600; font-size:var(--fs-s);
  color:var(--granat); border:1px solid transparent;
  transition:background .15s ease, border-color .15s ease;
}
.lista-kategorii a:hover{ background:var(--miedz-tlo); border-color:#EBDDBE; }
.lista-kategorii .ile{
  font-size:var(--fs-xs); font-weight:700; color:var(--miedz-tekst);
  background:var(--miedz-tlo); border:1px solid #EBDDBE;
  border-radius:999px; padding:.1rem .55rem;
  font-variant-numeric:tabular-nums;
}

/* ---------- 9. Strona wpisu ---------- */
.wpis-pagina .pagina-szyna{ gap:1.1rem; }
.wpis-meta{
  display:flex; flex-wrap:wrap; gap:.45rem .6rem; align-items:center;
  font-size:var(--fs-s); color:#B9C3D8;
}
.wpis-meta .rozdziel{ color:var(--granat-70); }
.wpis-meta .chip{ background:rgba(217,164,74,.14); border-color:rgba(217,164,74,.4); color:var(--miedz-jasna); }
.wpis-meta a.chip:hover{ background:rgba(217,164,74,.24); color:#fff; }

.wpis-cialo{ padding-block:clamp(2rem, 5vw, 3.25rem) clamp(2.5rem, 6vw, 4.5rem); }
.wpis-siatka{ display:grid; gap:clamp(1.5rem, 3vw, 2.5rem); }
@media (min-width: 1024px){
  .wpis-siatka{ grid-template-columns:minmax(0,1fr) 19rem; align-items:start; }
}

.dokument{
  background:var(--papier);
  border:1px solid var(--linia); border-radius:var(--promien);
  box-shadow:var(--cien-1);
  overflow:hidden;
}
.dokument-obraz{ padding:1rem 1rem 0; display:grid; gap:.45rem; }
.dokument-obraz .ph-szeroki{ border-radius:var(--promien-m); overflow:hidden; }
.dokument-obraz .podpis-obrazu{ color:var(--mgla); padding-inline:.25rem; }
.dokument-tresc{ padding:clamp(1.25rem, 3vw, 2rem); display:grid; gap:1.5rem; }

/* metryka dotacji — pola pełnego wpisu */
.metryka{ display:grid; }
.metryka > div{
  display:grid; gap:.15rem 1.1rem;
  padding-block:.7rem;
  border-bottom:1px solid var(--linia);
}
.metryka > div:first-child{ padding-top:0; }
.metryka > div:last-child{ border-bottom:0; }
.metryka dt{
  font-size:var(--fs-xs); font-weight:800;
  text-transform:uppercase; letter-spacing:.1em;
  color:var(--miedz-tekst);
}
.metryka dd{ color:var(--tekst); }
@media (min-width: 700px){
  .metryka > div{ grid-template-columns:13rem minmax(0,1fr); align-items:baseline; }
}

/* kwoty — wyróżnione kafle */
.kwoty{
  display:grid; gap:1px;
  background:#EBDDBE;
  border:1px solid #EBDDBE; border-radius:var(--promien);
  overflow:hidden;
}
@media (min-width: 640px){ .kwoty{ grid-template-columns:1fr 1fr; } }
.kwota{
  background:var(--miedz-tlo);
  padding:1.15rem 1.3rem; display:grid; gap:.3rem; align-content:start;
}
.kwota dt{
  font-size:var(--fs-xs); font-weight:800;
  text-transform:uppercase; letter-spacing:.1em;
  color:var(--miedz-tekst);
}
.kwota dd{
  font-size:clamp(1.35rem, 1.1rem + 1.3vw, 1.9rem);
  font-weight:800; color:var(--granat);
  font-variant-numeric:tabular-nums; letter-spacing:-.01em;
}
.kwota--ue{ background:linear-gradient(135deg, #F8EFD9, var(--miedz-tlo)); }
.udzial{
  grid-column:1 / -1; background:var(--miedz-tlo);
  padding:.85rem 1.3rem 1.15rem; display:grid; gap:.45rem;
}
.udzial-pasek{
  height:.55rem; border-radius:999px; background:#E9DFC8; overflow:hidden;
}
.udzial-pasek i{
  display:block; height:100%; width:85%;
  border-radius:999px;
  background:linear-gradient(90deg, var(--granat), var(--granat-70));
}
.udzial small{ font-size:var(--fs-xs); color:var(--mgla); font-variant-numeric:tabular-nums; }

/* ---------- 10. Stopka ---------- */
.stopka{
  background:var(--granat-g); color:#B9C3D8;
  border-top:3px solid var(--miedz);
}
.stopka-szyna{
  min-height:4.5rem;
  padding-block:1.2rem;
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;
  gap:.8rem 1.5rem;
  font-size:var(--fs-s);
}
.stopka a{ color:#fff; font-weight:600; text-decoration-color:rgba(217,164,74,.6); }
.stopka a:hover{ color:var(--miedz-jasna); }
.scrollup{
  display:inline-flex; align-items:center; gap:.5rem;
  text-decoration:none; font-weight:600; font-size:var(--fs-s);
  color:#D7DEEC; padding:.4rem .2rem;
}
.scrollup svg{ width:1.05rem; height:1.05rem; transition:transform .18s ease; }
.scrollup:hover svg{ transform:translateY(-3px); }

/* ---------- 11. Placeholdery obrazów ---------- */
.ph, .ph-szeroki{ background:var(--granat-c); }
.ph svg, .ph-szeroki svg{ width:100%; height:100%; }
.ph-szeroki{ aspect-ratio:16 / 6; }
@media (max-width: 639px){ .ph-szeroki{ aspect-ratio:16 / 9; } }

/* ---------- 12. Druk ---------- */
@media print{
  .naglowek, .sidebar, .stopka .scrollup, .skip-link{ display:none; }
  body{ background:#fff; }
  .karta, .dokument, .widget{ box-shadow:none; }
}
