/* ===== Do pobrania: dopiski do sekcji .pb-* z nowa.css (nowa.css redagują inni, tu nie ruszamy) =====
   1. znaczki pod opisem kategorii („Po zalogowaniu”, „Jeden model na raz”) w jednym rzędzie
   2. strona limitu modeli 3D (pobrania/limit.html, HTTP 429) */
.pb-kat-znaczki{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.pb-kat-znaczki .pb-kat-otwarta{margin-top:0}
.pb-kat-otwarta--limit{color:#8a5a00;background:#fbf1dc}

.pb-limit{background:#fff;padding:72px 0 96px;border-bottom:1px solid var(--linia)}
.pb-limit-in{max-width:640px}
.pb-limit .pb-ikona{margin-bottom:22px}
.pb-limit h1{color:var(--granat);font-weight:700;font-size:clamp(30px,3.6vw,46px);line-height:1.08;margin:10px 0 18px}
.pb-limit-odlicz{font-family:Poppins,Arial,sans-serif;font-size:22px;color:var(--granat);margin:0 0 18px}
.pb-limit-odlicz b{display:inline-block;min-width:2.2ch;text-align:center;font-weight:700;color:var(--nieb);font-variant-numeric:tabular-nums}
.pb-limit-tekst{color:var(--szary);font-size:16.5px;line-height:1.6;max-width:56ch;margin:0 0 28px}
.pb-limit-tekst strong{color:var(--granat)}
.pb-limit-tekst .pb-poz-meta{display:inline;margin:0 0 0 6px;white-space:nowrap}
.pb-limit-akcje{display:flex;gap:14px;flex-wrap:wrap}
.pb-limit-akcje .btn.jest-nieaktywny{opacity:.45;pointer-events:none}
@media (max-width:640px){
  .pb-limit{padding:48px 0 64px}
  .pb-limit-akcje .btn{width:100%;justify-content:center}
}

/* spis kategorii na wąskim ekranie: nazwy modeli 3D są długie, więc jedna kategoria = jeden wiersz z liczbą po prawej */
@media (max-width:640px){
  .pb-spis{gap:6px}
  .pb-spis a{flex:1 1 100%;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-size:13px}
}

/* ===== Pasek filtrów katalogu (JS: home/static/js/pobrania.js) =====
   Ten sam język co filtr galerii (galeria.css): przyklejony pasek pod nagłówkiem,
   jeden rząd chipów przewijany poziomo, maski i strzałki na krawędziach.
   Header ma 78 px (>=1101 px) i 64 px niżej, stąd dwie wartości top. */
.page-pobrania .pb-vh{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.page-pobrania .pb-spis[hidden]{display:none}
.page-pobrania .pb-czujka{display:block;height:1px;margin:0}

.page-pobrania .pb-pasek{position:sticky;top:78px;z-index:6;background:#fff;
  border-top:1px solid var(--linia);border-bottom:1px solid var(--linia);
  padding:12px 0 11px;margin-bottom:28px;transition:box-shadow .2s var(--ease)}
.page-pobrania .pb-pasek[hidden]{display:none}
.page-pobrania .pb-pasek.jest-przyklejony{box-shadow:0 10px 22px rgba(23,27,43,.08)}
.page-pobrania .pb-pasek-in{position:relative}
/* maski: widać, że rząd kategorii jedzie dalej niż ekran (klasy dokłada pobrania.js) */
.page-pobrania .pb-pasek-in::before,
.page-pobrania .pb-pasek-in::after{content:'';position:absolute;top:0;bottom:0;width:56px;
  pointer-events:none;z-index:2;opacity:0;transition:opacity .18s var(--ease)}
.page-pobrania .pb-pasek-in::before{left:0;background:linear-gradient(90deg,#fff 30%,rgba(255,255,255,0) 100%)}
.page-pobrania .pb-pasek-in::after{right:0;background:linear-gradient(270deg,#fff 30%,rgba(255,255,255,0) 100%)}
.page-pobrania .pb-pasek-in.ma-lewo::before{opacity:1}
.page-pobrania .pb-pasek-in.ma-prawo::after{opacity:1}

/* strzałki dla myszy: kółko przewija pionowo, więc sam overflow-x nie wystarcza */
.page-pobrania .pb-strzalka{position:absolute;top:50%;transform:translateY(-50%);z-index:3;
  width:32px;height:32px;display:grid;place-items:center;padding:0;cursor:pointer;
  background:#fff;border:1px solid var(--linia);color:var(--granat);
  box-shadow:0 2px 10px rgba(23,27,43,.10);transition:border-color .18s var(--ease),color .18s var(--ease)}
.page-pobrania .pb-strzalka[hidden]{display:none}
.page-pobrania .pb-strzalka:hover{border-color:var(--nieb);color:var(--nieb)}
.page-pobrania .pb-strzalka:focus-visible{outline:2px solid var(--nieb);outline-offset:2px}
.page-pobrania .pb-strzalka svg{width:18px;height:18px}
.page-pobrania .pb-strzalka--lewo{left:0}
.page-pobrania .pb-strzalka--prawo{right:0}

.page-pobrania .pb-filtr{display:flex;flex-wrap:nowrap;gap:8px;width:100%;
  overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;
  -webkit-overflow-scrolling:touch;padding-bottom:2px}
.page-pobrania .pb-filtr::-webkit-scrollbar{display:none}
.page-pobrania .pb-filtr.jest-ciagniety{cursor:grabbing;user-select:none}
/* position:relative jest KONIECZNE: bez niego .pb-vh (position:absolute) ucieka
   z kontenera z overflow-x i rozpycha stronę w poziomie na wąskim ekranie */
.page-pobrania .pb-chip{position:relative;flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;
  background:#fff;white-space:nowrap;border:1px solid var(--linia);border-radius:0;
  padding:9px 15px;cursor:pointer;font:500 13.5px Poppins,Arial,sans-serif;color:var(--tekst);
  transition:border-color .18s var(--ease),color .18s var(--ease),background .18s var(--ease)}
.page-pobrania .pb-chip:hover{border-color:var(--nieb);color:var(--nieb)}
.page-pobrania .pb-chip:focus-visible{outline:2px solid var(--nieb);outline-offset:2px}
.page-pobrania .pb-chip.jest-wybrany{background:var(--granat);border-color:var(--granat);color:#fff}
.page-pobrania .pb-chip-ile{font-family:Poppins,Arial,sans-serif;font-weight:500;font-size:11.5px;
  letter-spacing:.04em;color:var(--szary)}
.page-pobrania .pb-chip:hover .pb-chip-ile{color:var(--nieb)}
.page-pobrania .pb-chip.jest-wybrany .pb-chip-ile{color:rgba(255,255,255,.72)}
/* kłódka na chipie kategorii dostępnej po zalogowaniu (to samo rozróżnienie co na liście) */
.page-pobrania .pb-chip-klodka{width:13px;height:13px;flex:none;color:var(--szary)}
.page-pobrania .pb-chip.jest-wybrany .pb-chip-klodka{color:rgba(255,255,255,.72)}
.page-pobrania .pb-chip:hover .pb-chip-klodka{color:var(--nieb)}

/* ---------- wyszukiwarka + licznik ---------- */
.page-pobrania .pb-szukaj-rzad{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:10px}
.page-pobrania .pb-szukaj{position:relative;display:flex;align-items:center;flex:1 1 220px;
  max-width:400px;min-width:0;border:1px solid var(--linia);background:#fff}
.page-pobrania .pb-szukaj:focus-within{border-color:var(--nieb);box-shadow:0 0 0 2px #CCE2F0}
.page-pobrania .pb-szukaj>svg{width:17px;height:17px;flex:none;margin-left:12px;color:var(--szary)}
.page-pobrania .pb-szukaj input{flex:1;min-width:0;border:0;outline:0;background:none;
  padding:11px 10px;font:400 15px Roboto,Arial,sans-serif;color:var(--tekst)}
.page-pobrania .pb-szukaj input::-webkit-search-cancel-button{display:none}
.page-pobrania .pb-szukaj-x{flex:none;width:34px;height:34px;margin-right:2px;display:grid;place-items:center;
  background:none;border:0;cursor:pointer;color:var(--szary)}
.page-pobrania .pb-szukaj-x[hidden]{display:none}
.page-pobrania .pb-szukaj-x:hover{color:var(--granat)}
.page-pobrania .pb-szukaj-x:focus-visible{outline:2px solid var(--nieb);outline-offset:-2px}
.page-pobrania .pb-szukaj-x svg{width:15px;height:15px}
.page-pobrania .pb-wynik{margin:0 0 0 auto;font:500 11.5px Poppins,Arial,sans-serif;letter-spacing:.1em;
  text-transform:uppercase;color:var(--szary);white-space:nowrap}
.page-pobrania .pb-reset{background:none;border:0;padding:0;cursor:pointer;
  font:500 13.5px Poppins,Arial,sans-serif;color:var(--nieb);border-bottom:1px solid #99C5E2}
.page-pobrania .pb-reset[hidden]{display:none}
.page-pobrania .pb-reset:hover{border-color:var(--nieb)}
.page-pobrania .pb-reset:focus-visible{outline:2px solid var(--nieb);outline-offset:2px}

/* ---------- wynik pusty ---------- */
.page-pobrania .pb-pusto{display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  background:var(--chlod);color:var(--tekst);padding:18px 20px;margin-bottom:30px;font-size:15.5px}
.page-pobrania .pb-pusto[hidden]{display:none}
.page-pobrania .pb-pusto b{font-family:Poppins,Arial,sans-serif;font-weight:600;color:var(--granat)}

/* ---------- lista po odfiltrowaniu ---------- */
/* .pb-poz ma display:flex z nowa.css, wiec atrybut hidden trzeba dopowiedziec */
.page-pobrania .pb-poz[hidden]{display:none}
.page-pobrania .pb-kat[hidden]{display:none}
.page-pobrania .pb-kat{scroll-margin-top:196px}
.page-pobrania .pb-katalog{scroll-margin-top:84px}
.page-pobrania .pb-kat-ile{font:500 11.5px Poppins,Arial,sans-serif;letter-spacing:.08em;
  color:var(--szary);vertical-align:middle;margin-left:8px;white-space:nowrap}
.page-pobrania .pb-koniec{margin:36px 0 0;padding-top:22px;border-top:1px solid var(--linia)}
.page-pobrania .pb-na-gore{display:inline-flex;align-items:center;gap:8px;
  font:500 13.5px Poppins,Arial,sans-serif;color:var(--nieb)}
.page-pobrania .pb-na-gore:hover{border-bottom:1px solid var(--nieb)}
.page-pobrania .pb-na-gore:focus-visible{outline:2px solid var(--nieb);outline-offset:3px}

@media (max-width:1100px){
  .page-pobrania .pb-pasek{top:64px}
  .page-pobrania .pb-kat{scroll-margin-top:176px}
  .page-pobrania .pb-katalog{scroll-margin-top:70px}
}
@media (max-width:640px){
  .page-pobrania .pb-pasek{padding:10px 0 9px;margin-bottom:22px}
  .page-pobrania .pb-chip{padding:8px 12px;font-size:13px}
  .page-pobrania .pb-szukaj-rzad{gap:10px;margin-top:8px}
  .page-pobrania .pb-szukaj{flex:1 1 auto}
  .page-pobrania .pb-szukaj input{padding:10px 8px;font-size:15px}
  .page-pobrania .pb-wynik{font-size:11px;letter-spacing:.06em}
  /* na wąskim ekranie „Pokaż wszystko” tylko w stanie pustym: w pasku wystarczą
     chip „Wszystkie” i krzyżyk w wyszukiwarce, a pasek nie rośnie o drugi wiersz */
  .page-pobrania .pb-szukaj-rzad .pb-reset{display:none}
  .page-pobrania .pb-kat{scroll-margin-top:166px}
}
.page-pobrania .pb-koniec[hidden]{display:none}
