:root{
  /* Kierunek A: Stal i iskra */
  --bg:#EEF1F4; --surface:#FFFFFF; --ink:#0F1F33; --muted:#52627A; --linia:#C7D0DB; --nit:#C7D0DB; --olej:#0F1F33;
  --zolc:#FFD166; --zolc-ink:#1A1A1A; --acc:#E85A12; --acc-ink:#FFFFFF;
  --r:3px; --maxw:1200px; --font:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --fs:1rem; color-scheme:light;
  box-sizing:border-box; padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){ :root:not([data-theme="light"]){ --bg:#15181C; --surface:#1E2228; --ink:#E6E8E3; --muted:#A3ABB4; --nit:#3A4149; --linia:#3A4149; --olej:#0B1420; color-scheme:dark; } }
:root[data-theme="dark"]{ --bg:#15181C; --surface:#1E2228; --ink:#E6E8E3; --muted:#A3ABB4; --nit:#3A4149; --linia:#3A4149; --olej:#0B1420; color-scheme:dark; }
:root[data-contrast="1"]{ --bg:#fff; --surface:#fff; --ink:#000; --muted:#222; --linia:#000; --nit:#000; }
:root[data-theme="dark"][data-contrast="1"]{ --bg:#000; --surface:#000; --ink:#fff; --muted:#ddd; --linia:#fff; --nit:#fff; }
:root[data-underline="1"] a{ text-decoration:underline !important }
html{ scroll-padding-top:env(safe-area-inset-top,0px); }
*,*::before,*::after{ box-sizing:inherit }
body{ margin:0; font-family:var(--font); font-size:var(--fs); line-height:1.55; color:var(--ink); background:var(--bg); -webkit-font-smoothing:antialiased; font-variant-numeric:tabular-nums; }
a{ color:inherit; text-decoration:none }
a:hover{ text-decoration:underline; text-decoration-thickness:1.5px; text-underline-offset:3px }
:focus-visible{ outline:3px solid var(--zolc); outline-offset:2px }
img{ max-width:100% }
button{ font:inherit; color:inherit }
h1,h2,h3,h4{ font-weight:800; line-height:1.12; letter-spacing:-.02em; margin:0 0 .5em }
h1{ font-size:clamp(1.9rem,1.2rem + 2.6vw,3.2rem) }
h2{ font-size:clamp(1.35rem,1rem + 1.2vw,1.9rem) }
h3{ font-size:1.15rem }
.wrap{ max-width:var(--maxw); margin:0 auto; padding:0 20px }
.sr{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap }
.lnk{ background:none; border:0; padding:0; cursor:pointer; text-align:left; color:inherit; font:inherit } .lnk:hover{ text-decoration:underline }
.skip{ position:absolute; left:-999px; top:0; background:var(--zolc); color:var(--zolc-ink); padding:8px 12px; z-index:100 }
.skip:focus{ left:12px; top:12px }

/* pasek wersji testowej */
.testbar .wrap{ display:flex; justify-content:space-between; gap:12px; align-items:center; flex-wrap:wrap }


/* nagłówek */
.top{ background:var(--olej); color:#C9CEC8; font-size:.82rem }
.top .wrap{ display:flex; justify-content:space-between; align-items:center; min-height:36px; gap:16px; flex-wrap:wrap }
.top a{ color:#E6E8E3 } .top .soc{ display:inline-flex; gap:4px; margin-left:10px; vertical-align:middle }
.top .soc a{ width:24px; height:24px; display:grid; place-items:center; border-radius:3px } .top .soc a:hover{ background:#2C333B; text-decoration:none }
.top .soc svg{ width:14px; height:14px; fill:currentColor }
header.main{ position:sticky; top:env(safe-area-inset-top,0px); z-index:50; background:var(--surface); border-bottom:2px solid var(--ink) }
body::before{ content:""; position:fixed; inset:0 0 auto; height:env(safe-area-inset-top,0px); z-index:60; background:var(--surface) }
header.main .wrap{ display:flex; align-items:center; gap:28px; min-height:72px; position:relative }
.logo{ display:flex; align-items:center; gap:10px; font-weight:800; font-size:1.35rem; letter-spacing:-.02em; white-space:nowrap; line-height:1 }
.logo svg{ width:36px; height:36px; display:block }
.logo small{ display:block; font-size:.62rem; font-weight:500; letter-spacing:.02em; color:var(--muted); margin-top:3px }
nav.primary{ display:flex; gap:2px; flex:1; align-self:stretch; align-items:stretch }
nav.primary > a, nav.primary > button{ display:inline-flex; align-items:center; gap:6px; padding:0 13px; font-weight:600; font-size:.95rem; border:0; background:none; cursor:pointer; border-bottom:3px solid transparent; margin-bottom:-2px }
nav.primary > a:hover, nav.primary > button:hover{ text-decoration:none; border-bottom-color:var(--acc) }
nav.primary > a.on, nav.primary > button[aria-expanded="true"]{ border-bottom-color:var(--ink) }
nav.primary svg.chev{ width:10px; height:10px; transition:transform .15s } nav.primary button[aria-expanded="true"] svg.chev{ transform:rotate(180deg) }
.tools{ display:flex; gap:8px; align-items:center }
.sbox{ display:flex; align-items:center; border:1.5px solid var(--ink); border-radius:var(--r); padding:0 6px 0 10px; height:40px; min-width:240px; background:var(--bg); cursor:text }
.sbox span.ph{ flex:1; color:var(--muted); font-size:.9rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0 } .sbox kbd{ font-family:inherit; font-size:.72rem; border:1px solid var(--nit); border-radius:3px; padding:1px 6px; color:var(--muted) }
.sbox svg{ width:16px; height:16px; margin-right:8px; stroke:currentColor; fill:none; stroke-width:2 }
.tools button.ico, .btn{ display:inline-flex; align-items:center; gap:8px; border:1.5px solid var(--ink); background:transparent; padding:7px 12px; border-radius:var(--r); cursor:pointer; font-weight:500; font-size:.92rem; white-space:nowrap }
.btn.solid{ background:var(--ink); color:var(--bg) }
.btn.zolc{ background:var(--acc); border-color:var(--acc); color:var(--acc-ink) }
.burger{ display:none; width:40px; height:40px; justify-content:center; padding:0 }
@media (max-width:1060px){ .sbox{ min-width:0 } .sbox span.ph,.sbox kbd{ display:none } .sbox{ padding:0 10px; cursor:pointer } .sbox svg{ margin:0 } }
@media (max-width:900px){ nav.primary{ display:none } .burger{ display:inline-flex } header.main .wrap{ min-height:64px } .logo small{ display:none } }
.drawer{ display:none; background:var(--surface); border-bottom:2px solid var(--ink); max-height:calc(100vh - 70px); overflow:auto }
.drawer.open{ display:block }
.drawer a{ display:block; padding:12px 20px; border-top:1px solid var(--linia); font-weight:500 }
.drawer details{ border-top:1px solid var(--linia) } .drawer summary{ padding:12px 20px; cursor:pointer; font-weight:600; list-style:none; display:flex; justify-content:space-between }
.drawer summary::after{ content:"+"; color:var(--muted) } .drawer details[open] summary::after{ content:"–" }
.drawer details a{ padding:9px 20px 9px 32px; font-weight:400; border-top:0; font-size:.95rem }
.drawer .dfoot{ padding:14px 20px; display:flex; gap:8px; flex-wrap:wrap; border-top:1px solid var(--linia) }

/* rozwijane panele menu */
.mega{ display:none; position:absolute; left:0; right:0; top:100%; background:var(--surface); border-bottom:3px solid var(--acc); box-shadow:0 24px 40px -24px rgba(0,0,0,.45) }
.mega.open{ display:block }
header.main .mega .wrap{ display:grid; grid-template-columns:2fr 1fr; gap:36px; padding:26px 20px 30px; align-items:start; min-height:0 }
.mega .wrap > div{ display:flex; flex-direction:column }
.mega h3{ font-size:.82rem; font-weight:700; letter-spacing:.04em; text-transform:none; color:var(--muted); margin:0 0 10px; display:flex; justify-content:space-between; gap:16px; border-bottom:2px solid var(--ink); padding-bottom:6px }
.mega h3 a{ font-weight:500; color:var(--ink) }
.mega ul{ list-style:none; margin:0; padding:0; columns:3; column-gap:28px }
.mega li a{ display:flex; justify-content:space-between; gap:8px; padding:6px 0; border-bottom:1px solid var(--linia); break-inside:avoid; font-size:.95rem }
.mega li a:hover{ color:var(--ink); text-decoration:none; border-bottom-color:var(--ink) }
.mega li a span{ color:var(--muted); font-size:.82rem }
.mega .kat-list{ display:grid; gap:10px }
.mega .kat-list a{ display:grid; grid-template-columns:52px 1fr; gap:12px; align-items:center; padding:8px; border:1.5px solid var(--linia); border-radius:var(--r) }
.mega .kat-list a:hover{ border-color:var(--ink); text-decoration:none; background:var(--bg) }
.mega .kat-list b{ display:block; font-size:.95rem } .mega .kat-list small{ color:var(--muted) }
.mega .kat-list .num{ font-weight:800; font-size:1.25rem; text-align:center; border-right:1.5px solid var(--linia) }
.mega .dz{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px }
.mega .dz a{ padding:14px; border:1.5px solid var(--linia); border-radius:var(--r) } .mega .dz a:hover{ border-color:var(--ink); text-decoration:none; background:var(--bg) }
.mega .dz b{ display:block; margin-bottom:4px } .mega .dz small{ color:var(--muted) }
@media (max-width:900px){ .mega{ display:none !important } }

/* tabliczka znamionowa – element rozpoznawczy */
.plate{ position:relative; border:2px solid var(--ink); background:var(--surface); padding:14px 16px; border-radius:var(--r) }
.plate::before,.plate::after,.plate .riv::before,.plate .riv::after{ content:""; position:absolute; width:7px; height:7px; border-radius:50%; background:var(--ink); box-shadow:inset 0 0 0 2px var(--surface) }
.plate::before{ left:5px; top:5px } .plate::after{ right:5px; top:5px } .plate .riv::before{ left:5px; bottom:5px } .plate .riv::after{ right:5px; bottom:5px }
.plate dl{ display:grid; grid-template-columns:auto 1fr; gap:4px 14px; margin:0; font-size:.9rem }
.plate dt{ color:var(--muted) } .plate dd{ margin:0; font-weight:600 }
.plate .stamp{ position:absolute; right:14px; top:-11px; background:var(--zolc); color:var(--zolc-ink); font-size:.72rem; font-weight:700; padding:2px 8px; letter-spacing:.04em }

/* sekcje */
.sec{ padding:38px 0 }
.sec-h{ display:flex; align-items:baseline; justify-content:space-between; gap:16px; border-top:3px solid var(--ink); padding-top:12px; margin-bottom:20px }
.sec-h h2{ margin:0 } .sec-h a{ font-size:.92rem; color:var(--muted) }
.grid{ display:grid; gap:20px }
.g2{ grid-template-columns:repeat(2,1fr) } .g3{ grid-template-columns:repeat(3,1fr) } .g4{ grid-template-columns:repeat(4,1fr) }
@media (max-width:900px){ .g3,.g4{ grid-template-columns:repeat(2,1fr) } }
@media (max-width:560px){ .g2,.g3,.g4{ grid-template-columns:1fr } }

/* hero */
.hero{ display:grid; grid-template-columns:7fr 5fr; gap:28px; padding:28px 0 10px }
@media (max-width:900px){ .hero{ grid-template-columns:1fr } }
.feature{ display:flex; flex-direction:column; gap:14px }
.feature .img{ aspect-ratio:16/9; background:var(--ink); border-radius:var(--r); position:relative; overflow:hidden }
.feature .img .ph{ position:absolute; inset:0; display:flex; align-items:flex-end; padding:16px; color:#E6E8E3; font-size:.8rem; opacity:.8 }
.feature h2{ font-size:clamp(1.6rem,1rem + 2.2vw,2.6rem) }
.feature .lead{ font-size:1.08rem; color:var(--muted); max-width:62ch }
.kat{ display:inline-block; font-size:.78rem; font-weight:700; letter-spacing:.02em; padding:3px 8px; border:1.5px solid var(--ink); border-radius:var(--r) }
.kat.z{ background:var(--zolc); border-color:var(--zolc); color:var(--zolc-ink) }
.meta{ color:var(--muted); font-size:.85rem; display:flex; gap:12px; flex-wrap:wrap; align-items:center }
.today{ border-left:3px solid var(--acc); padding-left:18px }
.today h2{ font-size:1rem; display:flex; justify-content:space-between; margin-bottom:10px }
.today ol{ list-style:none; margin:0; padding:0 }
.today li{ padding:10px 0; border-bottom:1px solid var(--linia) }
.today li a{ font-weight:600; display:block; line-height:1.3 }
.today .meta{ margin-top:4px }

/* karty wpisów */
.card{ display:flex; flex-direction:column; gap:8px; padding-top:12px; border-top:1.5px solid var(--ink) }
.card .img{ aspect-ratio:3/2; background:linear-gradient(135deg,var(--nit),var(--linia)); border-radius:var(--r); display:flex; align-items:flex-end; padding:10px; font-size:.75rem; color:var(--muted) }
.card h3{ font-size:1.05rem; margin:0; line-height:1.25 }
.card p{ margin:0; color:var(--muted); font-size:.92rem }
.row{ display:grid; grid-template-columns:110px 1fr; gap:14px; padding:12px 0; border-bottom:1px solid var(--linia) }
.row .img{ aspect-ratio:3/2; background:linear-gradient(135deg,var(--nit),var(--linia)); border-radius:var(--r) }
.row h3{ margin:0 0 3px; font-size:1.02rem }
@media (max-width:560px){ .row{ grid-template-columns:80px 1fr } }

/* serie / katalogi */
.serie{ display:grid; grid-template-columns:auto 1fr; gap:16px; align-items:center; border:2px solid var(--ink); padding:16px; border-radius:var(--r); background:var(--surface) }
.serie .n{ font-weight:800; font-size:2rem; line-height:1 }
.serie .n small{ display:block; font-size:.72rem; font-weight:500; color:var(--muted); font-stretch:100% }
.serie h3{ margin:0 0 2px } .serie p{ margin:0; font-size:.9rem; color:var(--muted) }

/* panel branż */
.branze{ display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:var(--linia); border:2px solid var(--ink) }
.branze a{ background:var(--surface); padding:14px; display:flex; flex-direction:column; gap:6px; min-height:92px }
.branze a:hover{ background:var(--acc); color:var(--acc-ink); text-decoration:none }
.branze b{ font-size:1rem; line-height:1.2 } .branze span{ font-size:.8rem; color:var(--muted) }
.branze a:hover span{ color:inherit }
@media (max-width:900px){ .branze{ grid-template-columns:repeat(3,1fr) } } @media (max-width:560px){ .branze{ grid-template-columns:repeat(2,1fr) } }

/* filtry */
.chips{ display:flex; gap:6px; flex-wrap:wrap; margin:0 0 18px }
.chips button, .chips a{ border:1.5px solid var(--linia); background:transparent; padding:5px 11px; border-radius:20px; cursor:pointer; font-size:.88rem }
.chips .on{ background:var(--ink); color:var(--bg); border-color:var(--ink) }
.filters{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:18px; align-items:center }
.filters select,.filters input{ font:inherit; padding:7px 10px; border:1.5px solid var(--ink); border-radius:var(--r); background:var(--surface); color:var(--ink) }

/* podstrona z paskiem bocznym */
div.page{ display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:40px; padding:26px 0 50px }
@media (max-width:900px){ div.page{ grid-template-columns:1fr } }
.crumbs{ font-size:.85rem; color:var(--muted); margin:16px 0 }
.crumbs a:hover{ color:var(--ink) }
.aside{ display:flex; flex-direction:column; gap:26px; align-self:start; position:sticky; top:90px }
.aside h3{ font-size:.9rem; border-top:3px solid var(--ink); padding-top:8px }
.aside ul{ list-style:none; margin:0; padding:0 } .aside li{ padding:6px 0; border-bottom:1px solid var(--linia); font-size:.92rem }
.prose{ max-width:70ch; font-size:1.05rem }
.prose p{ margin:0 0 1.1em } .prose h2{ margin-top:1.6em } .prose h3{ margin-top:1.3em }
.prose ul{ padding-left:1.2em } .prose li{ margin-bottom:.4em }
.prose figure{ margin:1.4em 0 } .prose figure .img{ aspect-ratio:16/9; background:var(--ink); border-radius:var(--r) }
.prose figcaption{ font-size:.85rem; color:var(--muted); margin-top:6px }
.callout{ border-left:4px solid var(--acc); background:var(--surface); padding:14px 18px; margin:1.4em 0; font-size:.98rem }
.toc{ border:1.5px solid var(--ink); padding:14px 18px; border-radius:var(--r); font-size:.92rem; margin:1.4em 0 }
.toc ol{ margin:6px 0 0; padding-left:1.2em } .toc li{ margin:3px 0 }
.progress{ position:fixed; left:0; top:0; height:3px; background:var(--acc); width:0; z-index:70 }
.share{ display:flex; gap:8px; flex-wrap:wrap; margin:28px 0 }
.share a{ border:1.5px solid var(--ink); padding:6px 12px; border-radius:var(--r); font-size:.88rem }
.prevnext{ display:grid; grid-template-columns:1fr 1fr; gap:16px; border-top:3px solid var(--ink); padding-top:14px; margin-top:30px }
.prevnext a{ display:block } .prevnext small{ color:var(--muted); display:block }
.prevnext .next{ text-align:right }
.alpha{ display:flex; flex-wrap:wrap; gap:4px; margin:14px 0 24px }
.alpha a{ width:36px; height:36px; display:grid; place-items:center; border:1.5px solid var(--linia); border-radius:var(--r); font-weight:600 }
.alpha a.off{ opacity:.35; pointer-events:none }
.table{ width:100%; border-collapse:collapse; font-size:.92rem }
.table th,.table td{ text-align:left; padding:9px 10px; border-bottom:1px solid var(--linia) }
.table th{ border-bottom:2px solid var(--ink) }
.tblwrap{ overflow-x:auto }
.form{ display:grid; gap:12px; max-width:560px }
.form label{ display:grid; gap:4px; font-size:.9rem; font-weight:600 }
.form input,.form textarea,.form select{ font:inherit; padding:9px 11px; border:1.5px solid var(--ink); border-radius:var(--r); background:var(--surface); color:var(--ink) }
.notice{ background:var(--surface); border:1.5px dashed var(--muted); padding:12px 16px; border-radius:var(--r); font-size:.9rem; color:var(--muted) }
.stepy{ counter-reset:k; display:grid; gap:14px }
.stepy .s{ display:grid; grid-template-columns:44px 1fr; gap:14px; padding:14px; border:1.5px solid var(--ink); border-radius:var(--r); background:var(--surface) }
.stepy .s::before{ counter-increment:k; content:counter(k); font-weight:800; font-size:1.6rem; line-height:1 }
.stepy h3{ margin:0 0 4px }

/* stopka */
footer{ background:var(--olej); color:#C9CEC8; margin-top:48px; border-top:4px solid var(--acc) }
footer .wrap{ display:block }
.f-top{ display:grid; grid-template-columns:1.3fr 1.15fr 1fr 1fr 1.1fr; gap:30px; padding:44px 0 36px; border-bottom:1px solid #2C333B }
footer h4{ color:#fff; font-size:.82rem; letter-spacing:.04em; margin:0 0 12px; padding-bottom:8px; border-bottom:2px solid #3A4149 }
footer ul{ list-style:none; margin:0; padding:0 } footer li{ padding:4px 0; font-size:.92rem } footer li a:hover{ color:#fff }
footer .ul2{ columns:2; column-gap:20px } footer .ul2 li{ break-inside:avoid }
.f-brand .logo{ color:#fff; margin-bottom:12px } .f-brand .logo small{ color:#9AA3AD }
.f-brand p{ margin:0 0 14px; max-width:38ch; font-size:.92rem }
.f-stats{ display:grid; grid-template-columns:repeat(3,auto); gap:18px; justify-content:start; margin:16px 0 }
.f-stats b{ display:block; color:#fff; font-weight:800; font-size:1.5rem; line-height:1 } .f-stats small{ font-size:.78rem }
.f-brand .soc{ display:flex; gap:6px } .f-brand .soc a{ width:34px; height:34px; display:grid; place-items:center; border:1.5px solid #3A4149; border-radius:var(--r) } .f-brand .soc a:hover{ border-color:var(--acc); color:var(--acc); text-decoration:none } .f-brand .soc svg{ width:16px; height:16px; fill:currentColor }
.f-news p{ font-size:.9rem; margin:0 0 10px }
.f-news form{ display:grid; gap:8px } .f-news input{ font:inherit; padding:10px 12px; border:1.5px solid #3A4149; background:#15181C; color:#fff; border-radius:var(--r) } .f-news input::placeholder{ color:#7D8792 }
.f-news button{ font:inherit; font-weight:600; background:var(--acc); color:var(--acc-ink); border:0; padding:10px; border-radius:var(--r); cursor:pointer }
.f-news small{ color:#7D8792; font-size:.76rem; display:block; margin-top:6px }
.f-bot{ display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; padding:18px 0 calc(90px + env(safe-area-inset-bottom,0px)); font-size:.82rem; color:#9AA3AD }
.f-bot nav{ display:flex; gap:14px; flex-wrap:wrap } .f-bot a:hover{ color:#fff }
.f-bot .up{ border:1.5px solid #3A4149; border-radius:var(--r); padding:6px 12px; background:none; color:inherit; cursor:pointer } .f-bot .up:hover{ border-color:#fff; color:#fff }
@media (min-width:901px){ .f-bot{ padding-bottom:24px } }
@media (max-width:1060px){ .f-top{ grid-template-columns:1fr 1fr 1fr } .f-brand{ grid-column:1/-1 } .f-news{ grid-column:1/-1 } }
@media (max-width:560px){ .f-top{ grid-template-columns:1fr } footer .ul2{ columns:2 } }

/* wyszukiwarka Ctrl+K */
.modal{ display:none; position:fixed; inset:0; background:rgba(10,12,14,.6); z-index:90; align-items:flex-start; justify-content:center; padding:8vh 16px }
.modal.open{ display:flex }
.modal .box{ width:min(720px,100%); background:var(--surface); border:2px solid var(--ink); border-radius:var(--r); max-height:80vh; display:flex; flex-direction:column }
.modal input{ font:inherit; font-size:1.1rem; padding:16px; border:0; border-bottom:2px solid var(--ink); background:transparent; color:var(--ink); width:100% }
.modal .res{ overflow:auto; padding:8px 0 }
.modal .res a{ display:grid; grid-template-columns:1fr auto; gap:10px; padding:10px 16px; border-bottom:1px solid var(--linia) }
.modal .res a:hover,.modal .res a.sel{ background:var(--zolc); color:var(--zolc-ink); text-decoration:none }
.modal .res small{ color:var(--muted) } .modal .res a.sel small,.modal .res a:hover small{ color:inherit }
.modal .hint{ padding:8px 16px; font-size:.8rem; color:var(--muted); display:flex; gap:14px }

/* panel dostępności */
.a11y{ position:fixed; right:16px; bottom:76px; z-index:80 }
.a11y > button{ width:48px; height:48px; border-radius:50%; background:var(--ink); color:var(--bg); border:0; cursor:pointer; font-weight:800; font-size:1.1rem }
.a11y .pan{ display:none; position:absolute; right:0; bottom:56px; width:280px; max-height:70vh; overflow:auto; background:var(--surface); border:2px solid var(--ink); padding:14px; border-radius:var(--r) }
.a11y .pan.open{ display:grid; gap:8px }
.a11y .pan button{ text-align:left; padding:8px 10px; border:1.5px solid var(--linia); background:transparent; border-radius:var(--r); cursor:pointer }
.a11y .pan button.on{ background:var(--ink); color:var(--bg); border-color:var(--ink) }

/* cookies i pasek mobilny */
.cookie{ display:none; position:fixed; left:16px; right:16px; bottom:calc(16px + env(safe-area-inset-bottom,0px)); max-width:560px; margin:0 auto; background:var(--surface); border:2px solid var(--ink); padding:16px; z-index:85; border-radius:var(--r); font-size:.9rem }
.cookie.open{ display:block } .cookie .b{ display:flex; gap:8px; margin-top:10px; flex-wrap:wrap }
.mbar{ display:none; position:fixed; left:0; right:0; bottom:0; background:var(--surface); border-top:2px solid var(--ink); z-index:75; padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px)); grid-template-columns:1fr 1fr 1fr; gap:8px }
@media (max-width:900px){ .mbar{ display:grid } }
.mbar a,.mbar button{ text-align:center; padding:9px 6px; border:1.5px solid var(--ink); border-radius:var(--r); background:transparent; font-size:.85rem; font-weight:600; cursor:pointer }
.toast{ position:fixed; left:50%; bottom:120px; transform:translateX(-50%); background:var(--ink); color:var(--bg); padding:10px 16px; border-radius:var(--r); display:none; z-index:95 }
.toast.open{ display:block }
@media (prefers-reduced-motion:no-preference){ .mega,.drawer{ animation:fade .15s ease-out } @keyframes fade{ from{opacity:0; transform:translateY(-4px)} } }
@media print{ header.main,.top,.testbar,.aside,footer,.a11y,.mbar,.share,.prevnext,.cookie{ display:none !important } div.page{ grid-template-columns:1fr } body{ background:#fff; color:#000 } }

/* ===== WordPress ===== */
body.admin-bar header.main{ top:32px } @media (max-width:782px){ body.admin-bar header.main{ top:46px } }
.testbar{ background:#2C333B; color:#E6E8E3; font-size:.88rem; padding:8px 0 } .testbar button{ background:#E6E8E3; color:#1A1E23; border:0; padding:4px 10px; border-radius:var(--r); cursor:pointer }
.entry-content{ max-width:70ch; font-size:1.05rem } .entry-content > *:first-child{ margin-top:0 }
.entry-content img{ height:auto; border-radius:var(--r) } .entry-content figure{ margin:1.4em 0 } .entry-content figcaption{ font-size:.85rem; color:var(--muted) }
.entry-content h2{ margin-top:1.6em } .entry-content h3{ margin-top:1.3em } .entry-content p{ margin:0 0 1.1em } .entry-content ul,.entry-content ol{ padding-left:1.2em } .entry-content li{ margin-bottom:.4em }
.entry-content a{ color:var(--acc); text-decoration:underline; text-underline-offset:3px } .entry-content a:hover{ color:var(--ink) }
.entry-content table{ width:100%; border-collapse:collapse; font-size:.92rem } .entry-content th,.entry-content td{ text-align:left; padding:8px 10px; border-bottom:1px solid var(--linia) } .entry-content th{ border-bottom:2px solid var(--ink) }
.entry-content blockquote{ border-left:4px solid var(--acc); margin:1.4em 0; padding:8px 18px; background:var(--surface) }
.page-full .entry-content{ max-width:none }
.alignwide{ max-width:none } .wp-block-image img{ max-width:100% }
.card .img img,.row .img img,.feature .img img{ width:100%; height:100%; object-fit:cover; display:block }
.row .img,.card .img,.feature .img{ overflow:hidden }
.form .err{ color:#B42318; font-size:.9rem } .form .ok{ border-left:4px solid var(--acc); background:var(--surface); padding:12px 16px }
.pagination{ display:flex; gap:6px; justify-content:center; margin-top:24px; flex-wrap:wrap } .pagination .page-numbers{ border:1.5px solid var(--linia); padding:6px 12px; border-radius:var(--r); font-size:.9rem } .pagination .current{ background:var(--ink); color:var(--bg); border-color:var(--ink) }
.wp-caption{ max-width:100% } .screen-reader-text{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0) }
.hp{ position:absolute; left:-9999px }
