/* pki.eu v3 — siatki produktów (lista kategorii i jej „Polecane”, wyniki wyszukiwania, Bestsellery, tag, producent) i ramka
   subskrypcji z kategorii SHR (869f7deet, Szymon 6.11, osobny plik po pkieu-v3.css).
   1) KOLUMNY wg szerokości kafla, nie wg progu ekranu. Zrzuty Szymona 6.11: (a) 861–~1000 px lista obok kolumny bocznej, sztywne
      4 kolumny = kafel ~120 px (ucięte tytuły, przycisk przedsprzedaży poza kaflem); (b) tablet 834 px: sztywne 2 kolumny z ≤ 860 px =
      kafel ~400 px, „okładki gigantyczne”, na ekranie 2 produkty. Teraz: auto-fill z kolumną max(--tile-min, 1/N), gdzie N = dawna
      liczba kolumn na desktopie (cap: 4 lista / wyniki / „Polecane”, 5 tag / producent, 6 strona Bestsellery) — kafel 160 px i więcej
      (cel Szymona ~170–200): 834 px → 4 × 191, 768 → 4 × 175, 600 → 3 × 181, 870 z kolumną boczną → 3 × 167, 1024 → 3 × 218,
      1440 → 4 × 232. Poniżej 521 px zawsze 2 kolumny (telefon; inaczej 360 px dałby 1 kolumnę). Szyny (.hrail) bez zmian — mają
      własny układ (grid-auto-flow column). Odstęp kolumn --gx: 22 px na desktopie, --sp-3 do 860 px (jak dotąd).
   2) RAMKA „Chcesz otrzymać informacje o najnowszych książkach z tej kategorii? Subskrybuj” wstawia JS z SHR (CustomTag 28 w azymucie,
      subskrypcja z kategorii ZOSTAJE na V3 — decyzja Szymona 6.11) ze stylem inline (border: 3px solid black, font-size: 18px,
      text-align: center) przed ostatnim rzędem liczonym dla 4 kolumn. Tu: zawsze na końcu siatki (order — przy 2/3 kolumnach nie robi
      dziury w rzędzie), cały wiersz (pkieu-banners.css), wygląd bloku motywu z tokenów: obrys --line, tło --surface, tekst --ink,
      przycisk .button-1 motywu (czerwony). !important tylko tam, gdzie trzeba pobić styl inline tagu. Tekst + przycisk w jednym
      wierszu, gdy się mieszczą; inaczej tekst nad przyciskiem, wyrównane do lewej. */
.feat .grid,.also-purchased-products-grid:not(.hrail){--cols:5;--gx:22px;column-gap:var(--gx);
  grid-template-columns:repeat(auto-fill,minmax(max(var(--tile-min),calc((100% - (var(--cols) - 1) * var(--gx)) / var(--cols))),1fr));}
.feat .grid,.grid.also-purchased-products-grid:not(.hrail),.colM .also-purchased-products-grid:not(.hrail),.search-results .also-purchased-products-grid:not(.hrail){--cols:4;}
.grid.g6.also-purchased-products-grid:not(.hrail){--cols:6;}
:root{--tile-min:160px;}
@media (max-width:860px){
  .feat .grid,.also-purchased-products-grid:not(.hrail){--gx:var(--sp-3);}
}
@media (max-width:520px){
  .feat .grid,.also-purchased-products-grid.also-purchased-products-grid:not(.hrail){grid-template-columns:repeat(2,minmax(0,1fr));}
}
.product-grid > :has(.subscribe-category){order:1;}
.product-grid > :has(.subscribe-category) > div{border:1px solid var(--line) !important;border-radius:var(--r);background:var(--surface);padding:var(--sp-4) var(--sp-5);}
.product-grid > :has(.subscribe-category) p{margin:0;text-align:left !important;}
.product-grid > :has(.subscribe-category) p > span{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-3) var(--sp-5);font-family:var(--sans);font-size:var(--fs-base) !important;font-weight:500;line-height:1.45;color:var(--ink);}
.product-grid .subscribe-category{flex:none;text-decoration:none;}
:root[data-contrast="more"] .product-grid > :has(.subscribe-category) > div{border-width:2px !important;border-color:var(--line2) !important;}
@media (max-width:860px){
  .product-grid > :has(.subscribe-category) > div{padding:var(--sp-4);}
}
