
/* ===== KROJE DO PORÓWNANIA ===== */
@font-face{font-family:'Red Hat Display';src:url('/fonts/redhat-latin-ext.woff2') format('woff2');font-weight:300 900;font-style:normal;font-display:swap;unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Red Hat Display';src:url('/fonts/redhat-latin.woff2') format('woff2');font-weight:300 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/* krój strony */
/* --- CYFRY: Fahkwang, reszta tekstu Red Hat Display ---
   Rodzina 'Cyfry' ma unicode-range ograniczony do 0-9, wiec przegladarka
   siega po nia tylko dla cyfr, a kazdy inny znak bierze z nastepnej rodziny.
   Fahkwang konczy sie na 700, dlatego ta grubosc obsluguje tez 800 i 900.  */
@font-face{font-family:'Cyfry';src:url('/fonts/fahkwang-300-latin.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap;unicode-range:U+0030-0039}
@font-face{font-family:'Cyfry';src:url('/fonts/fahkwang-400-latin.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0030-0039}
@font-face{font-family:'Cyfry';src:url('/fonts/fahkwang-500-latin.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0030-0039}
@font-face{font-family:'Cyfry';src:url('/fonts/fahkwang-600-latin.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0030-0039}
@font-face{font-family:'Cyfry';src:url('/fonts/fahkwang-700-latin.woff2') format('woff2');font-weight:700 900;font-style:normal;font-display:swap;unicode-range:U+0030-0039}

/* --- kroj testowany: Unbounded --- */
@font-face{font-family:'Unbounded';src:url('/fonts/unbounded-200-900-latin-ext.woff2') format('woff2');font-weight:200 900;font-style:normal;font-display:swap;unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Unbounded';src:url('/fonts/unbounded-200-900-latin.woff2') format('woff2');font-weight:200 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/* --- kroj testowany: K2D --- */
@font-face{font-family:'K2D';src:url('/fonts/k2d-300-latin-ext.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap;unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'K2D';src:url('/fonts/k2d-300-latin.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap;unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'K2D';src:url('/fonts/k2d-400-latin-ext.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'K2D';src:url('/fonts/k2d-400-latin.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'K2D';src:url('/fonts/k2d-500-latin-ext.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'K2D';src:url('/fonts/k2d-500-latin.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'K2D';src:url('/fonts/k2d-600-latin-ext.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'K2D';src:url('/fonts/k2d-600-latin.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'K2D';src:url('/fonts/k2d-700-latin-ext.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'K2D';src:url('/fonts/k2d-700-latin.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'K2D';src:url('/fonts/k2d-800-latin-ext.woff2') format('woff2');font-weight:800;font-style:normal;font-display:swap;unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'K2D';src:url('/fonts/k2d-800-latin.woff2') format('woff2');font-weight:800;font-style:normal;font-display:swap;unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/* --- kroj testowany: Fahkwang --- */
@font-face{font-family:'Fahkwang';src:url('/fonts/fahkwang-300-latin-ext.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap;unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Fahkwang';src:url('/fonts/fahkwang-300-latin.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap;unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Fahkwang';src:url('/fonts/fahkwang-400-latin-ext.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Fahkwang';src:url('/fonts/fahkwang-400-latin.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Fahkwang';src:url('/fonts/fahkwang-500-latin-ext.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Fahkwang';src:url('/fonts/fahkwang-500-latin.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Fahkwang';src:url('/fonts/fahkwang-600-latin-ext.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Fahkwang';src:url('/fonts/fahkwang-600-latin.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Fahkwang';src:url('/fonts/fahkwang-700-latin-ext.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Fahkwang';src:url('/fonts/fahkwang-700-latin.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

@font-face{font-family:'Vujahday Script';src:url('/fonts/vujahday.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
/* Cala strona jednym krojem. Rodziny Cyfry/Fahkwang/K2D/Unbounded zostaja
   zadeklarowane nizej, ale sa NIEAKTYWNE - przegladarka nie pobiera fontu,
   ktorego nie uzywa. Powrot do testow = dopisanie rodziny w tej linii.     */
:root{--kroj:'Red Hat Display'}





/* ===== ULKS Korzenna ===== */
:root{
  --szer:min(1760px,100%);
  --nieb:#1A6EEB;
  --nieb-ciemny:#1257C4;
  --nieb-jasny:#5FA0FF;   /* hover ikon na ciemnym zdjeciu */
  --czern:#0E1116;
  --biel:#fff;
  --szary:#5E6675;
  --szary-jasny:#8A93A3;
  --linia:#E4E8EE;
  --tlo-2:#F5F7FA;
  --nav-h:78px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--biel);color:var(--czern);
  font:16px/1.65 var(--kroj),system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
body.ma-preloader{overflow:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}

/* ========== INTRO ==========
   Wariant J "skosy z uderzeniem", skopiowany 1:1 z podglad-preloader.php.
   Nie przepisywac recznie - zmiany robic w podgladzie i przenosic w calosci.  */

#preloader{position:fixed;inset:0;z-index:900;pointer-events:none;overflow:hidden;
  --daleko:calc(100vw + 120vh);          /* tyle wystarczy, zeby skosna plachta zeszla z ekranu w kazdych proporcjach */
  --skos:19deg;
  --pw:calc(112vw + 46vh);               /* rozmiar plachty liczony od OBU wymiarow, inaczej po obrocie */
  --ph:calc(42vw + 112vh)}               /* nie dokrywa naroznikow na ekranie w pionie */
#preloader img{width:min(300px,46vw);height:auto}
.srodek{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}

/* --- J: SKOSY Z UDERZENIEM (B + D) --- */
.w-j .j-scena{position:absolute;inset:0}
.w-j .j-warstwa{position:absolute;width:var(--pw);height:var(--ph);left:calc(50% - var(--pw) / 2);top:calc(50% - var(--ph) / 2);will-change:transform}
.w-j .j-baza{background:var(--czern);transform:rotate(var(--skos))}
.w-j .j-nieb{background:var(--nieb);transform:translateX(calc(-1 * var(--daleko))) rotate(var(--skos))}
.w-j .j-bial{background:#F2F5F9;transform:translateX(calc(-1 * var(--daleko))) rotate(var(--skos))}
.w-j .j-blysk{position:absolute;inset:0;background:#fff;opacity:0}
.gra.w-j .j-nieb{animation:b-wjazd .46s cubic-bezier(.82,0,.14,1) .02s both, b-wyjazd .44s cubic-bezier(.55,0,.85,.35) .96s forwards}
.gra.w-j .j-bial{animation:b-wjazd .46s cubic-bezier(.82,0,.14,1) .12s both, b-wyjazd .44s cubic-bezier(.55,0,.85,.35) .88s forwards}
.gra.w-j .j-baza{animation:b-wyjazd .44s cubic-bezier(.55,0,.85,.35) 1.04s forwards}
.gra.w-j .j-blysk{animation:d-blysk .22s ease-out .56s forwards}
.gra.w-j .j-scena{animation:j-wstrzas .2s ease-out .56s}
.gra.w-j .j-herb{animation:j-herb .32s cubic-bezier(.2,1.5,.45,1) .55s both, b-herb-out .44s cubic-bezier(.55,0,.85,.35) .88s forwards}
@keyframes j-herb{from{opacity:0;transform:translate(-50%,-50%) scale(1.38)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes j-wstrzas{0%{transform:none}22%{transform:translate(-5px,3px)}48%{transform:translate(4px,-2px)}74%{transform:translate(-2px,1px)}100%{transform:none}}

@keyframes b-wjazd{to{transform:translateX(0) rotate(var(--skos))}}

@keyframes b-wyjazd{to{transform:translateX(var(--daleko)) rotate(var(--skos))}}

@keyframes b-herb-out{to{opacity:0;transform:translate(46vw,-50%)}}


@keyframes d-blysk{from{opacity:.85}to{opacity:0}}

/* ===== WEJSCIE STRONY ===== */
.scena.ukryj .nav,.scena.ukryj .hero-txt>*,.scena.ukryj .hero-herb,.scena.ukryj .licz,.scena.ukryj .hero-linia{opacity:0}
.scena.wchodzi .nav{animation:we-gora .5s cubic-bezier(.2,.8,.3,1) both}
.scena.wchodzi .hero-txt>*{animation:we-dol .6s cubic-bezier(.2,.8,.3,1) both}
.scena.wchodzi .hero-txt>*:nth-child(1){animation-delay:.06s}
.scena.wchodzi .hero-txt>*:nth-child(2){animation-delay:.12s}
.scena.wchodzi .hero-txt>*:nth-child(3){animation-delay:.19s}
.scena.wchodzi .hero-txt>*:nth-child(4){animation-delay:.25s}
.scena.wchodzi .hero-herb{animation:we-skala .8s cubic-bezier(.2,.8,.3,1) .1s both}
.scena.wchodzi .hero-linia{animation:we-box .7s cubic-bezier(.2,.8,.3,1) .34s both}
.scena.wchodzi .licz{animation:we-dol .55s cubic-bezier(.2,.8,.3,1) both}
.scena.wchodzi .licz:nth-child(1){animation-delay:.3s}
.scena.wchodzi .licz:nth-child(2){animation-delay:.36s}
.scena.wchodzi .licz:nth-child(3){animation-delay:.42s}
.scena.wchodzi .licz:nth-child(4){animation-delay:.48s}
.scena.wchodzi.zoom{animation:we-zoom .8s cubic-bezier(.2,.8,.3,1) both}
@keyframes we-zoom{from{transform:scale(1.045)}to{transform:none}}
@keyframes we-gora{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}
@keyframes we-dol{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes we-box{from{opacity:0;transform:translateY(calc(50% + 22px))}to{opacity:1;transform:translateY(50%)}}
@keyframes we-skala{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}

/* ========== NAV ==========
   Siatka 1fr auto 1fr: herb jest wysrodkowany geometrycznie niezaleznie
   od tego, ile pozycji jest po lewej, a ile po prawej.                  */
:root{--topbar-h:0px;--nav-h:78px;--nav-bok:clamp(20px,4.2vw,64px)}

.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;height:var(--nav-h);
  background:var(--biel);border-bottom:1px solid var(--linia);
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  transition:background .3s,border-color .3s,height .3s;
  padding:0 var(--nav-bok);transition:height .3s;
}
.nav-lewo{display:flex;align-items:center;gap:clamp(10px,1.6vw,26px);min-width:0}
.nav-prawo{display:flex;align-items:center;justify-content:flex-end;gap:clamp(10px,1.6vw,26px);min-width:0}

.nav-menu{display:flex;align-items:center;gap:clamp(6px,1.2vw,22px)}
.nav-menu a{
  position:relative;padding:8px 0;font:600 13px/1 var(--kroj),sans-serif;
  text-transform:uppercase;color:var(--szary);transition:color .2s;white-space:nowrap;
}
.nav-menu a:hover{color:var(--czern)}
.nav-menu a::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--nieb);
  transform:scaleX(0);transform-origin:left;transition:transform .25s;
}
.nav-menu a:hover::after{transform:scaleX(1)}

/* Mecze i Druzyny: wyroznione znakiem klubu i mocniejszym krojem */
.nav-wyroz a{font-weight:800;color:var(--czern);display:inline-flex;align-items:center;gap:7px}
.nav-wyroz .znak{width:26px;height:26px;flex-shrink:0;display:block;transition:transform .2s}
.nav-wyroz a:hover .znak{transform:scale(1.12)}

/* Zastepnik herbu (klub bez herbu w bazie): tarcza z pytajnikiem.
   Kolor przez currentColor - na bialym tle szary, w ciemnych panelach ustawiany nizej. */
.herb-brak{display:block;flex:0 0 auto;color:var(--szary-jasny)}
.herb-brak svg{width:100%;height:100%;display:block}
.mega .herb-brak{color:rgba(255,255,255,.6)}

/* ikony */
.ikona{
  display:grid;place-items:center;width:38px;height:38px;flex-shrink:0;
  background:0;border:0;padding:0;cursor:pointer;color:var(--czern);transition:color .2s;
}
.ikona svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round}
.ikona:hover{color:var(--nieb)}
/* obwodka fokusu tylko dla klawiatury, nie po kliknieciu myszka */
.ikona:focus:not(:focus-visible),.menu-x:focus:not(:focus-visible){outline:0}

/* Herb na srodku, wystaje ponizej belki i nachodzi na hero.
   height:0 + align-self:start sprawiaja, ze herb NIE wpycha wiersza siatki:
   szerokosc kolumny nadal rezerwuje, ale pozycje menu centruja sie wzgledem
   samej belki, a nie wzgledem wysokosci herbu.                              */
.nav-herb{display:block;line-height:0;height:0;align-self:start;position:relative;z-index:5}
.nav-herb img{
  width:clamp(74px,7.4vw,108px);height:auto;display:block;
  transform:translateY(22%);
  filter:drop-shadow(0 6px 18px rgba(8,10,14,.26));
  transition:width .3s,transform .3s;
}
.nav.przyklejony{height:64px}
.nav.przyklejony .nav-herb img{width:clamp(56px,5.2vw,74px);transform:translateY(12%)}

@media(max-width:900px){
  .nav-menu{display:none}
  .nav{--nav-bok:16px}
}


/* na stronie ze zdjeciem belka jest przezroczysta, dopiero po przewinieciu bieleje */
body:has(.hero) .nav{background:transparent;border-bottom-color:transparent}
body:has(.hero) .nav .nav-menu a{color:rgba(255,255,255,.88)}
body:has(.hero) .nav .nav-menu a:hover{color:#fff}
body:has(.hero) .nav-wyroz a{color:#fff;text-shadow:0 1px 12px rgba(0,0,0,.45)}
body:has(.hero) .nav-wyroz .znak{filter:drop-shadow(0 1px 6px rgba(0,0,0,.55))}

body:has(.hero) .ikona{color:#fff}
body:has(.hero) .ikona:hover{color:var(--nieb-jasny)}

body:has(.hero) .nav.przyklejony{background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom-color:var(--linia)}
body:has(.hero) .nav.przyklejony .nav-menu a{color:var(--szary)}
body:has(.hero) .nav.przyklejony .nav-menu a:hover{color:var(--czern)}
body:has(.hero) .nav.przyklejony .nav-wyroz a{color:var(--czern);text-shadow:none}
body:has(.hero) .nav.przyklejony .nav-wyroz .znak{filter:none}
body:has(.hero) .nav.przyklejony .ikona{color:var(--czern)}
body:has(.hero) .nav.przyklejony .ikona:hover{color:var(--nieb)}

/* ========== HERO ==========
   Zdjecie w tle (wybor i obrobka: wpis_hero.php), na srodku znak klubu,
   na dole pozioma linia z bialym boxem meczowym.                        */
.hero{position:relative;min-height:clamp(620px,84svh,940px);display:flex;flex-direction:column;overflow:visible;background:var(--czern)}
.hero-foto{position:absolute;inset:0;overflow:hidden}
/* Kadr zakotwiczony wysoko obcinal doly sylwetek, a na gorze zostawialo sie
   puste niebo. Zdjecia klubowe to zwykle ludzie w srodkowo-dolnej czesci
   kadru, wiec kotwica idzie na srodek.                                     */
/* Plik jest juz wykadrowany pod hero (rowne marginesy po bokach, glowa
   trenera na osi), wiec kotwica stoi na srodku w poziomie. W pionie ciut
   wyzej, zeby przy szerokim ekranie ubywalo trawy, a nie glow.            */
.hero-foto img{width:100%;height:100%;object-fit:cover;object-position:center 38%}
.hero-zaslona{
  position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(8,10,14,.34) 0%,rgba(8,10,14,.14) 45%,rgba(8,10,14,.34) 100%);
}

.hero-srodek{
  position:relative;z-index:2;flex:1;display:flex;align-items:center;justify-content:center;
  padding:calc(var(--topbar-h) + var(--nav-h) + 40px) clamp(16px,4vw,54px) 0;text-align:center;
}
.hero-znak{width:clamp(96px,11vw,148px);height:auto;margin:0 auto}
.hero-h1{
  margin:20px 0 0;color:#fff;
  font-family:var(--kroj),sans-serif;font-weight:700;text-transform:uppercase;
  font-size:clamp(30px,5vw,64px);line-height:1.04;letter-spacing:-.01em;
  text-shadow:0 2px 30px rgba(0,0,0,.45);
}
.hero-pod{
  margin:12px 0 0;color:rgba(255,255,255,.9);
  font:500 clamp(13px,1.25vw,16px)/1.5 var(--kroj),sans-serif;
  text-shadow:0 1px 14px rgba(0,0,0,.5);
}

/* pozioma linia, na ktorej siedzi box */
/* box siedzi dokladnie na dolnej krawedzi hero: polowa nad, polowa pod */
.hero-linia{
  position:absolute;left:0;right:0;bottom:0;z-index:3;
  display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;
  gap:clamp(10px,2vw,32px);padding:0 var(--nav-bok);
  transform:translateY(50%);
}
/* Logotypy sponsorow.
   Pas jest przesuniety o polowe wysokosci boxu, wiec jego GORNA polowa lezy na
   zdjeciu, a DOLNA na bieli. Siatka 1fr/1fr sadza logotypy dokladnie w dolnej,
   bialej polowie - dzieki temu nie potrzebuja wlasnego bialego tla.
   Nie miesci sie ich tyle w kolumnie, wiec jada w petli.                       */
.spon{align-self:stretch;display:grid;grid-template-rows:1fr 1fr;min-width:0}
.spon-okno{
  grid-row:2;align-self:center;overflow:hidden;min-width:0;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
}
.spon-tor{--odstep:clamp(24px,3vw,48px);
  display:flex;width:max-content;gap:var(--odstep);
  animation:spon-jazda 38s linear infinite}
.spon-grupa{display:flex;align-items:center;gap:var(--odstep)}
.spon-l{justify-content:flex-end}
.spon-p .spon-tor{animation-direction:reverse}
.spon:hover .spon-tor{animation-play-state:paused}
.spon img{height:clamp(44px,4.6vw,62px);width:auto;flex:0 0 auto;object-fit:contain;
  opacity:.72;transition:opacity .2s}
.spon img:hover{opacity:1}
/* wyjatki rozmiarow (korekty optyczne per znak) */
.spon img[src*="bulanda"]{height:clamp(60px,6.4vw,86px)}
.spon img[src*="nowosadecki"]{height:clamp(50px,5.2vw,70px)}
.spon img[src*="melbis"]{height:clamp(40px,4.2vw,57px)}
.spon img[src*="pme"]{height:clamp(40px,4.2vw,57px)}
.spon img[src*="gralbud"]{height:clamp(42px,4.4vw,59px)}
/* przesuniecie o jedna grupe: polowa toru plus polowa odstepu miedzy grupami */
@keyframes spon-jazda{to{transform:translateX(calc(-50% - var(--odstep) / 2))}}
.hero-linia::before{
  content:"";position:absolute;left:clamp(16px,4vw,54px);right:clamp(16px,4vw,54px);
  top:50%;height:1px;background:rgba(255,255,255,.42);
}
.mbox{
  position:relative;color:var(--czern);
  /* biel u gory, a dol schodzi do koloru sekcji ponizej, wiec box nie ma
     twardej dolnej krawedzi tylko wtapia sie w tlo */
  background:linear-gradient(180deg,#fff 0%,#fff 46%,#FAFBFD 74%,var(--tlo-2) 100%);
  padding:22px clamp(24px,3.4vw,46px) 24px;min-width:min(560px,100%);text-align:center;
  border-top:0;border-bottom:0;border-left:1px solid;border-right:1px solid;
  border-image:linear-gradient(180deg,#C3CAD4 0%,#DFE4EA 46%,rgba(223,228,234,0) 88%) 1;
}
.mbox-nag{margin:0 0 4px;font:800 clamp(13px,1.35vw,16px)/1 var(--kroj),sans-serif;text-transform:uppercase;letter-spacing:-.01em;color:var(--czern)}
/* ZAKLADKA "KTO GRA" nad boxem w hero. Ma WYSTAWAC SPOD karty, wiec:
   1. z-index:-1 sadza ja warstwe pod tlem karty (.mbox nie tworzy kontekstu
      ukladania, wiec jej tlo maluje sie POZNIEJ) - dol zakladki znika za karta,
   2. dolny padding to wlasnie ten schowany kawalek,
   3. cien wewnetrzny u dolu udaje cien rzucany przez karte na zakladke,
      i to on sprzedaje glebie - bez niego zakladka czyta sie jak naklejka.
   Cien zewnetrzny odkleja ja od ciemnego zdjecia pod spodem.               */
.mbox-kat{
  position:absolute;left:50%;top:-27px;z-index:-1;transform:translateX(-50%);
  padding:9px clamp(18px,2vw,26px) 22px;
  background:linear-gradient(180deg,#2F84F6 0%,var(--nieb) 42%,#1252B6 100%);
  color:#fff;font:800 clamp(10px,1.05vw,12px)/1 var(--kroj),sans-serif;
  text-transform:uppercase;white-space:nowrap;
  box-shadow:inset 0 -26px 15px -14px rgba(4,16,38,.62), 0 -3px 12px rgba(14,17,22,.30);
}
.mbox-liga{margin:0 0 16px;font:600 11.5px/1.35 var(--kroj),sans-serif;
  text-transform:uppercase;color:var(--szary-jasny)}

.mbox-pary{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:clamp(12px,2.4vw,30px)}
.mbox-dr{display:flex;flex-direction:column;align-items:center;gap:10px;min-width:0}
.mbox-dr img{width:clamp(50px,5vw,68px);height:auto}
.mbox-dr span{font:700 clamp(10.5px,.95vw,12.5px)/1.3 var(--kroj),sans-serif;text-transform:uppercase}
.mbox-srodek{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:clamp(66px,7.5vw,100px)}
.mbox-dzien{font:700 11px/1 var(--kroj),sans-serif;text-transform:uppercase;color:var(--szary-jasny)}
.mbox-godz{font:800 clamp(26px,3vw,38px)/1 var(--kroj),sans-serif;letter-spacing:-.02em;color:var(--czern)}
.mbox-wynik{font:800 clamp(28px,3.2vw,42px)/1 var(--kroj),sans-serif;letter-spacing:-.02em;color:var(--nieb)}
.mbox-wynik i{font-style:normal;color:var(--linia);margin:0 3px}

/* dolny pas boxu: sponsorzy po bokach, licznik na srodku */
.mbox-dol{position:relative;margin:30px 0 0;padding-top:16px}
.mbox-dol::before{
  content:"";position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,#fff 0%,#E6EAEF 24%,#E6EAEF 76%,#fff 100%);
}

.mbox-odlicz{
  display:flex;align-items:baseline;justify-content:center;gap:4px;
  margin:0;font-size:12.5px;color:var(--szary-jasny);white-space:nowrap;
}

.mbox-odlicz span{margin-right:3px}
.mbox-odlicz b{font-weight:700;color:var(--czern);font-variant-numeric:tabular-nums}
.mbox-odlicz i{font-style:normal;margin-right:7px}
.mbox-odlicz i:last-child{margin-right:0}

/* ========== SEKCJE Z KARTAMI ========== */
.akt{padding:clamp(120px,13vw,185px) 0 clamp(48px,6vw,80px);background:var(--biel)}
.akt + .akt{padding-top:clamp(48px,6vw,80px)}
.akt-szara{background:var(--tlo-2)}
/* Pas "Zobacz tez" pod wpisem. Dwie rzeczy odrozniaja go od pasow na stronie
   glownej: ma trzymac te sama szerokosc co tresc artykulu powyzej (1180px,
   nie pelne 1760px), a tlo jest odrobine ciemniejsze, zeby odciac sie od
   bialego artykulu.                                                        */
.akt-wpis{background:var(--tlo-2);padding:clamp(40px,5vw,64px) 0 clamp(44px,5.5vw,70px)}
.akt-wpis .akt-gora,.akt-wpis .akt-pas{
  width:min(1180px,100%);padding-left:clamp(16px,4vw,24px);padding-right:clamp(16px,4vw,24px);
}
.akt-wpis .akt-pas{scroll-padding-inline:clamp(16px,4vw,24px)}
.akt-gora{
  width:var(--szer);margin:0 auto clamp(20px,2.6vw,34px);padding:0 clamp(16px,4vw,54px);
  display:flex;align-items:baseline;justify-content:space-between;gap:20px;
}
.akt-tyt{margin:0;font-family:var(--kroj),sans-serif;font-weight:800;text-transform:uppercase;
  font-size:clamp(22px,2.8vw,38px);line-height:1.08;letter-spacing:-.01em}
.akt-wszystkie{font:700 12px/1 var(--kroj),sans-serif;text-transform:uppercase;color:var(--szary);
  border-bottom:2px solid var(--nieb);padding-bottom:5px;white-space:nowrap;transition:color .2s}
.akt-wszystkie:hover{color:var(--czern)}

.akt-pas{
  width:var(--szer);margin:0 auto;
  display:flex;gap:clamp(10px,1.1vw,16px);overflow-x:auto;
  scroll-snap-type:x proximity;scroll-padding-inline:clamp(16px,4vw,54px);
  padding:0 clamp(16px,4vw,54px) 8px;
  scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior-x:contain;
  cursor:grab;
}
.akt-pas::-webkit-scrollbar{display:none}
/* w trakcie ciagniecia snapowanie musi odpuscic, inaczej szarpie pasem */
.akt-pas.ciagne,.rw-pas.ciagne{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto;user-select:none}
/* przegladarka domyslnie "wyrywa" zdjecie przy przeciaganiu - to blokuje odruch przewijania */
.akt-pas img,.akt-pas a{-webkit-user-drag:none;user-drag:none}
.karta{flex:0 0 clamp(200px,17vw,260px);min-width:0;scroll-snap-align:start;display:flex;flex-direction:column}
.karta-foto{position:relative;display:block;overflow:hidden;background:var(--tlo-2)}
.karta-foto img{width:100%;aspect-ratio:26/35;object-fit:cover;transition:transform .5s cubic-bezier(.2,.8,.3,1)}
/* pas z zapowiedziami: grafiki sa poziome (4:3 i szersze), wiec pionowy kadr je scinal */
.akt-poziom .karta{flex-basis:clamp(260px,25vw,360px)}
.akt-poziom .karta-foto img{aspect-ratio:4/3}
.karta:hover .karta-foto img{transform:scale(1.045)}
/* Kategoria jako plakietka wpuszczona w rog zdjecia - ten sam jezyk co
   zakladka nad boxem hero. Wczesniej kategoria i data staly w jednym rzedzie
   rozepchniete do krawedzi, przez co karta czytala sie jak pole formularza. */
.karta-kat{position:absolute;left:0;bottom:0;padding:7px 11px;
  background:var(--nieb);color:#fff;font:800 9.5px/1 var(--kroj),sans-serif;
  text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  max-width:calc(100% - 16px);transition:background .2s}
.karta:hover .karta-kat{background:var(--nieb-jasny)}
.karta-kiedy{margin-top:7px;font:500 11px/1 var(--kroj),sans-serif;color:var(--szary-jasny)}
.karta-tyt{margin-top:14px;font:700 clamp(13.5px,1.15vw,16px)/1.38 var(--kroj),sans-serif;
  letter-spacing:-.005em;color:var(--czern);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* ========== LISTA I ARTYKUŁ ========== */
.wrap{width:min(860px,100%);margin:0 auto;padding:calc(var(--topbar-h) + var(--nav-h) + 40px) clamp(16px,4vw,24px) 80px}
.tyt{font-family:var(--kroj),sans-serif;font-weight:800;text-transform:uppercase;font-size:clamp(24px,3.2vw,38px);line-height:1.12;letter-spacing:-.01em;margin:0 0 12px}
.podsum{color:var(--szary);margin:0 0 26px;font-size:14px}
.podsum strong{color:var(--czern)}
.kategorie{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 30px;padding-bottom:24px;border-bottom:1px solid var(--linia)}
.kategorie a{font:600 12px/1 var(--kroj),sans-serif;text-transform:uppercase;padding:8px 13px;border:1px solid var(--linia);color:var(--szary);transition:.2s}
.kategorie a:hover{border-color:var(--czern);color:var(--czern)}
.kategorie a span{color:var(--szary-jasny)}
.kategorie a.akt{background:var(--nieb);border-color:var(--nieb);color:#fff}
.kategorie a.akt span{color:#C4DAFB}
.lista{list-style:none;margin:0;padding:0}
.lista li{padding:20px 0;border-bottom:1px solid var(--linia)}
.lista h2{margin:3px 0 6px;font:700 16px/1.35 var(--kroj),sans-serif;letter-spacing:-.01em}
.lista h2 a:hover{color:var(--nieb)}
.meta{margin:0;font-size:12px;text-transform:uppercase;color:var(--szary-jasny)}
.zaj{margin:0;color:var(--szary);font-size:14.5px}
.paginacja{display:flex;flex-wrap:wrap;gap:6px;margin-top:34px;align-items:center}
.paginacja a{font:600 13px/1 var(--kroj),sans-serif;padding:9px 13px;border:1px solid var(--linia);color:var(--szary);transition:.2s}
.paginacja a:hover{border-color:var(--czern);color:var(--czern)}
.paginacja a.akt{background:var(--nieb);border-color:var(--nieb);color:#fff}
.kropki{color:var(--szary-jasny);padding:0 3px}
.wroc{margin:0 0 16px;font-size:13px;text-transform:uppercase;color:var(--szary)}
.wroc a:hover{color:var(--nieb)}
.tresc{margin-top:22px;color:#2B313B;font-size:16.5px}
.tresc a{color:var(--nieb);text-decoration:underline}
.tresc h2,.tresc h3{font-family:var(--kroj),sans-serif;text-transform:uppercase;color:var(--czern);margin:28px 0 10px}
/* h4 doszlo razem z paskiem naglowkow w panelu; h2 i h3 zostaja bez zmian,
   zeby nie ruszyc wygladu wpisow, ktore juz ich uzywaja */
.tresc h4{font:700 15.5px/1.35 var(--kroj),sans-serif;text-transform:uppercase;
  color:var(--szary);margin:22px 0 8px;letter-spacing:.02em}
.tresc strong{color:var(--czern)}
.tresc img{margin:6px 14px 10px 0}
.tresc table{max-width:100%;border-collapse:collapse}
.galeria{margin:26px 0;padding:16px;background:var(--tlo-2);border:1px solid var(--linia)}
.galeria-tytul{margin:0 0 12px;font:600 12px/1 var(--kroj),sans-serif;text-transform:uppercase;color:var(--szary)}
.galeria-tytul span{color:var(--nieb);font-weight:700}
.siatka{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:5px}
.siatka img{width:100%;height:98px;object-fit:cover;transition:.25s}
.siatka a:hover img{opacity:.78}
.siatka .gal-foto{aspect-ratio:auto;position:relative;cursor:zoom-in;overflow:hidden}
.siatka .gal-foto img{position:static;inset:auto;width:100%;height:98px}
.siatka .gal-foto::after{content:none}
.wiecej{margin:11px 0 0;font-size:12.5px;color:var(--szary-jasny)}

@media(max-width:900px){
  .nav-menu{display:none}
  .nav-burger{display:flex}

  /* W pionie kolumny po bokach boxu nie maja szans: box idzie na gore,
     logotypy pod niego, na cala szerokosc, jako dwa cienkie pasy.
     Na telefonie pas NIE moze byc pozycjonowany absolutnie z przesunieciem
     o pol wysokosci: przy dwoch rzedach logotypow wychodzil poza rezerwe
     i wchodzil na naglowek "Nadchodzace mecze". Wchodzi wiec w normalny
     uklad, na koncu hero, na bialym tle - i nachodzenie znika z zasady,
     a nie przez zgadywanie paddingu ponizej.                            */
  /* wlasny kontekst ukladania (relative + z-index) jest tu konieczny:
     zakladka .mbox-kat ma z-index:-1 i musi wpasc POD tlo karty, a nie pod
     zdjecie. Wczesniej kontekst tworzyl .mbox i zakladka ladowala NAD karta. */
  .hero-linia{grid-template-columns:1fr;gap:0;
    position:relative;z-index:2;transform:none;background:0;
    /* ujemny margines wciaga boks na zdjecie, tak jak na komputerze */
    margin-top:-52px;padding:0 clamp(16px,4vw,54px) 14px}
  .hero-linia::before{display:none}
  .mbox{order:-1;min-width:0;padding:18px 14px 20px;position:relative;
    box-shadow:0 -14px 34px rgba(8,10,14,.14)}
  .mbox-liga{margin-bottom:12px}
  .mbox-pary{gap:8px}
  .mbox-dr img{width:46px}
  .mbox-dr span{font-size:10.5px;overflow-wrap:anywhere}
  .mbox-srodek{min-width:56px}
  .mbox-godz{font-size:26px}
  .mbox-wynik{font-size:28px}
  .mbox-dol{margin-top:20px}
  /* nierozrywalne odliczanie rozpychalo box ponad szerokosc telefonu */
  .mbox-odlicz{white-space:normal;flex-wrap:wrap;row-gap:2px;font-size:12px}
  .mbox-odlicz i{margin-right:5px}
  /* Uklad taki sam jak na komputerze, tylko w pionie: wysokie zdjecie,
     na nie NACHODZI bialy boks meczu, pod spodem logotypy na bieli.
     Zdjecie ma stala wysokosc i jest w normalnym ukladzie, wiec nachodzenie
     jest policzone, a nie zgadniete paddingiem jak wczesniej.
     Wyzsze zdjecie zalatwia tez dwie rzeczy naraz: sylwetki sa wieksze
     (na telefonie i tak nie zmieszcza sie wszyscy) i herb z nawigacji
     przestaje siegac glowy najwyzszego.                                     */
  .hero{min-height:0;background:var(--biel)}
  /* dolny prog wyzszy, bo herb z nawigacji ma STALE 90 px i na niskim
     ekranie zjadal zapas nad glowami, gdy pas zdjecia sie kurczyl */
  .hero-foto{position:relative;flex:0 0 auto;height:clamp(460px,62svh,560px)}
  /* Kadr na telefonie. UWAGA: plik mobilny jest przycinany pod dokladne
     proporcje tego kontenera, wiec object-position NIE MA czego przesuwac
     (zero zapasu w obu osiach) - jedyna dzwignia to transform.
     scale daje zapas, translate wybiera z niego kawalek: w prawo o wlos
     i w dol, zeby sylwetki zeszly nizej. Nogi moga wyjsc poza kadr - i tak
     zaslania je boks meczowy. Translate trzyma sie w polowie zapasu ze
     scale, wiec przy zadnej wysokosci ekranu nie odsloni sie pusta krawedz. */
  .hero-foto img{position:absolute;inset:0;object-position:center 50%;
    transform:scale(1.09) translate(1.8%,3%);transform-origin:center}
  .hero-zaslona{display:none}
  .hero-foto::after{content:"";position:absolute;inset:0;pointer-events:none;
    background:linear-gradient(180deg,rgba(8,10,14,.34) 0%,rgba(8,10,14,.06) 46%,rgba(8,10,14,.26) 100%)}

  .spon{display:block}
  .spon-okno{padding:14px 0 0}
  .spon img{height:38px}
  .spon img[src*="bulanda"]{height:50px}
  .spon img[src*="nowosadecki"]{height:44px}
  .spon img[src*="melbis"],.spon img[src*="pme"]{height:35px}
  .spon img[src*="gralbud"]{height:37px}
  /* pas jest juz w normalnym ukladzie, wiec nic pod nim nie potrzebuje rezerwy */
  .akt,.nadch{padding-top:clamp(40px,9vw,60px)}
  .nadch + .akt,
  .nadch + .rw,
  .rw + .akt{padding-top:clamp(40px,9vw,60px)}
}
@media(prefers-reduced-motion:reduce){
  #preloader{display:none}
  body.ma-preloader{overflow:auto}
  .scena.ukryj .nav,.scena.ukryj .hero-txt>*,.scena.ukryj .hero-herb,.scena.ukryj .licz{opacity:1}
  *{animation-duration:.01ms!important;animation-delay:0ms!important}
  .spon-okno{overflow-x:auto}
  .spon-tor{animation:none}
}
.akt + .akt{padding-top:clamp(48px,6vw,80px)}
.akt-szara{background:var(--tlo-2)}

/* ========== MENU PELNOEKRANOWE ==========
   Biale, minimalistyczne. Bez akcentow kolorem: jedyne rozroznienia to
   grubosc kroju i cienka linia. Otwierane hamburgerem.                   */
.menu{position:fixed;inset:0;z-index:200}
.menu[hidden]{display:none}
.menu-tlo{position:absolute;inset:0;background:rgba(8,10,14,.28);opacity:0;transition:opacity .35s}
.menu-panel{
  --czern:#fff;                       /* tekst glowny */
  --biel:#0E1116;                     /* tlo panelu */
  --linia:rgba(255,255,255,.12);
  --tlo-2:rgba(255,255,255,.045);
  --szary:rgba(255,255,255,.55);
  --szary-jasny:rgba(255,255,255,.38);
  position:absolute;inset:0;background:var(--biel);color:var(--czern);
  overflow-y:auto;overscroll-behavior:contain;
  clip-path:inset(0 0 100% 0);transition:clip-path .5s cubic-bezier(.72,0,.24,1);
}
.menu.otwarte .menu-tlo{opacity:1}
.menu.otwarte .menu-panel{clip-path:inset(0 0 0 0)}
.menu-panel:focus{outline:0}

.menu-x{
  position:absolute;top:18px;right:clamp(16px,4vw,54px);z-index:3;
  display:grid;place-items:center;width:44px;height:44px;
  background:0;border:1px solid var(--linia);border-radius:50%;
  color:var(--czern);cursor:pointer;transition:border-color .2s,transform .2s;
}
.menu-x svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round}
.menu-x:hover{border-color:var(--czern);transform:rotate(90deg)}

.menu-in{
  position:relative;z-index:2;width:min(1400px,100%);margin:0 auto;
  padding:clamp(74px,9vh,110px) clamp(20px,4vw,54px) clamp(28px,5vh,54px);
  display:grid;grid-template-columns:1.05fr 1fr 1fr;gap:clamp(24px,3.4vw,58px);
  align-items:start;min-height:100%;
}

/* --- nawigacja --- */
.menu-nawi{display:flex;flex-direction:column;gap:clamp(2px,.6vh,8px)}
.menu-nawi a{
  display:flex;align-items:baseline;gap:clamp(10px,1.2vw,18px);
  padding:6px 0;font:800 clamp(26px,3.4vw,50px)/1.06 var(--kroj),sans-serif;
  text-transform:uppercase;letter-spacing:-.015em;color:var(--czern);
  transition:color .2s,transform .2s;
}
.menu-nawi a span{
  flex:0 0 auto;font:600 11px/1 var(--kroj),sans-serif;
  color:var(--szary-jasny);font-variant-numeric:tabular-nums;transition:color .2s;
}
.menu-nawi a:hover span{color:var(--czern)}
.menu-nawi a:hover{color:var(--szary);transform:translateX(6px)}

/* --- naglowki kolumn --- */
.menu-nag{margin:0 0 14px;font:800 12px/1 var(--kroj),sans-serif;
  text-transform:uppercase;color:var(--czern)}
.menu-pusto{margin:0;color:var(--szary);font-size:13.5px}

/* --- wiersz meczu: gospodarz po lewej, gosc po prawej, w srodku godzina
       albo wynik. Ten sam uklad co box pod hero, zeby czytalo sie tak samo. --- */
.mecz{display:block;padding:14px 0;border-top:1px solid var(--linia)}
.mecz:hover{background:var(--tlo-2)}
.mecz-meta{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.mecz-meta b{font:700 12px/1 var(--kroj),sans-serif;color:var(--czern)}
.mecz-meta i{font-style:normal;font:500 11px/1 var(--kroj),sans-serif;
  text-transform:uppercase;color:var(--szary);border-left:1px solid var(--linia);padding-left:8px}
.mecz-meta u{flex-basis:100%;margin-top:1px;text-decoration:none;
  font:600 10.5px/1.3 var(--kroj),sans-serif;text-transform:uppercase;color:var(--szary-jasny)}

.mecz-pary{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:clamp(8px,1.2vw,16px)}
.mecz-dr{display:flex;align-items:center;gap:9px;min-width:0}
.mecz-dr:last-child{flex-direction:row-reverse;text-align:right}
.mecz-dr b{font:500 13px/1.3 var(--kroj),sans-serif;color:var(--szary);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mecz-dr.nasi b{color:var(--czern);font-weight:800}
.menu-in img{width:24px;height:24px;object-fit:contain;flex:0 0 auto}

.mecz-srodek{font:800 15px/1 var(--kroj),sans-serif;color:var(--czern);white-space:nowrap;
  padding:0 clamp(4px,.8vw,10px)}
.mecz-wynik i{font-style:normal;color:var(--szary-jasny);margin:0 1px}

.menu-wiecej{display:inline-block;margin-top:16px;padding-bottom:4px;
  font:700 11.5px/1 var(--kroj),sans-serif;text-transform:uppercase;
  color:var(--czern);border-bottom:2px solid var(--czern);transition:color .2s,border-color .2s}
.menu-wiecej:hover{color:var(--szary);border-color:var(--szary)}

/* --- stopka --- */
.menu-stopka{
  grid-column:1/-1;margin-top:clamp(18px,3vh,34px);padding-top:20px;
  border-top:1px solid var(--linia);
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;
}
.menu-lewa{display:flex;flex-direction:column}
.menu-marka{margin-top:clamp(28px,5vh,64px);padding-top:clamp(20px,2.6vh,30px);
  border-top:1px solid var(--linia)}
.menu-in .menu-marka img{width:clamp(56px,4.4vw,72px);height:auto}
.menu-rok{margin:10px 0 0;font:400 clamp(38px,3.6vw,54px)/.9 'Vujahday Script',cursive;
  color:rgba(255,255,255,.5)}
.menu-marka-nazwa{margin:12px 0 0;font:800 clamp(13px,1.1vw,15px)/1.35 var(--kroj),sans-serif;
  text-transform:uppercase;color:#fff}
.menu-marka-adres{margin:7px 0 0;font:500 12.5px/1.5 var(--kroj),sans-serif;color:var(--szary)}
.menu-social{display:inline-flex;align-items:center;gap:14px}
.menu-social a{display:grid;place-items:center;width:34px;height:34px;
  color:rgba(255,255,255,.55);transition:color .2s}
.menu-social a:hover{color:#fff}
.menu-social svg{width:19px;height:19px;fill:currentColor}
.menu-dane{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px}
.menu-dane a{display:inline-flex;align-items:center;gap:9px;
  font:600 13.5px/1 var(--kroj),sans-serif;color:var(--czern);
  border-bottom:1px solid var(--linia);padding-bottom:5px;transition:border-color .2s,color .2s}
.menu-dane svg{width:17px;height:17px;flex:0 0 auto;fill:none;stroke:currentColor;
  stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;color:var(--szary)}
.menu-dane a:hover svg{color:var(--czern)}
.menu-dane a:hover{color:var(--szary);border-color:var(--szary)}

/* wejscie kolumn po otwarciu */
.menu .menu-nawi a,.menu .menu-kol,.menu .menu-wyn,.menu .menu-stopka,
.menu .menu-marka{opacity:0;transform:translateY(14px)}
.menu.otwarte .menu-nawi a,.menu.otwarte .menu-kol,
.menu.otwarte .menu-wyn,.menu.otwarte .menu-stopka,.menu.otwarte .menu-marka{
  opacity:1;transform:none;transition:opacity .45s cubic-bezier(.2,.8,.3,1),transform .45s cubic-bezier(.2,.8,.3,1);
}
.menu.otwarte .menu-nawi a:nth-child(1){transition-delay:.18s}
.menu.otwarte .menu-nawi a:nth-child(2){transition-delay:.22s}
.menu.otwarte .menu-nawi a:nth-child(3){transition-delay:.26s}
.menu.otwarte .menu-nawi a:nth-child(4){transition-delay:.30s}
.menu.otwarte .menu-nawi a:nth-child(5){transition-delay:.34s}
.menu.otwarte .menu-nawi a:nth-child(6){transition-delay:.38s}
.menu.otwarte .menu-nawi a:nth-child(7){transition-delay:.42s}
.menu.otwarte .menu-nawi a:nth-child(8){transition-delay:.46s}
.menu.otwarte .menu-kol{transition-delay:.28s}
.menu.otwarte .menu-wyn{transition-delay:.36s}
.menu.otwarte .menu-marka{transition-delay:.50s}
.menu.otwarte .menu-stopka{transition-delay:.56s}

@media(max-width:1000px){
  .menu-in{grid-template-columns:1fr 1fr}
  .menu-lewa{grid-column:1/-1;margin-bottom:8px}
  .menu-nawi a{font-size:clamp(24px,5.4vw,38px)}
  .menu-marka{margin-top:clamp(22px,3.4vh,34px)}
}
@media(max-width:640px){
  .menu-in{grid-template-columns:1fr;gap:26px;padding-top:70px}
  .menu-nawi a{font-size:clamp(22px,7.4vw,32px)}
  .menu-lewa{margin-bottom:0}
  .menu-marka{margin-bottom:6px}
  .menu-stopka{flex-direction:column;align-items:flex-start}
}

/* ========== NADCHODZACE MECZE ==========
   Uklad kart wzorowany na legia.com: duza data, rozgrywki, godzina,
   herby z VS, pasek akcji przyklejony do dolu karty.                     */
.nadch{padding:clamp(120px,13vw,185px) 0 clamp(40px,5vw,64px);background:var(--tlo-2)}
.nadch + .akt,
.rw + .akt{padding-top:clamp(48px,6vw,80px)}
.nadch .akt-pas{align-items:stretch}

.kmecz{
  flex:0 0 clamp(250px,22vw,300px);display:flex;flex-direction:column;
  background:var(--biel);border:1px solid var(--linia);scroll-snap-align:start;
  transition:border-color .2s,box-shadow .2s;
}
.kmecz:hover{border-color:#CFD6E0;box-shadow:0 10px 30px rgba(14,17,22,.07)}

.kmecz-gora{display:block;padding:20px 20px 0}
/* data i kategoria w jednej linii, na wspolnej podstawie. Kategoria stala
   wczesniej jako czarna plakietka POD data - dwa ciezkie czarne bloki jeden
   pod drugim bily sie ze soba, a plakietka wisiala w pustce.               */
.kmecz-tytul{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.kmecz-data{font:900 clamp(36px,3.6vw,48px)/1 var(--kroj),sans-serif;
  letter-spacing:-.03em;color:var(--czern)}
/* nazwa rozgrywek pod data: kontekst, wiec drobna i szara, zeby nie walczyla */
.kmecz-liga{display:block;margin:9px 0 0;font:600 11px/1.4 var(--kroj),sans-serif;
  text-transform:uppercase;color:var(--szary-jasny);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kmecz-druz{font:800 10px/1.3 var(--kroj),sans-serif;text-transform:uppercase;
  color:var(--nieb);text-align:right;min-width:0}
.kmecz-kiedy{display:block;margin-top:16px;padding-top:13px;border-top:1px solid var(--linia);
  font:600 10.5px/1.5 var(--kroj),sans-serif;text-transform:uppercase;color:var(--szary)}
.kmecz-kiedy i{font-style:normal;color:var(--linia);margin:0 4px}
.kmecz-kiedy b{font-weight:800;color:var(--czern)}

.kmecz-pary{
  position:relative;flex:1;display:grid;grid-template-columns:1fr 1fr;align-items:start;
  /* herby maja siedziec przy dolnej krawedzi, tuz nad paskiem "Zobacz wiecej";
     nadmiar wysokosci karty zbiera sie wiec NAD nimi, pod data              */
  align-content:end;gap:clamp(18px,3vw,34px);padding:clamp(30px,3.4vw,46px) 8px clamp(12px,1.4vw,18px);
}
.kmecz-dr{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;
  gap:10px;min-width:0;text-align:center}
.kmecz-dr img{width:clamp(48px,4.4vw,62px);height:clamp(48px,4.4vw,62px);object-fit:contain}
.kmecz-dr b{font:600 11.5px/1.35 var(--kroj),sans-serif;text-transform:uppercase;
  color:var(--szary);min-height:2.7em;display:flex;align-items:flex-start;justify-content:center}
.kmecz-dr.nasi b{color:var(--czern);font-weight:800}
/* "vs" nie zajmuje juz kolumny w siatce: lezy pod herbami jako tlo,
   dzieki czemu nazwy druzyn maja pelna szerokosc i nie lamia sie na dwie linie */
.kmecz-vs{
  position:absolute;left:50%;top:calc(50% - 20px);
  transform:translate(-50%,-50%);z-index:0;pointer-events:none;user-select:none;
  font:400 clamp(46px,4.9vw,66px)/1 'Vujahday Script',cursive;color:#C6D0DC;
}

.kmecz-akcja{
  display:block;padding:14px 16px;background:var(--czern);color:#fff;text-align:center;
  font:700 11.5px/1 var(--kroj),sans-serif;text-transform:uppercase;
  transition:background .2s;
}
.kmecz:hover .kmecz-akcja{background:var(--nieb)}

@media(max-width:620px){
  .kmecz{flex-basis:min(78vw,270px)}
}

/* ========== AKTUALNOSCI ==========
   Jednakowe karty o stalej strukturze: pole grafiki 16:10, potem metryczka,
   tytul przyciety do dwoch linii i zajawka do dwoch. Dzieki temu wszystkie
   karty maja te sama wysokosc i siatka sie nie rwie.
   Grafika NIGDY nie jest kadrowana (to plakaty z tekstem), a wpis bez grafiki
   dostaje zaplanowane pole z herbem, nie pusta dziure.                      */
.wiad{padding:clamp(56px,7vw,88px) 0;background:var(--tlo-2)}
/* ten sam pas i ten sam kafelek co w relacjach z meczow */
.wiad .karta{flex-basis:clamp(200px,17vw,272px)}

/* ========== MEGA MENU (Mecze, Druzyny) ==========
   Ciemny panel "matchday". Belka na czas otwarcia ciemnieje razem z nim,
   strona pod spodem przygasa. Panel rozwija sie clip-pathem od gory jak
   roleta; ujemny dolny inset zostawia miejsce na cien POD panelem, gora jest
   przycieta na 0, wiec cien nigdy nie wchodzi na belke.                    */
.mega{
  position:absolute;top:100%;left:calc(var(--nav-bok) * -1);right:calc(var(--nav-bok) * -1);
  z-index:1;background:var(--czern);color:#fff;border-top:1px solid rgba(255,255,255,.08);
  box-shadow:0 30px 60px -20px rgba(0,0,0,.6);
  clip-path:inset(0 0 100% 0);pointer-events:none;
  transition:clip-path .48s cubic-bezier(.72,0,.24,1);
}
.mega[hidden]{display:none}
.mega.otwarty{clip-path:inset(0 0 -90px 0);pointer-events:auto}
.mega-in{width:min(1240px,100%);margin:0 auto;
  padding:clamp(28px,3vw,44px) clamp(20px,4vw,54px) clamp(16px,1.8vw,24px)}
.mega-etyk{display:block;margin:0 0 16px;font:800 10.5px/1 var(--kroj),sans-serif;
  letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.42)}
.mega-pusto{margin:0;font:500 13px/1.4 var(--kroj),sans-serif;color:rgba(255,255,255,.45)}

/* wejscie tresci: kazdy element z --i wchodzi z opoznieniem */
.mega.otwarty .mega-anim{animation:mega-in .45s cubic-bezier(.2,.8,.3,1) both;
  animation-delay:calc(.14s + var(--i,0) * .045s)}
@keyframes mega-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

/* przygaszenie strony pod panelem (element poza .nav, patrz _head.php) */
.mega-tlo{position:fixed;inset:0;z-index:90;background:rgba(6,8,12,.5);
  opacity:0;pointer-events:none;transition:opacity .35s}
.mega-tlo[hidden]{display:none}
.mega-tlo.wid{opacity:1;pointer-events:auto}

/* belka na czas otwarcia: ciemna jak panel, niezaleznie od strony i przewiniecia */
body:has(.nav) .nav.mega-otwarte{background:var(--czern);border-bottom-color:rgba(255,255,255,.08);backdrop-filter:none}
body:has(.nav) .nav.mega-otwarte .nav-menu a{color:rgba(255,255,255,.72);text-shadow:none}
body:has(.nav) .nav.mega-otwarte .nav-menu a:hover{color:#fff}
body:has(.nav) .nav.mega-otwarte .nav-wyroz a{color:#fff}
body:has(.nav) .nav.mega-otwarte .nav-wyroz a[aria-expanded="true"]::after{transform:scaleX(1)}
body:has(.nav) .nav.mega-otwarte .nav-wyroz .znak{filter:none}
body:has(.nav) .nav.mega-otwarte .ikona{color:#fff}
body:has(.nav) .nav.mega-otwarte .ikona:hover{color:var(--nieb-jasny)}

/* --- MECZE --- */
.mega-mecze{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(32px,4vw,72px);align-items:start}
.mega-hit{position:relative;padding-right:16px}
.mega-numer{position:absolute;right:-6px;top:-30px;font:900 clamp(120px,10.5vw,168px)/1 var(--kroj),sans-serif;
  letter-spacing:-.05em;color:rgba(255,255,255,.045);pointer-events:none;user-select:none}
.mega-hit-pary{position:relative;display:flex;align-items:center;gap:clamp(16px,2.2vw,34px);margin:2px 0 20px}
.mega-hit-dr{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;min-width:112px}
.mega-hit-dr img,.mega-hit-dr .herb-brak{width:clamp(74px,6.4vw,92px);height:clamp(74px,6.4vw,92px);
  object-fit:contain;filter:drop-shadow(0 10px 22px rgba(0,0,0,.5))}
.mega-hit-dr b{font:800 12px/1.3 var(--kroj),sans-serif;text-transform:uppercase;letter-spacing:.04em;color:#fff}
.mega-vs{font:400 clamp(54px,5.6vw,76px)/1 'Vujahday Script',cursive;color:rgba(255,255,255,.45);transform:translateY(-16px)}
.mega-hit-meta{position:relative;display:flex;flex-wrap:wrap;align-items:baseline;gap:0 14px;margin:0;
  font:600 11.5px/1.7 var(--kroj),sans-serif;letter-spacing:.09em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.mega-hit-meta b{color:#fff}
.mega-hit-meta i{font-style:normal;font-weight:800;color:#fff}
.mega-hit-meta em{font-style:normal}
.mega-hit-liga{position:relative;margin:4px 0 0;font:500 12px/1.4 var(--kroj),sans-serif;color:rgba(255,255,255,.4)}

.mega-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:16px;
  padding:11px 12px;margin:0 -12px;border-radius:2px;transition:background .18s}
.mega-row:hover{background:rgba(255,255,255,.06)}
.mega-row-pary{display:flex;align-items:center;gap:9px;min-width:0}
.mega-row-dr{font:700 13px/1.2 var(--kroj),sans-serif;color:#fff;white-space:nowrap}
.mega-row-dr:last-child{overflow:hidden;text-overflow:ellipsis}
.mega-row-vs{font:400 22px/1 'Vujahday Script',cursive;color:rgba(255,255,255,.4);transform:translateY(-3px)}
.mega-row img,.mega-row .herb-brak{width:24px;height:24px;object-fit:contain;flex:0 0 auto;font-size:10px}
.mega-row-data{font:800 13px/1 var(--kroj),sans-serif;color:#fff;font-variant-numeric:tabular-nums}
.mega-row-tag{font:700 9px/1 var(--kroj),sans-serif;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(255,255,255,.38);min-width:46px;text-align:right}
.mega-wiecej{display:inline-block;margin-top:14px;padding-bottom:3px;font:700 10.5px/1 var(--kroj),sans-serif;
  letter-spacing:.14em;text-transform:uppercase;color:#fff;border-bottom:2px solid var(--nieb);transition:color .2s}
.mega-wiecej:hover{color:var(--nieb-jasny)}

/* --- DRUZYNY: lista po lewej, po prawej panel druzyny (najechanie przelacza) --- */
.mega-druz{display:grid;grid-template-columns:minmax(230px,290px) 1fr;gap:clamp(32px,4vw,72px);align-items:start}
.mega-lista{display:flex;flex-direction:column;border-left:1px solid rgba(255,255,255,.1)}
.mega-druz-btn{display:flex;align-items:baseline;justify-content:space-between;gap:12px;width:100%;
  padding:10px 14px 10px 18px;margin-left:-1px;background:0;border:0;border-left:2px solid transparent;
  text-align:left;cursor:pointer;color:rgba(255,255,255,.42);transition:color .18s,border-color .18s}
.mega-druz-btn b{font:800 clamp(15px,1.3vw,18px)/1.1 var(--kroj),sans-serif;text-transform:uppercase}
.mega-druz-btn i{font-style:normal;font:600 10px/1 var(--kroj),sans-serif;letter-spacing:.1em;
  text-transform:uppercase;color:rgba(255,255,255,.28);white-space:nowrap;transition:color .18s}
.mega-druz-btn:hover,.mega-druz-btn.wybrany{color:#fff;border-left-color:var(--nieb)}
.mega-druz-btn.wybrany i,.mega-druz-btn:hover i{color:rgba(255,255,255,.55)}

.mega-pane{display:none}
.mega-pane.wybrany{display:block;animation:mega-in .3s cubic-bezier(.2,.8,.3,1) both}
.mega-pane-tyt{display:flex;align-items:baseline;gap:12px;font:800 clamp(24px,2.4vw,32px)/1.05 var(--kroj),sans-serif;
  text-transform:uppercase;letter-spacing:-.01em;color:#fff;transition:color .2s}
.mega-pane-tyt:hover{color:rgba(255,255,255,.72)}
.mega-pane-tyt i{font-style:normal;font:600 10.5px/1 var(--kroj),sans-serif;letter-spacing:.14em;color:rgba(255,255,255,.4)}
.mega-pane-liga{margin:8px 0 0;font:500 12.5px/1.4 var(--kroj),sans-serif;color:rgba(255,255,255,.45)}
.mega-pane-mecz{display:inline-flex;align-items:center;gap:10px;margin:18px 0 22px;padding:9px 14px 9px 9px;
  background:rgba(255,255,255,.05);border-radius:2px;transition:background .2s}
a.mega-pane-mecz:hover{background:rgba(255,255,255,.1)}
.mega-pane-mecz img,.mega-pane-mecz .herb-brak{width:30px;height:30px;object-fit:contain;font-size:11px}
.mega-pane-mecz b{font:700 13px/1 var(--kroj),sans-serif;color:#fff}
.mega-pane-vs{font:400 22px/1 'Vujahday Script',cursive;color:rgba(255,255,255,.4);transform:translateY(-3px);margin:0 2px}
.mega-pane-mecz i{font-style:normal;font:600 12px/1 var(--kroj),sans-serif;color:rgba(255,255,255,.55);font-variant-numeric:tabular-nums}
.mega-pane-mecz em{font-style:normal;font:700 9px/1 var(--kroj),sans-serif;letter-spacing:.12em;
  text-transform:uppercase;color:rgba(255,255,255,.38)}
.mega-pane-brak{color:rgba(255,255,255,.4);font:500 12.5px/1 var(--kroj),sans-serif}
.mega-pane-linki{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 32px;max-width:640px}
.mega-pane-linki-mloda{grid-template-columns:1fr;max-width:300px}
.mega-pane-linki a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;
  border-bottom:1px solid rgba(255,255,255,.08);font:600 13.5px/1 var(--kroj),sans-serif;
  color:rgba(255,255,255,.78);transition:color .18s}
.mega-pane-linki a:hover{color:#fff}
.mega-pane-linki svg{width:14px;height:14px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;opacity:.45;transition:transform .2s,opacity .2s}
.mega-pane-linki a:hover svg{transform:translateX(4px);opacity:1}

/* --- dol panelu --- */
/* --- KLUB: wizytowka po lewej, spis podstron po prawej --- */
.mega-klub{display:grid;grid-template-columns:minmax(230px,300px) 1fr;gap:0 clamp(32px,4vw,72px);align-items:start}
.mega-klub-wizyt{padding-right:16px;border-right:1px solid rgba(255,255,255,.08)}
.mega-klub-wizyt img{width:clamp(66px,5.4vw,86px);height:auto;margin-bottom:16px}
.mega-klub-nazwa{margin:0;font:800 clamp(17px,1.5vw,21px)/1.2 var(--kroj),sans-serif;
  text-transform:uppercase;color:#fff}
.mega-klub-od{margin:8px 0 18px;font:500 12.5px/1 var(--kroj),sans-serif;color:rgba(255,255,255,.45)}
.mega-klub-lista{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(24px,3vw,48px);align-content:start}
.mega-klub-poz{display:grid;grid-template-columns:1fr auto;align-items:center;gap:0 12px;padding:13px 0;
  border-bottom:1px solid rgba(255,255,255,.08)}
.mega-klub-poz b{grid-column:1;grid-row:1;font:700 14px/1.2 var(--kroj),sans-serif;
  color:rgba(255,255,255,.86);transition:color .18s}
.mega-klub-poz i{grid-column:1;grid-row:2;font:500 12px/1.35 var(--kroj),sans-serif;font-style:normal;
  color:rgba(255,255,255,.4);margin-top:3px}
.mega-klub-poz svg{grid-column:2;grid-row:1/3;width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;color:rgba(255,255,255,.35);transition:transform .2s,color .2s}
.mega-klub-poz:hover b{color:#fff}
.mega-klub-poz:hover svg{color:var(--nieb-jasny);transform:translateX(4px)}

@media(max-width:1000px){
  .mega-klub{grid-template-columns:1fr;gap:26px}
  .mega-klub-wizyt{border-right:0;border-bottom:1px solid rgba(255,255,255,.08);padding:0 0 20px}
  .mega-klub-lista{grid-template-columns:1fr}
}

.mega-dol{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:16px;
  margin-top:clamp(22px,2.4vw,34px);padding-top:14px;border-top:1px solid rgba(255,255,255,.08)}
.mega-dol-txt{font:700 10.5px/1 var(--kroj),sans-serif;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.35)}
.mega-dol-txt i{font-style:normal;font-weight:500;color:rgba(255,255,255,.22);margin-left:6px}
.mega-social{display:flex;gap:2px}
.mega-social a{display:grid;place-items:center;width:38px;height:38px;color:rgba(255,255,255,.55);
  transition:color .2s,transform .2s}
.mega-social a:hover{color:#fff;transform:translateY(-2px)}
.mega-social svg{width:19px;height:19px;fill:currentColor}

@media(max-width:1100px){
  .mega-mecze,.mega-druz{grid-template-columns:1fr}
  .mega-numer{display:none}
}
@media(max-width:900px){ .mega,.mega-tlo{display:none} }


/* ========== PODSTRONA WPISU ========== */
.wp-czolo{
  position:relative;padding:calc(var(--topbar-h) + var(--nav-h) + 44px) clamp(16px,4vw,24px) 34px;
  background:var(--tlo-2);border-bottom:1px solid var(--linia)
}
.wp-czolo-tresc{width:min(1180px,100%);margin:0 auto;position:relative;z-index:2}
.wp-czolo-foto{border-bottom:0;min-height:clamp(320px,42vw,470px);display:flex;align-items:flex-end;background:var(--czern)}
.wp-czolo-tlo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.wp-czolo-foto::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgba(14,17,22,.92) 0%,rgba(14,17,22,.55) 45%,rgba(14,17,22,.25) 100%)
}
.wp-czolo-foto .wp-czolo-tresc{z-index:2}
.wp-czolo-foto .wp-tyt,.wp-czolo-foto .wp-wroc{color:var(--biel)}
.wp-czolo-foto .wp-meta span{color:rgba(255,255,255,.72)}
.wp-czolo-foto .wp-meta a{color:var(--biel);border-color:rgba(255,255,255,.32)}
.wp-czolo-foto .wp-meta a:hover{background:var(--biel);color:var(--czern)}
.wp-czolo-foto .wp-wroc:hover{color:var(--nieb-jasny)}

.wp-wroc{display:inline-flex;align-items:center;gap:5px;margin-bottom:16px;
  font:700 12px/1 var(--kroj),sans-serif;text-transform:uppercase;color:var(--szary)}
.wp-wroc svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.wp-wroc:hover{color:var(--nieb)}
.wp-tyt{margin:0;font-family:var(--kroj),sans-serif;font-weight:800;text-transform:uppercase;
  font-size:clamp(25px,3.6vw,46px);line-height:1.08;letter-spacing:-.015em;color:var(--czern);max-width:20ch}
.wp-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:16px 0 0;
  font:600 12px/1 var(--kroj),sans-serif;text-transform:uppercase;color:var(--szary-jasny)}
.wp-meta a{padding:5px 10px;border:1px solid var(--linia);color:var(--czern);transition:.18s}
.wp-meta a:hover{background:var(--czern);color:var(--biel);border-color:var(--czern)}

.wp-uklad{width:min(1180px,100%);margin:0 auto;padding:clamp(32px,4vw,54px) clamp(16px,4vw,24px) 70px;
  display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(30px,4.4vw,58px);align-items:start}
.wp-tresc{margin-top:0;max-width:74ch}
.wp-tresc>*:first-child{margin-top:0}
.wp-tresc h2,.wp-tresc h3{margin:34px 0 12px}
.wp-tresc ul,.wp-tresc ol{padding-left:20px;margin:0 0 1.4em}
.wp-tresc li{margin-bottom:.45em}
.wp-tresc li::marker{color:var(--nieb)}
.wp-tresc img{max-width:100%;height:auto}

.wp-bok{position:sticky;top:calc(var(--nav-h) + 20px);display:flex;flex-direction:column;gap:28px}
/* dokladnie jak karta nadchodzacego meczu (.kmecz): biel + cienka ramka, ostre naroza */
.wp-bok-sekcja{background:var(--biel);border:1px solid var(--linia);padding:clamp(18px,1.8vw,24px)}
.wp-bok-nag{margin:0 0 15px;font:800 12px/1 var(--kroj),sans-serif;
  text-transform:uppercase;color:var(--czern)}

.wp-mecz-liga{margin:0 0 14px;font:500 12px/1.35 var(--kroj),sans-serif;color:var(--szary-jasny)}
.wp-mecz-pary{display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:8px}
.wp-mecz-dr{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0}
.wp-mecz-dr img,.wp-mecz-dr .herb-brak{width:46px;height:46px}
.wp-mecz-dr span{font:700 10.5px/1.3 var(--kroj),sans-serif;text-transform:uppercase;text-align:center}
.wp-mecz-srodek{display:flex;flex-direction:column;align-items:center;gap:2px;padding-top:10px}
.wp-mecz-dzien{font:700 10px/1 var(--kroj),sans-serif;text-transform:uppercase;color:var(--szary-jasny)}
.wp-mecz-godz{font:800 17px/1 var(--kroj),sans-serif;color:var(--czern)}
.wp-mecz-wynik{font:800 22px/1 var(--kroj),sans-serif;color:var(--czern)}
.wp-mecz-wynik i{font-style:normal;margin:0 2px;color:var(--szary-jasny)}
.wp-mecz-data{margin:14px 0 0;padding-top:12px;border-top:1px solid var(--linia);
  font:600 11.5px/1 var(--kroj),sans-serif;text-transform:uppercase;color:var(--szary);text-align:center}

.wp-udostepnij{display:flex;gap:8px}
.wp-udostepnij a,.wp-udostepnij button{
  width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--linia);
  background:var(--biel);color:var(--szary);cursor:pointer;transition:.18s
}
.wp-udostepnij svg{width:19px;height:19px;fill:currentColor}
.wp-udostepnij a:hover,.wp-udostepnij button:hover{background:var(--czern);border-color:var(--czern);color:var(--biel)}
.wp-udostepnij .zrobione{background:var(--nieb);border-color:var(--nieb);color:var(--biel)}

.wp-lista{display:flex;flex-direction:column;gap:14px}
.wp-lista-poz{display:flex;gap:11px;align-items:flex-start}
.wp-lista-poz img{width:64px;height:48px;object-fit:cover;flex-shrink:0}
.wp-lista-pusta{width:64px;height:48px;background:var(--tlo-2);display:grid;place-items:center;flex-shrink:0}
.wp-lista-pusta img{width:30px;height:30px;object-fit:contain;opacity:.32}
.wp-lista-poz b{display:block;font:600 12.5px/1.35 var(--kroj),sans-serif;color:var(--czern)}
.wp-lista-poz i{display:block;margin-top:3px;font:500 11px/1 var(--kroj),sans-serif;font-style:normal;color:var(--szary-jasny)}
.wp-lista-poz:hover b{color:var(--nieb)}

/* tresc z Joomli: nic nie moze rozpychac strony w bok */
.tresc-tab{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 0 1.4em}
.tresc-tab table{width:auto;min-width:0}
.wp-tresc{overflow-wrap:break-word}
.wp-tresc img,.wp-tresc iframe,.wp-tresc video{max-width:100%;height:auto}
.wp-tresc [style*="width"]{max-width:100%}

@media(max-width:900px){
  /* minmax(0,1fr), bo samo 1fr ma min-width:auto i szeroka tabela z Worda
     rozpychala cala strone w bok */
  .wp-uklad{grid-template-columns:minmax(0,1fr);gap:34px}
  .wp-bok{position:static;flex-direction:column}
  .wp-tresc{max-width:none}
  .wp-czolo-foto{min-height:clamp(260px,52vw,340px)}
  .wp-tyt{max-width:none}
}
@media(max-width:560px){
  .wp-bok-sekcja{padding:16px}
  .wp-mecz-dr img,.wp-mecz-dr .herb-brak{width:42px;height:42px}
}

/* ===== RELACJE + WYNIKI: jedna sekcja, dwie kolumny ===== */
/* Sekcja ciemna, tym samym grafitem co mega menu. Zamiast dublowac reguly
   dla kazdego elementu, przedefiniowujemy w jej obrebie zmienne kolorow -
   karty, naglowki i slupek wynikow same sie przelaczaja.
   Odstepy gora i dol takie same: to sekcja w srodku strony, nie potrzebuje
   zapasu na wystajacy box hero, jak sasiadujaca .nadch.                    */
.rw{
  --czern:#fff;
  --biel:#0E1116;
  --szary:#A7B0BC;
  --szary-jasny:#7C8593;
  --linia:rgba(255,255,255,.12);
  --tlo-2:rgba(255,255,255,.045);
  padding:clamp(52px,6.5vw,88px) 0;background:#0E1116;color:#fff;
}
.rw .rww:hover{background:rgba(255,255,255,.05)}
.rw .karta-foto{background:rgba(255,255,255,.06)}
.rw-siatka{
  width:var(--szer);margin:0 auto;padding:0 clamp(16px,4vw,54px);
  display:grid;grid-template-columns:minmax(0,1fr) clamp(300px,25%,352px);
  gap:clamp(30px,4.5vw,76px);align-items:stretch;
}
/* naglowki obu kolumn maja wlasna szerokosc, wiec zerujemy globalne marginesy .akt-gora */
.rw-siatka .akt-gora{width:auto;margin:0 0 clamp(26px,3.2vw,46px);padding:0}
/* w slupku wynikow naglowek nie potrzebuje az takiego odstepu */
.rw-bok .akt-gora{margin-bottom:clamp(14px,1.6vw,20px)}
.rw-lewo,.rw-bok{display:flex;flex-direction:column;min-width:0}
/* wyniki jako osobny modul na tle. Bez zaokraglen - reszta strony tez
   ich nie ma, a ostre naroza trzymaja rytm kart i pasow.                */
.rw-bok{background:var(--tlo-2);padding:clamp(18px,1.8vw,26px)}
/* Jeden poziomy rzad pionowych kart. Ostatnia karta jest SWIADOMIE ucieta
   krawedzia kolumny - to sygnal, ze pas jedzie dalej.                     */
.rw-pas{flex:1;align-items:stretch;display:flex;gap:clamp(12px,1.2vw,18px);overflow-x:auto;
  scroll-snap-type:x proximity;scrollbar-width:none;-ms-overflow-style:none;
  overscroll-behavior-x:contain;cursor:grab}
.rw-pas::-webkit-scrollbar{display:none}
/* Karty rozciagaja sie na CALA wysokosc kolumny, zamiast wyliczac wysokosc
   z proporcji zdjecia. Dzieki temu pas konczy sie zawsze dokladnie tam,
   co slupek wynikow obok, niezaleznie od szerokosci ekranu.               */
.rw-pas .karta{flex:0 0 clamp(200px,18vw,312px);scroll-snap-align:start;height:100%}
.rw-pas .karta-foto{flex:1;min-height:0}
.rw-pas .karta-foto img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover}
.rw-pas img,.rw-pas a{-webkit-user-drag:none;user-drag:none}

.rw-lista{flex:1;display:flex;flex-direction:column;justify-content:space-between;
  border-top:1px solid var(--linia)}
.rww{display:block;padding:clamp(7px,.7vw,10px) 0;border-bottom:1px solid var(--linia);
  text-decoration:none;color:inherit;transition:background .18s}
.rww:hover{background:var(--biel)}
.rww-gora{display:flex;align-items:center;gap:8px;margin-bottom:7px}
.rww-data{font:600 11px/1 var(--kroj),sans-serif;color:var(--szary-jasny)}
.rww-kat{font:800 9px/1 var(--kroj),sans-serif;text-transform:uppercase;color:var(--szary)}
/* wynik meczu mowi juz sam za siebie, wiec W/R/P to sama litera - bez kolka */
.rww-stan{margin-left:auto;flex:0 0 auto;font:800 11px/1 var(--kroj),sans-serif}
.rww-w .rww-stan{color:var(--nieb-jasny)}
.rww-r .rww-stan,.rww-p .rww-stan{color:var(--szary-jasny)}
/* wiersz druzyny: herb, nazwa, bramki na koncu; wygrywajaca strona na czarno */
.rww-dr{display:flex;align-items:center;gap:9px;padding:2px 0;
  font:600 12.5px/1.25 var(--kroj),sans-serif;color:var(--szary-jasny)}
.rww-dr.gora{color:var(--czern)}
.rww-dr.gora b{font-weight:800}
.rww-dr b{font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rww-dr i{margin-left:auto;font-style:normal;font-weight:800;font-size:14px;
  font-variant-numeric:tabular-nums}
.rww-dr img{flex:0 0 auto;width:20px;height:20px;object-fit:contain}
.rww-dr svg{flex:0 0 auto}

@media(max-width:1080px){
  .rw-siatka{grid-template-columns:minmax(0,1fr);gap:clamp(34px,5vw,52px)}
  .rw-lista{border-top:0}
  .rww:first-child{border-top:1px solid var(--linia)}
}


/* ===== ODLICZANIE DO MECZU SENIOROW ===== */
.odl{
  position:relative;display:grid;place-items:center;
  padding:clamp(54px,7vw,96px) clamp(16px,4vw,54px);
  background:var(--czern) var(--foto,none) var(--foto-poz,center)/cover no-repeat;
  isolation:isolate;
}
/* zdjecie ma byc fakturą, nie tematem: mocno przygaszone, zeby box byl czytelny */
.odl::after{content:"";position:absolute;inset:0;z-index:-1;background:rgba(10,13,17,.72)}
.odl-box{
  width:min(560px,100%);padding:clamp(26px,3vw,40px) clamp(20px,3vw,44px) clamp(24px,2.8vw,36px);
  background:rgba(14,17,22,.92);text-align:center;color:#fff;
}
.odl-etyk{margin:0 0 18px;font:800 10px/1 var(--kroj),sans-serif;
  text-transform:uppercase;color:rgba(255,255,255,.42)}
.odl-pary{display:flex;align-items:center;justify-content:center;gap:clamp(14px,2vw,26px)}
.odl-pary img{width:clamp(42px,4vw,54px);height:clamp(42px,4vw,54px);object-fit:contain}
.odl-vs{font:400 clamp(26px,2.6vw,34px)/1 'Vujahday Script',cursive;color:rgba(255,255,255,.45)}
.odl-kto{margin:14px 0 0;font:700 clamp(12px,1.15vw,14px)/1.4 var(--kroj),sans-serif;
  text-transform:uppercase;color:rgba(255,255,255,.78)}
.odl-kto i{font-style:normal;color:rgba(255,255,255,.35);margin:0 4px}
/* licznik: liczba niesie ciezar, jednostka jest tylko podpisem obok */
.odl-licz{display:flex;align-items:baseline;justify-content:center;gap:2px;margin:18px 0 0;
  font-variant-numeric:tabular-nums}
.odl-licz b{font:900 clamp(34px,4.6vw,60px)/1 var(--kroj),sans-serif;letter-spacing:-.03em}
.odl-licz i{margin:0 clamp(10px,1.4vw,18px) 0 3px;font-style:normal;
  font:700 clamp(11px,1.1vw,14px)/1 var(--kroj),sans-serif;text-transform:uppercase;
  color:rgba(255,255,255,.4)}
.odl-licz i:last-child{margin-right:0}
.odl-kiedy{margin:16px 0 0;padding-top:15px;border-top:1px solid rgba(255,255,255,.12);
  font:600 11.5px/1.4 var(--kroj),sans-serif;text-transform:uppercase;color:rgba(255,255,255,.5)}

/* ===== PAS O STADIONIE ===== */
/* box jest odsuniety od prawej krawedzi mocniej niz zwykly margines sekcji,
   zeby plywal na zdjeciu, a nie przyklejal sie do brzegu ekranu             */
.std{position:relative;display:flex;justify-content:flex-end;align-items:center;
  min-height:clamp(360px,42vw,560px);
  padding-block:clamp(28px,4vw,64px);
  padding-left:clamp(16px,4vw,54px);
  /* prawa krawedz boxu rowna sie prawej krawedzi tresci w pozostalych sekcjach */
  padding-right:calc(max(0px, (100% - var(--szer)) / 2) + clamp(16px,4vw,54px));
  background:var(--czern);overflow:hidden}
.std-foto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.std-box{position:relative;z-index:1;width:min(560px,100%);background:var(--biel);
  padding:clamp(30px,3.4vw,52px);overflow:hidden}
/* Pas trawy przy dolnej krawedzi boxu. Grafika jest przemalowana na jeden
   jasnoszary odcien (#E9ECF1), wiec ledwo odcina sie od bieli - ma byc
   fakturą, nie ilustracją. Powtarza sie w poziomie, wiec dziala na kazdej
   szerokosci boxu.                                                          */
.std-splot{position:absolute;left:0;right:0;bottom:0;
  height:clamp(55px,6.5vw,95px);pointer-events:none;
  background:url(/brand/trawa.png) repeat-x bottom left;background-size:auto 100%}
.std-tresc{position:relative;z-index:1}
.std-nad{margin:0;font:700 clamp(15px,1.6vw,20px)/1.35 var(--kroj),sans-serif;
  text-transform:uppercase;color:var(--szary)}
.std-tyt{margin:6px 0 0;font:900 clamp(34px,4.4vw,60px)/1 var(--kroj),sans-serif;
  letter-spacing:-.03em;text-transform:uppercase;color:var(--czern)}
.std-opis{margin:clamp(18px,2vw,28px) 0 0;max-width:44ch;
  font:400 13.5px/1.65 var(--kroj),sans-serif;color:var(--szary)}
.std-btn{display:inline-block;margin-top:clamp(20px,2.2vw,30px);padding:14px 34px;
  background:var(--nieb);color:#fff;font:700 12px/1 var(--kroj),sans-serif;
  text-transform:uppercase;transition:background .2s}
.std-btn:hover{background:var(--nieb-ciemny)}

@media(max-width:820px){
  .std{justify-content:center;min-height:0;padding:clamp(200px,52vw,300px) clamp(16px,4vw,24px) clamp(28px,5vw,44px)}
  .std-foto{height:clamp(200px,52vw,300px);top:0;bottom:auto}
}

/* ===== STOPKA = SRODEK BOISKA WIDZIANY Z GORY =====
   Herb stoi na punkcie srodkowym, linia srodkowa idzie przez cala szerokosc
   i przechodzi przez kolo, a nawigacja rozklada sie na dwie polowy. Stad
   wrazenie inne niz przy typowej stopce z kolumnami przy lewej krawedzi.   */
.stp{--b-lin:rgba(255,255,255,.085);background:#0A0D11;color:#fff;font-family:var(--kroj),sans-serif}
.stp-plyta{position:relative;background:var(--czern);overflow:hidden;
  padding:clamp(40px,4.4vw,64px) clamp(16px,4vw,54px) clamp(26px,2.8vw,36px)}

/* --- glowa stopki: marka po lewej, nawigacja po prawej --- */
.stp-glowa{position:relative;z-index:1;width:var(--szer);margin:0 auto;
  display:grid;grid-template-columns:auto minmax(0,1fr);
  gap:clamp(36px,6vw,110px);align-items:start}

/* --- blok marki: herb, rok, pelna nazwa, kontakt, social --- */
.stp-marka{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(18px,2vw,26px)}
.stp-znak{display:flex;align-items:center;gap:16px}
.stp-herb{width:clamp(66px,5vw,84px);height:auto;
  transition:transform .3s cubic-bezier(.2,.8,.3,1)}
.stp-marka:hover .stp-herb{transform:scale(1.04)}
.stp-znak-txt{display:flex;flex-direction:column;gap:2px}
.stp-rok{font:400 clamp(34px,3vw,46px)/.9 'Vujahday Script',cursive;color:rgba(255,255,255,.5)}
.stp-pelna{max-width:22ch;font:600 11.5px/1.45 var(--kroj),sans-serif;
  text-transform:uppercase;color:rgba(255,255,255,.38)}

/* --- dane kontaktowe w kolumnie pod marka --- */
.stp-dane{display:flex;flex-direction:column;align-items:flex-start;gap:6px;
  font:500 13px/1.5 var(--kroj),sans-serif;color:rgba(255,255,255,.5)}
.stp-dane a{color:inherit;text-decoration:none;transition:color .18s}
.stp-dane a:hover{color:#fff}
.stp-social{display:flex;gap:9px}
.stp-social a{display:grid;place-items:center;width:38px;height:38px;
  border:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.6);
  transition:background .18s,border-color .18s,color .18s}
.stp-social svg{width:19px;height:19px;fill:currentColor}
.stp-social a:hover{background:var(--nieb);border-color:var(--nieb);color:#fff}

/* --- cztery kolumny dosuniete do prawej krawedzi, z wyraznym odstepem
   miedzy soba, zeby grupy nie sklejaly sie w jeden blok --- */
.stp-in{display:flex;justify-content:flex-end;gap:clamp(40px,4.6vw,84px)}
.stp-kol{display:flex;flex-direction:column;align-items:flex-start;gap:9px;min-width:0}
.stp-tyt{margin-bottom:4px;font:800 10px/1 var(--kroj),sans-serif;
  text-transform:uppercase;color:rgba(255,255,255,.42)}
.stp-kol a{position:relative;font:500 13.5px/1.35 var(--kroj),sans-serif;
  color:rgba(255,255,255,.6);text-decoration:none;transition:color .18s,padding-left .18s}
.stp-kol a::before{content:"";position:absolute;left:0;top:.45em;width:0;height:6px;
  background:var(--nieb);transition:width .18s}
.stp-kol a:hover{color:#fff;padding-left:14px}
.stp-kol a:hover::before{width:6px}

/* --- pasek dolny --- */
.stp-dol{background:#07090C;border-top:1px solid rgba(255,255,255,.06);
  display:flex;align-items:center;justify-content:space-between;gap:clamp(12px,2vw,26px);
  flex-wrap:wrap;padding:clamp(15px,1.7vw,20px) clamp(16px,4vw,54px)}
.stp-dol>span{font:500 11.5px/1.5 var(--kroj),sans-serif;color:rgba(255,255,255,.32)}
.stp-prawne{display:flex;align-items:center;gap:clamp(12px,1.6vw,22px)}
.stp-prawne a{font:500 11.5px/1.5 var(--kroj),sans-serif;color:rgba(255,255,255,.32);
  text-decoration:none;transition:color .18s}
.stp-prawne a:hover{color:#fff}

/* prawa grupa dolnego paska: linki prawne obok podpisu studia */
.stp-dol-prawa{display:flex;align-items:center;gap:clamp(14px,2vw,24px);flex-wrap:wrap}

/* podpis studia - wzorzec z pozostalych realizacji (wariant na ciemnym tle):
   pigulka z delikatnym tlem i obwodka, tak jak na innych naszych stronach */
.footer__made{display:inline-flex;align-items:center;gap:7px;padding:6px 11px;text-decoration:none;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:8px;
  transition:background .3s,border-color .3s,transform .3s}
.footer__made:hover{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.22);transform:scale(1.03)}
.footer__made:hover span{text-decoration:none}
.footer__made-label{font:400 11.5px/1 var(--kroj),sans-serif;color:rgba(255,255,255,.45)}
.footer__made-logo{width:16px;height:16px;object-fit:contain;display:block;flex-shrink:0}
.footer__made-name{font:500 11.5px/1 var(--kroj),sans-serif;color:rgba(255,255,255,.85)}
.footer__made:hover .footer__made-name{color:#fff}

/* --- tablet: marka i nawigacja jedna pod druga, wciaz do lewej --- */
@media(max-width:960px){
  .stp-glowa{grid-template-columns:1fr;gap:clamp(30px,5vw,44px)}
}
/* srednie ekrany: gdy marka jest juz nad linkami, 4 kolumny zwezaja sie -
   przechodzimy na dwie pary, zeby pozycje nie lamaly sie w polowie slowa */
@media(max-width:680px){
  .stp-in{display:grid;grid-template-columns:1fr 1fr;gap:clamp(22px,5vw,32px)}
  .stp-pelna{max-width:none}
}
@media(max-width:380px){
  .stp-in{grid-template-columns:1fr}
}

/* --- drobny pas instytucji na samym dole ciemnej stopki ---
   Logotypy instytucji sa kolorowe, z czarnymi napisami i przezroczystym tlem,
   wiec na grafiacie znikaja. Kazdy dostaje wiec maly bialy kafelek - logo
   zostaje nietkniete (wymog programow), a calosc jest drobna i spokojna.   */
.stp-inst{position:relative;z-index:1;width:var(--szer);margin:clamp(26px,2.8vw,38px) auto 0;
  padding-top:clamp(20px,2.2vw,28px);border-top:1px solid rgba(255,255,255,.07)}
.stp-inst-loga{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:clamp(8px,1vw,14px)}
/* Wszystkie kafle maja JEDNA wysokosc, zeby pas byl rowny - logo wyroznia sie
   tylko wielkoscia znaku w srodku, nie rozmiarem samego kafla. Loga maja rozne
   proporcje (poziome napisy vs pionowe herby), wiec sterujemy max-wysokoscia
   znaku, a kafel zostaje staly.                                              */
.stp-chip{display:grid;place-items:center;height:clamp(52px,5.2vw,60px);
  min-width:clamp(66px,7vw,86px);padding:0 clamp(12px,1.5vw,18px);background:var(--biel);border:0;
  opacity:.82;cursor:pointer;transition:opacity .18s,transform .18s}
.stp-chip img{max-height:26px;max-width:100%;width:auto;height:auto;
  object-fit:contain;display:block;pointer-events:none}
/* loga z herbem albo drobnym tekstem gina przy 26px - dostaja wiecej wysokosci */
.stp-chip-wys img{max-height:42px}
/* plakat jest pionowy - przy wysokosci pozostalych logotypow bylby plamka */
.stp-chip-plakat img{max-height:54px}
a.stp-chip{padding:0}
a.stp-chip img{max-height:clamp(38px,4vw,48px)}
.stp-chip:hover{opacity:1;transform:translateY(-1px)}
.stp-chip:focus-visible{outline:2px solid var(--nieb);outline-offset:2px;opacity:1}
/* NIP i REGON przy copyrightcie - drobne, oddzielone kropka od nazwy */
.stp-rejestr{margin-left:10px;padding-left:10px;border-left:1px solid rgba(255,255,255,.14);
  color:rgba(255,255,255,.28);white-space:nowrap}
.stp-formuly{max-width:112ch;margin:clamp(14px,1.6vw,20px) auto 0;text-align:center;
  font:400 10.5px/1.75 var(--kroj),sans-serif;color:rgba(255,255,255,.3)}

@media(max-width:560px){
  .stp-chip img{height:22px}
  .stp-chip-wys img{height:34px}
  a.stp-chip img{height:32px}
  .stp-chip-plakat img{height:44px}
  .stp-formuly{font-size:10px;text-align:left}
}

/* --- lightbox logotypow: powiekszenie znaku na bialej plycie --- */
.stp-lb{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;
  padding:clamp(20px,5vw,64px);background:rgba(6,8,11,.86);
  backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
  opacity:0;transition:opacity .22s}
.stp-lb.otwarty{opacity:1}
.stp-lb[hidden]{display:none}
.stp-lb-ramka{margin:0;display:flex;flex-direction:column;align-items:center;gap:16px;
  max-width:min(560px,100%);transform:scale(.96);transition:transform .22s cubic-bezier(.2,.8,.3,1)}
.stp-lb.otwarty .stp-lb-ramka{transform:none}
.stp-lb-plyta{display:grid;place-items:center;padding:clamp(26px,4vw,48px);background:#fff;
  width:100%;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.stp-lb-plyta img{max-width:100%;max-height:60vh;width:auto;height:auto;display:block}
.stp-lb-podpis{display:flex;flex-direction:column;gap:8px;align-items:center;
  max-width:52ch;text-align:center}
.stp-lb-nazwa{font:700 13px/1.4 var(--kroj),sans-serif;text-transform:uppercase;
  letter-spacing:.02em;color:#fff}
.stp-lb-opis{font:400 12.5px/1.6 var(--kroj),sans-serif;color:rgba(255,255,255,.6)}
.stp-lb-zamknij{position:absolute;top:clamp(14px,2vw,24px);right:clamp(14px,2vw,24px);
  display:grid;place-items:center;width:42px;height:42px;background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);color:#fff;cursor:pointer;
  transition:background .18s,border-color .18s}
.stp-lb-zamknij:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.3)}
.stp-lb-zamknij svg{width:20px;height:20px}

/* ===== WYSZUKIWARKA ===== */
/* --- nakladka: panel zjezdza z gory, tlo przygasa --- */
.szuk{position:fixed;inset:0;z-index:1300;display:flex;justify-content:center;align-items:flex-start;
  padding:clamp(70px,12vh,150px) clamp(16px,4vw,40px) 40px;
  background:rgba(6,8,11,.9);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);
  opacity:0;transition:opacity .22s}
.szuk.otwarty{opacity:1}
.szuk[hidden]{display:none}
.szuk-panel{width:min(680px,100%);transform:translateY(-14px);transition:transform .28s cubic-bezier(.2,.8,.3,1)}
.szuk.otwarty .szuk-panel{transform:none}
.szuk-zamknij{position:absolute;top:clamp(16px,2.4vw,28px);right:clamp(16px,2.4vw,30px);
  display:grid;place-items:center;width:36px;height:36px;background:0;border:0;padding:0;
  color:rgba(255,255,255,.6);cursor:pointer;transition:color .18s,transform .18s}
.szuk-zamknij:hover{color:#fff;transform:rotate(90deg)}
.szuk-zamknij svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}

/* pole: duza linia na ciemnym tle, dolna kreska rozswietla sie na niebiesko */
.szuk-pole{position:relative;display:flex;align-items:center;
  border-bottom:2px solid rgba(255,255,255,.16);transition:border-color .25s}
.szuk-pole:focus-within{border-color:var(--nieb)}
.szuk-lupa{position:absolute;left:2px;width:26px;height:26px;fill:none;stroke:rgba(255,255,255,.55);
  stroke-width:2;stroke-linecap:round;pointer-events:none;transition:stroke .25s}
.szuk-pole:focus-within .szuk-lupa{stroke:var(--nieb-jasny)}
.szuk-pole input{flex:1;width:100%;border:0;background:0;outline:0;
  padding:16px 6px 16px 44px;font:600 clamp(22px,3vw,30px)/1.2 var(--kroj),sans-serif;color:#fff}
.szuk-pole input::placeholder{color:rgba(255,255,255,.32);font-weight:500}

.szuk-wyniki{margin-top:14px;max-height:min(54vh,540px);overflow-y:auto;overflow-x:hidden;
  scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.22) transparent}
.szuk-wyniki::-webkit-scrollbar{width:8px}
.szuk-wyniki::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:8px}
.szuk-grupa{padding:6px 0}
.szuk-grupa-tyt{display:block;padding:10px 14px 8px;font:800 10.5px/1 var(--kroj),sans-serif;
  letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.4)}
.szuk-poz{display:flex;align-items:center;gap:14px;padding:9px 14px;text-decoration:none;color:#fff;
  border-radius:3px;transition:background .16s}
.szuk-poz:hover{background:rgba(255,255,255,.06)}
.szuk-poz-txt{flex:1;min-width:0}
.szuk-poz-tyt{display:block;font:600 15px/1.4 var(--kroj),sans-serif;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.szuk-poz-meta{display:block;margin-top:3px;font:600 11px/1.3 var(--kroj),sans-serif;
  letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.4)}
.szuk-poz-foto{flex:0 0 auto;width:50px;height:50px;border-radius:3px;overflow:hidden;
  background:#0c0f13 center/cover no-repeat}
.szuk-poz-foto--herb{display:grid;place-items:center;background:rgba(255,255,255,.05)}
.szuk-poz-foto--herb img{width:30px;height:30px;opacity:.55}
.szuk-wszystkie{display:inline-flex;align-items:center;gap:8px;margin:16px 0 4px;padding-bottom:4px;
  text-decoration:none;font:700 11px/1 var(--kroj),sans-serif;letter-spacing:.14em;text-transform:uppercase;
  color:#fff;border-bottom:2px solid var(--nieb);transition:color .2s}
.szuk-wszystkie::after{content:"→";font-size:13px;transition:transform .2s}
.szuk-wszystkie:hover{color:var(--nieb-jasny)}
.szuk-wszystkie:hover::after{transform:translateX(4px)}
.szuk-brak{margin:16px 4px 0;font:500 14px/1.6 var(--kroj),sans-serif;color:rgba(255,255,255,.55)}
.szuk-brak kbd,.szuk-wsk kbd{font:700 11px/1 var(--kroj),monospace;padding:2px 7px;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#fff}
.szuk-wsk{margin:18px 4px 0;font:500 12.5px/1.5 var(--kroj),sans-serif;color:rgba(255,255,255,.4)}

/* --- HERO strony wyszukiwania: ciemna sekcja ze zdjeciem i polem w srodku --- */
.szh{position:relative;background:#0a0d11;color:#fff;overflow:hidden;
  padding:calc(var(--topbar-h) + var(--nav-h) + clamp(78px,10vh,128px)) clamp(16px,4vw,54px) clamp(50px,8vh,88px)}
.szh-foto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;
  z-index:0}
.szh::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(8,11,15,.5) 0%,rgba(8,11,15,.62) 55%,rgba(10,13,17,.92) 100%)}
.szh-in{position:relative;z-index:2;width:min(680px,100%);margin:0 auto;text-align:center}
.szh-eyebrow{margin:0 0 12px;font:800 11px/1 var(--kroj),sans-serif;
  letter-spacing:.18em;text-transform:uppercase;color:var(--nieb-jasny)}
.szh-h1{margin:0 0 clamp(22px,3vw,32px);font:800 clamp(32px,5vw,58px)/1.02 var(--kroj),sans-serif;
  letter-spacing:-.02em;text-transform:uppercase}
.szh-pole{display:flex;align-items:center;position:relative;background:#fff;max-width:600px;margin:0 auto;
  box-shadow:0 30px 70px -26px rgba(0,0,0,.7)}
.szh-pole:focus-within{outline:2px solid var(--nieb);outline-offset:0}
.szh-pole-lupa{position:absolute;left:18px;width:22px;height:22px;fill:none;stroke:var(--szary);
  stroke-width:2;stroke-linecap:round;pointer-events:none}
.szh-pole input{flex:1;min-width:0;border:0;outline:0;background:0;padding:18px 16px 18px 50px;
  font:500 16px/1.2 var(--kroj),sans-serif;color:var(--czern)}
.szh-pole input::placeholder{color:var(--szary-jasny)}
.szh-pole button{border:0;background:var(--nieb);color:#fff;cursor:pointer;padding:0 clamp(20px,2.4vw,34px);
  align-self:stretch;font:700 12px/1 var(--kroj),sans-serif;letter-spacing:.06em;text-transform:uppercase;
  transition:background .18s}
.szh-pole button:hover{background:var(--nieb-ciemny)}
.szh-info{margin:clamp(18px,2vw,24px) auto 0;max-width:52ch;
  font:500 14px/1.6 var(--kroj),sans-serif;color:rgba(255,255,255,.62)}
.szh-info strong{color:#fff;font-weight:700}

/* --- lista wynikow pod hero (hero juz zszedl pod navbar, wiec mniejszy odstep) --- */
.szw{padding-top:clamp(32px,4vw,52px)}

/* pasujace strony klubu - kafle z herbem */
.szw-strony{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:12px;margin:0 0 clamp(30px,3.4vw,44px)}
.szw-strona{display:flex;align-items:center;gap:14px;padding:15px 17px;text-decoration:none;
  background:var(--biel);border:1px solid var(--linia);transition:border-color .18s,box-shadow .18s,transform .18s}
.szw-strona:hover{border-color:var(--nieb);box-shadow:0 12px 28px -18px rgba(26,110,235,.5);transform:translateY(-2px)}
.szw-strona-herb{width:34px;height:34px;flex:0 0 auto}
.szw-strona-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.szw-strona-tyt{font:700 15px/1.3 var(--kroj),sans-serif;color:var(--czern)}
.szw-strona-opis{font:500 12px/1.4 var(--kroj),sans-serif;color:var(--szary);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* lista wynikow - okladka + tresc, hover jak karty */
.szw-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.szw-item+.szw-item{border-top:1px solid var(--linia)}
.szw-item a{display:flex;gap:clamp(16px,2vw,24px);align-items:center;padding:clamp(16px,1.8vw,22px) 0;
  text-decoration:none;transition:padding-left .2s,background .2s}
.szw-item a:hover{padding-left:12px}
.szw-foto{flex:0 0 auto;width:clamp(96px,11vw,132px);height:clamp(72px,8vw,96px);
  background:var(--tlo-2) center/cover no-repeat;overflow:hidden}
.szw-foto--herb{display:grid;place-items:center}
.szw-foto--herb img{width:46px;height:46px;opacity:.32}
.szw-item-txt{display:flex;flex-direction:column;gap:5px;min-width:0}
.szw-item-meta{font:700 10.5px/1 var(--kroj),sans-serif;letter-spacing:.08em;
  text-transform:uppercase;color:var(--nieb)}
.szw-item-tyt{font:700 clamp(16px,1.7vw,19px)/1.3 var(--kroj),sans-serif;color:var(--czern)}
.szw-item a:hover .szw-item-tyt{color:var(--nieb)}
.szw-item-zaj{font:400 13px/1.55 var(--kroj),sans-serif;color:var(--szary);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.szw-pusto{display:flex;flex-direction:column;align-items:center;gap:18px;padding:clamp(40px,6vw,72px) 0;
  text-align:center}
.szw-pusto img{opacity:.3}
.szw-pusto p{margin:0;font:500 15px/1.7 var(--kroj),sans-serif;color:var(--szary)}
.szw-pusto strong{color:var(--czern)}

@media(max-width:520px){
  .szw-item a{gap:14px}
  .szw-foto{width:84px;height:64px}
  .szw-item-zaj{display:none}
  .stp-rejestr{display:block;margin:6px 0 0;padding:0;border:0}
}
@media(max-width:560px){.stp-rejestr{display:block;margin:6px 0 0;padding:0;border:0}}

/* ===== AKTUALNOSCI ===== */
/* --- hero podstrony --- */
.al-hero{position:relative;background:#0a0d11;color:#fff;overflow:hidden;
  padding:calc(var(--topbar-h) + var(--nav-h) + clamp(78px,10vh,128px)) clamp(16px,4vw,54px) clamp(46px,7vh,78px)}
.al-hero-foto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 28%;z-index:0}
.al-hero::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(8,11,15,.5) 0%,rgba(8,11,15,.64) 55%,rgba(10,13,17,.94) 100%)}
.al-hero-in{position:relative;z-index:2;width:min(760px,100%);margin:0 auto;text-align:center}
.al-hero-eyebrow{margin:0 0 12px;font:800 11px/1 var(--kroj),sans-serif;
  letter-spacing:.18em;text-transform:uppercase;color:var(--nieb-jasny)}
.al-hero-h1{margin:0 0 14px;font:800 clamp(32px,5vw,58px)/1.02 var(--kroj),sans-serif;
  letter-spacing:-.02em;text-transform:uppercase}
.al-hero-info{margin:0 auto;max-width:54ch;font:500 14.5px/1.6 var(--kroj),sans-serif;color:rgba(255,255,255,.66)}
.al-hero-info strong{color:#fff;font-weight:700}

/* --- uklad: tresc + sticky kolumna boczna, szerokosc jak podstrona wpisu --- */
.al-uklad{width:min(1460px,100%);margin:0 auto;
  padding:clamp(30px,3.6vw,50px) clamp(20px,4vw,48px) 70px;
  display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(32px,3.6vw,56px);align-items:start}
.al-glowna{min-width:0}
.al-bok{position:sticky;top:calc(var(--nav-h) + 20px);display:flex;flex-direction:column;gap:24px}
.al-bok-sekcja,.drb{background:var(--biel);border:1px solid var(--linia);padding:clamp(18px,1.8vw,22px)}
.al-bok-nag{margin:0 0 15px;font:800 12px/1 var(--kroj),sans-serif;letter-spacing:.04em;
  text-transform:uppercase;color:var(--czern);padding-bottom:12px;border-bottom:1px solid var(--linia)}
.drb-tyt{margin:0 0 15px;font:800 12px/1 var(--kroj),sans-serif;
  text-transform:uppercase;color:var(--czern);padding-bottom:12px;border-bottom:1px solid var(--linia)}

/* kategorie jako lista w kolumnie bocznej */
.al-katy{display:flex;flex-direction:column}
.al-katy a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;
  font:600 13px/1.3 var(--kroj),sans-serif;color:var(--szary);text-decoration:none;transition:color .16s}
.al-katy a+a{border-top:1px solid var(--linia)}
.al-katy a:hover{color:var(--czern)}
.al-katy a b{font:700 11px/1 var(--kroj),sans-serif;color:var(--szary-jasny);
  background:var(--tlo-2);padding:4px 8px;border-radius:10px;transition:.16s}
.al-katy a.akt{color:var(--nieb)}
.al-katy a.akt b{background:var(--nieb);color:#fff}

/* --- wyrozniony najnowszy wpis --- */
.al-feat{display:grid;grid-template-columns:1.15fr 1fr;gap:0;margin:0 0 clamp(30px,3.6vw,46px);
  background:var(--biel);color:var(--czern);border:1px solid var(--linia);overflow:hidden;text-decoration:none;
  box-shadow:0 24px 50px -34px rgba(14,17,22,.3);transition:transform .3s,box-shadow .3s,border-color .3s}
.al-feat:hover{transform:translateY(-3px);border-color:var(--nieb);box-shadow:0 34px 60px -34px rgba(26,110,235,.34)}
.al-feat-foto{position:relative;min-height:clamp(240px,30vw,360px);
  background:var(--tlo-2) center/cover no-repeat;overflow:hidden}
.al-feat-foto.al-foto--herb{display:grid;place-items:center;background:#eef1f5}
.al-feat-foto.al-foto--herb img{width:88px;height:88px;opacity:.3}
.al-feat-znacznik{position:absolute;left:0;top:0;padding:8px 14px;background:var(--nieb);
  font:800 10px/1 var(--kroj),sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#fff}
.al-feat-txt{display:flex;flex-direction:column;justify-content:center;gap:12px;
  padding:clamp(24px,3vw,46px)}
.al-feat-meta{font:700 11px/1 var(--kroj),sans-serif;letter-spacing:.08em;
  text-transform:uppercase;color:var(--nieb)}
.al-feat-tyt{font:800 clamp(21px,2.4vw,30px)/1.18 var(--kroj),sans-serif;letter-spacing:-.01em;color:var(--czern)}
.al-feat-zaj{font:400 14px/1.6 var(--kroj),sans-serif;color:var(--szary);
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.al-feat-cta{display:inline-flex;align-items:center;gap:8px;margin-top:4px;
  font:800 11px/1 var(--kroj),sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--czern)}
.al-feat-cta svg{width:18px;height:18px;fill:none;stroke:var(--nieb);stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;transition:transform .25s}
.al-feat:hover .al-feat-cta{color:var(--nieb)}
.al-feat:hover .al-feat-cta svg{transform:translateX(5px)}

/* --- siatka kart --- */
.al-siatka{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));
  gap:clamp(18px,2vw,26px)}
.al-karta{display:flex;flex-direction:column;text-decoration:none;color:var(--czern);
  transition:transform .25s}
.al-karta:hover{transform:translateY(-4px)}
.al-karta-foto{position:relative;aspect-ratio:3/2;background:var(--tlo-2) center/cover no-repeat;
  overflow:hidden;transition:box-shadow .25s}
.al-karta:hover .al-karta-foto{box-shadow:0 20px 40px -22px rgba(14,17,22,.5)}
.al-karta-foto.al-foto--herb{display:grid;place-items:center;background:#eef1f5}
.al-karta-foto.al-foto--herb img{width:54px;height:54px;opacity:.3}
.al-karta-badge{position:absolute;left:0;bottom:0;padding:6px 11px;background:var(--nieb);
  font:800 9.5px/1 var(--kroj),sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#fff}
.al-karta:hover .al-karta-badge{background:var(--nieb-jasny)}
.al-karta-txt{display:flex;flex-direction:column;gap:6px;padding:14px 2px 0}
.al-karta-data{font:600 11px/1 var(--kroj),sans-serif;text-transform:uppercase;color:var(--szary-jasny)}
.al-karta-tyt{font:700 clamp(14.5px,1.2vw,16.5px)/1.34 var(--kroj),sans-serif;letter-spacing:-.005em}
.al-karta:hover .al-karta-tyt{color:var(--nieb)}
.al-karta-zaj{font:400 12.5px/1.5 var(--kroj),sans-serif;color:var(--szary);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

.al-pusto{display:flex;flex-direction:column;align-items:center;gap:16px;padding:clamp(40px,6vw,72px) 0;text-align:center}
.al-pusto img{opacity:.3}
.al-pusto p{margin:0;font:500 15px/1.6 var(--kroj),sans-serif;color:var(--szary)}

/* sidebar schodzi pod tresc; kolumna boczna przestaje byc sticky */
@media(max-width:900px){
  .al-uklad{grid-template-columns:minmax(0,1fr)}
  .al-bok{position:static;flex-direction:row;flex-wrap:wrap;gap:20px}
  .al-bok-sekcja{flex:1 1 240px}
}
@media(max-width:680px){
  .al-feat{grid-template-columns:1fr}
  .al-feat-foto{min-height:clamp(200px,52vw,260px)}
  .al-bok{flex-direction:column}
}
@media(max-width:460px){
  .al-siatka{grid-template-columns:1fr 1fr;gap:14px}
  .al-karta-zaj{display:none}
}

/* ===== NAVBAR PRZEZROCZYSTY NAD HERO PODSTRON (aktualnosci, wyszukiwarka) =====
   Ten sam efekt co na stronie glownej: belka bez tla nad ciemnym hero,
   po przewinieciu bieleje.                                                    */
body:has(.al-hero) .nav,
body:has(.szh) .nav{background:transparent;border-bottom-color:transparent}
body:has(.al-hero) .nav .nav-menu a,
body:has(.szh) .nav .nav-menu a{color:rgba(255,255,255,.88)}
body:has(.al-hero) .nav .nav-menu a:hover,
body:has(.szh) .nav .nav-menu a:hover{color:#fff}
body:has(.al-hero) .nav-wyroz a,
body:has(.szh) .nav-wyroz a{color:#fff;text-shadow:0 1px 12px rgba(0,0,0,.45)}
body:has(.al-hero) .nav-wyroz .znak,
body:has(.szh) .nav-wyroz .znak{filter:drop-shadow(0 1px 6px rgba(0,0,0,.55))}
body:has(.al-hero) .ikona,
body:has(.szh) .ikona{color:#fff}
body:has(.al-hero) .ikona:hover,
body:has(.szh) .ikona:hover{color:var(--nieb-jasny)}
body:has(.al-hero) .nav.przyklejony,
body:has(.szh) .nav.przyklejony{background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom-color:var(--linia)}
body:has(.al-hero) .nav.przyklejony .nav-menu a,
body:has(.szh) .nav.przyklejony .nav-menu a{color:var(--szary)}
body:has(.al-hero) .nav.przyklejony .nav-menu a:hover,
body:has(.szh) .nav.przyklejony .nav-menu a:hover{color:var(--czern)}
body:has(.al-hero) .nav.przyklejony .nav-wyroz a,
body:has(.szh) .nav.przyklejony .nav-wyroz a{color:var(--czern);text-shadow:none}
body:has(.al-hero) .nav.przyklejony .nav-wyroz .znak,
body:has(.szh) .nav.przyklejony .nav-wyroz .znak{filter:none}
body:has(.al-hero) .nav.przyklejony .ikona,
body:has(.szh) .nav.przyklejony .ikona{color:var(--czern)}
body:has(.al-hero) .nav.przyklejony .ikona:hover,
body:has(.szh) .nav.przyklejony .ikona:hover{color:var(--nieb)}

/* ===== GALERIA ===== */
.gal{width:min(1460px,100%);padding-left:clamp(20px,4vw,48px);padding-right:clamp(20px,4vw,48px);
  padding-top:clamp(30px,3.6vw,50px)}
.gal-hero .al-hero-foto{object-position:center 30%}
.gal-okruchy{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin:0 0 12px;
  font:700 11px/1 var(--kroj),sans-serif;letter-spacing:.04em;text-transform:uppercase}
.gal-okruchy a{color:rgba(255,255,255,.7);text-decoration:none;transition:color .16s}
.gal-okruchy a:hover{color:#fff}
.gal-okruchy span{color:rgba(255,255,255,.4)}

/* --- siatki kolekcji / albumow --- */
.gal-siatka{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:clamp(16px,1.8vw,24px)}
.gal-siatka-kol{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.gal-karta{display:flex;flex-direction:column;text-decoration:none;color:var(--czern);transition:transform .25s}
.gal-karta:hover{transform:translateY(-4px)}
.gal-karta-foto{position:relative;aspect-ratio:4/3;background:var(--tlo-2);
  overflow:hidden;transition:box-shadow .25s}
.gal-karta-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.gal-siatka-kol .gal-karta-foto{aspect-ratio:3/2}
.gal-karta:hover .gal-karta-foto{box-shadow:0 22px 44px -24px rgba(14,17,22,.55)}
.gal-karta-foto.al-foto--herb{display:grid;place-items:center;background:#eef1f5}
.gal-karta-foto.al-foto--herb img{opacity:.3}
.gal-karta-foto::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 40%,rgba(10,13,17,.72) 100%);opacity:.9;transition:opacity .25s}
.gal-karta:hover .gal-karta-foto::after{opacity:1}
.gal-karta-licz{position:absolute;right:10px;top:10px;z-index:2;padding:5px 10px;
  background:rgba(10,13,17,.72);color:#fff;font:800 10px/1 var(--kroj),sans-serif;
  letter-spacing:.04em;text-transform:uppercase;backdrop-filter:blur(4px)}
/* na kartach kolekcji tytul lezy na zdjeciu */
.gal-siatka-kol .gal-karta-tyt{position:absolute;left:0;right:0;bottom:0;z-index:2;
  padding:16px;color:#fff;font:800 clamp(16px,1.5vw,20px)/1.15 var(--kroj),sans-serif;
  text-transform:uppercase;letter-spacing:-.01em}
.gal-siatka-kol .gal-karta{position:relative}
/* karty albumow maja tekst pod zdjeciem */
.gal-karta-txt{display:flex;flex-direction:column;gap:4px;padding:12px 2px 0}
.gal-karta-data{font:600 10.5px/1 var(--kroj),sans-serif;text-transform:uppercase;color:var(--szary-jasny)}
.gal-karta-tyt{font:700 14px/1.32 var(--kroj),sans-serif;letter-spacing:-.005em}
.gal-karta:hover .gal-karta-txt .gal-karta-tyt{color:var(--nieb)}

/* --- siatka zdjec w albumie --- */
.gal-zdjecia{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.gal-foto{aspect-ratio:1/1;background:var(--tlo-2);cursor:zoom-in;overflow:hidden;
  transition:opacity .18s;position:relative;display:block}
.gal-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.gal-foto:hover{opacity:.9}
.gal-foto::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 0 var(--nieb);transition:box-shadow .18s}
.gal-foto:hover::after{box-shadow:inset 0 0 0 3px var(--nieb)}

/* --- lightbox zdjec --- */
.gal-lb{position:fixed;inset:0;z-index:1300;display:flex;align-items:center;justify-content:center;
  padding:clamp(16px,5vw,64px);background:rgba(6,8,11,.94);opacity:0;transition:opacity .22s}
.gal-lb.otwarty{opacity:1}
.gal-lb[hidden]{display:none}
.gal-lb-scena{margin:0;display:flex;flex-direction:column;align-items:center;gap:14px;max-width:100%;max-height:100%}
.gal-lb-scena img{max-width:min(1200px,92vw);max-height:82vh;width:auto;height:auto;display:block;
  box-shadow:0 30px 80px rgba(0,0,0,.6);background:#0a0d11}
.gal-lb-scena figcaption{font:700 12px/1 var(--kroj),sans-serif;letter-spacing:.06em;color:rgba(255,255,255,.6)}
.gal-lb-zamknij,.gal-lb-nav{position:absolute;display:grid;place-items:center;background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);color:#fff;cursor:pointer;transition:background .18s,border-color .18s}
.gal-lb-zamknij{top:clamp(14px,2vw,26px);right:clamp(14px,2vw,26px);width:44px;height:44px}
.gal-lb-nav{top:50%;transform:translateY(-50%);width:52px;height:52px}
.gal-lb-prev{left:clamp(10px,2vw,28px)}
.gal-lb-next{right:clamp(10px,2vw,28px)}
.gal-lb-zamknij:hover,.gal-lb-nav:hover{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.34)}
.gal-lb-zamknij svg,.gal-lb-nav svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

@media(max-width:560px){
  .gal-zdjecia{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:6px}
  .gal-lb-nav{width:42px;height:42px}
}

/* ===== KONTAKT ===== */
.kon-hero .al-hero-foto{object-position:center 32%}
.kon{width:min(1240px,100%);padding-left:clamp(20px,4vw,40px);padding-right:clamp(20px,4vw,40px);
  padding-top:clamp(34px,4vw,56px)}
.kon-uklad{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,3vw,44px);align-items:start}

.kon-karty{display:flex;flex-direction:column;gap:12px;margin-bottom:clamp(24px,3vw,36px)}
.kon-karta{display:flex;align-items:center;gap:16px;padding:18px 20px;background:var(--biel);
  border:1px solid var(--linia);text-decoration:none;color:var(--czern);
  transition:border-color .18s,box-shadow .18s,transform .18s}
.kon-karta:hover{border-color:var(--nieb);box-shadow:0 16px 34px -22px rgba(26,110,235,.45);transform:translateY(-2px)}
.kon-ikona{flex:0 0 auto;display:grid;place-items:center;width:46px;height:46px;background:var(--nieb);color:#fff}
.kon-ikona svg{width:22px;height:22px;fill:currentColor}
.kon-karta-txt{display:flex;flex-direction:column;gap:3px;min-width:0}
.kon-karta-nag{font:800 10.5px/1 var(--kroj),sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--nieb)}
.kon-karta-tresc{font:700 16px/1.3 var(--kroj),sans-serif;color:var(--czern);word-break:break-word}

.kon-blok{padding:clamp(20px,2.2vw,26px);background:var(--tlo-2);border:1px solid var(--linia)}
.kon-blok-nag{margin:0 0 12px;font:800 11px/1 var(--kroj),sans-serif;letter-spacing:.06em;
  text-transform:uppercase;color:var(--czern);padding-bottom:11px;border-bottom:1px solid var(--linia)}
.kon-blok-tresc{margin:0;font:500 14px/1.8 var(--kroj),sans-serif;color:var(--szary)}
.kon-blok-tresc a{color:var(--czern);text-decoration:none;border-bottom:1px solid var(--linia)}
.kon-blok-tresc a:hover{color:var(--nieb);border-color:var(--nieb)}
.kon-rejestr{font-size:12.5px;color:var(--szary-jasny)}
.kon-social{display:flex;gap:9px;margin-top:16px}
.kon-social a{display:grid;place-items:center;width:40px;height:40px;background:var(--biel);
  border:1px solid var(--linia);color:var(--szary);transition:.18s}
.kon-social a:hover{background:var(--nieb);border-color:var(--nieb);color:#fff}
.kon-social svg{width:19px;height:19px;fill:currentColor}

.kon-mapa{position:relative}
.kon-mapa iframe{width:100%;height:clamp(340px,42vw,520px);border:1px solid var(--linia);display:block}
.kon-trasa{display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:12px 20px;
  background:var(--nieb);color:#fff;text-decoration:none;font:800 11px/1 var(--kroj),sans-serif;
  letter-spacing:.08em;text-transform:uppercase;transition:background .18s}
.kon-trasa:hover{background:var(--nieb-ciemny)}
.kon-trasa svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.kon-trasa:hover svg{transform:translateX(4px)}

@media(max-width:820px){
  .kon-uklad{grid-template-columns:1fr}
}

/* --- formularz kontaktowy --- */
.kon-form-sekcja{margin-top:clamp(36px,4.4vw,64px);padding-top:clamp(30px,3.4vw,44px);border-top:1px solid var(--linia)}
.kon-form-nag{margin-bottom:clamp(22px,2.6vw,32px)}
.kon-form-eyebrow{margin:0 0 8px;font:800 10.5px/1 var(--kroj),sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--nieb)}
.kon-form-tyt{margin:0 0 8px;font:800 clamp(24px,2.8vw,34px)/1.1 var(--kroj),sans-serif;letter-spacing:-.01em;text-transform:uppercase;color:var(--czern)}
.kon-form-opis{margin:0;font:500 14px/1.6 var(--kroj),sans-serif;color:var(--szary)}
.kon-form{max-width:820px}
.kon-pola{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.kon-pole{display:flex;flex-direction:column;gap:7px}
.kon-pole-full{margin-bottom:16px}
.kon-pola .kon-pole:first-child{grid-column:1 / -1}
.kon-label{font:700 11px/1 var(--kroj),sans-serif;letter-spacing:.04em;text-transform:uppercase;color:var(--czern)}
.kon-label i{color:var(--nieb);font-style:normal}
.kon-pole input,.kon-pole textarea{border:1px solid var(--linia);background:var(--biel);
  padding:13px 14px;font:500 15px/1.4 var(--kroj),sans-serif;color:var(--czern);outline:0;transition:border-color .18s;width:100%}
.kon-pole input:focus,.kon-pole textarea:focus{border-color:var(--nieb)}
.kon-pole textarea{resize:vertical;min-height:120px}
.kon-zgoda{display:flex;align-items:flex-start;gap:10px;margin-bottom:18px;
  font:500 12.5px/1.5 var(--kroj),sans-serif;color:var(--szary);cursor:pointer}
.kon-zgoda input{margin-top:2px;width:16px;height:16px;accent-color:var(--nieb);flex:0 0 auto}
.kon-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}
.kon-stopka-form{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.kon-wyslij{border:0;background:var(--nieb);color:#fff;cursor:pointer;padding:15px 30px;
  font:800 12px/1 var(--kroj),sans-serif;letter-spacing:.06em;text-transform:uppercase;transition:background .18s}
.kon-wyslij:hover{background:var(--nieb-ciemny)}
.kon-wyslij:disabled{opacity:.6;cursor:default}
.kon-status{margin:0;font:600 13.5px/1.4 var(--kroj),sans-serif;color:var(--szary)}
.kon-status.ok{color:#1a8a3f}
.kon-status.blad{color:#c8102e}
@media(max-width:560px){
  .kon-pola{grid-template-columns:1fr}
  .kon-pola .kon-pole:first-child{grid-column:auto}
}

/* ===== KONTAKT v2 ===== */
.kon2{width:min(1240px,100%);margin:0 auto;padding:clamp(34px,4vw,60px) clamp(20px,4vw,40px) clamp(40px,4vw,64px)}
.kon2-siatka{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(20px,2.4vw,32px);align-items:stretch}

/* --- formularz w jasnej karcie --- */
.kon2-form-karta{background:var(--biel);border:1px solid var(--linia);
  padding:clamp(26px,3vw,44px);box-shadow:0 30px 60px -40px rgba(14,17,22,.4)}
.kon2-eyebrow{margin:0 0 10px;font:800 10.5px/1 var(--kroj),sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--nieb)}
.kon2-tyt{margin:0 0 8px;font:800 clamp(24px,2.6vw,34px)/1.08 var(--kroj),sans-serif;letter-spacing:-.01em;text-transform:uppercase;color:var(--czern)}
.kon2-opis{margin:0 0 clamp(22px,2.4vw,30px);font:500 14px/1.6 var(--kroj),sans-serif;color:var(--szary)}
.kon2-form{display:flex;flex-direction:column;gap:16px}
.kon2-para{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.kon2-pole{display:flex;flex-direction:column;gap:7px}
.kon2-label{font:700 11px/1 var(--kroj),sans-serif;letter-spacing:.04em;text-transform:uppercase;color:var(--czern)}
.kon2-label i{color:var(--nieb);font-style:normal}
.kon2-pole input,.kon2-pole textarea{width:100%;border:1px solid var(--linia);background:var(--tlo-2);
  padding:13px 15px;font:500 15px/1.4 var(--kroj),sans-serif;color:var(--czern);outline:0;
  transition:border-color .18s,background .18s}
.kon2-pole input::placeholder,.kon2-pole textarea::placeholder{color:var(--szary-jasny)}
.kon2-pole input:focus,.kon2-pole textarea:focus{border-color:var(--nieb);background:var(--biel)}
.kon2-pole textarea{resize:vertical;min-height:130px}
.kon2-zgoda{display:flex;align-items:flex-start;gap:10px;font:500 12.5px/1.5 var(--kroj),sans-serif;color:var(--szary);cursor:pointer}
.kon2-zgoda input{margin-top:2px;width:16px;height:16px;accent-color:var(--nieb);flex:0 0 auto}
.kon2-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}
.kon2-wyslij-rzad{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:4px}
.kon2-wyslij{display:inline-flex;align-items:center;gap:9px;border:0;background:var(--nieb);color:#fff;cursor:pointer;
  padding:15px 28px;font:800 12px/1 var(--kroj),sans-serif;letter-spacing:.06em;text-transform:uppercase;transition:background .18s}
.kon2-wyslij svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.kon2-wyslij:hover{background:var(--nieb-ciemny)}
.kon2-wyslij:hover svg{transform:translateX(4px)}
.kon2-wyslij:disabled{opacity:.6;cursor:default}
.kon2-status{margin:0;font:600 13px/1.4 var(--kroj),sans-serif;color:var(--szary)}
.kon2-status.ok{color:#1a8a3f}
.kon2-status.blad{color:#c8102e}

/* --- ciemny panel klubowy z herbem w tle --- */
.kon2-panel{position:relative;overflow:hidden;background:var(--czern);color:#fff;
  padding:clamp(26px,3vw,40px)}
.kon2-panel-herb{position:absolute;right:-38px;bottom:-38px;width:220px;height:auto;opacity:.06;
  pointer-events:none;filter:grayscale(1) brightness(3)}
.kon2-panel-tresc{position:relative;z-index:1}
.kon2-panel-nag{margin:0 0 22px;font:800 11px/1 var(--kroj),sans-serif;letter-spacing:.1em;
  text-transform:uppercase;color:var(--nieb-jasny)}
.kon2-dana{display:flex;align-items:center;gap:14px;padding:12px 0;text-decoration:none;color:#fff;
  border-top:1px solid rgba(255,255,255,.1);transition:padding-left .18s}
.kon2-dana:first-of-type{border-top:0}
.kon2-dana:hover{padding-left:5px}
.kon2-dana-ik{flex:0 0 auto;display:grid;place-items:center;width:42px;height:42px;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);color:var(--nieb-jasny);transition:.18s}
.kon2-dana:hover .kon2-dana-ik{background:var(--nieb);border-color:var(--nieb);color:#fff}
.kon2-dana-ik svg{width:20px;height:20px;fill:currentColor}
.kon2-dana-et{display:block;font:700 9.5px/1 var(--kroj),sans-serif;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:4px}
.kon2-dana-w{display:block;font:700 14.5px/1.3 var(--kroj),sans-serif}
.kon2-panel-sep{height:1px;background:rgba(255,255,255,.1);margin:20px 0}
.kon2-panel-drobne{margin:0 0 18px;font:500 12.5px/1.8 var(--kroj),sans-serif;color:rgba(255,255,255,.55)}
.kon2-panel-drobne a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.25)}
.kon2-panel-drobne a:hover{color:var(--nieb-jasny)}
.kon2-social{display:flex;gap:9px}
.kon2-social a{display:grid;place-items:center;width:40px;height:40px;
  border:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.7);transition:.18s}
.kon2-social a:hover{background:var(--nieb);border-color:var(--nieb);color:#fff}
.kon2-social svg{width:19px;height:19px;fill:currentColor}

/* --- mapa na pelna szerokosc ekranu --- */
/* Sekcja stoi bezposrednio w tresci strony, wiec i tak zajmuje cala szerokosc.
   Sztuczka z 100vw byla zbedna, a szkodliwa: 100vw WLICZA pasek przewijania,
   wiec strona kontaktu przewijala sie w poziomie o jego szerokosc.        */
.kon2-mapa{position:relative;
  border-top:1px solid var(--linia);border-bottom:1px solid var(--linia)}
.kon2-mapa iframe{width:100%;height:clamp(360px,44vw,540px);border:0;display:block;filter:grayscale(.2)}
.kon2-mapa-cta{position:absolute;left:clamp(20px,5vw,64px);bottom:clamp(20px,4vw,40px);
  display:inline-flex;align-items:center;gap:9px;padding:15px 26px;background:var(--nieb);color:#fff;
  text-decoration:none;font:800 12px/1 var(--kroj),sans-serif;letter-spacing:.06em;text-transform:uppercase;
  box-shadow:0 18px 40px -16px rgba(26,110,235,.6);transition:background .18s,transform .18s}
.kon2-mapa-cta svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.kon2-mapa-cta:hover{background:var(--nieb-ciemny);transform:translateY(-2px)}
.kon2-mapa-cta:hover svg{transform:translateX(4px)}

@media(max-width:860px){
  .kon2-siatka{grid-template-columns:1fr}
}
@media(max-width:520px){
  .kon2-para{grid-template-columns:1fr}
}

/* --- kontakt: zarzad + konto --- */
.kon2-extra{width:min(1240px,100%);margin:0 auto;padding:0 clamp(20px,4vw,40px) clamp(40px,4.4vw,64px)}
.kon2-extra-siatka{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(20px,2.4vw,32px);align-items:stretch}
.kon2-zarzad{background:var(--biel);border:1px solid var(--linia);padding:clamp(24px,2.8vw,40px)}
.kon2-osoby{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:clamp(20px,2.4vw,28px)}
.kon2-osoba{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;
  padding:22px 12px;background:var(--tlo-2);border:1px solid var(--linia);transition:border-color .2s,transform .2s}
.kon2-osoba:hover{border-color:var(--nieb);transform:translateY(-3px)}
.kon2-osoba-ava{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;
  background:var(--nieb);color:#fff;font:800 18px/1 var(--kroj),sans-serif;letter-spacing:.02em}
.kon2-osoba-fn{display:block;font:700 10px/1 var(--kroj),sans-serif;letter-spacing:.08em;
  text-transform:uppercase;color:var(--nieb);margin-bottom:5px}
.kon2-osoba-im{display:block;font:700 14.5px/1.25 var(--kroj),sans-serif;color:var(--czern)}

.kon2-konto{position:relative;overflow:hidden;background:var(--czern);color:#fff;
  padding:clamp(24px,2.8vw,36px);display:flex;flex-direction:column;justify-content:center}
.kon2-konto-et{margin:0 0 14px;font:800 11px/1 var(--kroj),sans-serif;letter-spacing:.1em;
  text-transform:uppercase;color:var(--nieb-jasny)}
.kon2-konto-bank{margin:0 0 16px;font:700 17px/1.35 var(--kroj),sans-serif;color:#fff}
.kon2-konto-bank span{font-weight:500;color:rgba(255,255,255,.55);font-size:14px}
.kon2-konto-nr{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;
  padding:15px 16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);color:#fff;
  cursor:pointer;font:800 15px/1.3 var(--kroj),sans-serif;letter-spacing:.02em;text-align:left;
  transition:background .18s,border-color .18s}
.kon2-konto-nr:hover{background:rgba(255,255,255,.1);border-color:var(--nieb)}
.kon2-konto-nr.skopiowano{border-color:#2ec26a}
.kon2-konto-nr svg{flex:0 0 auto;width:19px;height:19px;fill:none;stroke:var(--nieb-jasny);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.kon2-konto-nr.skopiowano svg{stroke:#2ec26a}
.kon2-konto-info{margin:14px 0 0;font:500 12px/1.6 var(--kroj),sans-serif;color:rgba(255,255,255,.5)}

@media(max-width:860px){.kon2-extra-siatka{grid-template-columns:1fr}}
@media(max-width:520px){.kon2-osoby{grid-template-columns:1fr}}

/* ===== KONTAKT v3 — rozbity na dzialy ===== */
.kon3-pasek-wrap{width:min(1180px,100%);margin:0 auto;padding:clamp(28px,3.4vw,44px) clamp(20px,4vw,40px) 0}
.kon3-pasek{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.kon3-kafel{display:flex;align-items:center;gap:14px;padding:18px 20px;background:var(--biel);
  border:1px solid var(--linia);text-decoration:none;color:var(--czern);
  transition:border-color .18s,box-shadow .18s,transform .18s}
a.kon3-kafel:hover{border-color:var(--nieb);box-shadow:0 16px 32px -22px rgba(26,110,235,.5);transform:translateY(-2px)}
.kon3-kafel-ik{flex:0 0 auto;display:grid;place-items:center;width:44px;height:44px;background:var(--nieb);color:#fff}
.kon3-kafel-ik svg{width:21px;height:21px;fill:currentColor}
.kon3-kafel-txt{display:flex;flex-direction:column;gap:3px;min-width:0}
.kon3-kafel-et{font:800 9.5px/1 var(--kroj),sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--nieb)}
.kon3-kafel-w{font:700 14px/1.3 var(--kroj),sans-serif;color:var(--czern);word-break:break-word}
.kon3-kafel-social{flex-direction:column;align-items:flex-start;justify-content:center;gap:9px}
.kon3-social{display:flex;gap:8px}
.kon3-social a{display:grid;place-items:center;width:36px;height:36px;background:var(--tlo-2);
  border:1px solid var(--linia);color:var(--szary);transition:.18s}
.kon3-social a:hover{background:var(--nieb);border-color:var(--nieb);color:#fff}
.kon3-social svg{width:17px;height:17px;fill:currentColor}

/* naglowki dzialow - wysrodkowane */
.kon3-eyebrow{margin:0 0 10px;font:800 10.5px/1 var(--kroj),sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--nieb)}
.kon3-tyt{margin:0 0 8px;font:800 clamp(24px,2.8vw,34px)/1.08 var(--kroj),sans-serif;letter-spacing:-.01em;text-transform:uppercase;color:var(--czern)}
.kon3-opis{margin:0;font:500 14px/1.6 var(--kroj),sans-serif;color:var(--szary)}

/* formularz na srodku */
.kon3-form-sekcja{width:min(1180px,100%);margin:0 auto;padding:clamp(40px,4.6vw,68px) clamp(20px,4vw,40px) 0;text-align:center}
.kon3-form{max-width:720px;margin:0 auto}
.kon3-form-nag{margin-bottom:clamp(24px,2.8vw,34px)}
.kon3-form{text-align:left;display:flex;flex-direction:column;gap:16px;
  background:var(--biel);border:1px solid var(--linia);padding:clamp(24px,3vw,40px);
  box-shadow:0 30px 60px -42px rgba(14,17,22,.4)}
.kon3-para{display:grid;grid-template-columns:1fr 1fr;gap:16px}

/* dzialy (zarzad, firma) */
.kon3-dzial{width:min(1180px,100%);margin:0 auto;padding:clamp(40px,4.6vw,68px) clamp(20px,4vw,40px) 0;text-align:center}
.kon3-dzial-nag{margin-bottom:clamp(24px,2.8vw,34px)}
.kon3-osoby{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:820px;margin:0 auto}
.kon3-osoba{display:flex;flex-direction:column;align-items:center;gap:10px;padding:30px 16px;
  background:var(--biel);border:1px solid var(--linia);transition:border-color .2s,transform .2s,box-shadow .2s}
.kon3-osoba:hover{border-color:var(--nieb);transform:translateY(-3px);box-shadow:0 20px 40px -26px rgba(26,110,235,.45)}
.kon3-osoba-ava{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;
  background:var(--nieb);color:#fff;font:800 20px/1 var(--kroj),sans-serif;margin-bottom:4px}
.kon3-osoba-fn{font:700 10px/1 var(--kroj),sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--nieb)}
.kon3-osoba-im{font:700 16px/1.25 var(--kroj),sans-serif;color:var(--czern)}

/* firma: dane rejestrowe + konto */
.kon3-firma{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(18px,2.2vw,28px);text-align:left;align-items:stretch}
.kon3-rejestr{background:var(--biel);border:1px solid var(--linia);padding:clamp(24px,2.8vw,36px)}
.kon3-rejestr .kon3-eyebrow,.kon3-rejestr .kon3-tyt{text-align:left}
.kon3-rejestr .kon3-tyt{margin-bottom:20px}
.kon3-lista{margin:0;display:flex;flex-direction:column}
.kon3-lista>div{display:flex;justify-content:space-between;gap:16px;align-items:baseline;
  padding:12px 0;border-top:1px solid var(--linia)}
.kon3-lista>div:first-child{border-top:0}
.kon3-lista dt{margin:0;font:700 11px/1.3 var(--kroj),sans-serif;letter-spacing:.04em;text-transform:uppercase;color:var(--szary-jasny);flex:0 0 auto}
.kon3-lista dd{margin:0;font:600 14px/1.4 var(--kroj),sans-serif;color:var(--czern);text-align:right}
.kon3-konto{position:relative;overflow:hidden;background:var(--czern);color:#fff;
  padding:clamp(24px,2.8vw,36px);display:flex;flex-direction:column;justify-content:center}
.kon3-konto-et{margin:0 0 14px;font:800 11px/1 var(--kroj),sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--nieb-jasny)}
.kon3-konto-bank{margin:0 0 16px;font:700 17px/1.35 var(--kroj),sans-serif;color:#fff}
.kon3-konto-bank span{font-weight:500;color:rgba(255,255,255,.55);font-size:14px}
.kon3-konto-nr{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;
  padding:15px 16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);color:#fff;
  cursor:pointer;font:800 15px/1.3 var(--kroj),sans-serif;letter-spacing:.02em;text-align:left;transition:background .18s,border-color .18s}
.kon3-konto-nr:hover{background:rgba(255,255,255,.1);border-color:var(--nieb)}
.kon3-konto-nr.skopiowano{border-color:#2ec26a}
.kon3-konto-nr svg{flex:0 0 auto;width:19px;height:19px;fill:none;stroke:var(--nieb-jasny);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.kon3-konto-nr.skopiowano svg{stroke:#2ec26a}
.kon3-konto-info{margin:14px 0 0;font:500 12px/1.6 var(--kroj),sans-serif;color:rgba(255,255,255,.5)}

/* mapa dostaje odstep od sekcji nad nia */
.kon2-mapa{margin-top:clamp(40px,4.6vw,68px)}

@media(max-width:900px){
  .kon3-pasek{grid-template-columns:1fr 1fr}
  .kon3-firma{grid-template-columns:1fr}
}
@media(max-width:560px){
  .kon3-pasek{grid-template-columns:1fr}
  .kon3-osoby{grid-template-columns:1fr}
  .kon3-para{grid-template-columns:1fr}
  .kon3-lista>div{flex-direction:column;gap:2px}
  .kon3-lista dd{text-align:left}
}

/* ===== KONTAKT: płaski minimalizm — precz z cieniami i poświatami ===== */
.kon3-kafel,.kon3-form,.kon3-osoba,.kon3-rejestr,.kon3-konto,.kon3-konto-nr,
.kon2-mapa-cta,.kon2-form-karta,.kon2-panel,.kon2-konto{box-shadow:none}
a.kon3-kafel:hover{transform:none;box-shadow:none;border-color:var(--czern)}
.kon3-osoba:hover{transform:none;box-shadow:none;border-color:var(--czern)}
.kon2-mapa-cta:hover{transform:none}
.kon2-mapa iframe,.kon3-form{ }

/* ===== KONTAKT: dane klubu — ciemna scena, zdjecie + biala karta =====
   Wzorzec editorial (legia.pl): pelnoszeroki granat, w srodku zdjecie
   stadionu sklejone z biala karta danych. Plasko, zero cieni.          */
.kd{background:#0A0D11;margin-top:clamp(48px,5.4vw,80px);
  padding:clamp(48px,5.4vw,88px) clamp(20px,4vw,48px)}
.kd-in{width:min(1180px,100%);margin:0 auto;display:grid;grid-template-columns:1fr 1.05fr;
  align-items:stretch}
.kd-foto{position:relative;min-height:clamp(320px,36vw,520px);overflow:hidden}
.kd-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.kd-karta{background:var(--biel);padding:clamp(30px,4vw,64px);
  display:flex;flex-direction:column;justify-content:center;gap:clamp(18px,2vw,26px)}
.kd-nazwa{margin:0;font:800 clamp(28px,3.4vw,44px)/1.04 var(--kroj),sans-serif;
  letter-spacing:-.02em;text-transform:uppercase;color:var(--czern)}
.kd-adres{margin:0;font:500 15px/1.55 var(--kroj),sans-serif;color:var(--szary)}
.kd-adres b{color:var(--czern);font-weight:700}
.kd-kontakt{margin:0;font:500 15px/1.75 var(--kroj),sans-serif;color:var(--szary)}
.kd-kontakt a{color:var(--czern);text-decoration:none;border-bottom:1px solid var(--linia);transition:.18s}
.kd-kontakt a:hover{color:var(--nieb);border-color:var(--nieb)}
.kd-rejestr{margin:0;font:400 13.5px/1.75 var(--kroj),sans-serif;color:var(--szary)}
.kd-konto{padding-top:clamp(16px,1.8vw,22px);border-top:1px solid var(--linia)}
.kd-konto-et{margin:0 0 4px;font:800 10.5px/1 var(--kroj),sans-serif;letter-spacing:.08em;
  text-transform:uppercase;color:var(--nieb)}
.kd-konto-bank{margin:0 0 10px;font:500 13px/1.5 var(--kroj),sans-serif;color:var(--szary)}
.kd-konto-nr{display:inline-flex;align-items:center;gap:12px;padding:12px 15px;
  background:var(--tlo-2);border:1px solid var(--linia);color:var(--czern);cursor:pointer;
  font:800 14.5px/1.3 var(--kroj),sans-serif;letter-spacing:.01em;text-align:left;transition:border-color .18s}
.kd-konto-nr:hover{border-color:var(--czern)}
.kd-konto-nr.skopiowano{border-color:#1a8a3f;color:#1a8a3f}
.kd-konto-nr svg{flex:0 0 auto;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;opacity:.55}

/* mapa klei sie bezposrednio do ciemnej sekcji */
.kd + .kon2-mapa{margin-top:0;border-top:0}

@media(max-width:820px){
  .kd-in{grid-template-columns:1fr}
  .kd-foto{min-height:clamp(220px,52vw,320px)}
  .kd-konto-nr{font-size:12.5px;gap:8px}
}

/* ===== PODSTRONA "KLUB": siatka kart do podstron klubu ===== */
.klb-sekcja{width:min(1180px,100%);margin:0 auto;
  padding:clamp(48px,5.4vw,80px) clamp(20px,4vw,48px)}
.klb-siatka{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:clamp(16px,1.8vw,22px)}
.klb-karta{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;
  background:var(--biel);border:1px solid var(--linia);padding:clamp(22px,2.4vw,28px);
  text-decoration:none;color:var(--czern);transition:border-color .2s,transform .2s}
.klb-karta:hover{border-color:var(--nieb);transform:translateY(-3px)}
.klb-karta-txt{display:flex;flex-direction:column;gap:8px;min-width:0}
.klb-karta-txt b{font:800 16.5px/1.25 var(--kroj),sans-serif;color:var(--czern)}
.klb-karta:hover .klb-karta-txt b{color:var(--nieb)}
.klb-karta-txt i{font:500 13px/1.5 var(--kroj),sans-serif;font-style:normal;color:var(--szary)}
.klb-karta svg{flex:0 0 auto;width:17px;height:17px;margin-top:2px;fill:none;stroke:var(--szary-jasny);
  stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s,stroke .2s}
.klb-karta:hover svg{stroke:var(--nieb);transform:translate(3px,-3px)}

@media(max-width:520px){.klb-siatka{grid-template-columns:1fr}}

/* kd jako pierwsza sekcja: klei sie do ciemnego hero, bez bialej szczeliny */
.al-hero + .kd{margin-top:0;padding-top:0}

/* ===== KONTAKT: korekty — mniejszy box danych, uklad dane|formularz ===== */
/* przywrocony odstep od gory sekcji (wczesniejsza regula zerowala padding) */
.al-hero + .kd{margin-top:0;padding-top:clamp(36px,4.4vw,64px)}
/* box wyraznie mniejszy: wezszy kontener, nizsze zdjecie, ciasniejsza karta */
.kd{padding-bottom:clamp(36px,4.4vw,64px)}
.kd-in{width:min(880px,100%)}
.kd-foto{min-height:clamp(220px,24vw,320px)}
.kd-karta{padding:clamp(22px,2.6vw,36px);gap:clamp(12px,1.4vw,18px)}
.kd-nazwa{font-size:clamp(21px,2.2vw,28px)}
.kd-adres,.kd-kontakt{font-size:14px}
.kd-rejestr{font-size:12.5px;line-height:1.65}
.kd-konto-nr{font-size:13px;padding:10px 13px}

/* dane kontaktowe po lewej, formularz po prawej */
.kon4{width:min(1180px,100%);margin:0 auto;
  padding:clamp(40px,4.6vw,68px) clamp(20px,4vw,40px) 0}
.kon4-in{display:grid;grid-template-columns:1fr 1.35fr;gap:clamp(28px,3.6vw,56px);align-items:start}
.kon4-dane .kon3-tyt{margin-bottom:10px}
.kon4-dane .kon3-opis{margin-bottom:clamp(18px,2vw,26px)}
.kon4-kafle{display:flex;flex-direction:column;gap:12px}
.kon4-formularz .kon3-form{max-width:none;margin:0}

@media(max-width:860px){
  .kon4-in{grid-template-columns:1fr}
}

/* ===== DRUZYNY: podstrona zespolu ===== */
/* hero jest wariantem .al-hero (to samo tlo i gradient), ale trescia
   przypomina tablice: nazwa, rozgrywki i bilans w jednym rzedzie */
.dr-hero{padding-bottom:0}
.dr-hero-in{position:relative;z-index:2;width:min(1460px,100%);margin:0 auto;
  padding:0 clamp(20px,4vw,48px) clamp(30px,4vh,46px);text-align:center}
.dr-h1{margin:0 0 10px;font:800 clamp(32px,5vw,58px)/1.02 var(--kroj),sans-serif;
  letter-spacing:-.02em;text-transform:uppercase}
.dr-liga{margin:0;font:600 14px/1.5 var(--kroj),sans-serif;color:rgba(255,255,255,.72)}
.dr-liga span{display:block;margin-top:3px;font-weight:500;font-size:12.5px;color:rgba(255,255,255,.48)}

.dr-bilans{display:flex;flex-wrap:wrap;justify-content:center;gap:0;
  margin:clamp(26px,3.4vw,40px) 0 0;padding:0;list-style:none;
  border-top:1px solid rgba(255,255,255,.14)}
.dr-bilans li{flex:1 1 130px;padding:clamp(16px,1.8vw,22px) 12px 0;text-align:center}
.dr-bilans li + li{border-left:1px solid rgba(255,255,255,.11)}
.dr-bilans b{display:block;font:800 clamp(24px,2.6vw,34px)/1 var(--kroj),sans-serif;color:#fff}
.dr-bilans span{display:block;margin-top:7px;font:500 11.5px/1.35 var(--kroj),sans-serif;
  color:rgba(255,255,255,.5)}

/* pasek zakladek: przykleja sie pod navbarem, jedzie w poziomie na waskich */
/* Pasek zakladek przykleja sie dopiero po przewinieciu hero, a nawigacja
   od 24 px scrolla kurczy sie z 78 do 64 px. Trzymanie tu var(--nav-h)
   zostawialo 14 px szpary, przez ktora przeswitywala tresc strony.        */
.dr-zak{position:sticky;top:64px;z-index:40;
  background:var(--biel);border-bottom:1px solid var(--linia)}
.dr-zak-in{width:min(1460px,100%);margin:0 auto;padding:0 clamp(20px,4vw,48px);
  display:flex;gap:clamp(18px,2.4vw,34px);overflow-x:auto;scrollbar-width:none}
.dr-zak-in::-webkit-scrollbar{display:none}
.dr-zak-poz{position:relative;flex:0 0 auto;padding:17px 0 15px;
  font:700 13.5px/1 var(--kroj),sans-serif;color:var(--szary);text-decoration:none;
  white-space:nowrap;transition:color .16s ease}
.dr-zak-poz::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;
  background:var(--nieb);transform:scaleX(0);transition:transform .18s ease}
.dr-zak-poz:hover{color:var(--czern)}
.dr-zak-poz.wybrany{color:var(--czern)}
.dr-zak-poz.wybrany::after{transform:scaleX(1)}

.dr-tresc{width:min(1460px,100%);margin:0 auto;
  padding:clamp(30px,3.6vw,50px) clamp(20px,4vw,48px) 76px}
.dr-h2{margin:clamp(30px,3vw,42px) 0 clamp(16px,1.6vw,22px);
  font:800 clamp(19px,2vw,25px)/1.15 var(--kroj),sans-serif;color:var(--czern)}
.dr-tresc > .dr-h2:first-child{margin-top:0}
.dr-h2 span{margin-left:10px;font:600 13px/1 var(--kroj),sans-serif;color:var(--szary-jasny)}
.dr-pusto{margin:0;padding:clamp(34px,4vw,54px) 20px;background:var(--tlo-2);
  font:500 14.5px/1.6 var(--kroj),sans-serif;color:var(--szary);text-align:center}
.dr-info{margin:0 0 clamp(22px,2.4vw,32px);padding:14px 18px;background:var(--tlo-2);
  border-left:3px solid var(--nieb);font:500 13.5px/1.6 var(--kroj),sans-serif;color:var(--szary)}
.dr-info b{color:var(--czern);font-weight:700}
.dr-nota{margin:clamp(18px,2vw,26px) 0 0;font:500 12.5px/1.6 var(--kroj),sans-serif;color:var(--szary-jasny)}
.dr-nota b{color:var(--czern);font-weight:700}
.dr-archiw{width:min(1460px,100%);margin:0 auto;padding:14px clamp(20px,4vw,48px);
  background:var(--tlo-2);border-bottom:1px solid var(--linia);
  font:500 13px/1.5 var(--kroj),sans-serif;color:var(--szary)}
.dr-archiw b{color:var(--czern)}
.dr-archiw a{margin-left:8px;color:var(--nieb);font-weight:700}

/* --- kadra --- */
.dr-kadra{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));
  gap:clamp(12px,1.4vw,18px)}
.dr-zaw{background:var(--biel);border:1px solid var(--linia);padding:0 0 16px;text-align:center}
.dr-zaw-foto{position:relative;aspect-ratio:13/16;background:var(--tlo-2);
  display:flex;align-items:center;justify-content:center;overflow:hidden}
.dr-zaw-foto img{width:100%;height:100%;object-fit:cover;object-position:center 12%}
.dr-zaw-foto .dr-zaw-herb{width:52px;height:52px;object-fit:contain;opacity:.16}
.dr-zaw-nr{position:absolute;left:0;bottom:0;min-width:34px;padding:5px 9px;
  background:var(--nieb);color:#fff;font:800 14px/1 var(--kroj),sans-serif}
.dr-zaw-imie{margin:14px 10px 0;font:500 12.5px/1.2 var(--kroj),sans-serif;color:var(--szary)}
.dr-zaw-nazw{margin:3px 10px 0;font:800 14.5px/1.25 var(--kroj),sans-serif;color:var(--czern)}
.dr-zaw-rok{margin:6px 10px 0;font:500 11.5px/1 var(--kroj),sans-serif;color:var(--szary-jasny)}

/* --- terminarz --- */
.dr-term-kol{margin:clamp(26px,2.6vw,34px) 0 10px;
  font:800 12px/1 var(--kroj),sans-serif;text-transform:uppercase;color:var(--szary-jasny)}
.dr-term > .dr-term-kol:first-child{margin-top:0}
.drm{display:grid;grid-template-columns:78px 64px 40px minmax(0,1fr) auto 62px;align-items:center;
  gap:14px;padding:13px 16px;background:var(--biel);border:1px solid var(--linia);
  text-decoration:none;transition:border-color .16s ease}
.drm + .drm{border-top:0}
.drm:hover{border-color:var(--nieb)}
.drm-kol{font:600 11.5px/1.2 var(--kroj),sans-serif;color:var(--szary-jasny);white-space:nowrap}
.drm-data{display:flex;flex-direction:column;gap:2px}
.drm-data b{font:800 14px/1 var(--kroj),sans-serif;color:var(--czern)}
.drm-data i{font:500 11.5px/1 var(--kroj),sans-serif;font-style:normal;color:var(--szary-jasny)}
.drm-herb{display:flex;align-items:center;justify-content:center}
.drm-herb img{width:32px;height:32px;object-fit:contain}
.drm-rywal{min-width:0;font:700 14.5px/1.3 var(--kroj),sans-serif;color:var(--czern);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.drm-gdzie{font:500 12px/1 var(--kroj),sans-serif;color:var(--szary-jasny);white-space:nowrap}
.drm-wynik{font:800 17px/1 var(--kroj),sans-serif;color:var(--szary-jasny);text-align:right}
.drm-w .drm-wynik{color:var(--nieb)}
.drm-r .drm-wynik,.drm-p .drm-wynik{color:var(--czern)}

/* --- tabela ligowa --- */
.dr-tab-owija{overflow-x:auto}
.dr-tab{width:100%;min-width:640px;border-collapse:collapse;
  font:600 14px/1.2 var(--kroj),sans-serif}
.dr-tab th{padding:11px 8px;background:var(--tlo-2);border-bottom:1px solid var(--linia);
  font:700 11.5px/1 var(--kroj),sans-serif;text-transform:uppercase;
  color:var(--szary);text-align:center}
.dr-tab td{padding:12px 8px;border-bottom:1px solid var(--linia);text-align:center;color:var(--czern)}
.dr-tab th.dr-tab-poz,.dr-tab td.dr-tab-poz{width:44px;color:var(--szary-jasny)}
.dr-tab th.dr-tab-nazwa,.dr-tab td.dr-tab-nazwa{text-align:left;padding-left:12px}
.dr-tab-nazwa{display:flex;align-items:center;gap:11px;font-weight:700}
.dr-tab-herb{flex:0 0 auto;display:flex;align-items:center;justify-content:center;
  width:28px;height:28px;color:var(--szary-jasny)}
.dr-tab-herb img{width:28px;height:28px;object-fit:contain}
.dr-tab-pkt{font-weight:800}
.dr-tab-bl{color:var(--szary)}
.dr-tab-nasz td{background:rgba(26,110,235,.06)}
.dr-tab-nasz td.dr-tab-poz,.dr-tab-nasz .dr-tab-pkt{color:var(--nieb)}

/* --- statystyki --- */
.dr-stat{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));
  gap:clamp(12px,1.4vw,18px)}
.dr-stat-k{background:var(--biel);border:1px solid var(--linia);padding:clamp(18px,2vw,24px)}
.dr-stat-k b{display:block;font:800 clamp(26px,2.8vw,34px)/1 var(--kroj),sans-serif;color:var(--czern)}
.dr-stat-k span{display:block;margin-top:9px;font:500 12.5px/1.4 var(--kroj),sans-serif;color:var(--szary)}
.dr-forma{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.dr-forma a{display:flex;align-items:center;gap:12px;padding:11px 15px;
  background:var(--biel);border:1px solid var(--linia);text-decoration:none;
  transition:border-color .16s ease}
.dr-forma a:hover{border-color:var(--nieb)}
.dr-forma-l{width:24px;height:24px;display:flex;align-items:center;justify-content:center;
  font:800 12px/1 var(--kroj),sans-serif;color:#fff;background:var(--szary-jasny)}
.dr-forma-wyn{font:800 14px/1 var(--kroj),sans-serif;color:var(--czern);margin-left:auto}
.dr-forma-l.dr-forma-w{background:var(--nieb)}
.dr-forma-l.dr-forma-r{background:var(--szary-jasny)}
.dr-forma-l.dr-forma-p{background:var(--czern)}
.dr-forma-op{font:600 13.5px/1 var(--kroj),sans-serif;color:var(--szary)}

/* --- klasyfikacje --- */
.dr-klas{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:clamp(24px,3vw,44px)}
.dr-klas-b .dr-h2{margin-top:0}
.dr-klas-l{margin:0;padding:0;list-style:none;border-top:1px solid var(--linia)}
.dr-klas-l li{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;
  gap:12px;padding:12px 4px;border-bottom:1px solid var(--linia)}
.dr-klas-i{font:600 13px/1 var(--kroj),sans-serif;color:var(--szary-jasny)}
.dr-klas-n{min-width:0;font:700 14px/1.3 var(--kroj),sans-serif;color:var(--czern);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dr-klas-s{font:800 16px/1 var(--kroj),sans-serif;color:var(--nieb)}

/* --- archiwum sezonow --- */
.dr-arch{border-top:1px solid var(--linia)}
.dr-arch-w{display:grid;grid-template-columns:96px minmax(0,1fr) 120px auto;align-items:center;
  gap:16px;padding:14px 12px;border-bottom:1px solid var(--linia);text-decoration:none;
  transition:background .16s ease}
.dr-arch-w:hover{background:var(--tlo-2)}
.dr-arch-w.wybrany{background:rgba(26,110,235,.06)}
.dr-arch-sez{font:800 15px/1 var(--kroj),sans-serif;color:var(--czern)}
.dr-arch-liga{min-width:0;font:600 13.5px/1.35 var(--kroj),sans-serif;color:var(--szary);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dr-arch-poz{font:700 13px/1 var(--kroj),sans-serif;color:var(--nieb)}
.dr-arch-bil{font:500 12.5px/1 var(--kroj),sans-serif;color:var(--szary-jasny);white-space:nowrap}

@media(max-width:900px){
  .dr-bilans li{flex:1 1 33%}
  .dr-bilans li:nth-child(3n+1){border-left:0}
  .drm{grid-template-columns:54px minmax(0,1fr) 54px;gap:3px 11px;padding:11px 12px}
  .drm-data{grid-row:span 2}
  .drm-kol{grid-column:2;font-size:11px}
  .drm-herb{display:none}
  .drm-rywal{grid-column:2}
  .drm-gdzie{display:none}
  .drm-wynik{grid-column:3;grid-row:span 2}
  .dr-arch-w{grid-template-columns:78px minmax(0,1fr);gap:6px 14px}
  .dr-arch-poz{grid-column:2;font-size:12.5px}
  .dr-arch-bil{grid-column:2}
}
@media(max-width:560px){
  .dr-bilans li{flex:1 1 50%}
  .dr-bilans li:nth-child(3n+1){border-left:1px solid rgba(255,255,255,.11)}
  .dr-bilans li:nth-child(2n+1){border-left:0}
  .dr-kadra{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}
}

/* ===== PODSTRONA MECZU ===== */
.mz-scena{position:relative;background:var(--czern);color:#fff;
  padding:calc(var(--nav-h) + clamp(64px,9vh,104px)) clamp(16px,4vw,54px) clamp(34px,4.4vh,54px)}
.mz-in{width:min(1100px,100%);margin:0 auto;text-align:center}
.mz-liga{margin:0 0 clamp(24px,3vw,36px);font:700 13px/1.4 var(--kroj),sans-serif;color:rgba(255,255,255,.8)}
.mz-liga span{display:block;margin-top:4px;font-weight:500;font-size:12px;color:rgba(255,255,255,.45)}
.mz-tablica{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:clamp(16px,3vw,44px)}
.mz-str{display:flex;flex-direction:column;align-items:center;gap:14px}
.mz-herb{display:flex;align-items:center;justify-content:center;
  width:clamp(64px,9vw,100px);height:clamp(64px,9vw,100px);color:rgba(255,255,255,.5)}
.mz-herb img{width:100%;height:100%;object-fit:contain}
.mz-nazwa{font:800 clamp(15px,1.7vw,21px)/1.25 var(--kroj),sans-serif;color:#fff;
  max-width:14ch;min-height:2.5em;display:flex;align-items:center}
.mz-str-nasz .mz-nazwa{color:var(--nieb-jasny)}
.mz-srodek{min-width:clamp(120px,16vw,190px)}
.mz-wynik{margin:0;font:800 clamp(40px,7vw,74px)/1 var(--kroj),sans-serif;letter-spacing:-.03em}
.mz-wynik i{font-style:normal;margin:0 .12em;color:rgba(255,255,255,.34)}
.mz-godz{margin:0;font:800 clamp(30px,5vw,50px)/1 var(--kroj),sans-serif;letter-spacing:-.02em}
.mz-kiedy{margin:12px 0 0;font:500 13px/1.4 var(--kroj),sans-serif;color:rgba(255,255,255,.55)}
.mz-odlicz{margin:10px 0 0;font:700 13px/1 var(--kroj),sans-serif;color:var(--nieb-jasny)}
.mz-nasza{margin:clamp(26px,3vw,38px) 0 0;padding-top:clamp(20px,2.4vw,28px);
  border-top:1px solid rgba(255,255,255,.12);font:500 13px/1 var(--kroj),sans-serif}
.mz-nasza a{color:#fff;font-weight:700;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.3)}
.mz-nasza a:hover{border-bottom-color:var(--nieb-jasny)}
.mz-nasza span{margin-left:10px;color:rgba(255,255,255,.5)}

.mz-tresc{width:min(1100px,100%);margin:0 auto;
  padding:clamp(30px,3.6vw,50px) clamp(20px,4vw,48px) 76px}
.mz-zdarz{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:clamp(22px,2.8vw,40px)}
.mz-zgrupa h3{margin:0 0 10px;font:800 12px/1 var(--kroj),sans-serif;
  text-transform:uppercase;color:var(--szary-jasny)}
.mz-zgrupa ul{margin:0;padding:0;list-style:none;border-top:1px solid var(--linia)}
.mz-zgrupa li{display:flex;align-items:baseline;gap:10px;padding:11px 2px;
  border-bottom:1px solid var(--linia)}
.mz-z-kto{font:700 14px/1.3 var(--kroj),sans-serif;color:var(--czern)}
.mz-z-dr{font:500 12px/1.3 var(--kroj),sans-serif;color:var(--szary-jasny);margin-left:auto}
.mz-z-ile{font:800 13px/1 var(--kroj),sans-serif;color:var(--nieb)}
.mz-kol{border-top:1px solid var(--linia)}
.mz-kol-w{display:grid;grid-template-columns:minmax(0,1fr) 74px minmax(0,1fr);align-items:center;
  gap:12px;padding:12px;border-bottom:1px solid var(--linia);text-decoration:none;
  transition:background .16s ease}
.mz-kol-w:hover{background:var(--tlo-2)}
.mz-kol-g{min-width:0;font:600 13.5px/1.3 var(--kroj),sans-serif;color:var(--czern);
  text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mz-kol-p{text-align:left}
.mz-kol-w2{font:800 14px/1 var(--kroj),sans-serif;color:var(--szary);text-align:center}

@media(max-width:640px){
  .mz-tablica{grid-template-columns:1fr;gap:20px}
  .mz-nazwa{min-height:0;max-width:none}
}

/* Podstrony prawne: polityka prywatnosci, regulamin. Uklad jednokolumnowy,
   szeroki na czytanie, spojny z reszta serwisu (biala plyta, ciemny tekst). */
.prawne{background:var(--biel);padding:64px 24px 96px}
.prawne-in{max-width:840px;margin:0 auto;color:var(--czern);
  font:400 16px/1.7 var(--kroj),sans-serif}
.prawne-data{margin:0 0 32px;font:600 13px/1.5 var(--kroj),sans-serif;
  color:var(--szary);text-transform:uppercase;letter-spacing:.06em}
.prawne-in h2{margin:36px 0 12px;font:800 20px/1.3 var(--kroj),sans-serif;
  color:var(--czern)}
.prawne-in h2:first-of-type{margin-top:0}
.prawne-in p{margin:0 0 14px}
.prawne-in ul{margin:0 0 18px;padding:0 0 0 22px}
.prawne-in li{margin:0 0 8px}
.prawne-in a{color:var(--niebieski,#1547a6);text-decoration:underline;text-underline-offset:2px}
.prawne-in a:hover{text-decoration:none}
.prawne-in b{font-weight:700}
@media(max-width:640px){
  .prawne{padding:44px 18px 72px}
  .prawne-in{font-size:15.5px}
  .prawne-in h2{font-size:18px}
}

/* ===== ROZGRYWKI: terminarz / wyniki / tabele / strzelcy calego klubu ===== */
/* rzad chipow z nazwami druzyn zastapil sidebar - patrz .rz-bok na dole */
/* wiersz meczu jak .drm, ale z kolumna nazwy druzyny */
.rzm{display:grid;grid-template-columns:64px 128px 40px minmax(0,1fr) auto 62px;align-items:center;
  gap:14px;padding:13px 16px;background:var(--biel);border:1px solid var(--linia);
  text-decoration:none;transition:border-color .16s ease}
.rzm + .rzm{border-top:0}
.rzm:hover{border-color:var(--nieb)}
.rzm-data{display:flex;flex-direction:column;gap:2px}
.rzm-data b{font:800 14px/1 var(--kroj),sans-serif;color:var(--czern)}
.rzm-data i{font:500 11.5px/1 var(--kroj),sans-serif;font-style:normal;color:var(--szary-jasny)}
.rzm-druz{font:700 12px/1.2 var(--kroj),sans-serif;color:var(--nieb)}
.rz-h2a{color:inherit;text-decoration:none}
.rz-h2a:hover{color:var(--nieb)}
.rz-klas-h{margin:0 0 10px;font:800 12px/1 var(--kroj),sans-serif;
  text-transform:uppercase;color:var(--szary-jasny)}
@media(max-width:900px){
  .rzm{grid-template-columns:54px minmax(0,1fr) 54px;gap:4px 11px;padding:11px 12px}
  .rzm-data{grid-row:span 2}
  .rzm-druz{grid-column:2;font-size:11.5px}
  .rzm .drm-herb{display:none}
  .rzm .drm-rywal{grid-column:2}
  .rzm .drm-gdzie{display:none}
  .rzm .drm-wynik{grid-column:3;grid-row:span 2}
}

/* ===== ROZDZIELACZ DRUZYN ===== */
.dz-siatka{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:clamp(12px,1.4vw,18px)}
.dz-karta{display:flex;flex-direction:column;background:var(--biel);border:1px solid var(--linia);
  padding:clamp(22px,2.4vw,30px);text-decoration:none;transition:background .16s ease}
.dz-karta:hover{background:var(--tlo-2)}
.dz-nazwa{font:800 clamp(19px,1.9vw,23px)/1.15 var(--kroj),sans-serif;color:var(--czern)}
.dz-karta:hover .dz-nazwa{color:var(--nieb)}
.dz-liga{margin-top:7px;font:500 12.5px/1.45 var(--kroj),sans-serif;color:var(--szary)}
.dz-liczby{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;
  margin:clamp(20px,2vw,26px) 0;padding:clamp(15px,1.6vw,18px) 0;
  border-top:1px solid var(--linia);border-bottom:1px solid var(--linia)}
.dz-liczby > span{display:flex;flex-direction:column;gap:5px}
.dz-liczby b{font:800 17px/1 var(--kroj),sans-serif;color:var(--czern)}
.dz-liczby i{font:500 10.5px/1.2 var(--kroj),sans-serif;font-style:normal;color:var(--szary-jasny)}
.dz-mecz{margin-top:auto;display:flex;flex-direction:column;gap:5px}
.dz-mecz i{font:600 10.5px/1 var(--kroj),sans-serif;font-style:normal;
  text-transform:uppercase;color:var(--szary-jasny)}
.dz-mecz b{font:700 14.5px/1.3 var(--kroj),sans-serif;color:var(--czern)}
.dz-mecz em{font:500 12px/1 var(--kroj),sans-serif;font-style:normal;color:var(--szary)}
.dz-karta-mloda{background:var(--czern)}
.dz-karta-mloda:hover{background:#141922}
.dz-karta-mloda .dz-nazwa{color:#fff}
.dz-karta-mloda:hover .dz-nazwa{color:var(--nieb-jasny)}
.dz-karta-mloda .dz-liga{color:rgba(255,255,255,.5)}
.dz-mloda-op{margin-top:clamp(20px,2vw,26px);padding-top:clamp(15px,1.6vw,18px);
  border-top:1px solid rgba(255,255,255,.14);
  font:500 13px/1.6 var(--kroj),sans-serif;color:rgba(255,255,255,.66)}

/* ===== SZKOLKA MLODA KORZENNA ===== */
.ml-grupy{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:clamp(12px,1.4vw,18px)}
.ml-grupa{background:var(--biel);border:1px solid var(--linia);
  padding:clamp(24px,2.6vw,34px);scroll-margin-top:calc(var(--nav-h) + 20px)}
.ml-kat{display:inline-block;padding:5px 10px;background:var(--nieb);
  font:800 11px/1 var(--kroj),sans-serif;color:#fff}
.ml-nazwa{margin:16px 0 10px;font:800 clamp(21px,2.2vw,27px)/1.1 var(--kroj),sans-serif;color:var(--czern)}
.ml-opis{margin:0;font:500 13.5px/1.65 var(--kroj),sans-serif;color:var(--szary)}
.ml-zapisy{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);
  gap:clamp(26px,3vw,52px);align-items:center;
  margin-top:clamp(30px,3.4vw,46px);padding:clamp(26px,3vw,42px);background:var(--tlo-2)}
.ml-zapisy-txt .dr-h2{margin-top:0}
.ml-zapisy-txt p{margin:0;font:500 14px/1.65 var(--kroj),sans-serif;color:var(--szary)}
.ml-zapisy-kon{display:flex;flex-direction:column;gap:10px}
.ml-kon{display:flex;flex-direction:column;gap:4px;padding:14px 18px;
  background:var(--biel);border:1px solid var(--linia);text-decoration:none;
  transition:border-color .16s ease}
.ml-kon:hover{border-color:var(--nieb)}
.ml-kon i{font:600 10.5px/1 var(--kroj),sans-serif;font-style:normal;
  text-transform:uppercase;color:var(--szary-jasny)}
.ml-kon b{font:700 15px/1.2 var(--kroj),sans-serif;color:var(--czern)}
.ml-wpisy{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:clamp(16px,1.8vw,24px)}
.ml-wpis{display:flex;flex-direction:column;text-decoration:none}
.ml-wpis-foto{display:flex;align-items:center;justify-content:center;
  aspect-ratio:26/17;background:var(--tlo-2);overflow:hidden}
.ml-wpis-foto img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.ml-wpis:hover .ml-wpis-foto img{transform:scale(1.04)}
.ml-wpis-foto .ml-wpis-herb{width:44px;height:44px;object-fit:contain;opacity:.16;transform:none}
.ml-wpis:hover .ml-wpis-foto .ml-wpis-herb{transform:none}
.ml-wpis-tyt{margin-top:12px;font:700 14px/1.35 var(--kroj),sans-serif;color:var(--czern)}
.ml-wpis-data{margin-top:6px;font:500 11.5px/1 var(--kroj),sans-serif;color:var(--szary-jasny)}

@media(max-width:820px){
  .ml-zapisy{grid-template-columns:1fr}
  .dz-liczby{grid-template-columns:repeat(2,1fr) ;gap:14px 10px}
}

/* ===== STRONY PRAWNE (polityka, regulamin) ===== */
.pr-hero{padding-top:calc(var(--nav-h) + clamp(70px,9vh,110px));padding-bottom:clamp(38px,5vh,60px)}
.pr-tresc{width:min(820px,100%);margin:0 auto;
  padding:clamp(34px,4vw,58px) clamp(20px,4vw,48px) 84px}
.pr-tresc h2{margin:clamp(30px,3.2vw,44px) 0 12px;
  font:800 clamp(18px,1.9vw,23px)/1.2 var(--kroj),sans-serif;color:var(--czern)}
.pr-tresc h2:first-child{margin-top:0}
.pr-tresc p{margin:0 0 14px;font:500 15px/1.75 var(--kroj),sans-serif;color:var(--szary)}
.pr-tresc b{color:var(--czern);font-weight:700}
.pr-tresc a{color:var(--nieb);text-decoration:none;border-bottom:1px solid rgba(26,110,235,.35)}
.pr-tresc a:hover{border-bottom-color:var(--nieb)}
.pr-tresc ul{margin:0 0 14px;padding-left:20px}
.pr-tresc li{margin:0 0 9px;font:500 15px/1.7 var(--kroj),sans-serif;color:var(--szary)}
.mz-odlicz{display:flex;justify-content:center;align-items:baseline;gap:4px;margin:14px 0 0}
.mz-odlicz b{font:800 18px/1 var(--kroj),sans-serif;color:#fff}
.mz-odlicz i{margin-right:8px;font:600 11px/1 var(--kroj),sans-serif;font-style:normal;color:rgba(255,255,255,.45)}
.mz-odlicz i:last-child{margin-right:0}
/* relacja i album zdjec pod tablica wyniku */
.mz-media{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:clamp(16px,1.8vw,24px)}
.mz-media-k{display:flex;flex-direction:column;text-decoration:none}
.mz-media-foto{display:flex;align-items:center;justify-content:center;
  aspect-ratio:26/17;background:var(--tlo-2);overflow:hidden}
.mz-media-foto img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.mz-media-k:hover .mz-media-foto img{transform:scale(1.04)}
.mz-media-foto .mz-media-herb{width:44px;height:44px;object-fit:contain;opacity:.16}
.mz-media-k:hover .mz-media-foto .mz-media-herb{transform:none}
.mz-media-et{margin-top:11px;font:700 10.5px/1 var(--kroj),sans-serif;
  text-transform:uppercase;color:var(--nieb)}
.mz-media-tyt{margin-top:6px;font:700 14px/1.35 var(--kroj),sans-serif;color:var(--czern)}
/* wyniki wyszukiwania: mecze i naglowki grup */
.szw-nag{margin:clamp(26px,2.8vw,38px) 0 14px;font:800 clamp(16px,1.7vw,20px)/1.2 var(--kroj),sans-serif;color:var(--czern)}
.szw-mecze{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.szw-mecz{display:flex;flex-direction:column;gap:5px;padding:14px 16px;
  background:var(--biel);border:1px solid var(--linia);text-decoration:none;transition:border-color .16s ease}
.szw-mecz:hover{border-color:var(--nieb)}
.szw-mecz-tyt{font:700 14.5px/1.3 var(--kroj),sans-serif;color:var(--czern)}
.szw-mecz-meta{font:500 12px/1 var(--kroj),sans-serif;color:var(--szary-jasny)}

/* ===== klub - podstrony ===== */
/* dedykowane podstrony sekcji "Klub" (/klub/o-klubie, /historia, /statut,
 * /ochrona-maloletnich, /stadion, /szalik, /redakcja). Zmienne z :root
 * na gorze pliku (--nieb, --biel, --czern, --szary, --linia, --tlo-2, --nav-h). */
.kp-strona{width:min(1180px,100%);margin:0 auto;padding:0 clamp(20px,4vw,40px) clamp(60px,7vw,96px)}
.kp-okrusz{display:flex;gap:8px;align-items:center;padding:clamp(18px,2.2vw,28px) 0 clamp(20px,2.4vw,32px);
  font:600 12.5px/1 var(--kroj),sans-serif;color:var(--szary-jasny);text-transform:uppercase}
.kp-okrusz a{color:var(--nieb);text-decoration:none;border-bottom:1px solid rgba(26,110,235,.28);padding-bottom:2px}
.kp-okrusz a:hover{border-bottom-color:var(--nieb)}
.kp-okrusz span{color:var(--szary)}
.kp-okrusz a + span::before{content:"·";margin:0 8px;color:var(--szary-jasny)}

.kp-sekcja{padding:clamp(26px,3.4vw,48px) 0;border-top:1px solid var(--linia)}
.kp-sekcja:first-of-type{border-top:0;padding-top:clamp(6px,1vw,14px)}
.kp-h2{margin:0 0 14px;font:800 clamp(22px,2.6vw,32px)/1.1 var(--kroj),sans-serif;color:var(--czern);text-transform:uppercase}
.kp-lead{margin:0 0 clamp(18px,2.2vw,26px);max-width:68ch;font:500 15.5px/1.7 var(--kroj),sans-serif;color:var(--szary)}
.kp-lead b{color:var(--czern);font-weight:700}
.kp-lead a,.kp-info a{color:var(--nieb);border-bottom:1px solid rgba(26,110,235,.32)}
.kp-lead a:hover,.kp-info a:hover{border-bottom-color:var(--nieb)}

/* dwie kolumny na kontakt/adres, dane rejestrowe itp. */
.kp-dwie{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,2.6vw,36px)}
.kp-blok{padding:clamp(20px,2.4vw,32px);background:var(--biel);border:1px solid var(--linia)}
.kp-et{margin:0 0 8px;font:800 10.5px/1 var(--kroj),sans-serif;text-transform:uppercase;color:var(--nieb)}
.kp-w{margin:0 0 8px;font:600 15px/1.55 var(--kroj),sans-serif;color:var(--czern)}
.kp-w b{font-weight:800}
.kp-w a{color:var(--czern);border-bottom:1px solid var(--linia);text-decoration:none;padding-bottom:1px;transition:.16s}
.kp-w a:hover{color:var(--nieb);border-bottom-color:var(--nieb)}
.kp-info{margin:0 0 10px;font:500 14px/1.65 var(--kroj),sans-serif;color:var(--szary)}

/* karty osob (zarzad) */
.kp-osoby{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.kp-osoba{display:flex;flex-direction:column;align-items:center;gap:10px;padding:26px 16px;
  background:var(--biel);border:1px solid var(--linia);text-align:center;transition:border-color .18s ease}
.kp-osoba:hover{border-color:var(--nieb)}
.kp-osoba-ava{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--tlo-2)}
.kp-osoba-fn{font:800 10px/1 var(--kroj),sans-serif;text-transform:uppercase;color:var(--nieb)}
.kp-osoba-im{font:700 16.5px/1.25 var(--kroj),sans-serif;color:var(--czern)}

/* dane rejestrowe: lista dt/dd */
.kp-lista{margin:0;padding:0;display:flex;flex-direction:column;background:var(--biel);border:1px solid var(--linia)}
.kp-lista>div{display:flex;justify-content:space-between;gap:18px;align-items:baseline;
  padding:14px clamp(16px,1.8vw,24px);border-top:1px solid var(--linia)}
.kp-lista>div:first-child{border-top:0}
.kp-lista dt{margin:0;font:800 11px/1.3 var(--kroj),sans-serif;text-transform:uppercase;color:var(--szary-jasny);flex:0 0 auto}
.kp-lista dd{margin:0;font:600 14.5px/1.5 var(--kroj),sans-serif;color:var(--czern);text-align:right}

/* konto bankowe - ciemna plyta */
.kp-sekcja-czern{background:#0A0D11;color:#fff;margin:clamp(30px,3.6vw,52px) 0;padding:clamp(28px,3.6vw,52px) clamp(20px,3vw,40px)}
.kp-konto-in{display:grid;grid-template-columns:1fr auto;gap:clamp(20px,3vw,40px);align-items:center}
.kp-h2-jasny{color:#fff}
.kp-info-jasny{margin:6px 0 0;font:500 14px/1.55 var(--kroj),sans-serif;color:rgba(255,255,255,.66)}
.kp-konto-nr{display:inline-flex;align-items:center;gap:14px;padding:15px 18px;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.18);color:#fff;font:700 16px/1 var(--kroj),sans-serif;cursor:pointer;transition:.18s}
.kp-konto-nr:hover{background:rgba(255,255,255,.1);border-color:var(--nieb-jasny)}
.kp-konto-nr.skopiowano{border-color:#2ec26a;color:#2ec26a}
.kp-konto-nr svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* herby do pobrania */
.kp-herby{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.kp-herb-plyta{display:flex;flex-direction:column;align-items:center;gap:14px;padding:32px 20px;
  background:var(--biel);border:1px solid var(--linia);text-align:center;text-decoration:none;transition:border-color .18s ease}
.kp-herb-plyta:hover{border-color:var(--nieb)}
.kp-herb-plyta img{max-width:180px;height:auto}
.kp-herb-info{display:flex;flex-direction:column;gap:4px}
.kp-herb-info b{font:800 14.5px/1.3 var(--kroj),sans-serif;color:var(--czern)}
.kp-herb-info i{font:500 12px/1 var(--kroj),sans-serif;font-style:normal;color:var(--nieb)}

/* historia - kaseta faktow */
.kp-fakty{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;
  padding:clamp(24px,3vw,36px);background:var(--tlo-2);border-left:3px solid var(--nieb);margin-bottom:clamp(24px,3vw,40px)}
.kp-fakt{display:flex;flex-direction:column;gap:4px}
.kp-fakt b{font:800 clamp(24px,2.8vw,34px)/1 var(--kroj),sans-serif;color:var(--nieb)}
.kp-fakt span{font:500 13px/1.5 var(--kroj),sans-serif;color:var(--szary)}

/* tresc dokumentow: statut, ochrona, historia. Zapozycza .tresc z gory pliku
 * ale zaweza szerokosc i zwieksza odstepy dla dokumentow prawnych. */
.kp-tresc{max-width:74ch;margin:clamp(12px,1.4vw,18px) 0 0;color:#2B313B}
.kp-tresc>*:first-child{margin-top:0}
.kp-tresc h2,.kp-tresc h3{font-family:var(--kroj),sans-serif;text-transform:uppercase;color:var(--czern);
  margin:clamp(28px,3vw,40px) 0 12px;font-weight:800}
.kp-tresc h2{font-size:clamp(18px,2vw,24px);scroll-margin-top:calc(var(--nav-h) + 20px)}
.kp-tresc h3{font-size:clamp(15px,1.5vw,18px);color:var(--nieb)}
.kp-tresc p{margin:0 0 14px;font:500 15.5px/1.75 var(--kroj),sans-serif;color:#2B313B}
.kp-tresc ul,.kp-tresc ol{padding-left:22px;margin:0 0 14px}
.kp-tresc li{margin:0 0 8px;font:500 15px/1.7 var(--kroj),sans-serif;color:var(--szary)}
.kp-tresc li::marker{color:var(--nieb)}
.kp-tresc a{color:var(--nieb);border-bottom:1px solid rgba(26,110,235,.32);text-decoration:none}
.kp-tresc a:hover{border-bottom-color:var(--nieb)}
.kp-tresc strong{color:var(--czern);font-weight:700}
.kp-tresc img{max-width:100%;height:auto;margin:14px 0}
.kp-tresc-doc{max-width:76ch}
.kp-tresc-doc p{font-size:15px;line-height:1.7}
.kp-tresc-doc h2.kp-h2-doc{margin-top:clamp(36px,4vw,52px);padding-top:14px;border-top:1px solid var(--linia)}
.kp-tresc-doc h2.kp-h2-doc:first-child{border-top:0;padding-top:0}
.kp-podpis{margin-top:clamp(32px,3.4vw,48px);padding-top:20px;border-top:1px solid var(--linia);
  font:500 13.5px/1.6 var(--kroj),sans-serif;color:var(--szary-jasny);font-style:italic}

/* statut - spis rozdzialow */
.kp-spis{padding:clamp(22px,2.6vw,32px);background:var(--tlo-2);border-left:3px solid var(--nieb);margin-bottom:clamp(30px,3.4vw,44px)}
.kp-spis-nag{margin:0 0 14px;font:800 11px/1 var(--kroj),sans-serif;text-transform:uppercase;color:var(--nieb)}
.kp-spis-lista{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:8px 24px;counter-reset:none}
.kp-spis-lista li a{display:flex;gap:10px;align-items:baseline;padding:8px 0;
  font:600 14px/1.4 var(--kroj),sans-serif;color:var(--czern);text-decoration:none;border-bottom:1px solid transparent;transition:.14s}
.kp-spis-lista li a:hover{color:var(--nieb);border-bottom-color:rgba(26,110,235,.28)}
.kp-spis-lista li a span{flex:0 0 22px;font-weight:800;color:var(--nieb-jasny)}

/* ochrona maloletnich - alert */
.kp-sekcja-alert{background:linear-gradient(180deg,#F8FBFF 0%,#EEF4FF 100%);border-left:4px solid var(--nieb);
  padding:clamp(24px,3vw,40px);border-top:0}
.kp-sekcja-alert:first-of-type{padding-top:clamp(24px,3vw,40px)}
.kp-alert-in{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(24px,3vw,40px);align-items:center}
.kp-alert-tekst .kp-h2{margin-bottom:10px}
.kp-alert-info{margin:12px 0 0;padding:12px 16px;background:rgba(26,110,235,.08);border-left:3px solid var(--nieb);
  font:600 14.5px/1.55 var(--kroj),sans-serif;color:var(--czern)}
.kp-alert-info b{font-weight:800;color:var(--nieb-ciemny)}
.kp-alert-kontakty{display:flex;flex-direction:column;gap:10px}
.kp-alert-poz{display:flex;flex-direction:column;gap:4px;padding:16px 20px;background:var(--biel);
  border:1px solid var(--linia);text-decoration:none;transition:border-color .16s ease}
.kp-alert-poz:hover{border-color:var(--nieb)}
.kp-alert-poz .kp-w{margin:0;font:700 17px/1.2 var(--kroj),sans-serif;color:var(--czern)}
.kp-alert-poz .kp-et{margin:0}

/* PDFy do pobrania */
.kp-pdfy{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.kp-pdf{display:flex;align-items:center;gap:14px;padding:16px 18px;background:var(--biel);
  border:1px solid var(--linia);text-decoration:none;transition:border-color .18s ease}
.kp-pdf:hover{border-color:var(--nieb)}
.kp-pdf-ik{flex:0 0 auto;display:grid;place-items:center;width:44px;height:44px;background:var(--nieb);
  color:#fff;font:800 11px/1 var(--kroj),sans-serif;letter-spacing:0}
.kp-pdf-tyt{flex:1 1 auto;font:700 14px/1.35 var(--kroj),sans-serif;color:var(--czern)}
.kp-pdf svg{flex:0 0 auto;width:20px;height:20px;fill:none;stroke:var(--szary-jasny);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:.16s}
.kp-pdf:hover svg{stroke:var(--nieb)}

/* stadion - galeria 3 kafelki + mapa */
.kp-galeria{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.kp-galeria-poz{display:block;overflow:hidden;background:var(--tlo-2)}
.kp-galeria-poz img{width:100%;height:100%;aspect-ratio:26/17;object-fit:cover;transition:transform .3s ease}
.kp-galeria-poz:hover img{transform:scale(1.04)}
.kp-mapa{position:relative;overflow:hidden}
.kp-mapa iframe{width:100%;height:clamp(320px,44vh,520px);border:0;display:block;background:var(--tlo-2)}
.kp-mapa-cta{position:absolute;right:18px;bottom:18px;display:inline-flex;align-items:center;gap:10px;
  padding:12px 18px;background:var(--nieb);color:#fff;font:700 13.5px/1 var(--kroj),sans-serif;text-decoration:none;transition:.16s}
.kp-mapa-cta:hover{background:var(--nieb-ciemny)}
.kp-mapa-cta svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* szal - karty produktowe */
.kp-szale{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:clamp(16px,2vw,28px)}
.kp-szal{margin:0;background:var(--biel);border:1px solid var(--linia);overflow:hidden}
.kp-szal-scena{background:var(--tlo-2);padding:24px;display:flex;align-items:center;justify-content:center;min-height:200px}
.kp-szal-scena img{max-width:100%;height:auto}
.kp-szal figcaption{padding:18px 22px;display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--linia)}
.kp-szal figcaption b{font:800 14.5px/1.3 var(--kroj),sans-serif;color:var(--czern)}
.kp-szal figcaption i{font:500 13.5px/1.55 var(--kroj),sans-serif;font-style:normal;color:var(--szary)}

/* CTA (przyciski dolu sekcji) */
.kp-cta-rzad{display:flex;flex-wrap:wrap;gap:12px}
.kp-cta{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;background:var(--nieb);color:#fff;
  font:700 14.5px/1 var(--kroj),sans-serif;text-decoration:none;transition:.16s}
.kp-cta:hover{background:var(--nieb-ciemny)}
.kp-cta-drugorzedny{background:transparent;color:var(--czern);border:1px solid var(--linia)}
.kp-cta-drugorzedny:hover{background:var(--tlo-2);border-color:var(--czern);color:var(--czern)}

/* redakcja - profil redaktora */
.kp-redaktor{display:grid;grid-template-columns:auto 1fr;gap:clamp(20px,2.6vw,36px);
  padding:clamp(24px,3vw,40px);background:var(--biel);border:1px solid var(--linia);align-items:flex-start}
.kp-redaktor-glowa{display:grid;place-items:center;width:120px;height:120px;background:var(--tlo-2)}
.kp-redaktor-glowa img{width:80px;height:80px}
.kp-redaktor-tresc{display:flex;flex-direction:column;gap:10px}
.kp-redaktor-tresc .kp-et{margin:0}
.kp-redaktor-fn{margin:0;font:800 clamp(19px,2.1vw,24px)/1.2 var(--kroj),sans-serif;color:var(--czern)}
.kp-redaktor-tresc .kp-lead{margin:0}
.kp-redaktor-kontakt{display:flex;gap:16px;margin-top:6px}
.kp-redaktor-kontakt a{padding:9px 14px;background:var(--tlo-2);color:var(--czern);
  font:700 13px/1 var(--kroj),sans-serif;text-decoration:none;transition:.16s}
.kp-redaktor-kontakt a:hover{background:var(--nieb);color:#fff}

.kp-sekcja-cichy{background:var(--tlo-2);padding:clamp(28px,3.6vw,52px) clamp(20px,3vw,40px);border-top:0;margin:clamp(24px,3vw,40px) 0}

/* tablet: dwie kolumny -> jedna, siatki 3/4 -> 2 */
@media (max-width:900px){
  .kp-dwie{grid-template-columns:1fr}
  .kp-osoby{grid-template-columns:repeat(2,1fr)}
  .kp-fakty{grid-template-columns:repeat(2,1fr)}
  .kp-galeria{grid-template-columns:1fr 1fr}
  .kp-konto-in{grid-template-columns:1fr}
  .kp-alert-in{grid-template-columns:1fr}
  .kp-spis-lista{grid-template-columns:1fr}
  .kp-redaktor{grid-template-columns:1fr}
  .kp-redaktor-glowa{width:96px;height:96px}
  .kp-redaktor-glowa img{width:60px;height:60px}
  .kp-herby{grid-template-columns:1fr}
}

/* telefon: wszystko na 1 kolumne */
@media (max-width:560px){
  .kp-osoby{grid-template-columns:1fr}
  .kp-fakty{grid-template-columns:1fr;padding:20px}
  .kp-galeria{grid-template-columns:1fr}
  .kp-szale{grid-template-columns:1fr}
  .kp-lista>div{flex-direction:column;align-items:flex-start;gap:4px}
  .kp-lista dd{text-align:left}
  .kp-mapa-cta{right:auto;left:12px;bottom:12px;padding:10px 14px}
  .kp-cta{width:100%;justify-content:center}
  .kp-konto-nr{width:100%;justify-content:space-between}
  .kp-okrusz{flex-wrap:wrap;font-size:11.5px}
}


/* ============ PODSTRONY DRUZYNY v2: tresc + prawy sidebar ============ */
.dr-uklad{width:min(1460px,100%);margin:0 auto;
  padding:clamp(30px,3.6vw,50px) clamp(20px,4vw,48px) 76px;
  display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:clamp(28px,3.2vw,48px);align-items:start}
.dr-glowna{min-width:0}
.dr-bok{position:sticky;top:calc(var(--nav-h) + 20px);display:flex;flex-direction:column;gap:24px}
/* stary kontener sekcji nie jest juz uzywany jako wrapper strony */
.dr-glowna > .dr-h2:first-child,.dr-glowna > .dr-pasek:first-child > .dr-h2{margin-top:0}

/* --- pasek naglowka sekcji z filtrami --- */
.dr-pasek{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;
  margin-bottom:clamp(16px,1.8vw,24px)}
.dr-pasek .dr-h2{margin:0}
.dr-h2 span{margin-left:10px;font:600 13px/1 var(--kroj),sans-serif;color:var(--szary-jasny)}
.dr-filtry{display:flex;flex-wrap:wrap;gap:6px}
.dr-filtr{padding:8px 13px;background:var(--tlo-2);border:1px solid var(--linia);
  font:600 12px/1 var(--kroj),sans-serif;color:var(--szary);text-decoration:none;
  transition:border-color .16s ease,color .16s ease}
.dr-filtr:hover{border-color:var(--nieb);color:var(--czern)}
.dr-filtr.wybrany{background:var(--czern);border-color:var(--czern);color:#fff}
.dr-kolfiltr{display:flex;flex-wrap:wrap;align-items:center;gap:5px;
  margin:0 0 clamp(18px,2vw,26px);font:500 12px/1 var(--kroj),sans-serif;color:var(--szary)}
.dr-kolfiltr > span{margin-right:5px}
.dr-kolnr{min-width:28px;padding:6px 7px;text-align:center;background:var(--biel);
  border:1px solid var(--linia);font:600 12px/1 var(--kroj),sans-serif;
  color:var(--czern);text-decoration:none;transition:border-color .16s ease}
.dr-kolnr:hover{border-color:var(--nieb)}
.dr-kolnr.wybrany{background:var(--nieb);border-color:var(--nieb);color:#fff}
.dr-kolnr.pusta{color:var(--szary-jasny)}

/* --- legenda kolumn kadry --- */
.dr-legenda{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0 0 clamp(18px,2vw,26px);
  font:500 12px/1 var(--kroj),sans-serif;color:var(--szary)}
.dr-legenda span{display:inline-flex;align-items:center;gap:6px}
.dr-legenda b{font:800 11px/1 var(--kroj),sans-serif;color:var(--czern)}

/* --- karta zawodnika: dorobek pod nazwiskiem --- */
.dr-zaw-rok i{display:block;margin-top:2px;font-style:normal;color:var(--szary)}
.kz{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;margin:12px 0 0;padding:0;
  list-style:none;background:var(--linia);border-top:1px solid var(--linia)}
.kz li:nth-child(-n+3){grid-column:span 2}
.kz li:nth-child(n+4){grid-column:span 3}
.kz li{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 2px;background:var(--biel)}
.kz b{font:800 14px/1 var(--kroj),sans-serif;color:var(--czern)}
.kz i{font-style:normal;font:600 9.5px/1 var(--kroj),sans-serif;color:var(--szary-jasny)}
.kz-k{flex-direction:row;gap:6px}
.kz-k b{font-size:12.5px}
.kz-zk,.kz-ck{display:inline-block;width:9px;height:12px;flex:0 0 auto}
.kz-zk{background:#E8B300}
.kz-ck{background:#C62828}

/* --- terminarz po kolejkach (uklad JoomLeague) --- */
.dr-kolejki{display:flex;flex-direction:column;gap:clamp(20px,2.4vw,30px)}
.dk-tyt{display:flex;align-items:baseline;justify-content:space-between;gap:12px;
  margin:0 0 10px;padding-bottom:9px;border-bottom:1px solid var(--linia);
  font:800 clamp(15px,1.5vw,18px)/1.2 var(--kroj),sans-serif;color:var(--czern)}
.dk-tyt span{font:500 11.5px/1 var(--kroj),sans-serif;color:var(--szary-jasny);white-space:nowrap}
.dk-dzien{margin:14px 0 6px;font:700 11.5px/1 var(--kroj),sans-serif;color:var(--szary)}
.dk .dk-dzien:first-of-type{margin-top:8px}
.dpara{display:grid;grid-template-columns:52px minmax(0,1fr) 74px minmax(0,1fr);align-items:center;
  gap:10px;padding:10px 12px;background:var(--biel);border:1px solid var(--linia);
  text-decoration:none;transition:border-color .16s ease}
.dpara + .dpara{border-top:0}
.dpara:hover{border-color:var(--nieb)}
.dpara-godz{font:600 12px/1 var(--kroj),sans-serif;color:var(--szary-jasny)}
.dpara-dr{display:flex;align-items:center;gap:9px;min-width:0}
.dpara-gosp{justify-content:flex-end;text-align:right}
.dpara-dr b{font:500 13.5px/1.25 var(--kroj),sans-serif;color:var(--czern);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dpara-dr.nasz b{font-weight:800}
.dpara-dr img{width:28px;height:28px;object-fit:contain;flex:0 0 auto}
.dpara-dr .herb-brak{flex:0 0 auto}
.dpara-wynik{font:800 16px/1 var(--kroj),sans-serif;color:var(--czern);text-align:center;white-space:nowrap}
.dpara-wynik i{font-style:normal;color:var(--szary-jasny);margin:0 2px}
.dpara-przed .dpara-wynik{color:var(--szary-jasny);font-weight:600}

/* --- statystyki druzyny: tabela Suma / Dom / Wyjazd --- */
.ds-tab{width:100%;min-width:520px;border-collapse:collapse;font:600 14px/1.3 var(--kroj),sans-serif}
.ds-tab thead th{padding:11px 12px;background:var(--tlo-2);border-bottom:1px solid var(--linia);
  font:700 11.5px/1 var(--kroj),sans-serif;text-transform:uppercase;color:var(--szary);text-align:right}
.ds-tab thead th:first-child{text-align:left;width:52%}
.ds-tab tbody th{padding:11px 12px;border-bottom:1px solid var(--linia);text-align:left;
  font:500 13.5px/1.4 var(--kroj),sans-serif;color:var(--szary)}
.ds-tab tbody td{padding:11px 12px;border-bottom:1px solid var(--linia);text-align:right;
  color:var(--czern);font-variant-numeric:tabular-nums}
.ds-tab tbody td:first-of-type{font-weight:800}
.ds-w td{color:var(--nieb)}
.ds-luka td{padding:5px 0;border:0;background:var(--tlo-2)}

/* --- wykres bramkowy --- */
.ds-wykres{display:flex;flex-direction:column;gap:clamp(14px,1.6vw,20px)}
.ds-w-grupa{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:16px}
.ds-w-etyk{margin:0;font:700 13px/1.3 var(--kroj),sans-serif;color:var(--czern)}
.ds-w-etyk i{display:block;margin-top:2px;font-style:normal;font-weight:500;font-size:11.5px;color:var(--szary-jasny)}
.ds-w-para{display:flex;flex-direction:column;gap:6px;min-width:0}
.ds-w-linia{display:flex;align-items:center;gap:9px;height:18px}
.ds-w-linia b{display:block;height:100%;min-width:2px}
.ds-w-linia u{text-decoration:none;font:800 12px/1 var(--kroj),sans-serif;color:var(--czern)}
.ds-w-str{background:var(--nieb)}
.ds-w-stra{background:var(--czern)}
.ds-w-opis{display:flex;align-items:center;gap:8px;margin:4px 0 0;
  font:500 12px/1 var(--kroj),sans-serif;color:var(--szary)}
.ds-w-opis span{display:inline-block;width:14px;height:10px}
.ds-w-opis .ds-w-stra{margin-left:12px}

/* --- rekordy sezonu --- */
.ds-rekordy{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:clamp(12px,1.4vw,18px)}
.ds-rek{display:flex;flex-direction:column;gap:5px;padding:clamp(16px,1.8vw,22px);
  background:var(--biel);border:1px solid var(--linia);text-decoration:none;transition:border-color .16s ease}
.ds-rek:hover{border-color:var(--nieb)}
.ds-rek-et{font:700 10.5px/1 var(--kroj),sans-serif;text-transform:uppercase;color:var(--szary-jasny)}
.ds-rek-wyn{font:800 clamp(28px,3vw,38px)/1 var(--kroj),sans-serif;color:var(--czern)}
.ds-rek-w .ds-rek-wyn{color:var(--nieb)}
.ds-rek-wyn i{font-style:normal;color:var(--szary-jasny);margin:0 2px}
.ds-rek-kto{font:700 14px/1.3 var(--kroj),sans-serif;color:var(--czern)}
.ds-rek-kiedy{font:500 11.5px/1.3 var(--kroj),sans-serif;color:var(--szary-jasny)}

/* --- statystyki sezonu --- */
.dsz-pas{display:flex;height:34px;overflow:hidden;border:1px solid var(--linia)}
.dsz-pas-cz{display:grid;place-items:center;font:800 12px/1 var(--kroj),sans-serif;color:#fff;min-width:0}
.dsz-dom{background:var(--nieb)}
.dsz-rem{background:var(--szary-jasny)}
.dsz-gosc{background:var(--czern)}
.dsz-legenda{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:10px 0 0;
  font:500 12px/1 var(--kroj),sans-serif;color:var(--szary)}
.dsz-legenda span{display:inline-block;width:14px;height:10px;margin-left:10px}
.dsz-legenda span:first-child{margin-left:0}
.dsz-siatka{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:clamp(20px,2.4vw,34px);margin-top:clamp(26px,3vw,38px)}
.dsz-h3{margin:0 0 10px;font:800 12px/1 var(--kroj),sans-serif;text-transform:uppercase;color:var(--szary-jasny)}
.dsz-lista{margin:0;padding:0;list-style:none;border-top:1px solid var(--linia)}
.dsz-lista li{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:10px;
  padding:10px 2px;border-bottom:1px solid var(--linia)}
.dsz-lista span{font:600 12px/1 var(--kroj),sans-serif;color:var(--szary-jasny)}
.dsz-lista b{min-width:0;font:600 13.5px/1.3 var(--kroj),sans-serif;color:var(--czern);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dsz-lista i{font-style:normal;font:800 14px/1 var(--kroj),sans-serif;color:var(--nieb)}
.dsz-wyniki{display:flex;align-items:flex-end;gap:clamp(6px,1vw,14px);height:170px;padding-top:20px}
.dsz-wynik{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;
  gap:7px;height:100%;min-width:0}
.dsz-wynik b{width:100%;background:var(--nieb);display:block;position:relative}
.dsz-wynik u{position:absolute;left:0;right:0;top:-16px;text-align:center;text-decoration:none;
  font:700 11px/1 var(--kroj),sans-serif;color:var(--szary-jasny)}
.dsz-wynik i{font-style:normal;font:700 12px/1 var(--kroj),sans-serif;color:var(--czern)}

/* --- klasyfikacje ze zdjeciami --- */
.dk-klas{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(24px,3vw,40px)}
.dkz{margin:0;padding:0;list-style:none;border-top:1px solid var(--linia)}
.dkz li{display:grid;grid-template-columns:22px 44px minmax(0,1fr) auto;align-items:center;gap:12px;
  padding:10px 2px;border-bottom:1px solid var(--linia)}
.dkz-i{font:600 12px/1 var(--kroj),sans-serif;color:var(--szary-jasny)}
.dkz-foto{width:44px;height:52px;overflow:hidden;background:var(--tlo-2);
  display:flex;align-items:center;justify-content:center}
.dkz-foto img{width:100%;height:100%;object-fit:cover;object-position:center 12%}
.dkz-foto .dkz-herb{width:22px;height:22px;object-fit:contain;opacity:.2}
.dkz-txt{min-width:0;display:flex;flex-direction:column;gap:6px}
.dkz-txt b{font:700 13.5px/1.25 var(--kroj),sans-serif;color:var(--czern);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dkz-pasek{display:block;height:4px;background:var(--tlo-2)}
.dkz-pasek i{display:block;height:100%;background:var(--nieb)}
.dkz-suma{display:flex;flex-direction:column;align-items:flex-end;gap:2px;
  font:800 17px/1 var(--kroj),sans-serif;color:var(--czern)}
.dkz-suma em{font-style:normal;font:500 10px/1 var(--kroj),sans-serif;color:var(--szary-jasny)}

/* --- archiwum jako tabela --- */
.da-tab td,.da-tab th{white-space:nowrap}
.da-tab .dr-tab-nazwa{display:table-cell;font-weight:800}
.da-tab .dr-tab-nazwa a{color:var(--czern);text-decoration:none}
.da-tab .dr-tab-nazwa a:hover{color:var(--nieb)}
.da-liga{text-align:left !important;font-weight:500;color:var(--szary);
  max-width:280px;overflow:hidden;text-overflow:ellipsis}
.da-poz i{font-style:normal;font-size:11px;color:var(--szary-jasny)}

/* ===================== PRAWY SIDEBAR DRUZYNY ===================== */
.drb-pusto{margin:0;font:500 13px/1.6 var(--kroj),sans-serif;color:var(--szary)}
.drb-nad{margin:0 0 10px;font:700 13px/1.3 var(--kroj),sans-serif;color:var(--czern)}
.drb-nad span{display:block;margin-top:2px;font-weight:500;font-size:11.5px;color:var(--szary-jasny)}

.drb-mecz{display:block;text-decoration:none}
.drb-mecz-liga{display:block;font:600 10.5px/1.3 var(--kroj),sans-serif;
  color:var(--szary-jasny);text-align:center}
.drb-mecz:hover .drb-mecz-dr b{color:var(--nieb)}
.drb-mecz-pary{display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:8px;margin:12px 0 14px}
.drb-mecz-dr{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0}
.drb-mecz-dr img{width:48px;height:48px;object-fit:contain}
.drb-mecz-dr b{font:700 12px/1.25 var(--kroj),sans-serif;color:var(--czern);text-align:center}
.drb-mecz-vs{font:400 46px/1 'Vujahday Script',cursive;color:var(--szary-jasny);
  padding-top:4px;transform:translateY(-2px)}
.drb-mecz-kiedy{display:flex;flex-direction:column;align-items:center;gap:3px;
  padding-top:12px;border-top:1px solid var(--linia)}
.drb-mecz-kiedy b{font:700 12.5px/1 var(--kroj),sans-serif;color:var(--czern)}
.drb-mecz-kiedy i{font-style:normal;font:800 15px/1 var(--kroj),sans-serif;color:var(--nieb)}
.drb-mecz-kiedy em{font-style:normal;font:500 11px/1 var(--kroj),sans-serif;color:var(--szary)}

.drb-kol{display:flex;flex-direction:column}
.drb-kol-w{display:grid;grid-template-columns:minmax(0,1fr) 20px 46px 20px minmax(0,1fr);
  align-items:center;gap:7px;padding:9px 6px;margin:0 -6px;
  border-top:1px solid var(--linia);text-decoration:none}
.drb-kol-w:first-child{border-top:0}
.drb-kol-w:hover{background:var(--tlo-2)}
.drb-kol-g{min-width:0;font:600 11.5px/1.3 var(--kroj),sans-serif;color:var(--szary);
  text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.drb-kol-p{text-align:left}
.drb-kol-g.my{color:var(--nieb);font-weight:800}
.drb-kol-w.nasz .drb-kol-g{color:var(--czern)}
.drb-kol-w.nasz .drb-kol-g.my{color:var(--nieb)}
.drb-kol-h{display:flex;align-items:center;justify-content:center;color:var(--szary-jasny)}
.drb-kol-h img{width:20px;height:20px;object-fit:contain}
.drb-kol-r{font:800 13px/1 var(--kroj),sans-serif;color:var(--czern);text-align:center;white-space:nowrap}
.drb-kol-r i{font-style:normal;color:var(--szary-jasny);margin:0 1px}

.drb-tab{width:100%;border-collapse:collapse;font:600 12.5px/1.2 var(--kroj),sans-serif}
.drb-tab th{padding:0 4px 8px;font:700 10px/1 var(--kroj),sans-serif;text-transform:uppercase;
  color:var(--szary-jasny);text-align:center;border-bottom:1px solid var(--linia)}
.drb-tab th:nth-child(2){text-align:left}
.drb-tab td{padding:8px 4px;text-align:center;border-bottom:1px solid var(--linia);color:var(--czern)}
.drb-tab-poz{color:var(--szary-jasny);width:20px}
.drb-tab-nazwa{display:flex;align-items:center;gap:8px;text-align:left;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.drb-tab-nazwa img{width:22px;height:22px;object-fit:contain;flex:0 0 auto}
.drb-tab-nazwa .herb-brak{flex:0 0 auto}
.drb-tab-pkt{font-weight:800}
.drb-tab tr.nasz td{background:rgba(26,110,235,.08)}
.drb-tab tr.nasz .drb-tab-poz,.drb-tab tr.nasz .drb-tab-pkt{color:var(--nieb)}
.drb-tab-przerwa td{padding:2px 4px;color:var(--szary-jasny);text-align:center;border:0}
.drb-wiecej{display:inline-block;margin-top:12px;padding-bottom:3px;
  font:700 11px/1 var(--kroj),sans-serif;text-transform:uppercase;color:var(--czern);
  border-bottom:2px solid var(--czern);text-decoration:none;transition:color .16s,border-color .16s}
.drb-wiecej:hover{color:var(--nieb);border-color:var(--nieb)}

@media(max-width:1080px){
  .dr-uklad{grid-template-columns:minmax(0,1fr);gap:32px}
  .dr-bok{position:static;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    align-items:start}
}
@media(max-width:900px){
  .dpara{grid-template-columns:44px minmax(0,1fr) 62px minmax(0,1fr);gap:6px;padding:9px 8px}
  .dpara-dr img{width:22px;height:22px}
  .dpara-dr b{font-size:12px}
  .ds-w-grupa{grid-template-columns:1fr;gap:8px}
}
@media(max-width:560px){
  .dpara{grid-template-columns:minmax(0,1fr) 58px minmax(0,1fr);gap:4px 6px}
  .dpara-godz{grid-column:1/-1;text-align:center}
  .dsz-wyniki{height:140px;gap:4px}
  .dkz li{grid-template-columns:20px 38px minmax(0,1fr) auto;gap:9px}
  .dkz-foto{width:38px;height:44px}
}

/* ===== OŚ CZASU MECZU (przebieg zapisywany na żywo w panelu) ===== */
.mz-zywo{display:inline-flex;align-items:center;gap:8px;margin:0 0 10px;
  font:800 11px/1 var(--kroj),sans-serif;text-transform:uppercase;color:#7FD9A0}
.mz-zywo span{width:8px;height:8px;border-radius:50%;background:#7FD9A0;animation:mz-puls 1.4s infinite}
@keyframes mz-puls{0%,100%{opacity:1}50%{opacity:.25}}

.oc{position:relative;margin:0;padding:0;list-style:none}
.oc::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;
  background:var(--linia);transform:translateX(-.5px)}
.oc-w{position:relative;display:grid;align-items:center;gap:14px;padding:7px 0}
.oc-l,.oc-p{grid-template-columns:minmax(0,1fr) 54px minmax(0,1fr)}
.oc-w > *{grid-row:1}
.oc-l .oc-min,.oc-p .oc-min{grid-column:2}
.oc-l .oc-karta{grid-column:1}
.oc-p .oc-karta{grid-column:3}
.oc-min{display:grid;place-items:center;height:26px;background:var(--biel);
  border:1px solid var(--linia);font:800 11.5px/1 var(--kroj),sans-serif;color:var(--czern);
  position:relative;z-index:1}
.oc-karta{display:flex;align-items:center;gap:11px;padding:11px 13px;min-width:0;
  background:var(--biel);border:1px solid var(--linia)}
.oc-l .oc-karta{flex-direction:row-reverse;text-align:right}
.oc-zn{flex:0 0 auto;width:13px;height:13px}
.oc-gol{border-radius:50%;background:var(--czern)}
.oc-zk{background:#E8B300}
.oc-ck{background:#C62828}
.oc-as{background:var(--nieb)}
.oc-txt{min-width:0;display:flex;flex-direction:column;gap:3px}
.oc-txt b{font:700 13.5px/1.25 var(--kroj),sans-serif;color:var(--czern);
  overflow:hidden;text-overflow:ellipsis}
.oc-txt i{font-style:normal;font:500 11.5px/1.3 var(--kroj),sans-serif;color:var(--szary-jasny)}

@media(max-width:640px){
  .oc::before{left:26px}
  .oc-w,.oc-l,.oc-p{grid-template-columns:52px minmax(0,1fr);direction:ltr;gap:10px}
  .oc-l .oc-min,.oc-p .oc-min{grid-column:1}
  .oc-l .oc-karta,.oc-p .oc-karta{grid-column:2;flex-direction:row;text-align:left}
}
.oc-txt b em{margin-left:5px;font-style:normal;font-size:12px;color:var(--nieb)}
/* mecze bez minut: prosta lista po stronach zamiast osi z pustych kresek */
.ocp{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:clamp(22px,2.8vw,40px)}
.ocp-h3{margin:0 0 10px;font:800 12px/1 var(--kroj),sans-serif;
  text-transform:uppercase;color:var(--szary-jasny)}
.ocp-lista{margin:0;padding:0;list-style:none;border-top:1px solid var(--linia)}
.ocp-lista li{display:grid;grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:11px;
  padding:11px 2px;border-bottom:1px solid var(--linia)}
.ocp-kto{min-width:0;font:700 13.5px/1.3 var(--kroj),sans-serif;color:var(--czern);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ocp-typ{font:500 11.5px/1 var(--kroj),sans-serif;color:var(--szary-jasny);white-space:nowrap}
.ocp-typ b{color:var(--nieb)}
.oc-sam{border-radius:50%;background:#C62828;box-shadow:inset 0 0 0 3px var(--biel)}
.oc-zm{background:#2E9E5B}

/* ==================== PROFIL ZAWODNIKA ====================
   Karta kadry i wiersz klasyfikacji prowadza do /zawodnik/<id>.
   Uklad ten sam co na podstronie meczu: ciemna scena + jasna tresc. */

/* karta kadry jako odnosnik */
a.dr-zaw{display:block;text-decoration:none;transition:border-color .16s ease}
a.dr-zaw:hover,a.dr-zaw:focus-visible{border-color:var(--nieb)}
a.dr-zaw:hover .dr-zaw-nazw{color:var(--nieb)}
.dr-zaw-wiecej{display:block;margin:10px 10px 0;
  font:700 9.5px/1 var(--kroj),sans-serif;letter-spacing:.02em;
  text-transform:uppercase;color:var(--szary-jasny)}
a.dr-zaw:hover .dr-zaw-wiecej{color:var(--nieb)}

/* wiersz klasyfikacji jako odnosnik - siatka przeniesiona z <li> */
.dkz li{display:block;padding:0}
.dkz-a{display:grid;grid-template-columns:22px 44px minmax(0,1fr) auto;align-items:center;gap:12px;
  padding:10px 2px;text-decoration:none}
.dkz-a:hover .dkz-txt b{color:var(--nieb)}

/* --- scena profilu --- */
/* boki hero musza sie zgadzac z .dr-uklad pod spodem, inaczej zdjecie
   zawodnika i tresc zaczynaja sie w dwoch roznych miejscach */
.zw-scena{position:relative;background:var(--czern);color:#fff;
  padding:calc(var(--nav-h) + clamp(56px,8vh,96px)) clamp(20px,4vw,48px) clamp(34px,4.4vh,54px)}
.zw-in{width:min(1460px,100%);margin:0 auto;
  display:grid;grid-template-columns:clamp(180px,20vw,252px) minmax(0,1fr);
  gap:clamp(22px,3.4vw,52px);align-items:center}
.zw-foto{position:relative;aspect-ratio:13/16;background:rgba(255,255,255,.06);
  display:flex;align-items:center;justify-content:center;overflow:hidden}
.zw-foto img{width:100%;height:100%;object-fit:cover;object-position:center 12%}
.zw-foto .zw-foto-herb{width:38%;height:auto;object-fit:contain;opacity:.18}
.zw-nr{position:absolute;left:0;bottom:0;min-width:46px;padding:8px 12px;
  background:var(--nieb);color:#fff;font:800 20px/1 var(--kroj),sans-serif;text-align:center}
.zw-opis{min-width:0}
.zw-poz{margin:0 0 10px;font:700 12px/1 var(--kroj),sans-serif;
  text-transform:uppercase;letter-spacing:.04em;color:var(--nieb-jasny)}
.zw-h1{margin:0;font:800 clamp(28px,4vw,48px)/1.08 var(--kroj),sans-serif;color:#fff}
.zw-ksywa{margin:8px 0 0;font:500 14px/1.4 var(--kroj),sans-serif;color:rgba(255,255,255,.6)}
.zw-dane{display:flex;flex-wrap:wrap;gap:10px 30px;margin:clamp(18px,2.2vw,26px) 0 0;padding:0;list-style:none}
.zw-dane b{display:block;font:700 14px/1.3 var(--kroj),sans-serif;color:#fff}
.zw-dane span{font:500 11.5px/1 var(--kroj),sans-serif;color:rgba(255,255,255,.45)}
.zw-bilans{display:flex;flex-wrap:wrap;gap:1px;margin:clamp(18px,2.2vw,26px) 0 0;padding:0;
  list-style:none;background:rgba(255,255,255,.12)}
.zw-bilans li{flex:1 1 116px;padding:12px 14px;background:var(--czern)}
.zw-bilans b{display:block;font:800 clamp(20px,2.4vw,28px)/1 var(--kroj),sans-serif;color:#fff}
.zw-bilans span{display:block;margin-top:5px;font:500 11px/1.3 var(--kroj),sans-serif;
  color:rgba(255,255,255,.45)}
.zw-wroc{margin:0 0 14px;font:500 11.5px/1 var(--kroj),sans-serif}
.zw-wroc a{color:rgba(255,255,255,.34);transition:color .16s ease}
.zw-wroc a:hover{color:rgba(255,255,255,.7)}

/* --- tresc profilu --- */
.zw-tresc > .dr-h2:first-child{margin-top:0}
.zw-wstep{margin:-6px 0 clamp(18px,2vw,26px);max-width:70ch;
  font:500 14px/1.7 var(--kroj),sans-serif;color:var(--szary)}

/* zdjecia z kolejnych sezonow */
.zw-foto-sezon{position:absolute;right:0;bottom:0;padding:5px 9px;
  background:rgba(0,0,0,.55);color:rgba(255,255,255,.82);
  font:600 10px/1 var(--kroj),sans-serif;letter-spacing:.01em}

/* mecze z udzialem zawodnika */
.zw-mecze{display:flex;flex-direction:column}
.zwm{display:grid;grid-template-columns:62px minmax(0,1fr) 66px minmax(0,1fr) 168px;
  align-items:center;gap:12px;padding:11px 14px;
  background:var(--biel);border:1px solid var(--linia);text-decoration:none;
  transition:border-color .16s ease}
.zwm + .zwm{border-top:0}
.zwm:hover{border-color:var(--nieb)}
.zwm-data{display:flex;flex-direction:column;gap:2px}
.zwm-data b{font:800 14px/1 var(--kroj),sans-serif;color:var(--czern)}
.zwm-data i{font:500 11px/1 var(--kroj),sans-serif;font-style:normal;color:var(--szary-jasny)}
.zwm-dr{display:flex;align-items:center;gap:9px;min-width:0;color:var(--szary-jasny)}
.zwm-dr b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  font:700 13.5px/1.3 var(--kroj),sans-serif;color:var(--czern)}
.zwm-dr img{width:26px;height:26px;object-fit:contain;flex:0 0 auto}
.zwm-gosp{justify-content:flex-end;text-align:right}
.zwm-wynik{font:800 16px/1 var(--kroj),sans-serif;color:var(--czern);text-align:center}
.zwm-wynik i{margin:0 3px;font-style:normal;color:var(--szary-jasny)}
.zwm-udzial{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px 10px}
.zwm-rola{font:600 11px/1 var(--kroj),sans-serif;color:var(--szary)}
.zwm-zn{display:inline-flex;align-items:center;gap:4px}
.zwm-zn b{font:800 11px/1 var(--kroj),sans-serif;color:var(--szary)}

/* podsumowanie sezonu pod lista meczow */
.zw-podsum{display:flex;flex-wrap:wrap;gap:1px;margin:clamp(16px,1.8vw,22px) 0 0;padding:0;
  list-style:none;background:var(--linia);border:1px solid var(--linia)}
.zw-podsum li{flex:1 1 118px;padding:13px 14px;background:var(--biel)}
.zw-podsum b{display:block;font:800 20px/1 var(--kroj),sans-serif;color:var(--czern)}
.zw-podsum span{display:block;margin-top:4px;font:500 11px/1.35 var(--kroj),sans-serif;
  color:var(--szary-jasny)}

/* tabela dorobku */
.zw-tab{min-width:760px}
.zw-tab .dr-tab-nazwa{display:table-cell}
.zw-tab .dr-tab-nazwa a{font-weight:800;color:var(--czern)}
.zw-tab .dr-tab-nazwa a:hover{color:var(--nieb)}
.zw-tab-sezon{display:block;margin-top:2px;font-style:normal;
  font:500 11px/1 var(--kroj),sans-serif;color:var(--szary-jasny)}
.zw-tab-dr{color:var(--szary);font-weight:600}
.zw-tab th em{display:inline-block}
.zw-tab-suma td{background:var(--tlo-2);font-weight:800;border-bottom:0}

@media(max-width:900px){
  .zw-in{grid-template-columns:clamp(140px,34vw,200px) minmax(0,1fr);gap:20px;align-items:start}
  .zwm{grid-template-columns:56px minmax(0,1fr) 58px minmax(0,1fr);gap:10px}
  .zwm-udzial{grid-column:1 / -1;justify-content:flex-start;
    padding-top:9px;border-top:1px solid var(--linia)}
}
@media(max-width:560px){
  .zw-in{grid-template-columns:1fr}
  .zw-foto{width:min(56%,190px)}
  .zw-dane{gap:10px 22px}
  .zw-bilans li{flex-basis:calc(50% - 1px)}
  .zwm{grid-template-columns:52px minmax(0,1fr) 52px minmax(0,1fr);padding:10px 12px}
  .zwm-dr img{width:22px;height:22px}
  .zwm-dr b{font-size:12.5px}
}

/* ==================== OZNACZENIA DRUŻYN ====================
   Kolorowe kółka, których klub używa od kilku lat na Facebooku.
   Wchodzą wszędzie, gdzie na stronie pada nazwa kategorii wiekowej:
   w menu, na kartach drużyn, przy nagłówkach tabel i przy kategoriach
   artykułów. Pliki w /brand/druzyny, mapowanie w mecze.php.            */
.znak-dr{display:inline-block;flex:0 0 auto;vertical-align:middle;object-fit:contain}
/* biały znak U-13 II ginie na jasnym tle, więc dostaje cienką obwódkę */
img.znak-dr[src$="u13iik.png"]{border-radius:50%;box-shadow:inset 0 0 0 1px var(--linia)}

/* trzy znaki szkółki stoją na zakładkę, jak kolejka zawodników */
.znak-szkolka{display:inline-flex;align-items:center;flex:0 0 auto}
.znak-szkolka .znak-dr + .znak-dr{margin-left:-9px}

/* --- mega menu --- */
.mega-druz-btn{align-items:center}
.mega-druz-btn .znak-dr,.mega-druz-btn .znak-szkolka{margin-right:10px}
.mega-druz-btn b{flex:1 1 auto}
.mega-pane-tyt{align-items:center}

/* --- karty drużyn --- */
.dz-nazwa{display:flex;align-items:center;gap:11px}
.dz-karta:hover .znak-dr{transform:scale(1.06);transition:transform .16s ease}

/* --- hero podstrony drużyny i kategorii --- */
/* cały hero drużyny jest wyśrodkowany (.dr-hero-in ma text-align:center),
   więc nagłówek ze znakiem też musi stać na środku, a nie przy lewej */
.dr-h1,.al-hero-h1{display:flex;align-items:center;justify-content:center;
  flex-wrap:wrap;gap:clamp(10px,1.4vw,18px)}
.znak-dr-h1{width:clamp(38px,4.4vw,56px);height:auto}

/* --- nagłówki sekcji w rozgrywkach --- */
.rz-h2a{display:inline-flex;align-items:center;gap:10px}
.rzm-druz{display:inline-flex;align-items:center;gap:7px}

/* --- aktualności --- */
.al-karta-badge{display:flex;align-items:center;gap:0}
.al-karta-badge.ma-znak{padding-left:5px;gap:6px}
.al-feat-meta{display:inline-flex;align-items:center;gap:7px}
.al-katy a span{display:inline-flex;align-items:center;gap:8px;min-width:0}

@media(max-width:640px){
  .dr-h1,.al-hero-h1{gap:10px}
  .znak-dr-h1{width:34px}
}

/* ==================== NOWE FIO ====================
   Podstrona bieżącego projektu z NOWEFIO. Oznaczenia programu (logotypy,
   flaga, godło, plakat budżetowy) to obowiązek z umowy, więc stoją wysoko
   i w oryginalnych plikach z NIW, bez przycinania.                       */
.nav-fio{position:relative}
.nav-fio::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--nieb)}

/* hero korzysta z .al-hero (zdjecie w tle + przyciemnienie) jak reszta
   podstron; tu tylko liczby projektu pod opisem */
.fio-hero-in{width:min(900px,100%)}
.fio-liczby{display:flex;flex-wrap:wrap;justify-content:center;gap:1px;
  margin:clamp(20px,2.4vw,30px) 0 0;padding:0;
  list-style:none;background:rgba(255,255,255,.16)}
.fio-liczby li{flex:1 1 150px;padding:13px 16px;background:rgba(10,13,17,.72);text-align:center}
.fio-liczby b{display:block;font:800 clamp(18px,2.2vw,26px)/1 var(--kroj),sans-serif;color:#fff}
.fio-liczby span{display:block;margin-top:5px;font:500 11px/1.35 var(--kroj),sans-serif;
  color:rgba(255,255,255,.45)}

.fio-tresc{width:min(1100px,100%);margin:0 auto;
  padding:clamp(30px,3.6vw,50px) clamp(20px,4vw,48px) 76px}
.fio-tresc > .dr-h2:first-child{margin-top:0}

.fio-oznaczenia{display:grid;grid-template-columns:minmax(0,1fr) 240px;
  gap:clamp(18px,2.4vw,34px);align-items:start;
  padding:clamp(20px,2.4vw,30px);background:var(--biel);border:1px solid var(--linia)}
.fio-ozn-lewo{display:flex;flex-direction:column;gap:clamp(14px,2vw,22px);align-items:flex-start}
.fio-ozn-lewo img{width:100%;height:auto}
.fio-ozn-flagi{max-width:340px}
.fio-ozn-plakat{display:block;border:1px solid var(--linia);padding:10px;
  transition:border-color .16s ease}
.fio-ozn-plakat:hover{border-color:var(--nieb)}
.fio-ozn-plakat img{width:100%;height:auto}
.fio-ozn-plakat span{display:block;margin-top:9px;
  font:500 11px/1.4 var(--kroj),sans-serif;color:var(--szary-jasny)}

.fio-stare{display:flex;flex-wrap:wrap;gap:10px}
.fio-stara{display:flex;flex-direction:column;gap:4px;padding:13px 18px;
  background:var(--biel);border:1px solid var(--linia);transition:border-color .16s ease}
.fio-stara:hover{border-color:var(--nieb)}
.fio-stara b{font:800 14px/1 var(--kroj),sans-serif;color:var(--czern)}
.fio-stara span{font:500 11.5px/1 var(--kroj),sans-serif;color:var(--szary-jasny)}

@media(max-width:760px){
  .fio-oznaczenia{grid-template-columns:1fr}
  .fio-ozn-plakat{max-width:280px}
  .fio-liczby li{flex-basis:calc(50% - 1px)}
}

/* --- mega menu drużyn: szerzej i większe znaki ---
   Nazwy typu "JUNIORZY STARSI" i "MŁODA KORZENNA" łamały się na dwie linie,
   a znak przy 24 px ginął obok wersalików. Kolumna z listą dostaje tyle
   miejsca, ile potrzebuje najdłuższa nazwa, a panel obok resztę.        */
.mega-in.mega-druz{width:min(1480px,100%)}
.mega-druz{grid-template-columns:minmax(320px,390px) minmax(0,1fr)}
.mega-druz-btn{padding-top:12px;padding-bottom:12px;gap:9px}
.mega-druz-btn b{white-space:nowrap}
/* odstep robi juz `gap`, wiec bez dodatkowego marginesu - inaczej znak
   odjezdzal od nazwy o 22 px */
.mega-druz-btn .znak-dr,.mega-druz-btn .znak-szkolka{margin-right:0}
.mega-druz-btn .znak-dr{width:37px;height:37px}
.znak-szkolka .znak-dr{width:32px;height:32px}
.mega-pane-tyt .znak-dr{width:46px;height:46px}

@media(max-width:1180px){
  .mega-druz{grid-template-columns:minmax(272px,320px) minmax(0,1fr);gap:clamp(22px,2.6vw,40px)}
  .mega-druz-btn b{font-size:15.5px}
  .mega-druz-btn .znak-dr{width:31px;height:31px}
  .znak-szkolka .znak-dr{width:27px;height:27px}
  .mega-pane-tyt .znak-dr{width:38px;height:38px}
}

/* --- znak kategorii na stronie głównej ---
   W boksie najbliższego meczu znak stoi przed nazwą drużyny, w kartach
   nadchodzących meczów zastępuje nazwę: kolor mówi to samo krócej. */
.mbox-kat{display:inline-flex;align-items:center;gap:8px;top:-34px;padding-top:8px}
.mbox-kat .znak-dr{width:21px;height:21px}

.kmecz{position:relative}
.kmecz-znak{position:absolute;right:14px;top:14px;z-index:2;line-height:0}
.kmecz-znak .znak-dr{width:40px;height:40px}
/* data nie może wejść pod znak w rogu */
.kmecz-gora{padding-right:66px}
.kmecz-liga{padding-right:0}

@media(max-width:640px){
  .kmecz-znak .znak-dr{width:34px;height:34px}
  .kmecz-gora{padding-right:58px}
}

/* --- równa szerokość kart nadchodzących meczów ---
   Karta ma `flex:0 0 300px`, ale domyślne `min-width:auto` na elemencie
   flex nie pozwala zejść poniżej najdłuższej niełamliwej treści, a nazwa
   rozgrywek jest `nowrap`. Efekt: każda karta była innej szerokości,
   zależnie od długości nazwy ligi. `min-width:0` przywraca deklarowaną
   szerokość, a nazwa ligi ucina się wielokropkiem, tak jak było w zamyśle. */
.kmecz{min-width:0}
.kmecz-gora,.kmecz-tytul{min-width:0}
.kmecz-liga{max-width:100%}

/* --- panel Młodej Korzennej w mega menu ---
   Trzy grupy stały tuż pod opisem, bez oddechu, bo w tym panelu nie ma
   boksu z meczem, który w pozostałych zakładkach robił odstęp. */
.mega-pane-linki-mloda{margin-top:clamp(20px,2vw,28px)}
.mega-mloda-poz{display:inline-flex;align-items:center;gap:10px;min-width:0}
.mega-mloda-poz .znak-dr{width:22px;height:22px}

/* ============ PRZEŁĄCZNIK SEZONU W SIDEBARZE ============
   Zastępuje rząd kafelków, w którym nieaktywne były szare, a aktywny czarny.
   Jedno pole zamiast dwudziestu kafelków i zawsze w tym samym miejscu,
   na podstronie drużyny i na karcie zawodnika.                            */
.drb-sezon-opis{margin:0 0 12px;font:500 12px/1.55 var(--kroj),sans-serif;color:var(--szary)}
.drb-sezon-pole{position:relative;display:block}
.drb-sezon-pole select{appearance:none;-webkit-appearance:none;width:100%;
  padding:12px 40px 12px 14px;background:var(--biel);color:var(--czern);
  border:1px solid var(--linia);border-radius:0;cursor:pointer;
  font:700 13px/1.3 var(--kroj),sans-serif;transition:border-color .16s ease}
.drb-sezon-pole select:hover,.drb-sezon-pole select:focus{border-color:var(--nieb);outline:0}
.drb-sezon-pole svg{position:absolute;right:14px;top:50%;transform:translateY(-50%);
  width:16px;height:16px;pointer-events:none;fill:none;stroke:var(--szary);
  stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ============ SIDEBAR KARTY ZAWODNIKA ============ */
.drb-tyt-dop{display:block;margin-top:4px;font:500 11.5px/1.35 var(--kroj),sans-serif;
  color:var(--szary-jasny);text-transform:none;letter-spacing:0}
.zwb-kadra{display:flex;flex-direction:column;border-top:1px solid var(--linia)}
.zwb-zaw{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:11px;
  padding:9px 2px;border-bottom:1px solid var(--linia);transition:color .16s ease}
.zwb-zaw:hover .zwb-imie b{color:var(--nieb)}
.zwb-foto{width:36px;height:44px;overflow:hidden;background:var(--tlo-2);
  display:flex;align-items:center;justify-content:center}
.zwb-foto img{width:100%;height:100%;object-fit:cover;object-position:center 12%}
.zwb-foto .zwb-herb{width:18px;height:18px;object-fit:contain;opacity:.2}
.zwb-imie{min-width:0;display:flex;flex-direction:column;gap:1px}
.zwb-imie i{font-style:normal;font:500 11px/1.2 var(--kroj),sans-serif;color:var(--szary-jasny);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zwb-imie b{font:700 13px/1.25 var(--kroj),sans-serif;color:var(--czern);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zwb-nr{font:800 12.5px/1 var(--kroj),sans-serif;color:var(--szary-jasny);
  font-variant-numeric:tabular-nums}

/* na wąskim ekranie sidebar ląduje pod treścią, ale przełącznik sezonu
   musi zostać nad nią, bo to nawigacja, a nie dodatek */
@media(max-width:1080px){
  .dr-uklad{display:flex;flex-direction:column}
  .dr-bok{display:contents}
  .drb-sezon{order:-1;margin-bottom:4px}
  /* bez min-width:0 kolumna tresci rozpycha strone szeroka tabela dorobku */
  .dr-glowna{order:0;min-width:0;width:100%}
  .drb{min-width:0}
}

/* ==================== ROZGRYWKI: LISTA DRUŻYN Z BOKU ====================
   Wcześniej filtr był rzędem chipów nad treścią: przy siedmiu zespołach
   zajmował całą szerokość, łamał się na dwie linie i nie mówił, ile czego
   jest. Teraz stoi z boku, z kolorem drużyny i licznikiem pozycji.       */
.rz-uklad{width:min(1460px,100%);margin:0 auto;
  display:grid;grid-template-columns:264px minmax(0,1fr);
  gap:clamp(22px,2.6vw,40px);align-items:start}
.rz-uklad > .dr-tresc{width:auto;margin:0;padding-left:0;padding-right:clamp(20px,4vw,48px)}
.rz-bok{position:sticky;top:calc(64px + 24px);
  padding:clamp(26px,3vw,44px) 0 0 clamp(20px,4vw,48px)}
.rz-bok-lista{display:flex;flex-direction:column;border-top:1px solid var(--linia)}
.rz-bok-poz{display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:11px;
  padding:11px 2px;border-bottom:1px solid var(--linia);
  border-left:2px solid transparent;padding-left:12px;margin-left:-14px;
  transition:border-color .16s ease,background .16s ease}
.rz-bok-poz b{min-width:0;font:700 13.5px/1.25 var(--kroj),sans-serif;color:var(--szary);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .16s ease}
.rz-bok-poz i{font-style:normal;font:600 11.5px/1 var(--kroj),sans-serif;color:var(--szary-jasny);
  font-variant-numeric:tabular-nums}
.rz-bok-herb{display:flex;align-items:center;justify-content:center;width:26px;height:26px}
.rz-bok-herb img{width:26px;height:26px;object-fit:contain}
.rz-bok-poz:hover b{color:var(--czern)}
.rz-bok-poz:hover{border-left-color:var(--linia)}
.rz-bok-poz.wybrany{border-left-color:var(--znak,var(--nieb));background:var(--tlo-2)}
.rz-bok-poz.wybrany b{color:var(--czern);font-weight:800}
.rz-bok-poz.wybrany i{color:var(--czern)}
/* drużyna bez ani jednej pozycji w tym widoku: widoczna, ale wyciszona */
.rz-bok-poz.pusty b,.rz-bok-poz.pusty i{color:var(--szary-jasny)}
.rz-bok-poz.pusty .rz-bok-herb{opacity:.45}

@media(max-width:1080px){
  .rz-uklad{display:block}
  .rz-uklad > .dr-tresc{padding-left:clamp(20px,4vw,48px);padding-top:clamp(18px,2vw,26px)}
  .rz-bok{position:static;padding:clamp(26px,3vw,44px) clamp(20px,4vw,48px) 0}
  .rz-bok-lista{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
    gap:0 clamp(14px,2vw,26px);border-top:0}
  .rz-bok-poz{margin-left:0;padding-left:10px;border-top:1px solid var(--linia);border-bottom:0}
}

/* --- kronika zawodnika ---
   Tekst pisany ręcznie przez klub, ze zdjęciami z lat 2009 do 2014.
   Zdjęcia wiszą na starym CDN Google, więc dostają ramkę i własny odstęp,
   żeby brak jednego z nich nie rozwalał rytmu tekstu.                    */
.zw-kronika{max-width:74ch;font:400 15px/1.75 var(--kroj),sans-serif;color:var(--czern)}
.zw-kronika p{margin:0 0 clamp(16px,1.8vw,24px)}
.zw-kronika img{width:100%;max-width:520px;height:auto;margin:0 0 12px;
  background:var(--tlo-2);border:1px solid var(--linia)}
.zw-kronika br + br{display:none}
.zw-kronika h3{margin:clamp(22px,2.4vw,30px) 0 8px;
  font:800 16px/1.3 var(--kroj),sans-serif;color:var(--czern)}

/* Odstęp sekcji na telefonie.
   Reguła w bloku @media wyżej przegrywała, bo bazowe `.akt` i `.nadch`
   (padding-top 120 px, rezerwa pod absolutnie pozycjonowany pas hero)
   są w pliku PÓŹNIEJ i przy równej wadze wygrywa ostatnia. Na telefonie
   pas jest w normalnym układzie, więc żadna rezerwa nie jest potrzebna. */
@media(max-width:900px){
  .akt,.nadch{padding-top:clamp(44px,10vw,64px)}
}

/* <picture> nie może wchodzić między .hero-foto a <img>, bo to img ma
   pozycjonowanie i kadrowanie */
.hero-foto picture{display:contents}

/* --- przycisk "Dolacz do klubu" w prawej czesci naglowka ---
   Ma sie wyrozniac na tle linkow, wiec dostaje pelne tlo, nie sam tekst.
   Nad zdjeciem hero naglowek jest przezroczysty i wszystko jest biale,
   dlatego tam przycisk odwraca sie na bialy z niebieskim napisem - inaczej
   niebieskie tlo gubi sie na ciemnym kadrze.                              */
/* Zakladka klubu: scienty lewy dolny rog to ten sam motyw, co boks meczowy
   w hero i zakladka "kto gra" - dzieki temu przycisk czyta sie jako element
   TEJ strony, a nie kolejny okragly guzik z internetu. Kolor trzyma sie
   niebieskiego takze nad zdjeciem, bo bialy gubil sie na jasnych kadrach. */
.nav-dolacz{
  display:inline-flex;align-items:center;white-space:nowrap;
  padding:10px 18px 11px;background:var(--nieb);color:#fff;
  font:800 11.5px/1 var(--kroj),sans-serif;text-transform:uppercase;letter-spacing:.03em;
  clip-path:polygon(0 0,100% 0,100% 100%,10px 100%,0 calc(100% - 10px));
  transition:background .18s;
}
.nav-dolacz:hover{background:#1257c4;color:#fff}
@media(max-width:1180px){.nav-dolacz{padding:8px 13px;font-size:11.5px}}
@media(max-width:900px){.nav-dolacz{display:none}}   /* na telefonie jest w menu pelnoekranowym */
/* ten sam przycisk w menu pelnoekranowym (panel ma odwrocona palete) */
.menu-dolacz{
  display:inline-flex;align-items:center;justify-content:center;margin-top:26px;
  padding:14px 26px;border-radius:99px;background:var(--nieb);color:#fff;
  font:800 13px/1 var(--kroj),sans-serif;text-transform:uppercase;letter-spacing:.02em;
}
.menu-dolacz:hover{background:#1257c4;color:#fff}

/* --- pas z filmami z YouTube ---
   Kafelki 16:9 w rzedzie, na waskim ekranie przewijane w poziomie.
   Odtwarzacz wchodzi w miejsce miniatury dopiero po kliknieciu.        */
/* Sekcja trzyma sie tej samej siatki co aktualnosci: szerokosc --szer,
   wysrodkowana, z bocznym oddechem. Wczesniej pas nie mial tych regul
   i rozjezdzal sie na cala szerokosc okna, ucinajac pierwszy kafelek. */
.yt{padding:clamp(56px,7vw,88px) 0;background:var(--biel)}
.yt-pas{width:var(--szer);margin:0 auto;padding:0 clamp(16px,4vw,54px);
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,26px)}
.yt-karta{min-width:0}
.yt-foto{position:relative;display:block;width:100%;aspect-ratio:16/9;padding:0;border:0;cursor:pointer;
  overflow:hidden;border-radius:10px;background:var(--tlo-2)}
.yt-foto img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.yt-karta:hover .yt-foto img{transform:scale(1.04)}
.yt-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:62px;height:62px;border-radius:99px;display:grid;place-items:center;
  background:rgba(8,10,14,.62);transition:background .2s,transform .2s}
.yt-play svg{width:30px;height:30px;fill:#fff;stroke:none;margin-left:3px}
.yt-karta:hover .yt-play{background:var(--nieb);transform:translate(-50%,-50%) scale(1.06)}
.yt-tyt{margin:12px 0 4px;font:700 14.5px/1.4 var(--kroj),sans-serif;color:var(--czern);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.yt-data{margin:0;font:600 11.5px/1 var(--kroj),sans-serif;text-transform:uppercase;color:var(--szary-jasny)}
.yt-ramka{width:100%;aspect-ratio:16/9;border:0;border-radius:10px;display:block}
@media(max-width:900px){
  .yt-pas{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:78%;
    overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px}
  .yt-karta{scroll-snap-align:start}
  .yt-play{width:52px;height:52px}
}

/* --- sklad meczowy: wyjsciowa jedenastka i zmiany --- */
.skl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,3vw,44px);margin:0 0 8px}
.skl-h3{margin:0 0 14px;font:800 13px/1.2 var(--kroj),sans-serif;text-transform:uppercase;
  letter-spacing:.04em;color:var(--szary);padding-bottom:10px;border-bottom:1px solid var(--linia)}
.skl-pod{margin:16px 0 8px;font:700 10.5px/1 var(--kroj),sans-serif;text-transform:uppercase;
  letter-spacing:.06em;color:var(--szary-jasny)}
.skl-pod:first-of-type{margin-top:0}
.skl-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.skl-lista li{display:flex;align-items:center;gap:12px;padding:7px 0;
  font:600 14.5px/1.3 var(--kroj),sans-serif;color:var(--czern);border-bottom:1px solid var(--linia)}
.skl-lista li:last-child{border-bottom:0}
.skl-lista a{color:inherit}
.skl-lista a:hover{color:var(--nieb)}
.skl-nr{flex:0 0 26px;height:26px;display:grid;place-items:center;border-radius:6px;
  background:var(--tlo-2);color:var(--szary);font:800 11.5px/1 var(--kroj),sans-serif}
.skl-zmiany .skl-nr{background:rgba(26,110,235,.12);color:var(--nieb)}
.skl-lista i{margin-left:auto;font-style:normal;font:700 11.5px/1 var(--kroj),sans-serif;color:var(--szary-jasny)}
@media(max-width:760px){.skl{grid-template-columns:none;gap:26px}}

/* --- strona meczu: tresc + slupek po prawej (jak na podstronie druzyny) --- */
.mz-uklad{display:grid;grid-template-columns:minmax(0,1fr) clamp(260px,23vw,320px);
  gap:clamp(24px,3vw,48px);align-items:start}
.mz-glowna{min-width:0}
.mz-bok{position:sticky;top:calc(var(--nav-h) + 18px);display:flex;flex-direction:column;gap:18px}
.mzk{display:flex;flex-direction:column}
.mzk-w{padding:11px 0;border-bottom:1px solid var(--linia);display:block;position:relative}
.mzk-w:last-child{border-bottom:0}
.mzk-w:hover .mzk-dr{color:var(--nieb)}
.mzk-dr{display:flex;align-items:center;gap:9px;
  font:600 13px/1.45 var(--kroj),sans-serif;color:var(--czern)}
.mzk-dr img{width:22px;height:22px;object-fit:contain;flex:0 0 auto}
.mzk-dr .znak-zast{width:22px;height:22px;flex:0 0 auto}
.mzk-dr>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mzk-dr b{margin-left:auto}
.mzk-dr b{font:800 13px/1.45 var(--kroj),sans-serif;color:var(--czern);flex:0 0 auto}
.mzk-godz{display:block;margin-top:3px;font:700 11px/1 var(--kroj),sans-serif;color:var(--szary-jasny)}
@media(max-width:1000px){
  .mz-uklad{grid-template-columns:none}
  .mz-bok{position:static}
}

/* sklad jako karty zawodnikow, ciasniejsze niz na podstronie druzyny */
.mzs-dr{margin:22px 0 4px;font:800 13px/1.2 var(--kroj),sans-serif;text-transform:uppercase;
  letter-spacing:.04em;color:var(--czern)}
.mzs-pod{display:flex;align-items:center;gap:8px;margin:18px 0 12px;
  font:700 10.5px/1 var(--kroj),sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--szary-jasny)}
.mzs-pod span{padding:3px 7px;border-radius:99px;background:var(--tlo-2);color:var(--szary);font-size:10px}
.mzs-kadra{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px}
.mzs-kadra .dr-zaw-imie{margin-top:10px;font-size:11.5px}
.mzs-kadra .dr-zaw-nazw{font-size:13px}
.mzs-kadra .dr-zaw{padding-bottom:12px}
/* wchodzacy z lawki: numer w kolorze klubu, zeby odroznic ich od pierwszego skladu */
.mzs-zm .dr-zaw-nr{background:var(--nieb);color:#fff}
.mzs-czas{position:absolute;right:0;bottom:0;padding:5px 8px;background:rgba(8,10,14,.72);
  color:#fff;font:800 11px/1 var(--kroj),sans-serif}

/* --- zaproszenie do klubu w stopce mega menu (Mecze i Drużyny) --- */
.mega-dolacz{display:flex;align-items:center;gap:16px;flex-wrap:wrap;
  padding:14px 18px;border:1px solid var(--linia);border-radius:12px;background:var(--tlo-2);
  transition:border-color .2s,background .2s}
.mega-dolacz:hover{border-color:var(--nieb);background:rgba(26,110,235,.05)}
.mega-dolacz-txt{display:flex;flex-direction:column;gap:3px;
  font:500 12px/1.35 var(--kroj),sans-serif;color:var(--szary)}
.mega-dolacz-txt b{font:800 13.5px/1.2 var(--kroj),sans-serif;color:var(--czern);text-transform:none}
.mega-dolacz-btn{margin-left:auto;padding:11px 20px;background:var(--nieb);color:#fff;
  clip-path:polygon(0 0,100% 0,100% 100%,10px 100%,0 calc(100% - 10px));
  font:800 11.5px/1 var(--kroj),sans-serif;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}
.mega-dolacz:hover .mega-dolacz-btn{background:#1257c4}
@media(max-width:760px){.mega-dolacz-btn{margin-left:0;width:100%;text-align:center}}

/* --- pasek o ciasteczkach (wariant 2: ciemny pas z herbem) ---
   Waski pas przy dolnej krawedzi, w kolorze stopki, z niebieska kreska
   po lewej. Zajmuje jeden wiersz, wiec zaslania minimum tresci.          */
.ciast{position:fixed;left:0;right:0;bottom:0;z-index:1400;
  display:flex;align-items:center;gap:clamp(12px,1.6vw,20px);
  padding:14px clamp(16px,4vw,54px);
  background:var(--czern);color:#fff;border-top:1px solid rgba(255,255,255,.10);
  box-shadow:inset 4px 0 0 var(--nieb)}
.ciast[hidden]{display:none}
.ciast-herb{width:34px;height:34px;flex:0 0 auto}
.ciast-txt{margin:0;font:400 12.5px/1.55 var(--kroj),sans-serif;color:rgba(255,255,255,.72);max-width:78ch}
.ciast-txt b{color:#fff;font-weight:800}
.ciast-wiecej{margin-left:auto;white-space:nowrap;
  font:600 11.5px/1 var(--kroj),sans-serif;text-transform:uppercase;letter-spacing:.03em;
  color:rgba(255,255,255,.62);border-bottom:1px solid rgba(255,255,255,.25);padding-bottom:3px}
.ciast-wiecej:hover{color:#fff;border-color:var(--nieb)}
.ciast-ok{flex:0 0 auto;padding:11px 22px;border:0;background:var(--nieb);color:#fff;cursor:pointer;
  font:800 11.5px/1 var(--kroj),sans-serif;text-transform:uppercase;letter-spacing:.03em;
  clip-path:polygon(0 0,100% 0,100% 100%,10px 100%,0 calc(100% - 10px));transition:background .18s}
.ciast-ok:hover{background:#1257c4}
.ciast.znika{opacity:0;transform:translateY(10px);transition:opacity .25s,transform .25s}
@media(max-width:860px){
  .ciast{flex-wrap:wrap;gap:10px 14px;padding:14px clamp(14px,4vw,20px)}
  .ciast-herb{width:28px;height:28px}
  .ciast-txt{flex:1 1 100%;order:2;font-size:12px}
  .ciast-wiecej{order:3}
  .ciast-ok{order:4;margin-left:auto}
}

/* --- galerie w wynikach wyszukiwania --- */
.szw-galerie{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  gap:clamp(12px,1.6vw,20px);margin:0 0 34px}
.szw-gal{display:block;background:var(--biel);border:1px solid var(--linia);overflow:hidden}
.szw-gal:hover{border-color:var(--nieb)}
.szw-gal-foto{display:block;aspect-ratio:4/3;background:var(--tlo-2);overflow:hidden;
  display:grid;place-items:center}
.szw-gal-foto img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.szw-gal:hover .szw-gal-foto img{transform:scale(1.04)}
.szw-gal-foto .szw-gal-herb{width:40px;height:40px;object-fit:contain;opacity:.18}
.szw-gal-tyt{display:block;margin:12px 12px 4px;font:700 13.5px/1.35 var(--kroj),sans-serif;color:var(--czern)}
.szw-gal-meta{display:block;margin:0 12px 14px;font:600 11px/1.4 var(--kroj),sans-serif;
  text-transform:uppercase;letter-spacing:.02em;color:var(--szary-jasny)}
