/* Motyw „mozaika”: kafle bento z zaokrąglonymi rogami. Każdy dział ma kolor
   (--k) i ikonę z site.yaml; kafel artykułu to jasny odcień koloru działu,
   kafel główny jest w pełnym kolorze. Akcent i tło strony: --akcent, --tlo.
   Odcienie liczy color-mix, więc dowolny kolor działu daje spójny kafel. */

*,*::before,*::after{box-sizing:border-box}
:root{
  --tusz:#1e2430;
  --szary:#5b6372;
  --biel:#fff;
  --r:22px;
  --odstep:14px;
  --zaokr:ui-rounded,"SF Pro Rounded","Nunito","Varela Round","Segoe UI",system-ui,sans-serif;
  --tekst:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--tlo);color:var(--tusz);font:1.05rem/1.6 var(--tekst)}
a{color:inherit}
img{max-width:100%;height:auto}

/* --- pasek górny --- */
.pasek{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;
  max-width:78rem;margin:0 auto;padding:.8rem 1rem;background:color-mix(in srgb,var(--tlo) 88%,transparent);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.logo{display:flex;align-items:center;gap:.6rem;text-decoration:none;font-family:var(--zaokr);font-weight:800;font-size:1.12rem;letter-spacing:-.01em}
.logo-znak{display:grid;place-items:center;width:2.3rem;height:2.3rem;color:#fff;font-size:1.1rem;background:var(--akcent);
  clip-path:polygon(50% 0,94% 25%,94% 75%,50% 100%,6% 75%,6% 25%)}
.pigulki{display:flex;flex-wrap:wrap;gap:.4rem;margin-left:auto}
.pigulki a{padding:.35rem .85rem;border-radius:99px;background:var(--biel);text-decoration:none;font-size:.88rem;font-weight:600;
  box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--k) 35%,transparent)}
.pigulki a:hover,.pigulki a[aria-current]{background:var(--k);color:#fff;box-shadow:none}
.jezyki{display:flex;gap:.3rem}
.jezyki a{font-size:.78rem;font-weight:700;text-decoration:none;padding:.25rem .45rem;border-radius:8px}
.jezyki a[aria-current]{background:var(--tusz);color:#fff}

.zawartosc{max-width:78rem;margin:0 auto;padding:.6rem 1rem 2rem}

/* --- bento --- */
.bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(12.5rem,auto);gap:var(--odstep);grid-auto-flow:dense}
.kafel{position:relative;display:flex;flex-direction:column;gap:.55rem;padding:1.3rem 1.35rem;border-radius:var(--r);background:var(--biel);
  text-decoration:none;overflow:hidden;min-width:0}
.kafel-intro{grid-column:span 2;grid-row:span 2;background:var(--tusz);color:#f3f1ea;padding:2rem}
.kafel-intro h1{font-family:var(--zaokr);font-size:clamp(2rem,4vw,3.1rem);line-height:1.05;margin:0;letter-spacing:-.02em}
.kafel-intro>p{margin:0;color:#cfd3db;font-size:1.08rem;max-width:30rem}
.haslo{text-transform:uppercase;letter-spacing:.14em;font-size:.75rem!important;font-weight:700;color:color-mix(in srgb,var(--akcent) 55%,#fff)!important}
.ilustracja{margin-top:auto;align-self:center;width:100%;max-width:26rem}

.kafel-wpis{background:color-mix(in srgb,var(--k) 13%,#fff);transition:transform .2s ease,box-shadow .2s ease}
.kafel-wpis:hover{transform:translateY(-3px);box-shadow:0 14px 30px -18px color-mix(in srgb,var(--k) 70%,#000)}
.kafel-wpis h2,.kafel-wpis h3{font-family:var(--zaokr);font-size:1.22rem;line-height:1.22;margin:.2rem 0 0;letter-spacing:-.005em}
.kafel-wpis p{margin:0;color:var(--szary);font-size:.95rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.kafel-gora{display:flex;align-items:center;gap:.55rem}
.etykieta{font-size:.76rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:color-mix(in srgb,var(--k) 75%,#000)}
.kafel-dol{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:.4rem;font-size:.82rem;color:var(--szary)}
.kafel-dol span{font-size:1.2rem;color:var(--k);transition:transform .2s ease}
.kafel-wpis:hover .kafel-dol span{transform:translateX(4px)}
.znaczek{display:grid;place-items:center;flex:none;width:2.2rem;height:2.2rem;border-radius:12px;background:var(--k);color:#fff}
.znaczek .ikona{width:1.3rem;height:1.3rem}
.znaczek-duzy{width:3.4rem;height:3.4rem;border-radius:18px}
.znaczek-duzy .ikona{width:2rem;height:2rem}

.glowny{grid-column:span 2;background:var(--k);color:#fff}
.glowny h2{font-size:clamp(1.4rem,2.4vw,1.9rem)}
.glowny p,.glowny .kafel-dol,.glowny .etykieta,.glowny .kafel-dol span{color:color-mix(in srgb,#fff 85%,var(--k))}
.glowny .znaczek{background:#fff;color:var(--k)}
.szeroki{grid-column:span 2}
.wysoki{grid-row:span 2}
.wysoki h2{font-size:1.45rem}
.wysoki p{-webkit-line-clamp:8}

.kafel-dzial{justify-content:space-between;background:var(--biel);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--k) 22%,transparent)}
.kafel-dzial:hover{background:var(--k);color:#fff}
.kafel-dzial:hover .znaczek{background:#fff;color:var(--k)}
.dzial-nazwa{font-family:var(--zaokr);font-weight:800;font-size:1.35rem;line-height:1.15;margin-top:auto}
.dzial-licznik{font-size:.85rem;opacity:.75}

.kafel-naglowek{grid-column:1/-1;flex-direction:row;align-items:center;gap:1.2rem;background:var(--k);color:#fff;min-height:auto}
.kafel-naglowek .znaczek{background:#fff;color:var(--k)}
.kafel-naglowek h1{font-family:var(--zaokr);font-size:clamp(1.8rem,4vw,2.6rem);margin:0;flex:1}
.kafel-naglowek p{margin:0;opacity:.85}

.lista{margin-top:2.2rem;background:var(--biel);border-radius:var(--r);padding:1.4rem 1.5rem}
.lista h2{font-family:var(--zaokr);margin:0 0 .6rem;font-size:1.3rem}
.lista ul{list-style:none;margin:0;padding:0}
.lista li{display:flex;align-items:center;gap:.8rem;padding:.6rem 0;border-top:1px solid #eceae4}
.lista li a{flex:1;text-decoration:none;font-weight:600}
.lista li a:hover{color:var(--k)}
.lista time{font-size:.82rem;color:var(--szary);white-space:nowrap}
.lista .znaczek{width:1.9rem;height:1.9rem;border-radius:10px}
.lista .znaczek .ikona{width:1.1rem;height:1.1rem}

/* --- artykuł --- */
.wpis{max-width:48rem;margin:0 auto}
.wpis-glowa{background:color-mix(in srgb,var(--k,var(--akcent)) 14%,#fff);border-radius:var(--r);padding:1.6rem 1.8rem 1.8rem;margin-bottom:var(--odstep)}
.okruszki{display:flex;gap:.5rem;font-size:.85rem;color:var(--szary);margin-bottom:1rem}
.okruszki a{text-decoration:none}
.okruszki a:hover{text-decoration:underline}
.wpis-glowa h1{font-family:var(--zaokr);font-size:clamp(1.9rem,4.4vw,2.8rem);line-height:1.1;margin:1rem 0 .7rem;letter-spacing:-.02em}
.entradilla{font-size:1.18rem;line-height:1.5;margin:0 0 .9rem;color:#353c4a}
.meta{margin:0;font-size:.85rem;color:var(--szary)}
.indice{background:var(--biel);border-radius:var(--r);padding:1rem 1.4rem;margin-bottom:var(--odstep)}
.indice summary{cursor:pointer;font-weight:700;font-family:var(--zaokr)}
.indice ol{margin:.6rem 0 .2rem;padding-left:1.3rem}
.indice li{margin:.25rem 0}
.indice a{text-decoration:none}
.indice a:hover{text-decoration:underline;color:var(--k,var(--akcent))}
.tekst>:first-child{margin-top:0}
.tekst{background:var(--biel);border-radius:var(--r);padding:1.4rem 1.9rem 1.8rem;font-size:1.08rem;line-height:1.72}
.tekst h2{font-family:var(--zaokr);font-size:1.5rem;line-height:1.25;margin:2.1rem 0 .7rem;scroll-margin-top:5rem}
.tekst h2::before{content:"";display:inline-block;width:.6em;height:.6em;margin-right:.5rem;border-radius:4px;background:var(--k,var(--akcent));vertical-align:.08em}
.tekst h3{font-size:1.12rem;margin:1.6rem 0 .5rem}
.tekst a{color:color-mix(in srgb,var(--k,var(--akcent)) 80%,#000);text-decoration-thickness:1.5px;text-underline-offset:.18em}
.tekst strong{background:linear-gradient(transparent 62%,color-mix(in srgb,var(--k,var(--akcent)) 25%,transparent) 0)}
.tekst blockquote{margin:1.6rem 0;padding:1rem 1.3rem;border-radius:16px;background:color-mix(in srgb,var(--k,var(--akcent)) 10%,#fff);font-size:1.05rem}
.tekst blockquote p{margin:.3rem 0}
.tekst ul,.tekst ol{padding-left:1.4rem}
.tekst li{margin:.35rem 0}
.tekst img{display:block;margin:1.6rem auto;border-radius:14px}
.tabela{overflow-x:auto;margin:1.4rem 0}
.tekst table{border-collapse:separate;border-spacing:0;width:100%;font-size:.95rem}
.tekst th{background:color-mix(in srgb,var(--k,var(--akcent)) 14%,#fff);text-align:left;padding:.55rem .7rem}
.tekst th:first-child{border-radius:10px 0 0 10px}.tekst th:last-child{border-radius:0 10px 10px 0}
.tekst td{padding:.55rem .7rem;border-bottom:1px solid #eceae4;vertical-align:top}
.pokrewne{max-width:78rem;margin:2.4rem auto 0}
.pokrewne h2{font-family:var(--zaokr);font-size:1.4rem;margin:0 0 1rem}
.bento-maly{grid-template-columns:repeat(3,1fr);grid-auto-rows:minmax(10rem,auto)}
.przycisk{display:inline-block;margin-top:1.2rem;padding:.6rem 1.1rem;border-radius:99px;background:var(--k,var(--akcent));color:#fff;text-decoration:none;font-weight:700;font-size:.92rem}
.kafel-intro .przycisk{align-self:flex-start;background:var(--akcent)}

/* --- stopka --- */
.stopka{max-width:78rem;margin:2.6rem auto 0;padding:0 1rem 2rem;display:grid;grid-template-columns:2fr 1fr;gap:var(--odstep)}
.stopka-kafel{background:var(--biel);border-radius:var(--r);padding:1.3rem 1.5rem;font-size:.93rem;color:var(--szary)}
.stopka-nazwa{font-family:var(--zaokr);font-weight:800;font-size:1.2rem;color:var(--tusz);margin:0 0 .3rem}
.stopka-kafel p{margin:0}
.stopka ul{list-style:none;margin:0;padding:0;columns:2;column-gap:1.2rem}
.stopka li{margin:.15rem 0}
.stopka a{text-decoration:none;color:var(--tusz)}
.stopka a:hover{text-decoration:underline}
.stopka-rok{grid-column:1/-1;margin:0;font-size:.8rem;color:var(--szary);text-align:center}

@media (max-width:980px){
  .bento{grid-template-columns:repeat(2,1fr)}
  .bento-maly{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:620px){
  .bento,.bento-maly{grid-template-columns:1fr;grid-auto-rows:auto}
  .kafel-intro,.glowny,.szeroki{grid-column:auto}
  .kafel-intro,.wysoki{grid-row:auto}
  .pigulki{margin-left:0}
  .tekst{padding:1.1rem 1.15rem 1.4rem}
  .wpis-glowa{padding:1.3rem 1.2rem}
  .stopka{grid-template-columns:1fr}
  .kafel-naglowek{flex-wrap:wrap}
}
@media (prefers-reduced-motion:reduce){.kafel-wpis,.kafel-dol span{transition:none}}
