/* Granica Portal: skin „Linia Granicy” (P9, motyw alpha12; P10, alpha13: zieleń herbu zamiast czerni i gładkie krawędzie).
   Idea: klub nazywa się Granica, a herb przecina ukośny pas. Cały serwis jest zbudowany wokół jednej ukośnej linii (kąt herbu), cienkich linii boiska,
   dużych liczb i zdjęć w duotonie klubowym. Zamiast zaokrąglonych kart z cieniem: ścięte narożniki, linie, odstępy i typografia.
   P10: (1) tło sekcji to zieleń herbu (#009B3A i jej odcienie), nie ciemna zieleń/czerń; atrament --ink tylko dla tekstu i linii;
        (2) żadnych twardych przystanków gradientów liniowych pod kątem: pasy herbu to małe obrazy SVG (data-URI), cięcia to clip-path (oba z antyaliasingiem);
        (3) ruch tylko transform/opacity: bez animowanego clip-path, bez position:fixed z gradientami, bez rozmycia tła nagłówka.
   Wszystko czysty CSS (bez obcych hostów); prefers-reduced-motion respektowane. */

:root{
 /* kolory herbu: jedyna prawda */
 --green:#009B3A;--blue:#00AEEF;--yellow:#FFF200;--silver:#C4C4C4;
 /* odcienie zieleni herbu: biały zwykły tekst tylko na --green-d i ciemniejszych; na --green tylko tekst duży/pogrubiony */
 --green-d:#007a31;--green-dd:#00682b;--green-l:#1bb04e;
 --dk:var(--green-dd);          /* dawne „ciemne tło”: teraz głęboka zieleń herbu */
 --gd:#007a31;                  /* tło zdjęć w duotonie i wiersza klubu w tabeli */
 --ink:#0b1f14;                 /* tylko tekst na jasnym tle i drobne linie */
 --deep:#0a4a26;
 --paper:#f3f5ee;--paper2:#e8eee3;--rule:#bccabd;
 --on-d:#e6f3ea;--on-d-mut:#cfe6d7;   /* tekst na zieleni (kontrast min. 4.5:1 na #00682b) */
 --hero-bg:linear-gradient(100deg,#00682b 0%,#007a31 48%,#009B3A 100%);
 --cut:24px;--ease:cubic-bezier(.7,0,.2,1);--ease-soft:cubic-bezier(.3,.7,.2,1);
 --stripe-w:52px;
 /* pasy herbu jako SVG: krawędzie są antyaliasowane (twarde stopy gradientu pod kątem dawały schodki). Kolejność rysowania: od najdalszej od środka, każda następna zakrywa poprzednią (bez szczelin). */
 --band-up:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 140' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M0 148L1000 48V9L0 109z'/%3E%3Cpath fill='%23FFF200' d='M0 148L1000 48V16L0 116z'/%3E%3Cpath fill='%2300AEEF' d='M0 148L1000 48V21L0 121z'/%3E%3Cpath fill='%23FFF200' d='M0 148L1000 48V35L0 135z'/%3E%3Cpath fill='%23f3f5ee' d='M0 140L1000 40V150H0z'/%3E%3C/svg%3E");
 --band-dn:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 140' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M0 92L1000 -8V31L0 131z'/%3E%3Cpath fill='%23FFF200' d='M0 92L1000 -8V24L0 124z'/%3E%3Cpath fill='%2300AEEF' d='M0 92L1000 -8V19L0 119z'/%3E%3Cpath fill='%23FFF200' d='M0 92L1000 -8V5L0 105z'/%3E%3Cpath fill='%23f3f5ee' d='M0 100L1000 0V-10H0z'/%3E%3C/svg%3E");
 --sweep:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M0 0H100V100H0z'/%3E%3Cpath fill='%23FFF200' d='M0 0H82V100H0z'/%3E%3Cpath fill='%2300AEEF' d='M0 0H70V100H0z'/%3E%3Cpath fill='%23FFF200' d='M0 0H12V100H0z'/%3E%3C/svg%3E");
 --card-band:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 70 6' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M3.46 0H70L66.5 6H0z'/%3E%3Cpath fill='%23FFF200' d='M3.46 0H50L46.5 6H0z'/%3E%3Cpath fill='%2300AEEF' d='M3.46 0H44L40.5 6H0z'/%3E%3Cpath fill='%23FFF200' d='M3.46 0H18L14.5 6H0z'/%3E%3C/svg%3E");
 --kick-bar:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 46 5' preserveAspectRatio='none'%3E%3Cpath fill='%2300AEEF' d='M3.4 0H46L42.6 5H0z'/%3E%3Cpath fill='%23FFF200' d='M3.4 0H32L28.6 5H0z'/%3E%3C/svg%3E");
 --pitch:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 560 560'%3E%3Cg fill='none' stroke='%23007a31' stroke-opacity='.08' stroke-width='2'%3E%3Ccircle cx='280' cy='280' r='150'/%3E%3Cpath d='M280 0V560M0 280h130M430 280h130'/%3E%3C/g%3E%3Ccircle cx='280' cy='280' r='5' fill='%23007a31' fill-opacity='.1'/%3E%3C/svg%3E");
 --diag-bands:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 1000' preserveAspectRatio='xMidYMid slice'%3E%3Cpath fill='%23fff' d='M742 0H972L608 1000H378z'/%3E%3Cpath fill='%23FFF200' d='M742 0H942L578 1000H378z'/%3E%3Cpath fill='%2300AEEF' d='M742 0H922L558 1000H378z'/%3E%3Cpath fill='%23FFF200' d='M742 0H762L398 1000H378z'/%3E%3C/svg%3E");
 --diag-bands-soft:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 1000' preserveAspectRatio='xMidYMid slice'%3E%3Cpath fill='%23FFF200' fill-opacity='.32' d='M742 0H762L398 1000H378z'/%3E%3Cpath fill='%2300AEEF' fill-opacity='.28' d='M762 0H922L558 1000H398z'/%3E%3Cpath fill='%23FFF200' fill-opacity='.3' d='M922 0H942L578 1000H558z'/%3E%3Cpath fill='%23fff' fill-opacity='.18' d='M942 0H972L608 1000H578z'/%3E%3C/svg%3E");
}

/* ---------- papier i linie boiska (jeden statyczny obraz; bez warstwy fixed z gradientami, więc przewijanie niczego nie przemalowuje) ---------- */
body{background:var(--paper) var(--pitch) no-repeat 74% 560px/min(560px,80vw) auto}
.gp-veil{display:none}
h1,h2,h3,h4{text-wrap:balance}
p,li{text-wrap:pretty}

/* ---------- jeden motyw: ukośne cięcie z pasem herbu (hero, nagłówki podstron, stopka) ---------- */
.gp-hero,.gp-pagehead,.gp-foot{--k:clamp(34px,5vw,72px)}
/* cięcie i pas herbu to jeden obraz SVG (krawędzie antyaliasowane, papier rysowany w tym samym obrazie: żadnych szczelin ani prześwitów zieleni między warstwami) */
.gp-hero::after,.gp-pagehead::after{content:none}
.gp-hero::before,.gp-pagehead::before{content:"";position:absolute;left:0;right:0;bottom:0;height:calc(var(--k) * 1.4);z-index:5;pointer-events:none;background:var(--band-up) 0 0/100% 100% no-repeat}
.gp-hero{border-radius:0;padding-bottom:0;background:var(--hero-bg)}

/* ---------- nagłówek ---------- */
.gp-head{background:var(--green-dd)}
.gp-head.is-stuck,.home .gp-head.is-stuck{background:var(--green-dd);box-shadow:none;border-bottom:1px solid rgba(255,255,255,.16);-webkit-backdrop-filter:none;backdrop-filter:none}
.home .gp-head{background:linear-gradient(180deg,rgba(0,70,28,.5),rgba(0,70,28,0))}
.gp-menu a{position:relative;border-bottom:0;padding:6px 0;letter-spacing:.07em}
.gp-menu a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--yellow);transform:scaleX(0) skewX(-30deg);transform-origin:left;transition:transform .3s var(--ease)}
.gp-menu a:hover::after,.gp-menu .current-menu-item>a::after,.gp-menu .current_page_item>a::after{transform:scaleX(1) skewX(-30deg)}
.gp-menu a:hover,.gp-menu .current-menu-item>a{border-bottom-color:transparent}
.gp-band{display:none}

/* ---------- hero: tablica wyniku ---------- */
/* zmiana slajdu: przenikanie (opacity) i pas herbu przecinający ekran (transform); bez animowanego clip-path */
.gp-slide{background:var(--green-dd);opacity:0;visibility:hidden;min-height:clamp(460px,64vh,640px);transition:opacity .6s ease,visibility 0s linear .6s}
.gp-slide.is-active{opacity:1;visibility:visible;z-index:2;transition:opacity .6s ease,visibility 0s}
.gp-slide.gp-prev{opacity:1;visibility:visible;z-index:1;transition:none}
.gp-slides{position:relative}
.gp-slides::after{content:"";position:absolute;top:-5%;bottom:-5%;left:0;width:var(--stripe-w);z-index:4;pointer-events:none;opacity:0;background:var(--sweep) 0 0/100% 100% no-repeat;transform:translate3d(110vw,0,0) skewX(-20deg)}
.gp-hero-multi.gp-wiping .gp-slides::after{animation:gp-sweep .95s var(--ease) both}
@keyframes gp-sweep{from{opacity:1;transform:translate3d(110vw,0,0) skewX(-20deg)}to{opacity:1;transform:translate3d(-14vw,0,0) skewX(-20deg)}}
.gp-hero-panel{background:radial-gradient(90% 130% at 100% 0%,rgba(255,255,255,.12),rgba(255,255,255,0) 62%),linear-gradient(100deg,var(--green-dd) 0,var(--green-d) 72%);clip-path:polygon(0 0,62% 0,50% 100%,0 100%)}
.gp-hero-blue{clip-path:polygon(63.2% 0,67% 0,55% 100%,51.2% 100%)}
.gp-hero-yb{clip-path:polygon(62% 0,63.2% 0,51.2% 100%,50% 100%)}
.gp-pc-a{fill:#00923a}.gp-pc-b{fill:#008a36}
.gp-hero-photo-wrap{position:absolute;inset:0}
.gp-slide-photo::before{content:"";position:absolute;inset:0;z-index:-3;background:var(--gd);mix-blend-mode:color}
.gp-slide-photo .gp-hero-photo{mix-blend-mode:luminosity}
.gp-hero-in{max-width:min(56%,760px)}
.gp-kick{font-size:13px;letter-spacing:.24em;color:#fff}
.gp-kick::before{width:46px;height:5px;background:var(--kick-bar) 0 0/100% 100% no-repeat;transform:none}
.gp-big{font-size:clamp(40px,6.6vw,96px);line-height:.9;letter-spacing:-.012em;margin:14px 0 14px}
.gp-big .gp-vs{display:inline-block;color:var(--ink);background:var(--yellow);padding:.02em .22em .0;transform:skewX(-14deg) translateY(-.04em);font-size:.5em;vertical-align:.38em;margin:0 .15em}
.gp-hero-meta{font-size:17px;max-width:46ch}
.gp-cd{display:inline-flex;align-items:baseline;gap:.35em;font-weight:700}
.gp-cd b{font-size:clamp(30px,3.6vw,46px);color:var(--yellow);letter-spacing:.02em}
.gp-btn{border-radius:0;background:var(--yellow);padding:12px 24px;font-size:15px;clip-path:polygon(14px 0,100% 0,calc(100% - 14px) 100%,0 100%);transition:transform .2s var(--ease),filter .2s}
.gp-btn:hover{transform:translateX(4px)}
.gp-last{border:0;border-radius:0;background:#fff;color:var(--ink);padding:14px 30px 18px;right:clamp(16px,4vw,64px);bottom:calc(var(--k) + 6px);clip-path:polygon(18px 0,100% 0,calc(100% - 18px) 100%,0 100%);box-shadow:none}
.gp-last b{font-size:clamp(44px,5vw,66px)}
.gp-hero-ctl{bottom:calc(var(--k) + 10px)}
.gp-hc{border-radius:0;background:rgba(0,86,35,.78)}
.gp-hero-multi .gp-slide{padding-bottom:calc(var(--k) + 50px)}
.gp-slide{padding-bottom:calc(var(--k) + 30px)}

/* ---------- pas kibica pod hero: forma, miejsce w tabeli, kalendarz, aplikacja ---------- */
.gp-fanbar-wrap{--k:clamp(34px,5vw,72px);position:relative;z-index:6;margin-top:calc(var(--k) * -.42);margin-bottom:6px}
.gp-fanbar{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));background:#fff;border-bottom:4px solid var(--green);clip-path:polygon(0 0,calc(100% - var(--cut)) 0,100% var(--cut),100% 100%,0 100%)}
.gp-fb-cell,.gp-fb-act{position:relative;display:flex;flex-direction:column;justify-content:center;gap:2px;min-height:78px;padding:12px 20px;color:var(--ink);text-decoration:none}
.gp-fb-cell+.gp-fb-cell,.gp-fb-cell+.gp-fb-act,.gp-fb-act+.gp-fb-act{border-left:1px solid var(--rule)}
.gp-fb-cell small,.gp-fb-act small{font:700 12px var(--hf);letter-spacing:.16em;text-transform:uppercase;color:var(--mut)}
.gp-fb-cell b{font:800 clamp(30px,2.8vw,40px)/1 var(--hf);font-variant-numeric:tabular-nums;color:var(--green-d)}
.gp-fb-cell b i{font-style:normal;font-size:.5em;letter-spacing:.06em;color:var(--ink);margin-left:.45em}
.gp-fb-form{font:800 26px/1 var(--hf);letter-spacing:.08em}
.gp-fb-act{font:800 20px/1.05 var(--hf);text-transform:uppercase;letter-spacing:.04em;color:var(--green-d);transition:background-color .2s,color .2s}
.gp-fb-act::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--yellow);transform:scaleY(0);transform-origin:top;transition:transform .25s var(--ease)}
.gp-fb-act:hover,.gp-fb-act:focus-visible{background:var(--green-d);color:#fff}
.gp-fb-act:hover small,.gp-fb-act:focus-visible small{color:var(--on-d)}
.gp-fb-act:hover::before,.gp-fb-act:focus-visible::before{transform:scaleY(1)}
.gp-fb-act:focus-visible{outline:3px solid var(--blue);outline-offset:-3px}
.gp-fb-act.gp-fb-app{background:var(--yellow);color:var(--ink)}
.gp-fb-act.gp-fb-app small{color:#3a3a00}
.gp-fb-act.gp-fb-app:hover,.gp-fb-act.gp-fb-app:focus-visible{background:var(--green-d);color:#fff}

/* forma jest już w pasie kibica: w pasku wyników pod nim nie powtarzamy */
.gp-fanbar-wrap+.gp-pad .gp-strip .gp-form{display:none}

/* ---------- sekcje: numer, tytuł, linia ---------- */
.gp-home{counter-reset:sec}
.gp-home .gp-h4{counter-increment:sec;margin:0 0 14px;font-size:22px;letter-spacing:.05em;gap:12px}
.gp-home .gp-h4::before{content:counter(sec,decimal-leading-zero);width:auto;height:auto;background:none;outline:0;transform:none;font:800 15px var(--hf);letter-spacing:.14em;color:#fff;background:var(--dk);padding:3px 9px 2px 7px;clip-path:polygon(0 0,100% 0,calc(100% - 7px) 100%,0 100%)}
.gp-h4::after{content:"";flex:1;height:1px;background:var(--rule)}
.gp-h4::before{outline:0}
.gp-pad{padding-top:calc(var(--k,48px) * .6);padding-bottom:60px}
.gp-sec,.gp-strip,.gp-grid3{margin-top:34px}
/* stopka jest poniżej pierwszego ekranu: renderuje się dopiero blisko widoku. (Sekcje z numerowanymi nagłówkami celowo bez content-visibility: contain:style zerowałby licznik 01, 02, 03...) */
.gp-foot{content-visibility:auto;contain-intrinsic-size:auto 420px}

/* ---------- karty = niezamknięte pola z linią (bez ramek, cieni i zaokrągleń) ---------- */
.gp-card{background:transparent;border:0;border-top:2px solid var(--ink);border-radius:0;box-shadow:none;padding:18px 0 4px;position:relative}
.gp-card::before{content:"";position:absolute;left:0;top:-2px;width:70px;height:6px;background:var(--card-band) 0 0/100% 100% no-repeat}
.gp-grid3{gap:34px}
.gp-article-card{background:#fff;border:0;border-top:5px solid var(--green);padding:28px 30px;clip-path:polygon(0 0,calc(100% - var(--cut)) 0,100% var(--cut),100% 100%,0 100%)}

/* ---------- wyniki: bilety ---------- */
.gp-strip{gap:12px;margin-top:30px}
.gp-res{position:relative;background:#fff;border:0;border-bottom:4px solid var(--green);min-width:158px;padding:11px 16px 11px 20px;
 -webkit-mask:radial-gradient(circle 8px at 0 50%,#0000 6.2px,#000 7.6px) left/51% 100% no-repeat,radial-gradient(circle 8px at 100% 50%,#0000 6.2px,#000 7.6px) right/51% 100% no-repeat;
 mask:radial-gradient(circle 8px at 0 50%,#0000 6.2px,#000 7.6px) left/51% 100% no-repeat,radial-gradient(circle 8px at 100% 50%,#0000 6.2px,#000 7.6px) right/51% 100% no-repeat;transition:transform .25s var(--ease)}
.gp-res:hover{transform:translateY(-4px)}
.gp-res small{text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:700}
.gp-res b{font-size:32px;letter-spacing:.01em}
.gp-form{font-size:22px}
.gp-komu{background:var(--yellow);clip-path:polygon(16px 0,100% 0,calc(100% - 16px) 100%,0 100%);padding:13px 34px}
.gp-lab{background:var(--dk);color:var(--yellow);clip-path:polygon(0 0,100% 0,calc(100% - 6px) 100%,0 100%);padding:3px 14px 3px 9px}

/* ---------- liczby sezonu ---------- */
.gp-rib{background:transparent;border:0;border-top:2px solid var(--ink);gap:0}
.gp-rib>div{border-right:1px solid var(--rule);padding:16px 12px 10px}
.gp-rib b{font-size:clamp(46px,6vw,92px);line-height:.95;color:var(--ink)}
.gp-rib-main b{color:transparent;-webkit-text-stroke:2px var(--green);font-size:clamp(64px,9vw,140px)}
.gp-rib small{margin-top:6px;letter-spacing:.2em}

/* ---------- tabela jak tablica stadionowa ---------- */
.gp-tab th{border-bottom:2px solid var(--ink);color:var(--ink);letter-spacing:.1em;padding:6px 8px}
.gp-tab td{border-bottom:1px solid var(--rule);padding:8px;font-variant-numeric:tabular-nums}
.gp-tab td:first-child{font:800 18px var(--hf);color:var(--mut)}
.gp-me td{background:var(--green-d);color:#fff;border-bottom-color:var(--green-d)}
.gp-me td:first-child{color:var(--yellow);box-shadow:inset 6px 0 0 var(--yellow)}

/* ---------- strzelcy: kreski ---------- */
.gp-b{height:6px;background:var(--paper2)}
.gp-b i{background:linear-gradient(90deg,var(--green),var(--blue));clip-path:polygon(0 0,100% 0,calc(100% - 6px) 100%,0 100%)}
.gp-bars b{font-size:22px}

/* ---------- zdjęcia w duotonie klubowym (po najechaniu pełny kolor) ---------- */
.gp-news-top{border:0;background:var(--gd);min-height:260px;clip-path:polygon(0 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%)}
.gp-news-top img,.gp-th,.gp-pcardx-img img,.gp-ph img{mix-blend-mode:luminosity;transition:mix-blend-mode .4s}
.gp-news-top:hover img,.gp-news-row:hover .gp-th,.gp-pcardx-a:hover .gp-pcardx-img img,.gp-pcard:hover .gp-ph img{mix-blend-mode:normal}
.gp-news-top span{font-size:clamp(24px,2.6vw,34px);padding:60px 18px 16px;background:linear-gradient(180deg,rgba(0,70,28,0),rgba(0,70,28,.92))}
.gp-th{width:84px;height:58px;border:0;clip-path:polygon(0 0,100% 0,100% 70%,86% 100%,0 100%)}
.gp-news-row{gap:14px;padding:8px 0;border-top:1px solid var(--rule)}
.gp-news a:hover{color:var(--green-d)}

/* ---------- zawodnicy, TV, listy ---------- */
.gp-pcard{background:transparent;border:0;box-shadow:none;border-radius:0;transition:transform .25s var(--ease)}
.gp-pcard:hover{transform:translateY(-5px)}
.gp-ph{height:190px;background:var(--gd);clip-path:polygon(0 0,100% 0,100% calc(100% - 22px),calc(100% - 22px) 100%,0 100%)}
.gp-num{font-size:64px;line-height:.9;color:transparent;-webkit-text-stroke:2px #fff;text-shadow:none}
.gp-tx b{font-size:19px}
.gp-pcard{flex-basis:170px}
.gp-tn{border-bottom:0;clip-path:polygon(0 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%)}
.gp-pcardx-a{background:#fff;border:0;border-bottom:4px solid var(--green);transition:transform .25s var(--ease)}
.gp-pcardx-a:hover{transform:translateY(-4px)}
.gp-pcardx-img{background:var(--gd)}
.gp-spons li{background:#fff;border:0;border-bottom:3px solid var(--green)}

/* ---------- nagłówek podstron ---------- */
.gp-pagehead{background:linear-gradient(100deg,var(--green-dd) 0,var(--green-d) 58%,var(--green) 100%);padding:44px 0 calc(var(--k) + 34px)}
.gp-pagehead::after{content:"";display:block;position:absolute;inset:0;height:auto;z-index:-2;pointer-events:none;background:radial-gradient(70% 120% at 88% 0%,rgba(255,255,255,.14),rgba(255,255,255,0) 62%)}
.gp-pt{font-size:clamp(44px,8vw,120px);line-height:.88;letter-spacing:-.012em;max-width:none}
.gp-ph-blue{clip-path:polygon(84% 0,87% 0,76% 100%,73% 100%);opacity:.9}
.gp-ph-yb{clip-path:polygon(83% 0,84% 0,73% 100%,72% 100%)}
.gp-pagehead+.gp-article .gp-article-wrap,.gp-pagehead+.gp-article-wrap{margin-top:-8px}

/* ---------- stopka: zieleń herbu, z napisem-widmem ---------- */
.gp-foot{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--green-d) 0,var(--green-dd) 70%);color:var(--on-d);margin-top:80px;padding-top:calc(var(--k) + 10px)}
.gp-foot::before{content:"";display:block;position:absolute;left:0;right:0;top:0;height:calc(var(--k) * 1.4);z-index:1;pointer-events:none;background:var(--band-dn) 0 0/100% 100% no-repeat}
.gp-foot::after{content:"GRANICA";position:absolute;left:-1vw;bottom:-.22em;font:800 clamp(130px,25vw,380px)/1 var(--hf);letter-spacing:-.02em;color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.1);pointer-events:none;white-space:nowrap;z-index:0}
.gp-foot .gp-wrap{position:relative;z-index:2}
.gp-foot-grid{padding-top:18px}
.gp-facc summary{font-size:15px;letter-spacing:.2em;color:var(--yellow)}
.gp-fl ul{gap:8px;font-size:15px}
.gp-fl-list a{position:relative}
.gp-fl-list a:hover{color:#fff;padding-left:12px}
.gp-fl-list a::before{content:"";position:absolute;left:0;top:50%;width:0;height:2px;background:var(--yellow);transition:width .2s}
.gp-fl-list a:hover::before{width:8px}
.gp-fsoc a{border-radius:0;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);border:0;background:rgba(255,255,255,.18)}
.gp-fsoc a:hover{background:var(--yellow)}
.gp-fsoc a:hover svg{fill:var(--ink)}
.gp-fbase{border-top-color:rgba(255,255,255,.24)}

/* ---------- pasek radia: ścięty ---------- */
.gp-radio{background:var(--green-dd);border-top:0}
.gp-rd-panel{background:var(--green-dd)}
.gp-rd-play{border-radius:0;clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);width:54px}
.gp-rd-logo{border-radius:0;clip-path:polygon(0 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%)}

/* ---------- zegar meczu (przewijanie = 90 minut); ruch wyłącznie transform, bez przeliczania układu ---------- */
.gp-clock{position:fixed;right:14px;top:50%;transform:translateY(-50%);z-index:55;display:grid;grid-template-columns:auto 2px;gap:8px;align-items:stretch;height:min(46vh,380px);pointer-events:none;font:800 13px var(--hf);letter-spacing:.1em;color:var(--ink);contain:layout style}
.gp-clock-bar{position:relative;background:rgba(0,104,43,.22);width:2px}
.gp-clock-fill{position:absolute;inset:0;background:var(--green);transform:scaleY(0);transform-origin:top;will-change:transform}
.gp-clock-car{position:absolute;left:0;right:0;top:0;height:100%;transform:translateY(0);will-change:transform}
.gp-clock-car::after{content:"";position:absolute;left:-5px;top:-6px;width:12px;height:12px;background:var(--yellow);border:2px solid var(--ink);transform:rotate(45deg)}
.gp-clock-t{position:absolute;right:12px;top:0;white-space:nowrap;background:var(--dk);color:#fff;padding:3px 8px 2px;clip-path:polygon(0 0,100% 0,calc(100% - 6px) 100%,0 100%);transform:translateY(-50%)}
.gp-clock-t b{color:var(--yellow);font-size:15px}
.gp-clock-ht{position:absolute;left:-10px;top:50%;width:22px;height:2px;background:var(--ink)}
.gp-clock-ht::before{content:"45'";position:absolute;right:26px;top:-8px;font-size:11px;opacity:.55}
@media (max-width:1100px){.gp-clock{display:none}}

/* ---------- ruch przy przewijaniu (tylko tam, gdzie przeglądarka potrafi; transform i opacity, bez skosu tekstu) ---------- */
@supports (animation-timeline:view()){
 .gp-home .gp-card,.gp-home .gp-strip,.gp-home .gp-rib,.gp-home .gp-sec{animation:gp-rise linear both;animation-timeline:view();animation-range:entry 0% entry 30%}
 @keyframes gp-rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
}
@media (prefers-reduced-motion:reduce){
 .gp-hero-multi.gp-wiping .gp-slides::after{animation:none}
 .gp-slide,.gp-slide.is-active{transition:none}
 .gp-clock{display:none}
 .gp-home .gp-card,.gp-home .gp-strip,.gp-home .gp-rib,.gp-home .gp-sec{animation:none}
}

/* ---------- telefon ---------- */
@media (max-width:900px){
 .gp-hero,.gp-pagehead,.gp-foot{--k:34px}
 .gp-fanbar-wrap{--k:34px}
 .gp-slide{min-height:0}
 .gp-hero-panel{background:linear-gradient(165deg,var(--green-dd),var(--green-d))}
 .gp-big{font-size:clamp(38px,11vw,56px)}
 .gp-grid3{gap:26px}
 .gp-rib-main b{font-size:clamp(64px,22vw,110px)}
 .gp-last{clip-path:none;padding:10px 16px}
 .gp-news-top{min-height:210px}
 .gp-pt{font-size:clamp(40px,13vw,64px)}
 .gp-slide{padding-bottom:calc(var(--k) + 40px)}
 .gp-hero-multi .gp-slide{padding-bottom:calc(var(--k) + 54px)}
 .gp-fanbar{grid-template-columns:1fr 1fr}
 .gp-fb-cell,.gp-fb-act{min-height:64px;padding:10px 14px}
 .gp-fb-cell+.gp-fb-cell,.gp-fb-cell+.gp-fb-act,.gp-fb-act+.gp-fb-act{border-left:0}
 .gp-fb-cell:nth-child(even),.gp-fb-act:nth-child(even){border-left:1px solid var(--rule)}
 .gp-fb-cell:nth-child(n+3),.gp-fb-act:nth-child(n+3){border-top:1px solid var(--rule)}
 .gp-fb-act{font-size:18px}
 .gp-fb-cell b i{display:block;margin:3px 0 0}
 .gp-fanbar>:last-child:nth-child(odd){grid-column:1/-1;border-left:0}
}

/* ---------- spójne nagłówki sekcji (h3 i h4 na stronie głównej) ---------- */
.gp-home .gp-h3{counter-increment:sec;display:flex;align-items:center;gap:12px;margin:0 0 14px;font-size:22px;letter-spacing:.05em;color:var(--deep);text-transform:uppercase}
.gp-home .gp-h3::before{content:counter(sec,decimal-leading-zero);font:800 15px var(--hf);letter-spacing:.14em;color:#fff;background:var(--dk);padding:3px 9px 2px 7px;clip-path:polygon(0 0,100% 0,calc(100% - 7px) 100%,0 100%)}
.gp-home .gp-h3::after{content:"";flex:1;height:1px;background:var(--rule)}
.gp-news-top.gp-news-top-plain{background:var(--stripe),linear-gradient(160deg,var(--green-dd),var(--green-d))}
.gp-big{font-size:clamp(38px,5.8vw,86px)}

.gps-wall .gp-h4::before{background:var(--yellow);color:var(--ink)}
.gps-wall .gp-h4::after{background:rgba(255,255,255,.3)}

/* ---------- wielkość tekstu: przyciski z boku i skalowanie tekstu ---------- */
body{font-size:calc(16px * var(--gp-fs,1))}
.gp-content{font-size:calc(17px * var(--gp-fs,1))}
.gp-tab,.gp-cmp,.gp-dl dt,.gp-dl dd{font-size:calc(14px * var(--gp-fs,1))}
.gp-hero-meta{font-size:calc(17px * var(--gp-fs,1))}
.gp-res,.gp-tx,.gp-pcardx-tx,.gp-meta,.gp-source,.gp-fl ul{font-size:calc(13px * var(--gp-fs,1))}
.gp-fl ul{font-size:calc(15px * var(--gp-fs,1))}
.gp-fs{position:fixed;left:0;top:50%;transform:translateY(-50%);z-index:56;display:flex;flex-direction:column;background:var(--dk);clip-path:polygon(0 0,100% 0,calc(100% - 8px) 100%,0 100%);padding:4px 10px 4px 0}
.gp-fs button{display:flex;align-items:baseline;justify-content:center;gap:1px;width:40px;height:38px;padding:0;border:0;background:transparent;color:#fff;cursor:pointer;font:800 18px var(--hf)}
.gp-fs button i{font-style:normal;font-size:13px;color:var(--yellow)}
.gp-fs button:nth-child(1) b{font-size:22px}.gp-fs button:nth-child(3) b{font-size:14px}
.gp-fs button:hover,.gp-fs button:focus-visible{background:var(--yellow);color:var(--ink)}
.gp-fs button:hover i,.gp-fs button:focus-visible i{color:var(--ink)}
.gp-fs button:focus-visible{outline:3px solid #fff;outline-offset:-3px}
@media (max-width:900px){.gp-fs{top:42%;padding:2px 8px 2px 0;opacity:.92}.gp-fs button{width:34px;height:34px;font-size:16px}.gp-fs button:nth-child(1) b{font-size:19px}}
@media print{.gp-fs,.gp-clock{display:none}}

/* ---------- dzwonek powiadomień (Granica Centrum): ścięty przycisk z dzwonkiem rysowanym CSS ---------- */
.gc-push-btn{position:relative;border:0;border-radius:0;background:var(--dk);color:#fff;padding:11px 20px 11px 46px;font:800 14px var(--hf);letter-spacing:.1em;text-transform:uppercase;box-shadow:none;clip-path:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%)}
.gc-push-btn::before{content:"";position:absolute;left:20px;top:10px;width:13px;height:13px;background:var(--yellow);border-radius:7px 7px 2px 2px;box-shadow:0 3px 0 -1px var(--yellow)}
.gc-push-btn::after{content:"";position:absolute;left:24px;top:25px;width:5px;height:3px;background:var(--yellow);border-radius:0 0 3px 3px}
.gc-push-btn:hover,.gc-push-btn:focus-visible{background:var(--yellow);color:var(--ink);border:0}
.gc-push-btn:hover::before,.gc-push-btn:focus-visible::before{background:var(--ink);box-shadow:0 3px 0 -1px var(--ink)}
.gc-push-btn:hover::after,.gc-push-btn:focus-visible::after{background:var(--ink)}
.gc-push[data-state="on"] .gc-push-btn{background:var(--green-d);color:#fff}
.gc-push[data-state="on"] .gc-push-btn::before{animation:gp-ring 2.4s ease-in-out 1}
@keyframes gp-ring{0%,100%{transform:rotate(0)}20%{transform:rotate(14deg)}40%{transform:rotate(-12deg)}60%{transform:rotate(8deg)}80%{transform:rotate(-5deg)}}
.gc-push-note,.gc-push-cats{border-radius:0;box-shadow:none;border-left:4px solid var(--yellow);background:#fff}
@media (prefers-reduced-motion:reduce){.gc-push[data-state="on"] .gc-push-btn::before{animation:none}}

/* sterowanie wielkością tekstu: prawa krawędź, nad paskiem radia (nie zasłania tekstu po lewej) */
.gp-fs,.gp-fs{left:auto;right:0;top:auto;bottom:calc(var(--radio-h,0px) + var(--tiles-h,0px) + 96px);transform:none;padding:4px 0 4px 10px;clip-path:polygon(8px 0,100% 0,100% 100%,0 100%)}
@media (max-width:900px){.gp-fs{top:auto;bottom:calc(var(--tiles-h,0px) + var(--radio-h,0px) + 84px);padding:2px 0 2px 8px;flex-direction:column;clip-path:polygon(8px 0,100% 0,100% 100%,0 100%)}}

/* strony (nie wpisy): treść leży wprost na papierze, bez białej obwódki; wpisy mają własny układ (Granica NEWS) */
.page .gp-article-card{background:transparent;clip-path:none;border:0;padding:0}
.page .gp-article-wrap{max-width:980px}

/* baner zgód ma pierwszeństwo przed dzwonkiem powiadomień */
body.gpc-consent-open .gc-push{display:none}

/* ---------- przejście między stronami (View Transitions, tam gdzie przeglądarka potrafi): samo przenikanie, bez animowanego clip-path ---------- */
::view-transition-old(root){animation:none}
::view-transition-new(root){animation:gp-fade-in .3s ease both}
@keyframes gp-fade-in{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){::view-transition-new(root){animation:none}}

/* zdjęcie w duotonie: pas herbu z makiety nie prześwituje przez prawdziwe zdjęcie (zostaje tylko tam, gdzie zdjęcia nie ma) */
.gn-img:has(img){background:var(--gd)}
