:root{--bg:#f4f7f5;--paper:#fff;--ink:#14211b;--muted:#5b6b63;--line:#dbe3de;--brand:#0f2a1f;--brand2:#173d2d;--accent:#10b981;--accent-ink:#065f46;--warn:#b45309;--err:#b91c1c;--r:10px;--max:1240px;--tekst-1:var(--ink);--tekst-2:var(--ink);--tekst-3:var(--muted);--tekst-4:var(--muted);--menu:var(--ink);--cena:var(--ink)}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
html:lang(ka) body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans Georgian","BPG Arial","Sylfaen",Helvetica,Arial,sans-serif}   /* KA: mchedruli z czcionek systemowych */
a{color:var(--accent-ink)}img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{line-height:1.2;margin:0 0 .5em}h1{font-size:1.9rem}h2{font-size:1.35rem}h3{font-size:1.1rem}
.wrap{max-width:var(--max);margin:0 auto;padding:0 16px}
.muted{color:var(--muted)}.small{font-size:.86rem}.ok{color:var(--accent-ink);font-weight:600}
.btn{display:inline-block;background:var(--accent);color:#052e22;font-weight:700;padding:.62rem 1.1rem;border-radius:var(--r);text-decoration:none;border:0;cursor:pointer;font-size:.95rem}
.btn:hover{background:#0ea371}.btn.ghost{background:transparent;color:var(--brand);border:2px solid var(--brand)}.btn.big{padding:.8rem 1.6rem;font-size:1.05rem}
.btn-sm{background:var(--accent);color:#052e22;padding:.3rem .7rem;border-radius:8px;font-weight:700;text-decoration:none}
.lnk{background:none;border:0;color:var(--accent-ink);text-decoration:underline;cursor:pointer;font:inherit;padding:0}
/* header */
.hdr{background:var(--brand);color:var(--menu)}.hdr a{color:var(--menu);text-decoration:none}
.hdr-in{display:flex;align-items:center;gap:18px;padding:12px 16px;flex-wrap:wrap}
.logo img{height:24px;width:auto}
.search{flex:1;display:flex;min-width:220px;max-width:560px}.search input{flex:1;border:0;border-radius:8px 0 0 8px;padding:.55rem .8rem;font:inherit}
.search button{border:0;background:var(--accent);color:#052e22;font-weight:700;padding:.55rem .9rem;border-radius:0 8px 8px 0;cursor:pointer}
.hdr-links{display:flex;align-items:center;gap:14px;margin-left:auto;font-size:.93rem}
.badge{background:var(--accent);color:#052e22;border-radius:999px;padding:0 .5em;font-weight:700;font-size:.8rem}
.langs a{opacity:.7;margin-left:.45em;font-size:.82rem}.langs a.on{opacity:1;font-weight:700;text-decoration:underline}
.curs{margin-left:.6em;padding-left:.6em;border-left:1px solid rgba(255,255,255,.35)}.curs a{opacity:.7;margin-left:.45em;font-size:.82rem}.curs a.on{opacity:1;font-weight:700;text-decoration:underline}
.fxnote{margin:.2rem 0 .8rem}
.cats{display:flex;gap:4px;overflow-x:auto;padding:0 16px 10px;font-size:.9rem;white-space:nowrap}.cats a{padding:.35rem .7rem;border-radius:8px;background:rgba(255,255,255,.08)}.cats a:hover{background:rgba(255,255,255,.18)}
/* K-30: pasek kategorii przewijany palcem ze ZNAKIEM, że jest dalej — zanik krawędzi (cats.js ustawia klasy wg pozycji przewinięcia) */
.cats{-webkit-overflow-scrolling:touch;scrollbar-width:none;overscroll-behavior-x:contain}.cats::-webkit-scrollbar{display:none}
.cats.przewin{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 56px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 56px),transparent)}
.cats.przewin-l{-webkit-mask-image:linear-gradient(to right,transparent,#000 40px);mask-image:linear-gradient(to right,transparent,#000 40px)}
.cats.przewin.przewin-l{-webkit-mask-image:linear-gradient(to right,transparent,#000 40px,#000 calc(100% - 56px),transparent);mask-image:linear-gradient(to right,transparent,#000 40px,#000 calc(100% - 56px),transparent)}
main{padding:22px 16px 48px;min-height:60vh}
.flash{padding:.7rem 1rem;border-radius:var(--r);margin:0 0 16px}.flash.ok{background:#d1fae5;color:#065f46}.flash.err{background:#fee2e2;color:#991b1b}.flash.maint{background:#fef3c7;color:#92400e;border:1px solid #fcd34d}
.note{background:#fff7ed;border:1px solid #fed7aa;color:#7c2d12;padding:.7rem 1rem;border-radius:var(--r)}
.crumbs{font-size:.86rem;color:var(--muted);margin-bottom:14px}.crumbs a{color:var(--muted)}
/* home */
.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:32px;align-items:center;padding:28px 0 36px}
.hero h1{font-size:2.3rem}.lead{font-size:1.1rem;color:var(--tekst-3)}.cta{margin:20px 0}.cta .btn{margin-right:8px}
.usp{padding-left:1.2em;color:var(--muted)}
.tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.tile{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:16px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;gap:6px;min-height:104px}
.tile:hover{border-color:var(--accent)}.tile-ic{width:34px;height:34px;border-radius:8px;background:linear-gradient(135deg,#10b981,#0f2a1f)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:8px 0 36px}.steps>div{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:18px}
.steps .n{display:inline-block;background:var(--brand);color:var(--tekst-1);font-weight:700;width:30px;height:30px;line-height:30px;text-align:center;border-radius:50%;margin-bottom:8px}
.band{background:var(--brand2);color:var(--tekst-2);border-radius:var(--r);padding:28px;text-align:center}.band h2{color:var(--tekst-1)}
/* catalog */
.cat-layout{display:grid;grid-template-columns:260px 1fr;gap:24px}
.filters{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:14px;align-self:start;position:sticky;top:10px;max-height:calc(100vh - 20px);overflow:auto}
.filters fieldset{border:0;padding:0;margin:0 0 14px}.filters legend{font-weight:700;margin-bottom:6px}.filters label{display:block;font-size:.9rem;padding:2px 0}
.filters .scroll{max-height:220px;overflow:auto;border-bottom:1px solid var(--line)}.range{display:flex;gap:6px;align-items:center}.range input{width:100%;padding:.35rem;border:1px solid var(--line);border-radius:6px}
.filters select{width:100%;padding:.4rem;border:1px solid var(--line);border-radius:6px}
.res-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:12px}.res-head h1{margin:0;font-size:1.5rem}
.grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.card-img{display:block;position:relative;aspect-ratio:1/1;background:#fff;border-bottom:1px solid var(--line)}.card-img img,.card-img .noimg{position:absolute;inset:0;width:100%;height:100%;box-sizing:border-box;padding:10px;margin:0}.card-img img{object-fit:contain}
.noimg{display:flex;align-items:center;justify-content:center;height:100%;color:var(--muted);font-weight:700;letter-spacing:.04em}.noimg.big{min-height:300px;font-size:1.4rem}
.card-body{padding:10px 12px 12px;display:flex;flex-direction:column;gap:3px;flex:1}
.name{color:var(--ink);text-decoration:none;font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.name:hover{color:var(--accent-ink)}
.model{display:block;font-size:.78rem;color:var(--muted,#667);overflow-wrap:anywhere}  /* reguła wersji w modelu (Piotr 2026-09-14 20:1x): pełny model, bez przycinania */
.specs{font-size:.84rem;color:var(--muted)}.price{margin-top:auto;padding-top:6px}.price strong{font-size:1.05rem}.price small{color:var(--muted)}
.pager{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 12px;margin:22px 0}
/* S36 pkt 2: pasek pod siatką — numery stron i „Na stronę” w jednym rzędzie, na wąskim ekranie zawija się pod spód */
.pager-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 22px;margin:22px 0}.pager-bar .pager{margin:0;justify-content:flex-start}
.per-page{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 6px;margin-left:auto}.per-page .chip{margin:0}.pager .cur{font-weight:700}.pager .gap{color:var(--muted)}.empty{padding:30px;text-align:center;color:var(--muted)}
/* product */
.product{display:grid;grid-template-columns:1fr 1.2fr .9fr;gap:24px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:20px;margin-bottom:22px}
.p-img img{width:100%;object-fit:contain;max-height:420px}.facts{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:14px 0 0}.facts dt{color:var(--muted)}.facts dd{margin:0}
.p-buy{border-left:1px solid var(--line);padding-left:20px}
.tiers{width:100%;border-collapse:collapse;font-size:.93rem}.tiers th,.tiers td{padding:.4rem .3rem;border-bottom:1px solid var(--line);text-align:left}
.addform{display:flex;gap:10px;align-items:end;margin-top:14px;flex-wrap:wrap}.addform label{font-size:.85rem;display:flex;flex-direction:column;gap:4px}.addform input{width:90px;padding:.5rem;border:1px solid var(--line);border-radius:8px;font:inherit}
/* K-337: jedno pole ilości + lista jednostek obok */.ilosc-jedn{display:flex;gap:6px;align-items:center}.addform select{padding:.5rem;border:1px solid var(--line);border-radius:8px;font:inherit;background:var(--paper);color:inherit}
.desc,.params,.related{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:20px;margin-bottom:22px}
.desc p{max-width:80ch}.ptable{width:100%;border-collapse:collapse;font-size:.9rem;margin-bottom:14px}.ptable th{text-align:left;font-weight:500;color:var(--muted);width:45%;padding:.3rem .4rem;border-bottom:1px solid var(--line)}.ptable td{padding:.3rem .4rem;border-bottom:1px solid var(--line)}
/* forms */
.form{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:22px;max-width:820px}.form.narrow{max-width:560px}
.form label{display:block;margin:0 0 12px;font-size:.9rem;font-weight:600}.form input:not([type=checkbox]),.form select,.form textarea{display:block;width:100%;margin-top:4px;padding:.55rem .7rem;border:1px solid var(--line);border-radius:8px;font:inherit;font-weight:400}
.form em{display:block;color:var(--err);font-style:normal;font-size:.82rem}.form .chk{font-weight:400;display:flex;gap:8px;align-items:flex-start}.form .chk input{margin-top:3px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.hp{position:absolute;left:-9999px}
.rfq{width:100%;border-collapse:collapse;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);margin-bottom:14px}.rfq th,.rfq td{padding:.6rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.rfq .qty{width:80px;padding:.4rem;border:1px solid var(--line);border-radius:6px}
.rfq-list{margin-bottom:22px}.center{text-align:center;padding:40px 0;max-width:640px;margin:0 auto}
.prose{max-width:76ch;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:26px}.legal h2{margin-top:1.8rem;font-size:1.35rem}.legal h3{margin-top:1.3rem;font-size:1.05rem}.legal table{width:100%;border-collapse:collapse;font-size:.9rem;margin:0 0 14px}.legal th,.legal td{text-align:left;vertical-align:top;padding:.35rem .4rem;border-bottom:1px solid var(--line)}.legal th{font-weight:500;color:var(--muted)}.legal code{font-size:.9em}
/* footer */
.ftr{background:var(--brand);color:var(--tekst-3);margin-top:30px}.ftr a{color:var(--tekst-2);display:block;text-decoration:none;font-size:.9rem;padding:2px 0}.ftr h4{color:var(--tekst-1);margin-bottom:8px}
.ftr-in{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.4fr;gap:24px;padding:32px 16px 18px}.ftr-logo{height:20px;width:auto;margin-bottom:10px}
.entities p{font-size:.84rem}.copy{padding:10px 16px 22px;font-size:.8rem;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}
@media (max-width:960px){.hero,.steps,.cat-layout,.product,.ftr-in{grid-template-columns:1fr}.filters{position:static;max-height:none}.p-buy{border-left:0;padding-left:0}.tiles{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.row2{grid-template-columns:1fr}.hero h1{font-size:1.7rem}.tiles{grid-template-columns:1fr 1fr}.hdr-links{margin-left:0}}

/* dokumenty na karcie produktu */
.docs{margin-top:16px}.docs h2{font-size:1rem;margin:0 0 6px}.doclist{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.doclist a{text-decoration:none;color:var(--ink);font-weight:600}.doclist a:hover{color:var(--accent-ink)}.pdf{display:inline-block;font-size:.68rem;font-weight:800;letter-spacing:.06em;background:#b91c1c;color:var(--tekst-1);border-radius:4px;padding:2px 5px;vertical-align:middle;margin-right:4px}

/* koszyk i zamówienia */
.cart-layout{display:grid;grid-template-columns:1fr 320px;gap:22px;align-items:start}.cart-sum{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:16px;position:sticky;top:12px}.cart-sum h2{margin:0 0 10px;font-size:1.05rem}
.sums{display:grid;grid-template-columns:1fr auto;gap:6px 14px;margin:0 0 12px}.sums dt{color:var(--muted)}.sums dd{margin:0;text-align:right}.sums .tot{font-weight:700;font-size:1.1rem;border-top:1px solid var(--line);padding-top:6px}.sums.wide{max-width:520px;margin-left:auto}
.cart-sum .now{font-size:.9rem;background:#ecfdf5;border-radius:8px;padding:8px 10px}.cart-sum .btn.big{display:block;text-align:center;margin-top:10px}
.mini{list-style:none;padding:0;margin:0 0 10px;font-size:.9rem}.mini li{padding:3px 0;border-bottom:1px dashed var(--line)}
.co-form fieldset{border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;margin:0 0 14px}.co-form legend{font-weight:700;padding:0 6px}.co-form details{margin:6px 0}.co-form summary{cursor:pointer;color:var(--muted)}
.ord-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.ord-head h1{margin:0 0 4px}
.status{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.8rem;font-weight:700;background:#e5e7eb;color:#111}.st-PLACED{background:#fef3c7}.st-OFFERED{background:#dbeafe}.st-PROFORMA{background:#ede9fe}.st-PAID{background:#d1fae5}.st-SHIPPED{background:#cffafe}.st-DELIVERED{background:#10b981;color:var(--tekst-1)}.st-CANCELLED{background:#fee2e2}.st-OFFER_REJECTED{background:#fee2e2}.st-REFUNDED{background:#fde68a}
.steps6{list-style:none;display:grid;grid-template-columns:repeat(6,1fr);gap:4px;padding:0;margin:16px 0 10px;counter-reset:s}.steps6 li{font-size:.8rem;color:var(--muted);border-top:4px solid var(--line);padding-top:6px}.steps6 li.done{border-color:#10b981;color:var(--ink)}.steps6 li.cur{border-color:#0f2a1f;color:var(--ink);font-weight:700}.steps6 .n{display:inline-block;width:18px;height:18px;border-radius:50%;background:var(--line);text-align:center;line-height:18px;font-size:.7rem;margin-right:5px}.steps6 .done .n,.steps6 .cur .n{background:#10b981;color:var(--tekst-1)}
.now-box{border:2px solid #0f2a1f;border-radius:var(--r);padding:14px 16px;margin:0 0 20px;background:var(--paper)}.now-box.you{border-color:#b45309;background:#fffbeb}.now-box .who{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:var(--muted)}.now-box.you .who{color:#b45309}.now-box p{margin:6px 0 10px;font-size:1.05rem}.now-box form.inline,.inline{display:inline-block;margin-right:8px}.inline-details{display:inline-block}.inline-details summary{list-style:none;display:inline-block}
.ord-items h2 small{font-weight:400;font-size:.85rem}.timeline{list-style:none;padding:0;margin:14px 0 0;font-size:.9rem}.timeline li{padding:6px 0;border-bottom:1px solid var(--line)}.timeline .when{color:var(--muted);font-size:.8rem;margin-right:6px}.timeline .actor{font-weight:700;margin-right:6px}.timeline .msg{display:block;white-space:pre-wrap;margin-top:2px}.timeline li.internal{background:#fef9c3;padding-left:6px}
.danger{color:#b91c1c}.btn.danger{border-color:#b91c1c;color:#b91c1c}.box{border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;margin:10px 0}.box h3{margin:0 0 8px;font-size:.95rem}
.chip{display:inline-block;padding:3px 10px;border:1px solid var(--line);border-radius:999px;font-size:.85rem;text-decoration:none;color:var(--ink);margin:0 4px 6px 0}.chip.on{background:#0f2a1f;color:var(--tekst-1);border-color:#0f2a1f}.rfq.ops tr.late td{background:#fee2e2}.r{text-align:right}
@media (max-width:960px){.cart-layout{grid-template-columns:1fr}.cart-sum{position:static}.steps6{grid-template-columns:repeat(3,1fr)}}
.consent{position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--paper);border-top:3px solid var(--accent);box-shadow:0 -6px 24px rgba(0,0,0,.18);padding:1rem 16px}.consent-in{max-width:var(--max);margin:0 auto}.consent h2{font-size:1.1rem;margin:0 0 .3rem}.consent p{margin:0 0 .6rem;font-size:.92rem}.consent-opts{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;margin:0 0 .7rem;font-size:.92rem}.consent-opts label{display:flex;align-items:center;gap:.4rem}.consent-btns{display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:center}.consent-btns .btn{font-size:.9rem;padding:.5rem .9rem}.consent-btns .lnk{font-size:.9rem}body:has(.consent){padding-bottom:230px}

/* E16-PIS (2): tekst wstępny PISARZA nad listą podkategorii */
.cat-intro{max-width:80ch;margin:0 0 16px;color:var(--ink,inherit);line-height:1.5}

/* E15-P parytet pkt 1: pasek nad listą (ilość, widok, na stronę) + widok listy */
.btn.small{padding:.3rem .7rem;font-size:.85rem}
.plist{width:100%;border-collapse:collapse;font-size:.92rem}.plist th{text-align:left;font-weight:500;color:var(--muted);padding:.4rem .5rem;border-bottom:1px solid var(--line)}.plist td{padding:.5rem;border-bottom:1px solid var(--line);vertical-align:top}.plist td.th{width:72px}.plist td.specs{color:var(--muted);max-width:28ch}.plist .r{text-align:right}.plist .name{font-weight:500}
.pfacet label{display:block}
/* K-18: przyciski wariantu serii (jak Allegro): w ramce, wybrany z obwódką w kolorze akcentu, niedostępny wyszarzony */
.warianty{margin:0 0 1rem}.wariant-os{margin:0 0 .7rem}.wariant-nazwa{display:block;font-size:.86rem;color:var(--muted);margin:0 0 .3rem}
.wariant-przyciski{display:flex;flex-wrap:wrap;gap:6px}
.wariant{display:inline-block;padding:.4rem .75rem;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);text-decoration:none;font-size:.9rem;line-height:1.2}
.wariant:hover{border-color:var(--accent)}.wariant.on{border:2px solid var(--accent);padding:calc(.4rem - 1px) calc(.75rem - 1px);font-weight:700}
.wariant.zmienia{border-style:dashed}.wariant.brak{color:var(--muted);background:var(--bg);opacity:.55;cursor:not-allowed}
#karta-serii[aria-busy=true]{opacity:.6;transition:opacity .15s}
/* K filtry (29.09): przycisk na górze kolumny, marki zwinięte pod „Pokaż wszystkie”, włączone filtry nad listą */
.filters .f-apply{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.filters .f-top{margin:0 0 14px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.filters details.wiecej summary{cursor:pointer;font-size:.9rem;padding:4px 0;color:var(--accent,#0f2a1f);list-style:none}.filters details.wiecej summary::-webkit-details-marker{display:none}
.filters details.wiecej .zwin,.filters details.wiecej[open] .otworz{display:none}.filters details.wiecej[open] .zwin{display:inline}
.aktywne-filtry{display:flex;flex-wrap:wrap;gap:4px 0;align-items:center;margin:0 0 12px}.aktywne-filtry .small{margin-right:8px}.aktywne-filtry .chip.zdejmij span{margin-left:4px;font-weight:700}
.results.laduje{opacity:.55;transition:opacity .15s}

/* ===== K-221 (usterki przejazdu K-28, 01.10): telefon 390 px ===== */
/* (1) KOSZYK I ZAPYTANIE NA TELEFONIE — wiersz tabeli jako karta. Tabela `.rfq` miała szerokość
   min-content (422 px przy 390 px ekranu), więc CAŁA strona dostawała poziomy pasek przewijania,
   a nazwa produktu łamała się słowo po słowie w 90-pikselowej kolumnie. `display:block` zdejmuje
   układ tabelaryczny: każdy wiersz to karta, każda komórka ma etykietę z `data-label`. Zasięg
   WYŁĄCZNIE listy klienta (`.rfq-list` = koszyk i zapytanie) — tabele OPS i konta zostają jak są.
   Poziomego przewijania nie chowamy na `body` (to ukrywa objaw, nie przyczynę). */
@media (max-width:700px){
  .rfq-list .rfq{display:block;border:0;background:transparent;overflow:visible}
  .rfq-list .rfq thead{display:none}
  .rfq-list .rfq tbody,.rfq-list .rfq tr,.rfq-list .rfq td{display:block;width:auto}
  .rfq-list .rfq tr{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;margin:0 0 10px}
  .rfq-list .rfq td{border:0;padding:3px 0;overflow-wrap:anywhere}
  .rfq-list .rfq td.th{padding-bottom:8px}
  .rfq-list .rfq td[data-label]::before{content:attr(data-label);display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700}
  .rfq-list .rfq td.akcja{padding-top:8px;text-align:right}
}
/* (2) FILTRY ZWIJANE NA WĄSKIM EKRANIE. Do dziś panel filtrów stał w pełnej wysokości NAD listą —
   na telefonie trzeba było przewinąć kilka ekranów, żeby zobaczyć pierwszy produkt. Od 961 px
   `summary` znika i panel jest otwarty jak dotąd; niżej zwija go `static/filtry.js` (`open=false`).
   Bez JavaScriptu panel zostaje otwarty — czyli dokładnie tak, jak było, nigdy „pusta kolumna”. */
.filters details.f-zwijane>summary{cursor:pointer;font-weight:700;padding:4px 0;list-style:none}
.filters details.f-zwijane>summary::-webkit-details-marker{display:none}
.filters details.f-zwijane>summary::after{content:" ▾";color:var(--muted)}
.filters details.f-zwijane[open]>summary::after{content:" ▴"}
/* S38 pkt 2: „Filtry” (summary) widoczne na każdej szerokości — panel domyślnie zwinięty */
/* (6) PASEK KATEGORII — WSKAZÓWKA PRZEWIJANIA TAKŻE BEZ JavaScriptu. K-30 dało zanik krawędzi
   sterowany klasami z `cats.js`; przed pierwszym przeliczeniem (i bez skryptu) pasek nie dawał
   żadnego znaku. Tu: zanik po prawej z samego CSS, dopóki `cats.js` nie powie czegoś dokładniejszego,
   plus strzałka na krawędzi (znak, nie dekoracja). Oba wyłącznie na wąskim ekranie. */
@media (max-width:700px){
  .cats-pas{position:relative}
  .cats:not(.przewin):not(.przewin-l){-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 56px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 56px),transparent)}
  .cats-pas::after{content:"›";position:absolute;right:14px;bottom:9px;pointer-events:none;font-size:1.25rem;line-height:1;font-weight:700;color:var(--tekst-2);opacity:.85;text-shadow:0 0 10px rgba(0,0,0,.8)}
  .cats-pas:has(.cats:not(.przewin))::after{opacity:.35}
}

/* K-227: podpowiedzi pod polem szukania w nagłówku (jak na starej stronie). Te same zmienne kolorów co karty i listy,
   więc skórka (skin.css) przestawia je sama. Bez cen — wiersz to nazwa, parametry i kategoria. */
.pp-otoczka{flex:1;display:flex;position:relative;min-width:0}
.pp-otoczka input{flex:1;min-width:0}
.pp-lista{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:60;background:var(--paper);color:var(--ink);
  border:1px solid var(--line);border-radius:var(--r);box-shadow:0 10px 28px rgba(0,0,0,.18);overflow-y:auto;max-height:min(70vh,440px)}
.pp-poz{display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:baseline;padding:.5rem .7rem;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--line)}
.pp-poz:last-child{border-bottom:0}
.pp-poz:hover,.pp-poz.on{background:var(--bg)}
.pp-nazwa{font-weight:600;font-size:.92rem;overflow-wrap:anywhere}
.pp-kat{grid-column:2;grid-row:1;color:var(--muted);font-size:.78rem;white-space:nowrap}
.pp-opis{grid-column:1/-1;color:var(--muted);font-size:.8rem;overflow-wrap:anywhere}
.pp-all .pp-nazwa{color:var(--accent-ink);font-weight:700}
.pp-brak{margin:0;padding:.6rem .7rem;color:var(--muted);font-size:.85rem}
@media (max-width:560px){
  .pp-poz{grid-template-columns:1fr}
  .pp-kat{grid-column:1;grid-row:auto;white-space:normal}
}
/* K-263: zakładka Okazje — badge procentu obniżki, przekreślona cena sprzed obniżki, lista kategorii jako linki */
.card.okazja{position:relative}.okz-spadek{position:absolute;top:8px;left:8px;z-index:2;padding:2px 9px;border-radius:999px;background:#b91c1c;color:var(--tekst-1);font-weight:700;font-size:.85rem;letter-spacing:.02em}
.okz-bylo{color:var(--muted);font-size:.85rem;margin-right:4px}
.okazje-filtry .okz-kat{display:block;padding:3px 0;font-size:.9rem;color:var(--ink);text-decoration:none}.okazje-filtry .okz-kat.on{font-weight:700;color:var(--accent-ink)}.okazje-filtry .okz-kat:hover{color:var(--accent-ink)}
.cats .nav-okazje{font-weight:700}

/* K-294: Moje zamówienia — tabela aktywnych i zakończonych (PD-2505). Cały wiersz prowadzi do zamówienia przez
   „rozciągnięty” link w numerze (::after na całą powierzchnię wiersza) — działa bez JavaScriptu i z klawiatury (Tab
   trafia w numer). Link do dokumentu leży NAD nim (z-index), więc klik w ikonę PDF pobiera dokument, nie otwiera zamówienia.
   Na telefonie (≤ 640 px) wiersz zamienia się w kartę z etykietami z `data-label` — jak koszyk (K-221). */
.zl-filtry{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 12px}
.zl-filtry .chip{margin:0}.zl-licz{display:inline-block;min-width:1.4em;text-align:center;margin-left:4px;padding:0 .4em;border-radius:999px;background:var(--bg);color:var(--ink);font-size:.78rem;font-weight:700}
.zl-filtry .chip.on .zl-licz{background:rgba(255,255,255,.18);color:var(--tekst-1)}
.zl-tabela tbody tr.zl-wiersz{position:relative;cursor:pointer;transition:background .12s}
.zl-tabela tbody tr.zl-wiersz:hover td{background:var(--bg)}
.zl-tabela a.zl-link{color:var(--ink);text-decoration:none}
.zl-tabela a.zl-link::after{content:"";position:absolute;inset:0;z-index:1}
.zl-tabela a.zl-link:focus-visible{outline:none}
.zl-tabela tr.zl-wiersz:focus-within{outline:2px solid var(--accent-ink);outline-offset:-2px}
.zl-tabela a.zl-dok{position:relative;z-index:2;text-decoration:none;color:var(--ink);font-weight:700;white-space:nowrap}
.zl-tabela a.zl-dok:hover{color:var(--accent-ink)}
.zl-tabela .zl-kwota{white-space:nowrap;font-weight:700}
.zl-tabela .zl-produkty{max-width:320px;overflow-wrap:anywhere}
.zl-tabela .badge-nowe{position:relative;z-index:2}
.zl-stary-nr{font-size:.78rem}
.zl-etykieta-stary{display:inline-block;margin-top:3px;padding:1px 8px;border-radius:999px;border:1px solid var(--line);background:var(--bg);color:var(--muted);font-size:.72rem;font-weight:600;white-space:nowrap}
.zl-stary-naglowek{margin:4px 0 0}
@media (max-width:640px){
  .zl-tabela{display:block;border:0;background:transparent;overflow:visible}
  .zl-tabela thead{display:none}
  .zl-tabela tbody,.zl-tabela tr,.zl-tabela td{display:block;width:auto}
  .zl-tabela tbody tr.zl-wiersz{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;margin:0 0 10px}
  .zl-tabela tbody tr.zl-wiersz:hover td{background:transparent}
  .zl-tabela td{border:0;padding:3px 0;text-align:left;overflow-wrap:anywhere}
  .zl-tabela td.r{text-align:left}
  .zl-tabela .zl-produkty{max-width:none}
  .zl-tabela td[data-label]::before{content:attr(data-label);display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700}
}

/* K-318b sklep, okazje, karta w skórce portalu D
   Piotr 06.10: „sklep i okazje i stopke w sklepie trzeba przebudować graficznie żeby pasował do głównej strony”.
   Zakres: opakowanie `.sk-sklep` (+ `.sk-lista` / `.sk-okazje` / `.sk-karta`) w catalog.html, okazje.html, product.html.
   Wzorzec: portal D (`makieta_firma.css`, `mf_kategorie.css`) — minimalizm, cienkie linie, kapitaliki w mono z akcentem,
   karta jak kafelek pod czatem (szkło z gradientem, ramka white/.07), „od” małe + kwota w jednej linii nad cienką kreską.
   Zero nowych barw: tokeny `skin.css` i rgba z `mf_kategorie.css`. Selektory o klasę mocniejsze niż skin.css (ładowany później).
   Klasy wewnątrz, formularze, pola, data-* i ceny bez zmian — tu wyłącznie wygląd. */
.sk-sklep{--sk-szklo:linear-gradient(180deg,rgba(11,31,23,.62) 0%,rgba(4,21,15,.70) 100%);--sk-ramka:rgba(255,255,255,.07)}
.sk-sklep .crumbs{font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--subtle);margin:0 0 18px}
.sk-sklep .crumbs a{color:var(--muted);text-decoration:none;transition:color .2s var(--krzywa)}
.sk-sklep .crumbs a:hover{color:var(--accent-ink)}

/* nagłówek listy: tytuł jak sekcje portalu D, licznik kapitalikami */
.sk-sklep .res-head{gap:12px;margin:0 0 14px;padding:0 0 12px;border-bottom:1px solid var(--line)}
.sk-sklep .res-head h1{font-size:1.45rem;font-weight:800;letter-spacing:-.02em;color:var(--ink)}
.sk-sklep .res-head .muted{font-family:var(--mono);font-size:.74rem;letter-spacing:.04em;color:var(--muted)}   /* bez kapitalików: licznik czytają testy przeglądarki (innerText) */
.sk-sklep .cat-intro{color:var(--muted);max-width:72ch}
.sk-sklep .note{background:transparent;color:var(--muted);border:1px solid var(--line);border-left:2px solid var(--accent);border-radius:8px;padding:10px 14px}
.sk-sklep .fxnote,.sk-sklep .qty-note{font-family:var(--mono);font-size:.7rem;letter-spacing:.02em;color:var(--subtle)}

/* filtry: bez pudła — cienka linia po prawej, legendy kapitalikami z akcentem */
.sk-sklep .cat-layout{gap:28px}
.sk-sklep .results{min-width:0}                 /* kolumna listy nie rozpycha strony szeroką tabelą (390 px) */
.sk-sklep .filters{background:transparent;border:0;border-right:1px solid var(--line);border-radius:0;backdrop-filter:none;-webkit-backdrop-filter:none;padding:0 18px 0 0}
.sk-sklep .filters fieldset{margin:0 0 16px;padding:0 0 14px;border-bottom:1px solid var(--line)}
.sk-sklep .filters fieldset:last-of-type{border-bottom:0}
.sk-sklep .filters legend{font-family:var(--mono);font-size:.7rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink);margin-bottom:8px}
.sk-sklep .filters label{font-size:.86rem;color:var(--ink);padding:3px 0}
.sk-sklep .filters label .muted,.sk-sklep .okazje-filtry .muted{font-family:var(--mono);font-size:.7rem;color:var(--subtle)}
.sk-sklep .filters .scroll{border-bottom:0;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.12) transparent}
.sk-sklep .filters details.f-zwijane>summary{font-family:var(--mono);font-size:.74rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink)}
.sk-sklep .filters details.wiecej summary{font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;color:var(--muted)}
.sk-sklep .filters .f-top{border-bottom-color:var(--line)}
/* przyciski filtra i narzędzi listy: cienka obwódka, kapitaliki — zero dużych klawiszy */
.sk-sklep .filters .btn,.sk-sklep .load-more .btn{background:transparent;color:var(--accent-ink);border:1px solid rgba(16,185,129,.45);box-shadow:none;transform:none;
  padding:.38rem .85rem;border-radius:8px;font-family:var(--mono);font-size:.72rem;font-weight:400;letter-spacing:.08em;text-transform:uppercase}
.sk-sklep .filters .btn:hover,.sk-sklep .load-more .btn:hover{background:rgba(16,185,129,.08);border-color:var(--accent);box-shadow:none;transform:none}
.sk-sklep .filters .lnk{font-family:var(--mono);font-size:.72rem;letter-spacing:.04em;color:var(--muted);text-decoration:none}
.sk-sklep .filters .lnk:hover{color:var(--accent-ink)}

/* pigułki (widok, na stronę, aktywne filtry): cienkie, wybrana = akcent na obwódce, nie wypełnienie */
.sk-sklep .chip{background:transparent;color:var(--muted);border:1px solid var(--line);font-family:var(--mono);font-size:.7rem;letter-spacing:.06em;padding:2px 10px;transition:color .2s var(--krzywa),border-color .2s var(--krzywa)}
.sk-sklep .chip:hover{color:var(--ink);border-color:var(--line2)}
.sk-sklep .chip.on{background:transparent;color:var(--accent-ink);border-color:rgba(16,185,129,.55)}

/* kafelek produktu = karta spod czatu portalu D */
.sk-sklep .grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.sk-sklep .card{background:radial-gradient(90% 46% at 50% 0%,rgba(16,185,129,.08),rgba(16,185,129,0) 70%),var(--sk-szklo);border:1px solid var(--sk-ramka);border-radius:14px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 8px 32px -4px rgba(4,21,15,.7);padding:10px}
.sk-sklep .card:hover{background:radial-gradient(90% 46% at 50% 0%,rgba(16,185,129,.12),rgba(16,185,129,0) 70%),var(--sk-szklo);border-color:rgba(16,185,129,.40);transform:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 8px 32px -4px rgba(4,21,15,.7),0 0 40px -20px rgba(16,185,129,.5)}
.sk-sklep .card-img{margin:0;border-radius:10px;background:#fff;aspect-ratio:4/3}
.sk-sklep .card-img img{padding:12px;transition:transform .4s var(--krzywa)}
.sk-sklep .card:hover .card-img img{transform:scale(1.04)}
.sk-sklep .card-body{padding:10px 2px 0;gap:4px}
.sk-sklep .card .name{font-size:.84rem;font-weight:700;line-height:1.28;color:var(--ink);text-decoration:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.sk-sklep .card .name:hover{color:var(--accent-ink)}
/* Piotr 07.10 02:0x: nagłówek kafelka = MARKA (pogrubiona, widoczna) + model w jednej linii; max 2 linie, zawsze 2 linie miejsca
   (kafelki równe); pod nim jedna linia cech, które sprzedają (moc · technologia · …), ucięta wielokropkiem */
.sk-sklep .card .name{font-weight:500;min-height:2.56em}
.sk-sklep .card .specs.cechy{display:block;min-height:1.35em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sk-sklep .card .model{font-family:var(--mono);font-size:.68rem;color:var(--subtle);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sk-sklep .card .specs{font-size:.72rem;font-weight:600;color:var(--muted);line-height:1.35}
.sk-sklep .card .price{margin-top:auto;padding-top:8px;border-top:1px solid rgba(255,255,255,.06);font-size:.72rem;color:var(--subtle);line-height:1.45}
.sk-sklep .card .price strong{font-family:inherit;font-size:.95rem;font-weight:800;letter-spacing:-.01em;color:var(--ink)}
.sk-sklep .card .price small{font-size:.68rem;color:var(--subtle)}
.sk-sklep .card .price.muted{font-family:var(--mono);letter-spacing:.04em}
.sk-sklep .card .muted.small{font-family:var(--mono);font-size:.66rem;letter-spacing:.04em;color:var(--subtle)}

/* widok listy: cienkie linie, nagłówki kapitalikami */
.sk-sklep .plist th{font-family:var(--mono);font-size:.68rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--subtle)}
.sk-sklep .plist td{border-bottom-color:var(--line)}
.sk-sklep .plist .name{color:var(--ink);text-decoration:none;font-weight:700}
.sk-sklep .plist .name{font-weight:500}  /* S37 08.10: marka, moc i model jednym krojem i kolorem (bez `.marka`) */
.sk-sklep .plist .name:hover{color:var(--accent-ink)}
.sk-sklep .plist .model{display:block;font-family:var(--mono);font-size:.68rem;color:var(--subtle)}
.sk-sklep .plist td.th img{width:64px;max-width:none;height:48px;object-fit:contain;background:#fff;border-radius:6px;padding:3px}
.sk-sklep .plist .price strong{font-family:inherit;font-weight:800;color:var(--ink)}

/* paginacja i „pokaż więcej” */
.sk-sklep .pager-bar{font-family:var(--mono);font-size:.74rem;letter-spacing:.06em;color:var(--muted);padding-top:14px;border-top:1px solid var(--line)}
.sk-sklep .pager a{color:var(--muted);text-decoration:none}.sk-sklep .pager a:hover{color:var(--accent-ink)}
.sk-sklep .pager .cur{color:var(--accent-ink);font-weight:400;border-bottom:1px solid var(--accent)}
.sk-sklep .load-more{text-align:center;margin:22px 0 0;padding-top:16px;border-top:1px solid var(--line)}
.sk-sklep .empty{font-family:var(--mono);font-size:.78rem;letter-spacing:.04em;color:var(--subtle)}

/* Okazje: „−N %” cienką etykietą kapitalikami z akcentem zamiast czerwonej pigułki; przekreślona cena przygaszona */
.sk-okazje .okz-spadek{top:18px;left:18px;padding:1px 8px;border-radius:999px;background:rgba(4,21,15,.82);color:var(--accent-ink);border:1px solid rgba(16,185,129,.45);
  font-family:var(--mono);font-size:.68rem;font-weight:400;letter-spacing:.06em}
.sk-okazje .okz-bylo{font-size:.72rem;color:var(--subtle)}
.sk-okazje .okazje-filtry .okz-kat{padding:4px 0;font-size:.86rem;color:var(--ink);transition:color .2s var(--krzywa)}
.sk-okazje .okazje-filtry .okz-kat.on{font-weight:400;color:var(--accent-ink)}
.sk-okazje .okazje-filtry .okz-kat.on::before{content:"";display:inline-block;width:6px;height:6px;margin:0 7px 1px 0;border-radius:50%;background:var(--accent-ink);box-shadow:0 0 6px var(--accent-ink)}
/* Piotr 14.10 uwaga #15: okazje w widoku listy i kompaktowym — „−N %” w linii przed nazwą (w tabeli nie ma kafelka do przypięcia) */
.sk-okazje .plist .okz-spadek{position:static;display:inline-block;margin:0 8px 2px 0;vertical-align:middle}

/* karta produktu: układ bez zmian, bez ciężkiego pudła — cienkie linie, kapitaliki, spokojny przycisk */
.sk-karta .product{background:transparent;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;backdrop-filter:none;-webkit-backdrop-filter:none;padding:22px 0}
.sk-karta .p-img img{background:#fff;border-radius:12px;padding:14px}
.sk-karta .p-main h1{font-size:1.6rem;font-weight:800;letter-spacing:-.02em;line-height:1.22}
.sk-karta .facts{gap:0;margin:16px 0 0;border-top:1px solid var(--line)}
.sk-karta .facts dt,.sk-karta .facts dd{padding:7px 0;border-bottom:1px solid var(--line)}
.sk-karta .facts dt{padding-right:14px;font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--subtle)}
.sk-karta .facts dd{font-size:.9rem}
.sk-karta h2{font-family:var(--mono);font-size:.72rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink);margin:0 0 10px}
.sk-karta .docs{margin-top:18px}
.sk-karta .doclist{list-style:none;padding:0;margin:0}.sk-karta .doclist li{padding:6px 0;border-bottom:1px solid var(--line)}
.sk-karta .doclist a{text-decoration:none}.sk-karta .doclist a:hover{color:var(--accent-ink)}
.sk-karta .pdf{display:inline-block;font-family:var(--mono);font-size:.62rem;letter-spacing:.06em;padding:0 5px;border:1px solid rgba(16,185,129,.45);border-radius:4px;color:var(--accent-ink);background:transparent}
.sk-karta .p-buy{border-left:1px solid var(--line)}
.sk-karta .price.onreq strong{font-family:inherit;font-size:1.2rem;font-weight:800;color:var(--ink)}
.sk-karta .tiers th{font-family:var(--mono);font-size:.66rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--subtle)}
.sk-karta .tiers td{font-size:.88rem}
.sk-karta .tiers td strong{font-weight:800;color:var(--ink)}
.sk-karta .tiers td:last-child{font-family:var(--mono)}
.sk-karta .wariant{background:transparent;border-color:var(--line2);border-radius:8px;font-size:.84rem}
.sk-karta .wariant.on{border:1px solid var(--accent);padding:.4rem .75rem;color:var(--accent-ink);font-weight:600}
.sk-karta .wariant-nazwa{font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--subtle)}
.sk-karta .box{background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;backdrop-filter:none;-webkit-backdrop-filter:none;padding:14px 0 4px;margin-top:14px}
.sk-karta .addform{padding-top:10px}
.sk-karta .btn{box-shadow:none;transform:none;padding:.5rem 1rem;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase}
.sk-karta .btn:hover{box-shadow:0 0 14px rgba(16,185,129,.35);transform:none}
.sk-karta .btn.ghost{background:transparent;color:var(--accent-ink);border:1px solid rgba(16,185,129,.45)}
.sk-karta .btn.ghost:hover{background:rgba(16,185,129,.08);box-shadow:none}
.sk-karta .desc,.sk-karta .params,.sk-karta .related{background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;backdrop-filter:none;-webkit-backdrop-filter:none;padding:20px 0 6px;margin-top:8px}
.sk-karta .desc h3,.sk-karta .params h3{font-size:.95rem;font-weight:700;color:var(--ink)}
.sk-karta .ptable th{font-weight:400;color:var(--muted)}

@media (max-width:960px){
  .sk-sklep .filters{border-right:0;border-bottom:1px solid var(--line);padding:0 0 12px}
  .sk-karta .p-buy{border-left:0;border-top:1px solid var(--line);padding-top:16px}
}
@media (max-width:600px){
  .sk-sklep .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .sk-sklep .card{padding:7px;border-radius:12px}
  .sk-sklep .card .name{font-size:.78rem}
  .sk-sklep .card .price strong{font-size:.86rem}
  .sk-sklep .res-head h1{font-size:1.25rem}
  .sk-sklep .plist{display:block;overflow-x:auto}
  .sk-okazje .okz-spadek{top:13px;left:13px}
  .sk-karta .p-main h1{font-size:1.3rem}
  .sk-sklep .pager-bar{justify-content:center;gap:12px 14px}.sk-sklep .pager-bar .pager{justify-content:center}.sk-sklep .per-page{margin-left:0}
}
@media (prefers-reduced-motion:reduce){.sk-sklep .card,.sk-sklep .card-img img,.sk-sklep .chip{transition:none!important}}

/* ===== K-326 / K-327 / K-328 / K-335 (Piotr 06.10 12:3x i 13:0x): pasek listy sklepu =====
   Pasek wyszukiwania + ikona DORADCA w jednej linii (K-328, K-335); pod nim JEDNA linia: liczba produktów po lewej, sortowanie
   i ikony widoku po prawej (K-326). Nagłówek H1 kategorii zostaje w HTML (wyszukiwarki, czytniki ekranu), wizualnie schowany. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.sk-lista .res-head h1{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sk-sklep .res-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap}
.sk-sklep .pasek-prawy{display:flex;align-items:center;gap:14px;margin-left:auto}
/* K-352: sortowanie = ikona ⇅ w stylu ikon widoku; lista opcji rozwijana pod ikoną, przy prawej krawędzi (telefon bez poziomego scrolla) */
.sk-sklep .sort-menu{position:relative;flex:none}
.sk-sklep .sort-menu > summary{list-style:none;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--line);border-radius:8px;color:var(--muted);cursor:pointer;transition:color .2s var(--krzywa),border-color .2s var(--krzywa)}
.sk-sklep .sort-menu > summary::-webkit-details-marker{display:none}
.sk-sklep .sort-menu > summary::marker{content:""}
.sk-sklep .sort-menu > summary:hover,.sk-sklep .sort-menu[open] > summary{color:var(--ink);border-color:var(--line2)}
.sk-sklep .sort-menu > summary:focus-visible{outline:0;border-color:rgba(16,185,129,.55);color:var(--accent-ink)}
.sk-sklep .sort-lista{position:absolute;right:0;top:calc(100% + 6px);z-index:60;margin:0;padding:6px;list-style:none;min-width:210px;max-width:calc(100vw - 32px);background:#0B1F17;border:1px solid var(--line2);border-radius:10px;box-shadow:0 12px 30px rgba(0,0,0,.45)}
.sk-sklep .sort-lista li{margin:0}
.sk-sklep .sort-lista a{display:block;padding:.45rem .7rem;border-radius:7px;color:var(--ink);text-decoration:none;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sk-sklep .sort-lista a:hover,.sk-sklep .sort-lista a:focus-visible{background:rgba(16,185,129,.1);outline:0}
.sk-sklep .sort-lista a.on{color:var(--accent-ink)}
.sk-sklep .sort-lista a.on::before{content:"✓";display:inline-block;width:1.1em;margin-left:-.1em}
.sk-sklep .view-toggle{display:inline-flex;gap:4px}
.sk-sklep .view-toggle .vt{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--line);border-radius:8px;color:var(--muted);transition:color .2s var(--krzywa),border-color .2s var(--krzywa)}
.sk-sklep .view-toggle .vt:hover{color:var(--ink);border-color:var(--line2)}
.sk-sklep .view-toggle .vt.on{color:var(--accent-ink);border-color:rgba(16,185,129,.55)}
.sk-sklep .sk-szukaj{display:flex;align-items:center;gap:10px;margin:0 0 14px}
.sk-sklep .sk-szukaj-f{display:flex;flex:1;min-width:0;gap:8px}
.sk-sklep .sk-szukaj-f input[type=search]{flex:1;min-width:0;background:rgba(255,255,255,.04);color:var(--ink);border:1px solid var(--line2);border-radius:10px;padding:.5rem .8rem;font:inherit;font-size:.92rem}
.sk-sklep .sk-szukaj-f input[type=search]:focus{outline:0;border-color:rgba(16,185,129,.55)}
.sk-sklep .sk-szukaj .btn{background:transparent;color:var(--accent-ink);border:1px solid rgba(16,185,129,.45);box-shadow:none;transform:none;border-radius:10px;font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.sk-sklep .sk-doradca{flex:none}
/* `rozmowa.js` (tryb klasyczny) po zamknięciu okna zwija pierwsze wejście (`zwinHero`: style inline height/opacity 0) i dokuje pasek
   na dole — na liście ikona DORADCA zostaje widoczna (drugie wejście do tej samej rozmowy), stąd `!important` nad stylem inline. */
.sk-sklep .sk-doradca[data-zwiniety],.sk-sklep .sk-doradca[data-zwijany]{height:auto!important;opacity:1!important;margin-top:0!important;overflow:visible}
.sk-sklep .sk-doradca-btn{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 12px;background:transparent;color:var(--accent-ink);border:1px solid rgba(16,185,129,.45);border-radius:10px;cursor:pointer;font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;transition:background .2s var(--krzywa),border-color .2s var(--krzywa)}
.sk-sklep .sk-doradca-btn:hover{background:rgba(16,185,129,.08);border-color:var(--accent)}
/* K-327: parametry kategorii (lista i kompakt) i widok kompaktowy */
.sk-sklep .plist .pm{display:inline-block;margin:0 10px 2px 0;font-size:.8rem;color:var(--ink)}
.sk-sklep .plist .pm-n{font-family:var(--mono);font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;color:var(--subtle)}
.sk-sklep .plist td.specs{max-width:46ch}
.sk-sklep .plist.kompakt td{padding:.35rem .5rem;vertical-align:middle}
.sk-sklep .plist.kompakt .kosz{width:44px}
.sk-sklep .kosz-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;color:var(--accent-ink);border:1px solid rgba(16,185,129,.45);border-radius:8px;cursor:pointer}
.sk-sklep .kosz-btn:hover{background:rgba(16,185,129,.08);border-color:var(--accent)}
.crumb-cur{color:var(--ink)}
@media (max-width:600px){
  .sk-sklep .sk-doradca-btn span{display:none}
  .sk-sklep .pasek-prawy{width:100%;justify-content:space-between;margin-left:0}
}

/* ===== K-338 / K-339 / K-340 / K-341 / K-350 (Piotr 06.10): JEDNA linia wyszukiwania listy sklepu =====
   [pole szukania ze strzałką „wyślij” na końcu pola] [DORADCA] [ikony widoku] [sortowanie] — bez przycisku „Szukaj” (Enter albo strzałka)
   i bez licznika produktów. Pasek przyklejony pod belką sklepu (belka `.hdr` też jest sticky — jej wysokość mierzy `sk_pasek.js`
   do zmiennej `--sk-hdr-h`; bez skryptu pasek klei się do góry okna). Na liście szukajka belki znika — jedno pole na ekranie. */
body:has(.sk-lista) .sk-belka .sk-szukaj{display:none}
.sk-sklep .sk-szukaj{position:sticky;top:var(--sk-hdr-h,0px);z-index:40;flex-wrap:wrap;gap:8px 10px;padding:10px 0;margin:0 0 12px;background:transparent;background-image:none;border-bottom:0}
/* S38 (Piotr 08.10 17:1x/17:5x: „ta waska przestrzen pomiedzy paskiem szukaj a paskiem kategorii jest nadal nieprzezroczyta […] ma byc
   to samo tło co wszędzie czy z gwiazdami”): pasek szukania listy (także przyklejony) bez tła `--bg` — lekkie wypełnienie ma tylko samo pole. */
.sk-sklep .sk-szukaj-f{position:relative;flex:1 1 240px}
.sk-sklep .sk-szukaj-f input[type=search]{padding-right:2.6rem;height:38px}
.sk-sklep .sk-szukaj-strz{position:absolute;top:50%;right:5px;transform:translateY(-50%);z-index:2;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;background:transparent;color:var(--accent-ink);border:0;border-radius:8px;cursor:pointer;transition:background .2s var(--krzywa)}
.sk-sklep .sk-szukaj-strz:hover,.sk-sklep .sk-szukaj-strz:focus-visible{background:rgba(16,185,129,.12);outline:0}
.sk-sklep .sk-szukaj .pasek-prawy{display:flex;align-items:center;gap:10px;margin-left:0;flex:none}
.sk-sklep .sk-szukaj .sort-menu > summary{width:38px;height:38px}
.sk-sklep .sk-szukaj .view-toggle .vt{width:38px;height:38px}
.sk-sklep .sk-szukaj .pp-lista{z-index:45}
.sk-lista .res-head{display:block;margin:0;padding:0;border:0}
@media (max-width:600px){
  .sk-sklep .sk-szukaj .pasek-prawy{width:100%;justify-content:space-between}
}
/* Z-19 P1 — panel klienta: stała nawigacja konta (lewa kolumna na desktopie, lista nad treścią na telefonie), kafle Pulpitu,
   linie danych z „zmień”, szukanie w zamówieniach historycznych. Wyłącznie istniejące tokeny (skin.css/style.css) — zero nowych barw. */
.konto-uklad{display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px;align-items:start}
.konto-tresc{min-width:0}
.konto-nav{position:sticky;top:96px;border:1px solid var(--line);border-radius:var(--r);padding:8px;background:var(--glass)}
.konto-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.konto-nav form{margin:0}
.konto-nav-poz{display:block;width:100%;text-align:left;padding:.5rem .75rem;border-radius:10px;border:1px solid transparent;color:var(--muted);text-decoration:none;font:inherit;font-weight:500;background:transparent;cursor:pointer}
.konto-nav-poz:hover{color:var(--ink);border-color:var(--line)}
.konto-nav-poz.on{color:var(--ink);border-color:var(--accent);font-weight:700}
.konto-nav-wyloguj{margin-top:6px;border-top:1px solid var(--line);border-radius:0 0 10px 10px}
.konto-kafle{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 18px}
.konto-kafel{display:flex;flex-direction:column;gap:4px;padding:16px;border:1px solid var(--line);border-radius:var(--r);background:var(--glass);color:var(--ink);text-decoration:none}
.konto-kafel:hover{border-color:var(--accent)}
.konto-kafel-tyt{color:var(--muted);font-size:.9rem}
.konto-kafel-liczba{font-size:1.8rem;line-height:1.1}
.konto-linie{list-style:none;margin:0 0 22px;padding:0;display:flex;flex-direction:column;gap:6px}
.zl-szukaj{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 12px}
.zl-szukaj input[type=search]{flex:1 1 220px;min-width:0}
@media (max-width:860px){
  .konto-uklad{grid-template-columns:1fr;gap:14px}
  .konto-nav{position:static}
  .konto-nav ul{display:grid;grid-template-columns:1fr 1fr}
  .konto-nav li:last-child{grid-column:1/-1}
  .konto-kafle{grid-template-columns:1fr}
}
/* Z-19 P3: Monitoring cen — lista i konfigurator (3 kroki, podgląd po prawej; telefon: jedna kolumna) */
.mon-przewijana{overflow-x:auto}
.mon-tabela td{vertical-align:top}.mon-akcje form{display:inline-block;margin:0 4px 4px 0}.mon-akcje .btn{margin:0 4px 4px 0}
.mon-konf{max-width:none}.mon-uklad{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}
.mon-krok{border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;margin:0 0 16px}.mon-krok>legend{font-weight:700;padding:0 6px}
.mon-pod{border:0;padding:0;margin:0 0 12px}.mon-pod>legend{font-weight:600;font-size:.9rem;margin-bottom:6px}
.mon-konf input[type=radio]{display:inline-block;width:auto;margin-top:3px}
.mon-zakladki{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.mon-zakladka{border:1px solid var(--line);border-radius:999px;padding:.35rem .8rem;margin:0}
.mon-zakladka.on{border-color:var(--brand)}
.mon-konf.js .mon-typ{display:none}.mon-konf.js .mon-typ.on{display:block}.mon-konf.js [data-mon-bez-js]{display:none}.mon-konf.js .mon-typ h3{display:none}
.mon-podpowiedzi{display:flex;flex-direction:column;gap:2px;margin:-6px 0 10px}
.mon-podp{text-align:left;padding:.4rem .6rem;border:1px solid var(--line);border-radius:8px;background:var(--paper);cursor:pointer;font:inherit}
.mon-podglad{position:sticky;top:96px;border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;background:var(--glass)}
.mon-podglad h2{font-size:1.05rem;margin:0 0 8px}
.mon-obserwuj{margin:8px 0 0}
@media (max-width:900px){.mon-uklad{grid-template-columns:1fr}.mon-podglad{position:static}}

/* ===== S40 (Piotr 08.10 18:4x) — jeden styl paska szukania =====
   (1) `.sk-sklep .sk-szukaj` bez dolnej kreski (wyżej: `border-bottom:0`) — między kategoriami a paskiem szukania nie ma żadnej linii.
   (2) „Zwinięte filtry kompletnie nie pasują do […] paska szukaj i pozostałych klawiszy”: zwinięty panel filtrów = przycisk tej samej
       rodziny co DORADCA — 38 px, promień 10, ramka 1 px, mono .72rem wielkie litery. Skrzynka `.filters` przy zwiniętym panelu
       nie ma tła, ramki ani wypełnienia (zostaje sam przycisk), wyrównana do linii paska (`padding-top` = padding paska 10 px).
       Rozwinięty panel — bez zmian funkcjonalnych (S38/S39: `<details class="f-zwijane">`, „Filtry (N)”, chipy).
       Ikony widoku i sortowania: promień 8 → 10, jak pole i DORADCA.
   (3) Karta produktu: ten sam pasek co lista (makro `_sk_pasek_szukaj.html`) — szukajka belki na karcie znika; pasek karty nie klei się
       (sk_pasek.js mierzy belkę tylko na liście). */
body:has(.sk-karta .sk-szukaj) .sk-belka .sk-szukaj{display:none}
.sk-sklep.sk-karta .sk-szukaj{position:static;margin:0 0 10px}
.sk-sklep .filters details.f-zwijane>summary{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 14px;box-sizing:border-box;
  border:1px solid rgba(16,185,129,.45);border-radius:10px;background:transparent;color:var(--accent-ink);font-family:var(--mono);font-size:.72rem;
  font-weight:400;letter-spacing:.08em;text-transform:uppercase;line-height:1;white-space:nowrap;transition:background .2s var(--krzywa),border-color .2s var(--krzywa)}
.sk-sklep .filters details.f-zwijane>summary:hover{background:rgba(16,185,129,.08);border-color:var(--accent)}
.sk-sklep .filters details.f-zwijane>summary:focus-visible{outline:0;border-color:var(--accent)}
.sk-sklep .filters details.f-zwijane>summary::after{content:"";width:6px;height:6px;margin:-3px 0 0 4px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}
.sk-sklep .filters details.f-zwijane[open]>summary::after{content:"";margin:3px 0 0 4px;transform:rotate(-135deg)}
.sk-sklep .filters details.f-zwijane[open]>summary{margin-bottom:14px}
body .sk-sklep .filters:has(>details.f-zwijane:not([open])){background:transparent;background-image:none;border:0;border-radius:0;padding:10px 0 0;
  box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.sk-sklep .sk-szukaj .sort-menu > summary,.sk-sklep .sk-szukaj .view-toggle .vt{border-radius:10px}

/* S42-d (390 px: pusty odstęp pod zwiniętym „Filtry”, nad paskiem szukania): poniżej 961 px `.cat-layout` to jedna kolumna, więc
   odstęp = `gap` siatki 28 px + `padding-top` paska 10 px = 38 px. Przy ZWINIĘTYM panelu przerwa wierszy siatki = 0 — zostaje 10 px
   (padding paska, jak odstęp nad „Filtry”). Rozwinięty panel i układ dwukolumnowy (≥ 961 px) bez zmian. */
@media (max-width:960px){.sk-sklep .cat-layout:has(>aside.filters>details.f-zwijane:not([open])){row-gap:0}}

/* S43-b: znacznik S42 „model do potwierdzenia” w podpowiedziach szukajki — własny wiersz siatki `.pp-poz` pod nazwą */
.pp-niepotw{grid-column:1/-1;font-size:.76rem}
/* S56-b: wybór języka na ekranie zgody (`[data-zgoda-jezyki]`, base.html) — mały, w prawym górnym rogu karty, nie rozpycha okna */
.consent .consent-in{position:relative}
.consent details.consent-jezyki{position:absolute;top:.5rem;right:.6rem;z-index:2;font-size:.78rem;line-height:1}
.consent details.consent-jezyki>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .45rem;border:1px solid rgba(0,0,0,.18);border-radius:6px;background:var(--paper,#fff);font-weight:600}
.consent-jezyki>summary::-webkit-details-marker{display:none}
.consent-jezyki .sk-wybor-strz{width:10px;height:10px;fill:none;stroke:currentColor;stroke-width:1.6}
.consent .consent-jezyki-lista{position:absolute;top:calc(100% + 4px);right:0;display:grid;grid-template-columns:repeat(3,auto);gap:2px;padding:.35rem;background:var(--paper,#fff);border:1px solid rgba(0,0,0,.18);border-radius:6px;box-shadow:0 6px 18px rgba(0,0,0,.15)}
.consent-jezyki-lista a{display:block;padding:.3rem .45rem;text-decoration:none;color:inherit;border-radius:4px;text-align:center}
.consent-jezyki-lista a:hover,.consent-jezyki-lista a:focus-visible{background:rgba(0,0,0,.07)}
.consent-jezyki-lista a.on{font-weight:700;text-decoration:underline}
.consent .consent-in>h2{padding-right:3.6rem}

/* Piotr 14.10 uwaga #19 („pole do wpisywania sztuk jest chujowe”): pola wpisywania w filtrach (ilość, zakresy od–do) — ta sama
   rodzina co pole paska szukaj (`.sk-szukaj-f input[type=search]`): 38 px, promień 10, ramka --line2, tło szkła, ten sam krój. */
.sk-sklep .filters input.qty,.sk-sklep .filters .range input{box-sizing:border-box;width:100%;min-width:0;height:38px;background:rgba(255,255,255,.04);
  color:var(--ink);border:1px solid var(--line2);border-radius:10px;padding:.5rem .8rem;font:inherit;font-size:.92rem}
.sk-sklep .filters input.qty:focus,.sk-sklep .filters .range input:focus{outline:0;border-color:rgba(16,185,129,.55)}
.sk-sklep .filters .range{gap:8px}

/* 14.10 uwaga #5 (Piotr: „Podczas przewijania strony kawałek przewija się też pasek z filtrami → on powinien być w tym samym miejscu
   zawsze jak pozostałe elementy menu → nie powinien jechać do góry przy przewijaniu produktów.”): kolumna filtrów była `sticky` z `top:10px`,
   a belka sklepu (`header.hdr`, `sticky top:0`, logo + kategorie + szukajka ≈ 187 px na 1400 px) jest dużo wyższa — panel wjeżdżał POD belkę.
   Teraz panel staje POD belką: `--sk-belka-h` = zmierzona wysokość belki (`static/filtry.js`, ResizeObserver), zapas 72 px bez skryptu.
   Dłuższy niż ekran przewija się WEWNĄTRZ siebie, nie razem ze stroną. Układ jednokolumnowy (≤ 960 px, telefon) bez zmian: static. */
.cat-layout>.filters{position:sticky;top:calc(var(--sk-belka-h,72px) + 12px);max-height:calc(100vh - var(--sk-belka-h,72px) - 24px);overflow-y:auto;overscroll-behavior:contain;align-self:start}
@media (max-width:960px){.cat-layout>.filters{position:static;max-height:none;overflow-y:visible}}
/* koniec 14.10 uwaga #5 */

/* 14.10-u3 (Piotr 14.10 19:4x uwaga 3: „Wyczyść filtry ma być obok FILTRY w jednej linijce”): nagłówek panelu filtrów =
   [FILTRY ▴ … Wyczyść]. Link stoi w `aside.filters` PRZED `<details>` (widać go też przy zwiniętym panelu); obie rzeczy w tej samej
   komórce siatki — `details` na całą szerokość, link przyklejony do prawej, na wysokości przycisku „Filtry” (38 px). Bez pozycjonowania
   absolutnego, więc działa przy każdym wypełnieniu skrzynki (rozwinięta / zwinięta, 1280 / 390 px). */
aside.filters{display:grid;grid-template-columns:minmax(0,1fr)}
aside.filters>details.f-zwijane{grid-row:1;grid-column:1;min-width:0}
aside.filters>.f-wyczysc{grid-row:1;grid-column:1;justify-self:end;align-self:start;position:relative;z-index:1;display:inline-flex;align-items:center;min-height:30px;white-space:nowrap}
.sk-sklep aside.filters>.f-wyczysc{height:38px}
/* U1016-D (Piotr 16.10 16:3x: „Wyczyść filtry” najeżdża na „Filtry” — „Niech zostanie samo wyczysc”): napis skrócony do „Wyczyść”
   (`filter.reset` we wszystkich językach jednym słowem); link nie zajmuje więcej niż 45 % wiersza i nie wchodzi pod przycisk „Filtry”
   ani na 390 px, ani w wąskiej kolumnie desktopu. */
aside.filters>.f-wyczysc{max-width:45%;overflow:hidden;text-overflow:ellipsis}

/* K-340b (Piotr 14.10: filtry na 390 px zostają ROZWINIĘTE): pole szukania z DORADCĄ stało pod ~5 000 px panelu filtrów.
   Poniżej 961 px `.results` przestaje być pudełkiem (`display:contents`), jego dzieci są wierszami siatki `.cat-layout`,
   a `.sk-szukaj` dostaje `order:-1` — staje NAD panelem filtrów (nadal przyklejony). Przerwa wierszy siatki = 0, żeby nie
   rozsuwać elementów listy; odstęp pod panelem niesie jego margines (zwinięty panel — 0, jak S42-d). ≥ 961 px bez zmian. */
@media (max-width:960px){
  .sk-sklep.sk-lista .cat-layout{grid-template-columns:minmax(0,1fr);row-gap:0}
  .sk-sklep.sk-lista .cat-layout>.results{display:contents}
  .sk-sklep.sk-lista .cat-layout>.results>*{min-width:0}
  .sk-sklep.sk-lista .cat-layout>.results>.sk-szukaj{order:-1}
  .sk-sklep.sk-lista .cat-layout>aside.filters{margin-bottom:28px}
  .sk-sklep.sk-lista .cat-layout>aside.filters:has(>details.f-zwijane:not([open])){margin-bottom:0}
  .sk-sklep.sk-lista .cat-layout>.results.laduje>*{opacity:.55;transition:opacity .15s}
}

/* 15.10: znacznik „Dostępne” przy „Cena na zapytanie” (OFERTA_BEZ_CENY_BRAMKA) — bez liczby ilości */
.znacznik-dostepne{display:inline-block;color:var(--accent-ink);font-weight:600;font-size:.86rem}

/* Piotr 15.10 21:5x: „cena EUR / Wp zmieści się w tej samej linijce co cena nominalna i ma być w tym samym kolorze co nominalna”
   — `.cena-linia` = cena za sztukę + €/Wp w JEDNEJ linii (bez łamania), `.cena-wp` to ten sam <strong> (kolor i krój nominalnej),
   tylko mniejszy, żeby zmieścić się w kafelku 2-kolumnowym przy 360 px; dopisek „netto / szt.” idzie za linią
   (może zejść niżej). Liczby bez zmian — sam układ. */
.price .cena-linia{white-space:nowrap}
.price strong.cena-wp{font-size:.86em}
.sk-sklep .card .price strong.cena-wp{font-size:.8rem}
.sk-sklep .plist .price strong.cena-wp{font-size:.86em}
@media (max-width:600px){
  .sk-sklep .card .price .cena-linia strong{font-size:min(.86rem,3.6vw)}
  .sk-sklep .card .price .cena-linia strong.cena-wp{font-size:min(.74rem,3.1vw)}
}
/* Piotr 16.10: „w trybie kompaktowym cena nominalna i eur / wp muszą być w osobnych linijkach, bo nie mieści się teraz całość
   i przenosi sztuk do drugiej linii” — w `.plist.kompakt` dwa bloki: `.cena-nom` (od X € netto / szt., nigdy nie łamie się)
   i `.cena-wp-linia` (€/Wp, ten sam kolor co nominalna z `.sk-sklep .plist .price strong`, mniejszy). Lista i siatka bez zmian. */
.plist.kompakt .price .cena-nom,.plist.kompakt .price .cena-wp-linia{display:block;white-space:nowrap}
.plist.kompakt .price .cena-wp-linia strong.cena-wp{font-size:.86em}
.plist.kompakt .price small.muted{display:block}
.plakietka-eol{display:inline-block;margin:.2rem 0;padding:.1rem .5rem;border:1px solid currentColor;border-radius:999px;color:#9a3412;font-weight:600;font-size:.82rem}
/* U1016 (Piotr 16.10, widok zamówienia) — wyłącznie układ, bez zmian kolorów czcionek.
   pkt 6: data w jednej linii z numerem zamówienia; pkt 7: tabela pozycji + podsumowanie = JEDEN blok na pełnym, nieprzezroczystym
   tle (wewnętrzna tabela bez własnego szkła); pkt 8: „Anuluj zamówienie” klikalne tylko na samym napisie, nie na całej szerokości. */
.ord-tytul{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px}.ord-tytul .ord-data{font-size:.95rem;font-weight:400}
.ord-blok{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:16px;margin:0 0 20px}
body.sk-kosmos .ord-blok{background:var(--sk-pelne,var(--paper))}
.ord-blok .rfq,body.sk-kosmos .ord-blok .rfq{background:transparent;border:0;border-radius:0;backdrop-filter:none;-webkit-backdrop-filter:none;margin-bottom:10px}
.ord-blok .sums.wide{margin-bottom:0}
.ord-fracht{white-space:nowrap}
.ord-anuluj{display:block;margin-top:10px}.ord-anuluj>summary{display:inline-flex;width:auto;justify-self:start;cursor:pointer;list-style:none}.ord-anuluj>summary::-webkit-details-marker{display:none}
