/* Hurtownia Lux — wygląd sklepu (makieta zatwierdzona 22.10.2026: _entwuerfe/klimatlux/2026-10-22-hurtownia-lux-prosta/).
   Układ: pasek informacji, przyklejony nagłówek z dużą wyszukiwarką, kategorie, baner, siatka produktów z dużą ceną,
   zestawy, zamówienie po kodach, korzyści, stopka. Najpierw telefon (360–390 px), od 700 i 1000 px szerzej.
   Jeden jasny wygląd (sklep). Kolory i czcionka tylko przez zmienne z :root. */

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

:root {
  /* Styl „Inżynier”, akcent „Błękit elektryczny” (właściciel 24.10.2026: akcent/a1.html): atrament + błękit #1F7BFF.
     --acc = wypełnienie przycisków i plakietek (biały tekst 5,1:1); --acc-bright = ozdoby, ikony, poświata (#1F7BFF). */
  --acc: #1667E8; --acc-dark: #0F55C9; --acc-soft: #E4ECF8; --acc-soft2: #BFD8FF; --acc-ink: #1558C8; --acc-ink-dark: #0B3F96; --acc-on: #FFFFFF; --acc-light: #5AA2FF; --acc-rgb: 22, 103, 232; --acc-light-rgb: 90, 162, 255;
  --acc-bright: #1F7BFF;
  --red: var(--acc); --red-dark: var(--acc-dark); --red-soft: var(--acc-soft);
  --acc2: #BFD8FF; --cyan: #19D3F3; --cyan-ink: #0B6E85; --cyan-soft: #DDF6FC;
  --grad: #1667E8; /* płasko, bez gradientów (24.10.2026) */
  --ink: #0F1020;
  --hdr: #0E1022; --hdr2: #181B36;
  --muted: #5F6485;
  --line: #CBD3E1; /* czytelne ramki i podziały na jasnym tle (24.10.2026: «линии не видны») */
  --soft: #EEF2F8;
  --bg: #EEF2F8;
  --white: #FFFFFF;
  --green: #1C7A35;
  --green-soft: #E7F4EA;
  --yellow: #19D3F3;
  --amber: #8A5A00;
  --font: "Inter", "Segoe UI", Roboto, Arial, sans-serif;
  --font-h: "Inter", "Segoe UI", Roboto, Arial, sans-serif; /* karty, listy, ceny, przyciski: Inter (24.10.2026: «шрифт печатный в карточках не нравится») */
  --font-d: "Space Grotesk", "Inter", "Segoe UI", Arial, sans-serif; /* tylko duże tytuły sekcji i strony */
  --r: 12px;
  color-scheme: light;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--white); color: var(--ink); font-family: var(--font); font-size: 15px; line-height: 1.5; }
a { color: inherit; }
img { max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
:focus-visible { outline: 3px solid #1F7BFF; outline-offset: 2px; }
/* Kontener: maks. 1440 px razem z marginesami (właściciel 24.10.2026: najpierw Full HD, potem «давай как было и потом
   1440 px как бы макс»), na większych ekranach wyśrodkowany; --wrap-max i --gut w sekcji „Szeroki ekran” na końcu. */
.wrap { max-width: calc(var(--wrap-max, 1392px) + 2 * var(--gut, 16px)); margin: 0 auto; padding-left: max(var(--gut, 16px), env(safe-area-inset-left, 0px)); padding-right: max(var(--gut, 16px), env(safe-area-inset-right, 0px)); }
.sr, .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.skip { position: absolute; left: 8px; top: -60px; z-index: 50; background: var(--ink); color: var(--white); padding: 10px 14px; border-radius: var(--r); text-decoration: none; }
.skip:focus { top: 8px; }
.hlx-ico { flex: 0 0 auto; }

/* Pasek informacji */
.topbar { background: var(--ink); color: #CFD5E3; font-size: 12.5px; }
.topbar .wrap { display: flex; gap: 6px 22px; flex-wrap: wrap; justify-content: center; align-items: center; padding-block: 7px; }
.topbar b { color: var(--white); font-weight: 600; }
.topbar a { color: #DCE2EF; text-decoration: none; }
.topbar .hide-m { display: none; }
.topbar .m-only { display: inline; }
.topbar .m-only a { font-weight: 600; }
/* Przełącznik języka i waluty (inc/helpers.php → hlx_lc_switch) */
.lc-switch { position: relative; }
.hlx-flag { display: block; border-radius: 2px; box-shadow: 0 0 0 1px rgba(15, 16, 32, .18); flex: 0 0 auto; }
/* Jedna linia: flaga, kod, strzałka — nie dwa rzędy jak ikony „Konto” i koszyka */
.lc-switch { align-self: center; margin-right: 4px; }
.lc-btn { display: inline-flex; align-items: center; gap: 7px; height: 38px; padding: 0 10px; border: 1px solid var(--line); border-radius: var(--r); background: var(--white); color: var(--ink); font-size: 13.5px; font-weight: 600; white-space: nowrap; }
.lc-btn:hover { border-color: var(--ink); }
.lc-btn[aria-expanded="true"] { border-color: var(--red); color: var(--acc-ink); }
.lc-chev { flex: 0 0 auto; transition: transform .15s; }
.lc-btn[aria-expanded="true"] .lc-chev { transform: rotate(180deg); }
.lc-label { white-space: nowrap; }
.lc-panel { position: absolute; right: 0; top: calc(100% + 8px); z-index: 40; width: 460px; max-width: calc(100vw - 24px); background: var(--white); border: 1px solid var(--line); border-radius: var(--r); box-shadow: 0 18px 44px rgba(15, 16, 32, .18); padding: 16px; }
.lc-panel[hidden] { display: none; }
.lc-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.lc-h { margin: 0 0 8px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); }
.lc-opt { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 10px; margin-bottom: 6px; border: 1px solid var(--line); border-radius: var(--r); font-size: 14px; }
.lc-opt b { flex: 1 1 auto; font-weight: 600; min-width: 0; }
.lc-opt small { font-size: 11.5px; font-weight: 700; color: var(--muted); white-space: nowrap; }
.lc-opt.is-on { border-color: var(--red); background: var(--red-soft); }
.lc-opt.is-on small { color: var(--acc-ink); }
.lc-opt.is-soon { background: var(--soft); color: #838B9A; cursor: not-allowed; }
.lc-opt.is-soon .hlx-flag { opacity: .6; }
.lc-opt.is-soon small { font-weight: 600; text-transform: uppercase; letter-spacing: .04em; font-size: 10.5px; }
.lc-opt .cur { width: 24px; height: 24px; display: grid; place-items: center; border-radius: var(--r); background: var(--white); box-shadow: 0 0 0 1px var(--line); font-size: 12px; font-weight: 700; }
.lc-note { margin: 4px 0 0; font-size: 12.5px; color: var(--muted); }
/* wersje /cs/, /sk/ i waluty (mu-plugin klx-jezyki, 26.10.2026): język = odnośnik, waluta = przycisk */
a.lc-opt, button.lc-opt { width: 100%; color: var(--ink); text-decoration: none; background: var(--white); font: inherit; font-size: 14px; text-align: left; cursor: pointer; }
a.lc-opt:hover, button.lc-opt:hover { border-color: var(--ink); }
button.lc-opt[aria-pressed="true"] { border-color: var(--red); background: var(--red-soft); }
button.lc-opt[aria-pressed="true"] small { color: var(--acc-ink); }
.klx-fx-wait body :is(.price, .hlx-price, .amount, .woocommerce-Price-amount) { visibility: hidden; animation: klx-fx-show 0s 3s forwards; }
.klx-cur-fx .klx-fx--paid { color: var(--muted); }
.klx-jz-legal, .klx-jz-note { margin: 0 0 20px; padding: 12px 14px; border: 1px solid var(--line); border-left: 4px solid var(--red); background: var(--soft); font-size: 14px; }

/* Nagłówek */
header.site { position: sticky; top: 0; z-index: 20; background: var(--white); border-bottom: 1px solid var(--line); box-shadow: 0 2px 8px rgba(15, 16, 32, .05); }
.admin-bar header.site { top: 46px; }
.head { display: grid; grid-template-columns: auto 1fr auto; grid-template-areas: "logo . icons" "search search search"; gap: 10px 12px; align-items: center; padding-block: 10px 12px; }
.logo { grid-area: logo; display: flex; align-items: center; gap: 9px; text-decoration: none; }
.logo-img { max-height: 44px; width: auto; }
.logo-mark { width: 36px; height: 36px; background: var(--red); color: var(--acc-on); display: grid; place-items: center; font-weight: 700; font-size: 16px; border-radius: var(--r); }
.logo-text { display: flex; flex-direction: column; line-height: 1.1; }
.logo-text strong { font-size: 19px; font-weight: 700; white-space: nowrap; }
.logo-text strong span { color: var(--acc-ink); }
.logo-text small { font-size: 11px; color: var(--muted); font-weight: 500; }
.site-search { grid-area: search; display: flex; border: 2px solid var(--red); border-radius: var(--r); background: var(--white); min-width: 0; }
.site-search input[type="search"] { flex: 1 1 auto; min-width: 0; border: 0; padding: 0 12px; height: 46px; font-size: 16px; background: transparent; outline: none; }
.site-search .scan { border: 0; background: transparent; width: 46px; display: grid; place-items: center; color: var(--muted); border-left: 1px solid var(--line); }
.site-search .go { border: 0; background: var(--red); color: var(--acc-on); font-weight: 600; padding: 0 18px; }
.site-search .go:hover { background: var(--red-dark); }
/* Podpowiedzi wyszukiwarki (inc/search.php, main.js) */
.site-search { position: relative; }
.sug { position: absolute; left: -2px; right: -2px; top: calc(100% + 4px); z-index: 40; max-height: min(70vh, 640px); overflow: auto; background: var(--white); border: 1px solid var(--line); border-radius: var(--r); box-shadow: 0 18px 40px rgba(15, 16, 32, .18); }
.sug[hidden] { display: none; }
.sug-in { display: grid; grid-template-columns: minmax(0, 1fr); }
.sug-col { padding: 8px 0; }
.sug-col--cats { border-top: 1px solid var(--line); }
.sug-h { margin: 4px 14px 6px; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.sug-p { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 7px 14px; color: var(--ink); text-decoration: none; }
.sug-p img, .sug-noimg { width: 44px; height: 44px; object-fit: contain; border: 1px solid var(--line); border-radius: var(--r); background: var(--white); }
.sug-noimg { display: block; background: var(--soft); }
.sug-t { display: flex; flex-direction: column; min-width: 0; }
.sug-n { font-size: 14px; line-height: 1.3; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.sug-n b, .sug-c b { color: var(--acc-ink); font-weight: 700; }
.sug-k { font-size: 12px; color: var(--muted); }
.sug-pr { font-size: 14px; font-weight: 700; white-space: nowrap; font-variant-numeric: tabular-nums; }
.sug-pr.is-out { color: var(--muted); font-weight: 600; }
.sug-c { display: flex; flex-direction: column; padding: 7px 14px; color: var(--ink); font-size: 14px; font-weight: 600; text-decoration: none; }
.sug-c small { font-size: 12px; font-weight: 400; color: var(--muted); }
.sug-p:hover, .sug-c:hover, .sug a.is-on { background: var(--soft); }
.sug-all { display: block; padding: 12px 14px; border-top: 1px solid var(--line); color: var(--acc-ink); font-weight: 700; text-decoration: none; }
.sug-all:hover, .sug-all.is-on { background: var(--red-soft); }
.sug-none { margin: 0; padding: 14px; color: var(--muted); }
@media (min-width: 900px) {
  .sug-in.has-cats { grid-template-columns: minmax(0, 1fr) 260px; }
  .sug-col--cats { border-top: 0; border-left: 1px solid var(--line); }
}

.icons { grid-area: icons; display: flex; align-items: center; gap: 4px; }
.icon-btn { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-width: 48px; min-height: 48px; padding: 4px 6px; border: 0; background: transparent; font-size: 11.5px; color: var(--ink); text-decoration: none; position: relative; }
.badge { position: absolute; top: 2px; right: 4px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: var(--red); color: var(--acc-on); font-size: 11px; font-weight: 700; display: grid; place-items: center; }
.cart-sum { font-weight: 600; font-variant-numeric: tabular-nums; }
.toggle { display: inline-flex; border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; }
.toggle button { border: 0; background: var(--white); padding: 0 12px; min-height: 36px; font-size: 13px; font-weight: 600; color: var(--muted); }
.toggle button[aria-pressed="true"] { background: var(--acc); color: var(--white); }
.head .toggle { display: none; }

/* Kategorie (pasek) */
.catbar { border-top: 1px solid var(--line); }
.catbar .wrap { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; padding-block: 8px; }
.chip { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 7px; border: 1px solid var(--line); background: var(--white); border-radius: var(--r); padding: 0 14px; min-height: 42px; font-size: 14px; font-weight: 500; white-space: nowrap; text-decoration: none; }
.chip svg { width: 17px; height: 17px; color: var(--acc-ink); }
.chip:hover, .chip.is-on { border-color: var(--ink); }
.chip.is-on { background: var(--acc); color: var(--white); }
.chip.is-on svg { color: var(--white); }
.chip.all.is-on { background: var(--red); border-color: var(--red); color: var(--acc-on); }
.chip.codes { color: var(--acc-ink); border-color: var(--acc-soft2); }
.chip.mega-btn svg { color: currentColor; }
/* Mega menu (inc/mega-menu.php, main.js) — dwie kolumny: działy i podkategorie */
header.site { position: sticky; }
.mega { position: absolute; left: 0; right: 0; top: 100%; z-index: 30; background: var(--white); border-top: 1px solid var(--line); box-shadow: 0 22px 44px rgba(15, 16, 32, .18); }
.mega[hidden] { display: none; }
.mega-bar { display: none; }
.mega-in { display: grid; grid-template-columns: 290px minmax(0, 1fr); height: min(660px, calc(100vh - 190px)); padding-block: 0; }
/* 23.10.2026: kolumny przewijają się osobno, strona pod panelem stoi (overscroll-behavior) */
.mega-l1, .mega-l2 { overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.mega-l1 { list-style: none; margin: 0; padding: 10px 0; border-right: 1px solid var(--line); }
.mega-l1 a { display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 9px 14px 9px 11px; border-left: 3px solid transparent; color: var(--ink); font-size: 14px; font-weight: 600; text-decoration: none; }
.mega-l1 a svg { width: 20px; height: 20px; color: var(--acc-ink); }
.mega-l1 small { color: var(--muted); font-size: 12px; font-weight: 400; font-variant-numeric: tabular-nums; }
.mega-l1 a:hover, .mega-l1 a.is-on { background: var(--soft); border-left-color: var(--red); }
.mega-l2 { padding: 16px 24px 24px; min-width: 0; }
.mega-top { display: flex; align-items: baseline; gap: 16px; margin-bottom: 14px; padding-bottom: 10px; border-bottom: 1px solid var(--line); }
.mega-title { font-size: 20px; font-weight: 700; color: var(--ink); text-decoration: none; }
.mega-all { font-size: 14px; font-weight: 600; color: var(--acc-ink); }
.mega-x { margin-left: auto; width: 36px; height: 36px; border: 1px solid var(--line); border-radius: var(--r); background: var(--white); font-size: 20px; line-height: 1; cursor: pointer; }
.mega-cols { columns: 3 220px; column-gap: 28px; }
.mega-grp { break-inside: avoid; margin: 0 0 16px; }
.mega-h { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 12px; align-items: center; margin-bottom: 6px; color: var(--ink); font-size: 14px; font-weight: 700; line-height: 1.3; text-decoration: none; }
.mega-h img, .mega-noimg { width: 56px; height: 56px; object-fit: contain; border: 1px solid var(--line); border-radius: var(--r); background: var(--white); padding: 3px; box-sizing: border-box; }
.mega-noimg { display: block; background: var(--soft); }
.mega-grp ul { padding-left: 68px !important; }
.mega-h small { color: var(--muted); font-weight: 400; }
.mega-grp ul { list-style: none; margin: 0; padding: 0; }
.mega-grp li a { display: block; padding: 3px 0; color: var(--muted); font-size: 13.5px; line-height: 1.35; text-decoration: none; }
.mega-h:hover, .mega-grp li a:hover { color: var(--acc-ink); text-decoration: underline; }
.mega-grp .more { color: var(--acc-ink); font-weight: 600; }
@media (max-width: 1023px) {
  .mega { position: fixed; inset: 0; top: 0; z-index: 70; overflow: auto; box-shadow: none; border: 0; }
  html.mega-lock, html.mega-lock body { overflow: hidden; }
  .mega-bar { position: sticky; top: 0; z-index: 1; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; padding: 10px 14px; background: var(--ink); color: var(--white); }
  .mega-bar strong { text-align: center; font-size: 16px; }
  .mega-bar button { min-height: 40px; padding: 0 10px; border: 0; border-radius: var(--r); background: rgba(255, 255, 255, .12); color: var(--white); font: inherit; font-size: 14px; cursor: pointer; }
  .mega-bar .mega-x { width: 40px; margin: 0; border: 0; font-size: 22px; }
  .mega-back { visibility: hidden; }
  .mega.is-l2 .mega-back { visibility: visible; }
  .mega-in { grid-template-columns: 1fr; height: auto; padding: 0; }
  .mega-l1, .mega-l2 { overflow: visible; }
  .mega-l1 { border-right: 0; padding: 4px 0; }
  .mega-l1 a { padding: 13px 16px; border-left: 0; border-bottom: 1px solid var(--line); font-size: 15px; }
  .mega-l1 a.is-on { background: none; }
  .mega-l2 { display: none; padding: 14px 16px 30px; }
  .mega.is-l2 .mega-l1 { display: none; }
  .mega.is-l2 .mega-l2 { display: block; }
  .mega-x--desk { display: none; }
  .mega-top { flex-wrap: wrap; gap: 6px 14px; }
  .mega-cols { columns: 1; }
  .mega-grp { padding-bottom: 12px; border-bottom: 1px solid var(--line); }
  .mega-grp li a { padding: 7px 0; font-size: 15px; }
}


/* Darmowa dostawa */
.ship { background: var(--green-soft); color: var(--green); font-size: 13.5px; }
.ship .wrap { display: flex; align-items: center; gap: 12px; padding-block: 8px; flex-wrap: wrap; }
.ship .bar { flex: 1 1 140px; height: 8px; background: rgba(28, 122, 53, .15); border-radius: 4px; overflow: hidden; min-width: 120px; }
.ship .bar i { display: block; height: 100%; background: var(--green); transition: width .3s; }

/* Sekcje */
main > section { padding-block: 26px 6px; }
.sec-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 14px; }
.sec-head h2 { margin: 0; font-size: 22px; font-weight: 700; text-wrap: balance; }
.sec-head .note { color: var(--muted); font-size: 13px; }
.more { font-weight: 600; color: var(--acc-ink); text-decoration: none; font-size: 14px; }

/* Baner */
.hero { padding-top: 14px !important; }
.hero-grid { display: grid; gap: 12px; }
.side-cats { display: none; }
.promo { position: relative; display: grid; grid-template-columns: 1fr; background: var(--red); color: var(--acc-on); border-radius: var(--r); overflow: hidden; }
.promo .txt { padding: 20px 18px 22px; display: flex; flex-direction: column; gap: 10px; position: relative; z-index: 1; }
.promo .kicker { display: flex; align-items: center; gap: 8px; color: var(--acc-on); font-weight: 700; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.promo .kicker::before { content: ""; width: 18px; height: 2px; background: currentColor; flex: 0 0 auto; }
.promo h1 { margin: 0; font-size: 25px; line-height: 1.18; font-weight: 700; text-wrap: balance; }
.promo p { margin: 0; font-size: 15px; color: var(--acc-on); max-width: 46ch; }
.promo-cta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 4px; }
.promo .cta { display: inline-flex; align-items: center; justify-content: center; background: var(--white); color: var(--acc-ink); font-weight: 700; text-decoration: none; padding: 0 18px; min-height: 46px; border-radius: var(--r); border: 1.5px solid var(--white); }
.promo .cta:hover { background: var(--acc-soft); }
.promo .cta--line { background: transparent; color: var(--acc-on); border-color: rgba(15, 16, 32, .75); }
.promo .cta--line:hover { background: rgba(15, 16, 32, .1); }
.pics { display: none; }
.mini { display: grid; grid-template-columns: 1fr; gap: 12px; }
.tile { border: 1px solid var(--line); border-radius: var(--r); padding: 14px; display: flex; flex-direction: column; gap: 8px; background: var(--white); min-width: 0; }
.tile h2, .tile h3 { margin: 0; font-size: 15px; font-weight: 700; }
.tile p { margin: 0; color: var(--muted); font-size: 13px; }
.hit { position: relative; display: grid; grid-template-columns: 116px minmax(0, 1fr); gap: 12px; align-items: center; border: 2px solid var(--red); }
.hit .label { position: absolute; top: -1px; left: -1px; background: var(--red); color: var(--acc-on); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; padding: 4px 8px; border-radius: 0 0 var(--r) 0; }
.hit .hit-img img { height: 116px; width: 100%; object-fit: contain; display: block; }
.hit-body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.hit-brand { font-size: 11.5px; font-weight: 600; color: var(--muted); text-transform: uppercase; letter-spacing: .03em; }
.hit .hit-name { font-size: 14.5px; line-height: 1.3; }
.hit .hit-name a { text-decoration: none; }
.hit .pr .hlx-price-main { color: var(--acc-ink); font-size: 24px; }
.hit .add { margin-top: 6px; }
.biz { background: var(--soft); display: none; }
.biz a { margin-top: auto; font-weight: 600; color: var(--acc-ink); text-decoration: none; font-size: 14px; }

/* Korzyści — zaraz pod banerem */
.perks-sec { padding-block: 12px 0 !important; }
.perks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.perk { --hlx-ico-bg: var(--soft); display: flex; gap: 10px; align-items: center; padding: 10px 12px; background: var(--soft); border-radius: var(--r); }
.perk svg { color: var(--acc-ink); }
.perk strong { display: block; font-size: 13.5px; line-height: 1.25; }
.perk span { font-size: 12px; color: var(--muted); }

/* Kategorie (kafelki) */
.cats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.cat { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 14px 6px 12px; border: 1px solid var(--line); border-radius: var(--r); text-decoration: none; background: var(--white); text-align: center; transition: border-color .15s, box-shadow .15s; }
.cat:hover { border-color: var(--red); box-shadow: 0 4px 14px rgba(15,16,32,.08); }
.cat img { height: 84px; width: 100%; object-fit: contain; }
.cat .cat-ico { width: 56px; height: 56px; border-radius: 50%; background: var(--red-soft); display: grid; place-items: center; color: var(--acc-ink); transition: background-color .15s, color .15s; }
.cat .cat-ico svg { width: 28px; height: 28px; }
.cat:hover .cat-ico { background: var(--red); color: var(--acc-on); }
.cat strong { font-size: 13.5px; font-weight: 600; line-height: 1.25; }
.cat small { color: var(--muted); font-size: 12px; }
.cat .cat-from { color: var(--acc-ink); font-weight: 700; font-size: 12.5px; }

/* Karta produktu i siatki */
.grid, ul.products { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
ul.products::before, ul.products::after { content: none !important; }
ul.products li.card-li { margin: 0 !important; padding: 0 !important; width: auto !important; float: none !important; display: flex; }
.card { border: 1px solid var(--line); border-radius: var(--r); background: var(--white); display: flex; flex-direction: column; min-width: 0; width: 100%; transition: box-shadow .15s, border-color .15s; }
.card:hover { box-shadow: 0 6px 18px rgba(15,16,32,.09); border-color: #C3CAD9; }
.card .ph { aspect-ratio: 1 / 1; max-width: 100%; padding: 12px; display: grid; place-items: center; border-bottom: 1px solid var(--line); }
.card .ph img { max-height: 100%; width: auto; object-fit: contain; }
.card .body { padding: 10px 12px 12px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.card .brand { font-size: 12px; font-weight: 600; color: var(--muted); text-transform: uppercase; letter-spacing: .03em; }
.card .name { margin: 0; font-size: 14px; line-height: 1.35; font-weight: 500; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; min-height: 3.9em; }
.card .name a { text-decoration: none; }
.card .name a:hover { color: var(--acc-ink); }
.card .codes { display: flex; flex-direction: column; font-size: 11.5px; color: var(--muted); line-height: 1.4; }
.card .codes span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.stock { display: flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--green); font-weight: 500; }
.stock::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.stock.is-order { color: var(--amber); }
.stock.is-out { color: var(--muted); }
.stock.has-qty { font-variant-numeric: tabular-nums; white-space: nowrap; }
/* „Mały stan magazynowy” przy 1 szt. (właściciel 29.10.2026: «где 1 шт пишем маленький сток и все»): ilość zostaje zielona
   (towar jest na stanie), dopisek w tonie ostrzeżenia „na zamówienie” (--amber na #FFF4D6, jak .k-st.is-wait); w wąskiej
   karcie dopisek przechodzi pod ilość w całości. */
.stock.is-low { flex-wrap: wrap; row-gap: 4px; }
.stock-note { padding: 1px 7px; border-radius: 4px; background: #FFF4D6; color: var(--amber); font-size: 11.5px; font-weight: 600; line-height: 1.5; white-space: nowrap; }
.pdp-buy .stock-note { font-size: 12.5px; }
.pr { display: flex; flex-direction: column; }
.card .pr { margin-top: auto; }
.hlx-price-main { font-size: 21px; font-weight: 700; line-height: 1.2; font-variant-numeric: tabular-nums; }
.hlx-price-main del { font-size: 14px; color: var(--muted); font-weight: 400; }
.hlx-price-main ins { text-decoration: none; }
.hlx-price-alt { font-size: 12.5px; color: var(--muted); font-variant-numeric: tabular-nums; }
.unit { font-size: 12px; color: var(--muted); }
.add, a.add, .button.add { margin-top: 8px; display: flex; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: var(--r); background: var(--red); color: var(--acc-on); font-weight: 600; min-height: 44px; padding: 0 12px; text-decoration: none; font-size: 15px; }
.add:hover { background: var(--red-dark); color: var(--acc-on); }
.add.ask, a.add.ask { background: var(--white); color: var(--ink); border: 1px solid #BFC6D6; font-size: 14px; font-weight: 600; }
.add.ask:hover { background: var(--soft); color: var(--ink); }
.pdp-ask { display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center; margin: 6px 0; }
.pdp-ask .btn { align-self: auto; min-height: 48px; }
.pdp-ask-tel { font-weight: 600; color: var(--ink); text-decoration: none; }
.add.loading { opacity: .7; }
.add.added, .add.done { background: var(--green); }
a.added_to_cart { display: block; margin-top: 6px; font-size: 13px; color: var(--green); font-weight: 600; text-align: center; }

/* Zestawy */
.sets { display: grid; gap: 12px; }
.set { border: 1px solid var(--line); border-radius: var(--r); padding: 14px; display: grid; gap: 12px; background: var(--white); }
.set-items { display: flex; align-items: center; gap: 10px; }
.set-items .it { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; font-size: 12.5px; color: var(--muted); text-decoration: none; }
.set-items .it img { height: 72px; width: 100%; object-fit: contain; }
.set-items .plus { font-size: 22px; font-weight: 700; color: var(--muted); }
.set-foot { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; flex-wrap: wrap; border-top: 1px solid var(--line); padding-top: 12px; }
.set-foot h3 { margin: 0 0 2px; font-size: 16px; }
.set-foot .price { font-size: 21px; font-weight: 700; font-variant-numeric: tabular-nums; }
.set-foot small { color: var(--muted); font-size: 12.5px; }

/* Zamów po kodach + konto firmowe */
.two { display: grid; gap: 12px; }
.panel { border-radius: var(--r); padding: 18px; background: var(--soft); display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.panel h2 { margin: 0; font-size: 19px; }
.panel p { margin: 0; color: var(--muted); font-size: 14px; }
.panel textarea { width: 100%; min-height: 104px; border: 1px solid #BFC6D6; border-radius: var(--r); padding: 10px; background: var(--white); font-size: 15px; resize: vertical; }
.btn { display: inline-flex; align-self: flex-start; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: var(--r); background: var(--acc); color: var(--white); font-weight: 600; min-height: 44px; padding: 0 18px; text-decoration: none; }
.btn.red { background: var(--red); }
.btn.red:hover { background: var(--red-dark); }
.msg { font-size: 13.5px; }
.msg.ok { color: var(--green); }
.msg.err { color: var(--acc-ink); }
.checks { margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; font-size: 14px; }
.checks li { display: flex; gap: 8px; align-items: flex-start; }
.checks li::before { content: "✓"; color: var(--green); font-weight: 700; }

/* Marki */
.brands { display: flex; gap: 8px; flex-wrap: wrap; }
.brands a { border: 1px solid var(--line); border-radius: var(--r); padding: 8px 14px; font-weight: 700; color: #373D4A; font-size: 14px; text-decoration: none; }
.brands a:hover { border-color: var(--red); color: var(--acc-ink); }

/* Boczny koszyk (inc/cart-drawer.php) */
.cd-overlay { position: fixed; inset: 0; z-index: 90; background: rgba(20, 22, 25, .45); }
.cart-drawer { position: fixed; top: 0; right: 0; bottom: 0; z-index: 91; width: min(440px, 100vw); display: flex; flex-direction: column; background: var(--white); box-shadow: -8px 0 30px rgba(0, 0, 0, .18); transform: translateX(105%); transition: transform .25s ease; visibility: hidden; }
.cart-drawer.is-open { transform: none; visibility: visible; }
.cd-head { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; border-bottom: 1px solid var(--line); font-size: 18px; }
.cd-close { width: 40px; height: 40px; border: 0; background: none; font-size: 28px; line-height: 1; cursor: pointer; color: var(--ink); }
.cd-body { flex: 1; display: flex; flex-direction: column; min-height: 0; }
.cd-items { flex: 1; overflow-y: auto; margin: 0; padding: 4px 16px; list-style: none; }
.cd-item { position: relative; display: grid; grid-template-columns: 64px 1fr; gap: 12px; padding: 12px 28px 12px 0; border-bottom: 1px solid var(--line); }
.cd-thumb img { width: 64px; height: 64px; object-fit: contain; border: 1px solid var(--line); border-radius: var(--r); background: var(--white); }
.cd-info { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.cd-name { font-size: 14px; font-weight: 600; line-height: 1.3; color: var(--ink); text-decoration: none; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.cd-info small { color: var(--muted); font-size: 12px; }
.cd-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 4px; }
.cd-qty { display: inline-flex; align-items: center; border: 1px solid #BFC6D6; border-radius: var(--r); }
.cd-qty button { width: 34px; height: 34px; border: 0; background: none; font-size: 18px; cursor: pointer; color: var(--ink); }
.cd-qty span { min-width: 28px; text-align: center; font-weight: 600; font-variant-numeric: tabular-nums; }
.cd-price { text-align: right; font-weight: 700; font-variant-numeric: tabular-nums; display: flex; flex-direction: column; }
.cd-price small { font-weight: 400; color: var(--muted); font-size: 12px; }
.cd-remove { position: absolute; top: 8px; right: 0; width: 28px; height: 28px; border: 0; background: none; color: #858D9C; font-size: 20px; cursor: pointer; }
.cd-remove:hover { color: var(--acc-ink); }
.cd-foot { border-top: 1px solid var(--line); padding: 12px 16px 16px; display: grid; gap: 10px; background: var(--white); }
.cd-free { display: grid; gap: 6px; font-size: 13px; color: var(--muted); }
.cd-free .bar { height: 8px; background: rgba(28, 122, 53, .15); border-radius: 4px; overflow: hidden; }
.cd-free .bar i { display: block; height: 100%; background: var(--green); }
.cd-sum { margin: 0; display: grid; gap: 6px; }
.cd-sum > div { display: flex; justify-content: space-between; gap: 12px; align-items: baseline; }
.cd-sum dt { display: inline-flex; gap: 6px; align-items: center; font-size: 14px; color: var(--muted); }
.cd-sum dd { margin: 0; text-align: right; font-weight: 600; font-variant-numeric: tabular-nums; display: flex; flex-direction: column; }
.cd-sum dd small { font-weight: 400; color: var(--muted); font-size: 12px; }
.cd-ship dt span { color: var(--ink); }
.cd-ship svg { color: var(--acc-ink); flex: none; }
.cd-sum .ok { color: var(--green); }
.cd-total { padding-top: 8px; border-top: 1px solid var(--line); }
.cd-total dt { color: var(--ink); font-weight: 700; font-size: 15px; }
.cd-total dd { font-size: 20px; font-weight: 800; }
.cd-go { width: 100%; align-self: stretch; min-height: 48px; font-size: 16px; }
.cd-cart { text-align: center; font-size: 14px; color: var(--ink); }
.cd-empty { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; color: var(--muted); padding: 24px; }
.cd-empty svg { color: var(--acc-ink); }
.btn.ghost { background: var(--white); color: var(--ink); border: 1px solid #BFC6D6; align-self: center; }
.cart-drawer.is-busy .cd-body { opacity: .55; pointer-events: none; }
html.cd-lock { overflow: hidden; }

/* Stopka: „Stopka v3 (24.10.2026)” na końcu pliku (footer.php, inc/stopka.php). */

/* Strony treści */
.page-main { padding-block: 24px 10px; }
.entry-title { font-size: 28px; line-height: 1.2; margin: 0 0 16px; }
.entry-content { max-width: 75ch; }
.entry-content h2 { font-size: 21px; margin: 28px 0 10px; }
.entry-content h3 { font-size: 17px; margin: 20px 0 8px; }
.entry-content a { color: var(--acc-ink); }

/* WooCommerce: sklep, kategoria, wyszukiwanie */
.shop-main { padding-block: 16px 10px; }
.crumbs { font-size: 13px; color: var(--muted); margin-bottom: 10px; display: flex; flex-wrap: wrap; gap: 6px; }
.crumbs a { text-decoration: none; }
.crumbs .sep { color: #AAB2C1; }
.woocommerce-products-header__title, .shop-main .page-title { font-size: 26px; margin: 0 0 6px; }
.woocommerce-result-count { color: var(--muted); font-size: 13px; margin: 0 0 12px; }
.woocommerce-ordering { margin: 0 0 14px; }
.woocommerce-ordering select { min-height: 40px; border: 1px solid #BFC6D6; border-radius: var(--r); padding: 0 10px; background: var(--white); }
.woocommerce-pagination ul { display: flex; gap: 6px; list-style: none; padding: 0; margin: 20px 0; flex-wrap: wrap; }
.woocommerce-pagination a, .woocommerce-pagination span { display: grid; place-items: center; min-width: 40px; min-height: 40px; border: 1px solid var(--line); border-radius: var(--r); text-decoration: none; }
.woocommerce-pagination .current { background: var(--acc); color: var(--white); border-color: var(--acc); }
.woocommerce-info, .woocommerce-message, .woocommerce-error, .woocommerce-notices-wrapper .wc-block-components-notice-banner { border-radius: var(--r); padding: 12px 14px; margin: 0 0 14px; background: var(--soft); border: 1px solid var(--line); list-style: none; }
.woocommerce-message { background: var(--green-soft); border-color: #BFE3C8; }
.woocommerce-error { background: #F3ECF8; border-color: #F1C2CA; }
.woocommerce-message, .woocommerce-info { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px 16px; }
.woocommerce-message .button, .woocommerce-info .button { float: none; order: 2; margin: 0; display: inline-flex; align-items: center; min-height: 38px; padding: 0 14px; border-radius: var(--r); background: var(--acc); color: var(--white); font-weight: 700; font-size: 14px; text-decoration: none; white-space: nowrap; }
.woocommerce-message .button:hover, .woocommerce-info .button:hover { background: var(--acc-dark); color: var(--white); }

/* WooCommerce: strona produktu */
.single-product .product { display: grid; gap: 20px; }
.single-product div.product .woocommerce-product-gallery { position: relative; width: 100% !important; float: none !important; margin: 0; border: 1px solid var(--line); border-radius: var(--r); padding: 12px; }
.single-product div.product .woocommerce-product-gallery img { width: 100%; height: auto; object-fit: contain; }
.single-product div.product .summary { width: 100% !important; float: none !important; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.pdp-brand { margin: 0; font-size: 13px; font-weight: 600; color: var(--muted); text-transform: uppercase; letter-spacing: .03em; }
.single-product .product_title { font-size: 24px; line-height: 1.25; margin: 0; }
.single-product .summary .price { margin: 4px 0 0; display: flex; flex-direction: column; }
.single-product .summary .hlx-price-main { font-size: 30px; }
.single-product .summary .hlx-price-alt { font-size: 14px; }
.pdp-meta { margin: 0; display: flex; gap: 14px; flex-wrap: wrap; align-items: center; }
.pdp-codes { margin: 0; color: var(--muted); font-size: 13px; }
.pdp-lead { margin: 0; color: var(--amber); font-size: 13px; font-weight: 500; }
.pdp-dims { margin: 0; color: var(--muted); font-size: 13px; font-variant-numeric: tabular-nums; }
.single-product form.cart { display: flex; gap: 10px; align-items: stretch; flex-wrap: wrap; margin: 6px 0; }
.single-product form.cart .quantity input { width: 84px; min-height: 48px; border: 1px solid #BFC6D6; border-radius: var(--r); text-align: center; font-size: 16px; }
.single-product form.cart .single_add_to_cart_button { flex: 1 1 200px; min-height: 48px; border: 0; border-radius: var(--r); background: var(--red); color: var(--acc-on); font-weight: 700; font-size: 16px; padding: 0 20px; }
.single-product form.cart .single_add_to_cart_button:hover { background: var(--red-dark); }
.pdp-var { margin: 4px 0 2px; }
.pdp-var-h { margin: 0 0 8px; font-size: 14px; color: var(--muted); }
.pdp-var-h b { color: var(--ink); }
.pdp-var-list { display: flex; flex-wrap: wrap; gap: 6px; }
.var-chip { min-width: 52px; min-height: 40px; padding: 8px 12px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #BFC6D6; border-radius: var(--r); background: var(--white); color: var(--ink); font-size: 14px; font-weight: 600; text-decoration: none; font-variant-numeric: tabular-nums; }
a.var-chip:hover { border-color: var(--ink); }
.var-chip.is-on { border: 2px solid var(--red); padding: 7px 11px; color: var(--acc-ink); }
.var-chip.is-out { color: #858D9C; background: var(--soft); text-decoration: line-through; text-decoration-color: #AAB2C1; }
.pdp-var-sel { width: 100%; max-width: 420px; min-height: 44px; padding: 8px 12px; border: 1px solid #BFC6D6; border-radius: var(--r); background: var(--white); font: inherit; font-size: 15px; }
.logo-foot .logo-text strong span { color: var(--acc-light); }
.pdp-perks { margin: 6px 0 0; padding: 0; list-style: none; display: grid; border: 1px solid var(--line); border-radius: var(--r); }
.pdp-perks li { display: flex; gap: 12px; align-items: center; padding: 10px 12px; }
.pdp-perks li + li { border-top: 1px solid var(--line); }
.perk-ic { --hlx-ico-bg: var(--red-soft); width: 40px; height: 40px; flex: none; display: grid; place-items: center; border-radius: 50%; background: var(--red-soft); color: var(--acc-ink); }
.perk-t { display: flex; flex-direction: column; line-height: 1.25; }
.perk-t strong { font-size: 14px; }
.perk-t small { font-size: 12.5px; color: var(--muted); }
/* Odbiór w oddziale Onninen (inc/oddzialy.php) — zielony jak „dostępny”, odróżnia termin od czerwonych korzyści */
.pdp-pick { display: flex; gap: 12px; align-items: center; margin: 10px 0 0; padding: 10px 12px; border: 1px solid #CFE6D5; border-left: 4px solid var(--green); border-radius: var(--r); background: var(--green-soft); }
.pdp-pick svg { flex: none; color: var(--green); }
.pdp-pick p { margin: 0; display: flex; flex-direction: column; line-height: 1.3; }
.pdp-pick strong { font-size: 14.5px; }
.pdp-pick small { font-size: 12.5px; color: var(--muted); }
.pdp-pick a { color: var(--ink); font-weight: 600; }
.cd-pick { display: flex; gap: 8px; align-items: flex-start; margin: 0; font-size: 13px; line-height: 1.4; color: var(--muted); }
.cd-pick svg { flex: none; margin-top: 1px; color: var(--green); }
.cd-pick a { color: var(--ink); font-weight: 600; }
.entry-content:has(.odd) { max-width: none; }
.odd-lead { display: flex; gap: 14px; align-items: flex-start; max-width: 860px; padding: 16px 18px; border: 1px solid #CFE6D5; border-left: 4px solid var(--green); border-radius: var(--r); background: var(--green-soft); }
.odd-lead > svg { flex: none; color: var(--green); }
.odd-when { margin: 0 0 8px; font-size: 16px; line-height: 1.4; }
.odd-steps { margin: 0 0 8px; padding-left: 20px; display: grid; gap: 2px; font-size: 14px; }
.odd-note { margin: 0; font-size: 13px; color: var(--muted); }
.odd-search { display: flex; align-items: center; gap: 8px; max-width: 420px; min-height: 46px; margin: 20px 0 14px; padding: 0 12px; border: 1px solid #BFC6D6; border-radius: var(--r); background: var(--white); color: var(--muted); }
.odd-search:focus-within { border-color: var(--ink); box-shadow: 0 0 0 3px rgba(15, 16, 32, .12); }
.odd-search input { flex: 1; min-width: 0; min-height: 44px; border: 0; outline: 0; background: transparent; font: inherit; font-size: 15px; color: var(--ink); }
.odd-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; }
.odd-card { display: flex; flex-direction: column; gap: 6px; padding: 14px; border: 1px solid var(--line); border-radius: var(--r); background: var(--white); }
.odd-card[hidden] { display: none; }
.odd-card strong { font-size: 16px; }
.odd-addr { font-size: 14px; line-height: 1.45; }
.odd-h { display: inline-flex; gap: 6px; align-items: center; font-size: 13px; color: var(--muted); }
.odd-map { margin-top: auto; padding-top: 4px; font-size: 13px; font-weight: 600; color: var(--acc-ink); }
.odd-empty { margin: 12px 0 0; color: var(--muted); }
.woocommerce-tabs { grid-column: 1 / -1; margin-top: 10px; }
.woocommerce-tabs ul.tabs { display: flex; gap: 6px; list-style: none; margin: 0; padding: 0; border-bottom: 1px solid var(--line); overflow-x: auto; }
.woocommerce-tabs ul.tabs li a { display: block; padding: 10px 14px; text-decoration: none; font-weight: 600; color: var(--muted); }
.woocommerce-tabs ul.tabs li.active a { color: var(--ink); box-shadow: inset 0 -3px 0 var(--red); }
.woocommerce-tabs .panel { background: none; padding: 16px 0; border-radius: 0; }
.woocommerce-tabs .panel h2 { font-size: 19px; line-height: 1.3; margin: 4px 0 12px; }
.woocommerce-tabs .panel h3 { font-size: 16px; line-height: 1.35; margin: 22px 0 8px; }
.pdp-facts { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 0 0 14px; padding: 0; max-width: 760px; }
.pdp-facts li { padding: 4px 10px; border: 1px solid var(--line); border-radius: var(--r); background: var(--soft); font-size: 13px; font-weight: 600; color: var(--ink); }
.woocommerce-tabs .panel > p, .woocommerce-tabs .panel > ul:not(.pdp-facts) { max-width: 760px; }
table.shop_attributes { border-collapse: collapse; width: 100%; max-width: 720px; }
table.shop_attributes th, table.shop_attributes td { text-align: left; padding: 8px 10px; border-bottom: 1px solid var(--line); font-size: 14px; }
table.shop_attributes th { width: 40%; color: var(--muted); font-weight: 500; }
.woocommerce-tabs .panel table:not(.shop_attributes) { border-collapse: collapse; width: 100%; max-width: 720px; font-size: 14px; }
.woocommerce-tabs .panel table:not(.shop_attributes) th, .woocommerce-tabs .panel table:not(.shop_attributes) td { text-align: left; padding: 8px 10px; border-bottom: 1px solid var(--line); }
.woocommerce-tabs .panel table:not(.shop_attributes) thead th { background: var(--soft); font-weight: 600; }
.woocommerce-tabs .panel table:not(.shop_attributes) a { color: var(--acc-ink); }
.faq { max-width: 760px; border-bottom: 1px solid var(--line); }
.faq summary { position: relative; padding: 12px 34px 12px 0; cursor: pointer; list-style: none; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; position: absolute; right: 6px; top: 8px; font-size: 22px; line-height: 1.2; color: var(--acc-ink); }
.faq[open] summary::after { content: "\2212"; }
.faq summary h3 { margin: 0; font-size: 16px; line-height: 1.4; }
.faq .faq-a { padding: 0 0 12px; }
.faq .faq-a p { margin: 0 0 8px; }
.faq .faq-a a { color: var(--acc-ink); }
.single-product div.product > * { min-width: 0; }
.related, .upsells { grid-column: 1 / -1; position: relative; min-width: 0; max-width: 100%; }
.related > h2, .upsells > h2 { font-size: 22px; padding-right: 96px; }
/* „Podobne produkty”: przewijana taśma (właściciel 23.10.2026: „слайдер внизу”), strzałki z main.js */
.related ul.products, .upsells ul.products { display: grid; grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: minmax(200px, 74%); overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: thin; padding-bottom: 8px; }
.related ul.products > li, .upsells ul.products > li { scroll-snap-align: start; }
.rail-nav { position: absolute; top: 0; right: 0; display: flex; gap: 6px; }
.rail-btn { width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid #BFC6D6; border-radius: var(--r); background: var(--white); color: var(--ink); cursor: pointer; }
.rail-btn:hover:not(:disabled) { border-color: var(--ink); }
.rail-btn:disabled { opacity: .35; cursor: default; }
@media (min-width: 700px) { .related ul.products, .upsells ul.products { grid-auto-columns: calc((100% - 20px) / 3); } }
@media (min-width: 1000px) { .related ul.products, .upsells ul.products { grid-auto-columns: calc((100% - 30px) / 4); } }

/* WooCommerce: koszyk i kasa (bloki) — kolory marki */
.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout { --wp--preset--color--contrast: var(--ink); }
.wc-block-components-button:not(.is-link), .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button { background: var(--red) !important; color: var(--acc-on) !important; border-radius: var(--r) !important; font-weight: 700 !important; min-height: 48px; }
.wc-block-components-button:not(.is-link):hover { background: var(--red-dark) !important; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-size: 22px; font-weight: 700; }
.wc-block-components-text-input input, .wc-block-components-combobox .components-combobox-control__input, .wc-block-components-textarea { border-radius: var(--r) !important; }

/* Pusty koszyk (inc/woocommerce.php, blok empty-cart) */
.cart-empty { display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; padding: 28px 16px; background: var(--soft); border-radius: var(--r); }
.cart-empty svg { color: var(--acc-ink); }
.cart-empty h2 { margin: 0; font-size: 22px; }
.cart-empty p { margin: 0; color: var(--muted); max-width: 52ch; }
.cart-empty .cart-empty-btns { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 4px; }
.cart-empty .btn { align-self: auto; color: var(--white) !important; text-decoration: none !important; }
.wp-block-woocommerce-empty-cart-block .card .name a { color: var(--ink) !important; text-decoration: none; }
.wp-block-woocommerce-empty-cart-block .card .name a:hover { color: var(--acc-ink) !important; }
.wp-block-woocommerce-empty-cart-block .add { color: var(--white) !important; text-decoration: none !important; }
.cart-empty-h { font-size: 20px; margin: 26px 0 12px; }
.woocommerce-product-gallery__trigger { display: none !important; }

/* Konto */
.woocommerce-account .woocommerce { display: grid; gap: 20px; }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.woocommerce-MyAccount-navigation a { display: block; padding: 8px 12px; border: 1px solid var(--line); border-radius: var(--r); text-decoration: none; }
.woocommerce-MyAccount-navigation .is-active a { background: var(--acc); color: var(--white); border-color: var(--acc); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select { width: 100%; min-height: 44px; border: 1px solid #BFC6D6; border-radius: var(--r); padding: 8px 12px; background: var(--white); }
.woocommerce .button, .woocommerce button.button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 18px; border: 0; border-radius: var(--r); background: var(--acc); color: var(--white); font-weight: 600; text-decoration: none; }
.woocommerce .button.alt, .woocommerce button.button.alt { background: var(--red); }

@media (min-width: 700px) {
  .topbar .hide-m { display: inline; }
  .topbar .m-only { display: none; }
  .promo { grid-template-columns: 1.05fr .95fr; }
  .pics { display: grid; grid-template-columns: 1.4fr 1fr; grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 22px 22px 22px 0; min-height: 280px; }
  .pics .pic { display: grid; place-items: center; min-height: 0; padding: 12px; background: var(--white); border-radius: var(--r); box-shadow: 0 12px 26px rgba(var(--acc-rgb), .28); transition: transform .15s; }
  .pics .pic:hover { transform: translateY(-2px); }
  .pics .pic-1 { grid-row: 1 / 3; }
  .pics .pic img { max-height: 100%; max-width: 100%; width: auto; height: auto; object-fit: contain; }
  .mini { grid-template-columns: 1fr 1fr; }
  .perks { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .cats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .grid, ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .sets { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .foot-top .wrap { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); align-items: center; }
  .foot-cols { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.6fr); }
  .foot-pay { grid-column: auto; }
  .single-product .product { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; }
  .woocommerce-account .woocommerce { grid-template-columns: 220px minmax(0, 1fr); }
  .woocommerce-MyAccount-navigation ul { flex-direction: column; }
}
@media (min-width: 783px) {
  .admin-bar header.site { top: 32px; }
}
@media (min-width: 1000px) {
  .head { grid-template-columns: auto minmax(0, 1fr) auto auto; grid-template-areas: "logo search toggle icons"; gap: 18px; padding-block: 14px; }
  .head .toggle { display: inline-flex; grid-area: toggle; }
  .hero-grid { grid-template-columns: minmax(0, 1fr) 300px; }
  .promo { min-height: 320px; }
  .promo .txt { padding: 34px 0 34px 36px; justify-content: center; }
  .promo h1 { font-size: 36px; }
  .pics { padding: 28px 28px 28px 8px; gap: 14px; }
  .mini { grid-template-columns: 1fr; }
  .hit { grid-template-columns: 1fr; text-align: left; align-items: stretch; padding-top: 30px; }
  .hit .hit-img img { height: 120px; }
  .biz { display: flex; }
  .cats { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }
  .cat { padding: 18px 10px 16px; }
  .cat .cat-ico { width: 64px; height: 64px; }
  .cat strong { font-size: 14.5px; }
  .grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  main > section { padding-block: 34px 6px; }
  .sec-head h2 { font-size: 26px; }
  .single-product .product_title { font-size: 28px; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; scroll-behavior: auto !important; } }

/* Wąskie telefony — na końcu pliku, żeby wygrywały z regułami bazowymi.
   Nagłówek: logo + przełącznik języka + konto + koszyk muszą się zmieścić w jednym rzędzie bez przewijania w bok. */
@media (max-width: 699px) {
  .lc-panel { position: fixed; left: 12px; right: 12px; width: auto; max-width: none; }
}
@media (max-width: 519px) {
  .logo-text small { display: none; }
  .lc-cur { display: none; }
  .cart-sum { display: none; } /* suma koszyka od 520 px; na telefonie sam znaczek z liczbą */
}
@media (max-width: 459px) {
  .lc-cols { grid-template-columns: 1fr; gap: 10px; }
}
@media (max-width: 429px) {
  .head { column-gap: 8px; }
  .logo { gap: 8px; }
  .logo-mark { width: 32px; height: 32px; font-size: 14px; }
  .logo-text strong { font-size: 17px; }
  .icons { gap: 2px; }
  .icon-btn { min-width: 44px; padding-inline: 2px; }
  .lc-switch { margin-right: 2px; }
  .lc-btn { padding: 0 8px; gap: 6px; height: 36px; }
  .lc-chev { display: none; }
}
@media (max-width: 379px) {
  .icon-btn { min-width: 40px; }
  .icons .icon-btn > span:not(.badge):not(.cart-sum) { display: none; } /* „Konto” bez podpisu */
  .lc-label { display: none; } /* sama flaga */
  .lc-btn { padding: 0 7px; }
}

/* Przycisk „Do góry” (main.js) */
.to-top { position: fixed; right: 16px; bottom: calc(16px + env(safe-area-inset-bottom, 0px)); z-index: 45; width: 46px; height: 46px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: var(--r); background: var(--white); color: var(--ink); box-shadow: 0 6px 18px rgba(15, 16, 32, .16); cursor: pointer; opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity .2s ease, transform .2s ease, visibility 0s linear .2s; }
.to-top.is-on { opacity: 1; visibility: visible; transform: none; transition: opacity .2s ease, transform .2s ease; }
.to-top:hover { border-color: var(--red); color: var(--acc-ink); }
.to-top:focus-visible { outline: 3px solid var(--red); outline-offset: 2px; }
html.mega-lock .to-top { display: none; }


/* =====================================================================================================================
   STRONA GŁÓWNA I KARTA PRODUKTU — runda 3 (23.10.2026, właściciel: «главную улучшить», «карточку товара сделать лучше»)
   front-page.php + inc/home.php (kafelki działów, liczby, pas odbioru, pas dla firm, marki); inc/woocommerce.php (pole
   zakupu, parametry, pasek na telefonie, pomoc obok zakładek); inc/product-tabs.php (liczniki w zakładkach).
   Reguły tej sekcji dotyczą tylko .home3 i strony produktu; nagłówek, wyszukiwarka i „Do góry” — poza tą sekcją.
   ===================================================================================================================== */

/* --- Strona główna: baner --- */
.promo-facts { list-style: none; margin: 8px 0 0; padding: 14px 0 0; display: grid; grid-template-columns: repeat(3, minmax(0, max-content)); gap: 8px 26px; border-top: 1px solid rgba(15, 16, 32, .25); }
.promo-facts li { display: flex; flex-direction: column; line-height: 1.2; min-width: 0; }
.promo-facts b { font-size: 24px; font-weight: 700; color: var(--acc-on); font-variant-numeric: tabular-nums; letter-spacing: -.01em; white-space: nowrap; }
.promo-facts span { font-size: 12.5px; color: var(--acc-on); }
.pick-tile { flex-direction: row; align-items: center; gap: 12px; color: var(--ink); text-decoration: none; border: 1px solid #CFE6D5; border-left: 4px solid var(--green); background: var(--green-soft); transition: border-color .15s, box-shadow .15s; }
.pick-tile:hover { border-color: var(--green); box-shadow: 0 6px 18px rgba(28, 122, 53, .12); }
.pick-ic { width: 40px; height: 40px; flex: none; display: grid; place-items: center; border-radius: 50%; background: var(--white); color: var(--green); }
.pick-t { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.pick-t strong { font-size: 14.5px; line-height: 1.3; }
.pick-t small { font-size: 12.5px; color: var(--muted); }

/* --- Pasek korzyści: jedna ramka z podziałkami zamiast czterech szarych pudełek --- */
.home3 .perks { gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; }
.home3 .perk { --hlx-ico-bg: var(--white); background: var(--white); border-radius: 0; padding: 12px 14px; }

/* --- Nagłówki sekcji z liczbami --- */
.sec-head--meta { justify-content: flex-start; column-gap: 14px; }
.sec-head--meta .note { font-variant-numeric: tabular-nums; }
.sec-head--meta .more { margin-left: auto; }

/* --- Działy: zdjęcie produktu, liczba produktów, największe podkategorie --- */
.kats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.kat { display: flex; flex-direction: column; min-width: 0; border: 1px solid var(--line); border-radius: var(--r); background: var(--white); transition: border-color .15s, box-shadow .15s; }
.kat:hover { border-color: #BFC6D6; box-shadow: 0 6px 18px rgba(15, 16, 32, .08); }
.kat-a { flex: 1; display: flex; flex-direction: column; gap: 8px; padding: 10px 10px 12px; color: var(--ink); text-decoration: none; }
.kat-ph { position: relative; height: 76px; display: grid; place-items: center; overflow: hidden; }
.kat-ph img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; display: block; }
.kat-a { padding: 10px 12px 12px; }
.kat-ph .cat-ico { width: 56px; height: 56px; border-radius: 50%; background: var(--red-soft); color: var(--acc-ink); display: grid; place-items: center; }
.kat-ph .cat-ico svg { width: 28px; height: 28px; }
.kat-t { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.kat-t strong { font-size: 14px; font-weight: 700; line-height: 1.25; }
.kat-t small { font-size: 12px; color: var(--muted); font-variant-numeric: tabular-nums; }
.kat-a:hover strong { color: var(--acc-ink); }
.kat-sub { display: none; list-style: none; margin: 0; }
.kat-sub a { display: block; padding: 2px 0; color: var(--muted); font-size: 13px; line-height: 1.35; text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kat-sub a:hover { color: var(--acc-ink); text-decoration: underline; }
.kat-sub .kat-all a { color: var(--acc-ink); font-weight: 600; }

/* --- Pas „Odbiór w oddziale Onninen” (zielony jak termin odbioru na karcie) --- */
main > section.odb-band, main > section.b2b { padding-block: 0; }
.odb-band { margin-top: 34px; background: var(--green-soft); border-block: 1px solid #CFE6D5; }
.odb-in { display: grid; gap: 18px; padding-block: 24px; }
.odb-k { display: flex; align-items: center; gap: 8px; margin: 0 0 6px; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--green); }
.odb-txt h2 { margin: 0 0 12px; font-size: 22px; line-height: 1.25; text-wrap: balance; }
.odb-steps { margin: 0 0 10px; padding: 0; list-style: none; counter-reset: odb; display: grid; gap: 6px; }
.odb-steps li { counter-increment: odb; display: flex; gap: 10px; align-items: flex-start; font-size: 14px; line-height: 1.45; }
.odb-steps li::before { content: counter(odb); flex: none; width: 22px; height: 22px; margin-top: 0; border-radius: 50%; background: var(--green); color: var(--white); font-size: 12px; font-weight: 700; display: grid; place-items: center; }
.odb-note { margin: 0 0 14px; font-size: 13px; color: var(--muted); }
.btn.odb-btn { background: var(--green); }
.btn.odb-btn:hover { background: #155F29; }
.odb-cities { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; align-content: flex-start; }
.odb-cities li { padding: 5px 10px; background: var(--white); border: 1px solid #CFE6D5; border-radius: var(--r); font-size: 13px; font-weight: 600; line-height: 1.3; }
.odb-cities .odb-more { display: none; padding: 0; border-color: var(--green); }
.odb-cities .odb-more a { display: block; padding: 5px 10px; color: var(--green); text-decoration: none; }

/* --- Pas dla firm: zamówienie po kodach + zakupy dla firmy (grafit, jedyny ciemny pas strony) --- */
.b2b { margin-top: 34px; background: var(--ink); color: #DCE2EF; }
.b2b-in { display: grid; gap: 26px; padding-block: 28px; }
.b2b h2 { margin: 0 0 8px; font-size: 24px; line-height: 1.2; color: var(--white); }
.b2b p { margin: 0 0 12px; max-width: 60ch; color: #AFB7C6; font-size: 14px; }
.b2b .b2b-k { display: flex; align-items: center; gap: 8px; margin: 0 0 6px; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--acc-light); }
.b2b-codes textarea { display: block; width: 100%; min-height: 128px; padding: 12px; border: 1px solid #3F4654; border-radius: var(--r); background: #14161E; color: var(--white); font: 14px/1.6 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; resize: vertical; }
.b2b-codes textarea::placeholder { color: #6D7687; }
.b2b-codes textarea:focus { outline: none; border-color: var(--acc-light); box-shadow: 0 0 0 3px rgba(var(--acc-light-rgb), .25); }
.b2b-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin-top: 12px; }
.b2b-row small { font-size: 12.5px; color: #929AAA; }
.b2b .btn.red .hlx-ico, .b2b-tel .hlx-ico { flex: none; }
.b2b .msg { margin-top: 8px; color: #DCE2EF; }
.b2b .msg.ok { color: #86DCA0; }
.b2b .msg.err { color: #FF9EAD; }
.b2b-firm { border-top: 1px solid #313644; padding-top: 24px; }
.b2b-list { list-style: none; margin: 0 0 18px; padding: 0; display: grid; gap: 8px; }
.b2b-list li { position: relative; padding-left: 24px; font-size: 14px; line-height: 1.45; color: #BFC6D6; }
.b2b-list li::before { content: ""; position: absolute; left: 2px; top: 6px; width: 10px; height: 5px; border-left: 2px solid #86DCA0; border-bottom: 2px solid #86DCA0; transform: rotate(-45deg); }
.b2b-list strong { color: var(--white); font-weight: 600; }
.b2b-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; }
.b2b-tel { display: inline-flex; align-items: center; gap: 10px; color: var(--white); font-size: 18px; font-weight: 700; text-decoration: none; font-variant-numeric: tabular-nums; }
.b2b-tel svg { color: var(--acc-light); }
.b2b-tel span { display: flex; flex-direction: column; line-height: 1.2; }
.b2b-tel small { font-size: 12px; font-weight: 400; color: #929AAA; }

/* --- Ściana marek: nazwa + liczba produktów (bez logotypów — nie mamy praw do znaków) --- */
.brandwall { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; }
.brandwall a { display: flex; flex-direction: column; gap: 2px; min-width: 0; padding: 14px 16px; background: var(--white); color: var(--ink); text-decoration: none; transition: background-color .15s; }
.brandwall strong { font-size: 16px; font-weight: 700; line-height: 1.2; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.brandwall small { font-size: 12px; color: var(--muted); font-variant-numeric: tabular-nums; }
.brandwall a:hover { background: var(--soft); }
.brandwall a:hover strong { color: var(--acc-ink); }

/* --- Karta produktu --- */
.single-product div.product .summary { gap: 12px; }
.pdp-brand a { color: inherit; text-decoration: none; }
.pdp-brand a:hover { color: var(--acc-ink); text-decoration: underline; }
.pdp-codes { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 16px; font-size: 13px; color: var(--muted); }
.pdp-codes > span { display: inline-flex; align-items: center; gap: 5px; }
.pdp-codes b { color: var(--ink); font-weight: 600; font-variant-numeric: tabular-nums; letter-spacing: .01em; }
.copy { width: 30px; height: 30px; padding: 0; display: inline-grid; place-items: center; border: 1px solid transparent; border-radius: var(--r); background: none; color: var(--muted); }
.copy:hover { border-color: var(--line); background: var(--soft); color: var(--ink); }
.copy.is-done { border-color: #BFE3C8; background: var(--green-soft); color: var(--green); }
/* telefon i tablet: kolumna informacji „rozpuszczona” w .summary, pole zakupu zaraz pod kodami */
.pdp-info { display: contents; }
.summary .pdp-buy { order: 2; }
.summary .woocommerce-product-details__short-description, .summary .pdp-keys { order: 3; }
.summary .pdp-perks { order: 4; }
.woocommerce-product-details__short-description p { margin: 0; color: var(--muted); font-size: 14px; }
/* pole zakupu */
.pdp-buy { display: flex; flex-direction: column; gap: 10px; min-width: 0; padding: 14px 16px 16px; border: 1px solid var(--line); border-top: 3px solid var(--ink); border-radius: var(--r); background: var(--white); box-shadow: 0 10px 28px rgba(15, 16, 32, .07); }
.pdp-buy-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.toggle--sm button { min-height: 30px; padding: 0 11px; font-size: 12.5px; }
.pdp-unit { font-size: 12.5px; color: var(--muted); }
.single-product .summary .pdp-buy .price { margin: 0; }
.single-product .summary .pdp-buy .hlx-price-main { font-size: 34px; letter-spacing: -.015em; }
.single-product .summary .pdp-buy .hlx-price-alt { font-size: 14px; }
.pdp-buy .pdp-meta { padding-top: 10px; border-top: 1px solid var(--line); }
.pdp-buy .stock { font-size: 14px; font-weight: 600; }
.pdp-buy .pdp-var, .pdp-buy .pdp-pick, .pdp-buy .pdp-ask { margin: 0; }
/* Pole zakupu (25.10.2026, właściciel «стили поправь»: suma „Razem …” w jednym rzędzie ściskała przycisk do „daj do koszy”):
   ilość i przycisk w jednym rzędzie, równa wysokość (50 px), przycisk zajmuje resztę i nigdy nie jest ucięty; „Razem …” pod spodem. */
.single-product .pdp-buy form.cart { margin: 0; flex-wrap: wrap; align-items: stretch; gap: 8px; }
.single-product .pdp-buy form.cart .quantity { flex: none; display: inline-flex; align-items: stretch; height: 50px; box-sizing: border-box; border: 1px solid #BFC6D6; border-radius: var(--r); background: var(--white); }
.single-product .pdp-buy form.cart .quantity:focus-within { border-color: var(--ink); }
.single-product .pdp-buy form.cart .quantity input { width: 46px; min-height: 0; height: 100%; padding: 0; border: 0; border-radius: 0; background: transparent; font-weight: 700; -moz-appearance: textfield; appearance: textfield; }
.single-product .pdp-buy form.cart .quantity input::-webkit-inner-spin-button, .single-product .pdp-buy form.cart .quantity input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.qty-btn { width: 34px; padding: 0; border: 0; background: none; color: var(--ink); font-size: 20px; line-height: 1; }
.qty-btn:hover { background: var(--soft); }
.single-product .pdp-buy form.cart .single_add_to_cart_button { flex: 1 1 150px; min-width: 150px; height: 50px; min-height: 50px; padding: 0 12px; white-space: nowrap; overflow: visible; text-overflow: clip; }
.pdp-sum { margin: -2px 0 0; font-size: 13px; color: var(--muted); font-variant-numeric: tabular-nums; }
.single-product .pdp-buy form.cart .pdp-sum { flex: 1 0 100%; order: 9; margin: 0; }
/* Całe opakowania (inc/opakowania.php): „Sprzedaż po 6 m (cała sztanga)” nad polem ilości. */
.pdp-pack { display: flex; align-items: flex-start; gap: 10px; margin: 0; padding: 10px 12px; border: 1px solid var(--line); border-left: 3px solid var(--ink); border-radius: var(--r); background: var(--soft); font-size: 14px; line-height: 1.35; }
.pdp-pack svg { flex: none; margin-top: 1px; color: var(--ink); }
.pdp-pack b { display: block; color: var(--ink); font-weight: 700; }
.pdp-pack small { display: block; margin-top: 2px; color: var(--muted); font-size: 13px; font-variant-numeric: tabular-nums; }
.cd-info .cd-pack { display: block; margin-top: 2px; color: var(--ink); font-size: 12px; font-weight: 600; }
.pdp-sum b { color: var(--ink); }
/* najważniejsze parametry */
.pdp-keys { padding-top: 2px; }
.pdp-keys-h { margin: 0 0 4px; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.pdp-keys dl { margin: 0; }
.pdp-keys dl > div { display: grid; grid-template-columns: minmax(0, 45%) minmax(0, 1fr); gap: 12px; padding: 6px 0; border-bottom: 1px dotted #C3CAD9; font-size: 13.5px; line-height: 1.4; }
.pdp-keys dt { color: var(--muted); }
.pdp-keys dd { margin: 0; font-weight: 600; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.pdp-keys-more { display: inline-block; margin-top: 8px; color: var(--acc-ink); font-size: 13.5px; font-weight: 600; text-decoration: none; }
.pdp-keys-more:hover { text-decoration: underline; }
/* zapewnienia: siatka 2 × 2 zamiast długiej listy */
.single-product .summary .pdp-perks { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; border: 0; }
.single-product .summary .pdp-perks li { align-items: flex-start; gap: 9px; padding: 9px 10px; border: 1px solid var(--line); border-radius: var(--r); }
.single-product .summary .pdp-perks li + li { border-top: 1px solid var(--line); }
.single-product .summary .perk-ic { width: 22px; height: 22px; margin-top: 1px; background: none; border-radius: 0; }
.single-product .summary .perk-t strong { font-size: 13px; }
.single-product .summary .perk-t small { font-size: 12px; }
/* zakładki + pomoc */
.pdp-more { grid-column: 1 / -1; display: grid; gap: 24px; min-width: 0; margin-top: 18px; }
.pdp-more .woocommerce-tabs { margin-top: 0; min-width: 0; }
.single-product .woocommerce-tabs ul.tabs { flex-wrap: nowrap; scrollbar-width: none; }
.single-product .woocommerce-tabs ul.tabs::-webkit-scrollbar { display: none; }
.single-product .woocommerce-tabs ul.tabs li { flex: none; }
.single-product .woocommerce-tabs ul.tabs li a { padding: 12px 14px; white-space: nowrap; font-size: 15px; }
.tab-n { display: inline-grid; place-items: center; min-width: 20px; height: 20px; margin-left: 6px; padding: 0 6px; border-radius: 10px; background: var(--soft); color: var(--muted); font-size: 11.5px; font-weight: 700; vertical-align: 1px; }
.woocommerce-tabs ul.tabs li.active .tab-n { background: var(--acc); color: var(--white); }
.pdp-help { display: grid; gap: 12px; align-content: start; min-width: 0; }
.help-box { display: flex; flex-direction: column; gap: 4px; padding: 16px; border: 1px solid var(--line); border-radius: var(--r); background: var(--soft); }
.help-h { margin: 0 0 2px; font-size: 15px; font-weight: 700; }
.help-tel { display: inline-flex; align-items: center; gap: 8px; color: var(--ink); font-size: 20px; font-weight: 700; text-decoration: none; font-variant-numeric: tabular-nums; }
.help-tel svg { color: var(--acc-ink); }
.help-hours { margin: 0; font-size: 12.5px; color: var(--muted); }
.help-mail { display: inline-flex; align-items: center; gap: 8px; margin-top: 8px; color: var(--acc-ink); font-size: 13.5px; font-weight: 600; text-decoration: none; }
.help-mail:hover { text-decoration: underline; }
.help-links { list-style: none; margin: 0; padding: 0; border: 1px solid var(--line); border-radius: var(--r); }
.help-links li + li { border-top: 1px solid var(--line); }
.help-links a { display: flex; flex-direction: column; gap: 2px; padding: 10px 14px; color: var(--ink); font-size: 14px; font-weight: 600; line-height: 1.35; text-decoration: none; }
.help-links a:hover span { color: var(--acc-ink); text-decoration: underline; }
.help-links small { font-size: 12px; font-weight: 400; color: var(--muted); }
/* przyklejony pasek zakupu (telefon, tablet) */
.pdp-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 44; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px max(16px, env(safe-area-inset-right, 0px)) calc(10px + env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px)); background: var(--white); border-top: 1px solid var(--line); box-shadow: 0 -8px 24px rgba(15, 16, 32, .12); animation: hlx-bar-in .2s ease-out; }
.pdp-bar[hidden] { display: none; }
@keyframes hlx-bar-in { from { transform: translateY(100%); } to { transform: none; } }
.pdp-bar-pr { display: flex; flex-direction: column; min-width: 0; line-height: 1.15; }
.pdp-bar .hlx-price-main { font-size: 20px; }
.pdp-bar .hlx-price-alt { font-size: 12px; }
.pdp-bar-btn { flex: none; display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 0 18px; border: 0; border-radius: var(--r); background: var(--red); color: var(--acc-on); font-size: 15px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.pdp-bar-btn:hover { background: var(--red-dark); }
.pdp-bar-btn.is-ask { background: var(--white); color: var(--ink); border: 1px solid #BFC6D6; }
html.pdp-bar-on body { padding-bottom: 72px; }
html.pdp-bar-on .to-top { bottom: calc(84px + env(safe-area-inset-bottom, 0px)); }

@media (max-width: 699px) {
  .odb-cities li:nth-child(n+13):not(.odb-more) { display: none; }
  .odb-cities .odb-more { display: block; }
  .brandwall a:nth-child(n+13) { display: none; }
  .promo-facts { gap: 8px 14px; }
  .promo-facts b { font-size: 20px; }
  .promo-facts span { font-size: 11.5px; }
  /* karta: okruszki w jednej linii (ostatni = H1, schowany), mniejsze zdjęcie — cena widoczna na pierwszym ekranie */
  .single-product .crumbs { flex-wrap: nowrap; overflow-x: auto; white-space: nowrap; scrollbar-width: none; margin-bottom: 8px; }
  .single-product .crumbs::-webkit-scrollbar { display: none; }
  .single-product .crumbs > .crumb:last-child, .single-product .crumbs > .sep:nth-last-child(2) { display: none; }
  .single-product div.product .woocommerce-product-gallery { padding: 8px; }
  .single-product div.product .woocommerce-product-gallery img { max-height: 200px; }
  .single-product .product_title { font-size: 20px; }
  .single-product .summary .pdp-buy .hlx-price-main { font-size: 30px; }
}
@media (min-width: 700px) {
  .kats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .kat-ph { height: 110px; }
  .brandwall { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .odb-txt h2 { font-size: 24px; }
}
@media (min-width: 1000px) {
  .kats { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
  .kat-a { flex: none; flex-direction: row; align-items: center; gap: 14px; padding: 12px 14px 4px; }
  .kat-ph { width: 96px; height: 96px; flex: none; }
  .kat-t strong { font-size: 15px; }
  .kat-sub { display: block; padding: 0 14px 12px 124px; }
  .odb-in { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 48px; align-items: center; padding-block: 34px; }
  .odb-txt h2 { font-size: 26px; }
  .b2b-in { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; padding-block: 40px; }
  .b2b-firm { border-top: 0; padding-top: 0; padding-left: 56px; border-left: 1px solid #313644; }
  .brandwall { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .pdp-more { grid-template-columns: minmax(0, 1fr) 300px; gap: 40px; align-items: start; }
  .pdp-more > .woocommerce-tabs { grid-column: 1; }
  .pdp-more > .pdp-help { grid-column: 2; }
  .pdp-help { position: sticky; top: 196px; }
  .pdp-bar { display: none !important; }
}
@media (min-width: 1100px) {
  .single-product .product { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: 32px; }
  .single-product div.product .summary { display: grid; grid-template-columns: minmax(0, 1fr) 360px; column-gap: 24px; row-gap: 10px; align-items: start; }
  .single-product div.product .summary > * { grid-column: 1 / -1; }
  .single-product div.product .summary > .pdp-info { grid-column: 1; display: flex; flex-direction: column; gap: 16px; min-width: 0; }
  .single-product div.product .summary > .pdp-buy { grid-column: 2; }
}

/* ===== Omnibus i koniec promocji (inc/prices.php hlx_omnibus_html, mu-plugin klx-omnibus-log) — 23.10.2026 ===== */
.hlx-omnibus, .hlx-promo-do { display: block; margin-top: 3px; font-size: 12px; line-height: 1.35; color: var(--muted); }
.hlx-omnibus b { color: var(--ink); font-weight: 600; white-space: nowrap; }
.hlx-promo-do { color: var(--acc-ink); font-weight: 700; }
.single-product .summary .hlx-omnibus, .single-product .summary .hlx-promo-do { font-size: 13px; }

/* =====================================================================================================================
   FILTRY LIST PRODUKTÓW — 23.10.2026 (właściciel: «фильтров нет в магазинах … нужно их в атрибуты и под фильтры»)
   inc/filters.php (kolumna .flt, chipy, pasek .flt-tools), main.js sekcja „Filtry”. Komputer (≥ 1000 px): kolumna
   filtrów po lewej; telefon i tablet: przycisk „Filtry (N)” → panel na cały ekran z „Pokaż N produktów”.
   Styl hurtowni: Open Sans, czerwień tylko na zaznaczeniu, grafitowe ramki, kwadratowe pola, małe zaokrąglenia.
   ===================================================================================================================== */
.flt-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 0 0 12px; }
.flt-tools .woocommerce-notices-wrapper { flex: 1 0 100%; }
.flt-tools .woocommerce-notices-wrapper:empty { display: none; }
.flt-tools .woocommerce-result-count { margin: 0; flex: 1 1 auto; }
.flt-tools .woocommerce-ordering { margin: 0 0 0 auto; }
.flt-open { flex: 0 0 auto; }
.flt-open { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 14px; border: 1px solid var(--ink); border-radius: var(--r); background: var(--white); color: var(--ink); font-weight: 600; font-size: 14.5px; }
.flt-open:hover { border-color: var(--red); color: var(--acc-ink); }
.flt-open-n, .flt-sel { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 10px; background: var(--red); color: var(--acc-on); font-size: 12px; font-weight: 700; line-height: 1; font-variant-numeric: tabular-nums; }
.flt-head { display: flex; align-items: center; gap: 12px; }
.flt-title { margin: 0; font-size: 18px; font-weight: 700; flex: 1 1 auto; }
.flt-clear-top { font-size: 13px; font-weight: 600; color: var(--acc-ink); }
.flt-x { width: 44px; height: 44px; display: grid; place-items: center; border: 0; background: none; color: var(--ink); font-size: 30px; line-height: 1; margin-right: -10px; }
.flt-sec { border-bottom: 1px solid var(--line); }
.flt-sec:last-child { border-bottom: 0; }
.flt-h { display: flex; align-items: center; gap: 8px; min-height: 46px; margin: 0; font-size: 14px; font-weight: 700; color: var(--ink); }
summary.flt-h { cursor: pointer; list-style: none; user-select: none; }
summary.flt-h::-webkit-details-marker { display: none; }
summary.flt-h > span { flex: 1 1 auto; min-width: 0; }
summary.flt-h::after { content: ""; flex: 0 0 auto; width: 7px; height: 7px; margin: -4px 4px 0 0; border-right: 2px solid var(--muted); border-bottom: 2px solid var(--muted); transform: rotate(45deg); transition: transform .15s; }
details[open] > summary.flt-h::after { transform: rotate(-135deg); margin-top: 4px; }
summary.flt-h:hover > span { color: var(--acc-ink); }
.flt-list { list-style: none; margin: 0 0 12px; padding: 0; }
.flt-list.is-long { max-height: 300px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; padding-right: 6px; }
.flt-opt, .flt-cat { display: flex; align-items: center; gap: 10px; min-height: 36px; padding: 3px 0; color: var(--ink); text-decoration: none; font-size: 14px; line-height: 1.3; }
.flt-l { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }
.flt-c { flex: 0 0 auto; font-size: 12px; color: var(--muted); font-variant-numeric: tabular-nums; }
.flt-box { flex: 0 0 18px; width: 18px; height: 18px; display: grid; place-items: center; border: 1.5px solid #929AAA; border-radius: 2px; background: var(--white); transition: background-color .12s, border-color .12s; }
.flt-opt:hover .flt-box { border-color: var(--red); }
.flt-opt:hover .flt-l, .flt-cat:hover .flt-l { color: var(--acc-ink); }
.flt-opt.is-on .flt-box { background: var(--red); border-color: var(--red); }
.flt-opt.is-on .flt-box::after { content: ""; width: 9px; height: 5px; margin-top: -2px; border-left: 2px solid var(--white); border-bottom: 2px solid var(--white); transform: rotate(-45deg); }
.flt-opt.is-on .flt-l { font-weight: 600; }
.flt-opt.is-zero { color: #838B9A; }
.flt-opt:focus-visible, .flt-cat:focus-visible { outline-offset: 0; }
.flt-cats .flt-cat { padding-left: 2px; }
.flt-cats .flt-cat::before { content: "›"; color: var(--acc-ink); font-weight: 700; margin-right: -2px; }
.flt-find { width: 100%; min-height: 38px; margin: 0 0 8px; padding: 0 10px; border: 1px solid #BFC6D6; border-radius: var(--r); background: var(--white); font-size: 14px; }
.flt-find:focus { border-color: var(--ink); outline: none; box-shadow: 0 0 0 2px rgba(15, 16, 32, .12); }
.flt-none { margin: 0 0 12px; font-size: 13px; color: var(--muted); }
.flt-price { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; align-items: end; gap: 8px; margin: 0 0 14px; }
.flt-price label { display: flex; flex-direction: column; gap: 3px; font-size: 12px; color: var(--muted); min-width: 0; }
.flt-price input { width: 100%; min-width: 0; min-height: 40px; padding: 0 8px; border: 1px solid #BFC6D6; border-radius: var(--r); background: var(--white); font-size: 15px; font-variant-numeric: tabular-nums; -moz-appearance: textfield; appearance: textfield; }
.flt-price input::-webkit-outer-spin-button, .flt-price input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.flt-price input:focus { border-color: var(--ink); outline: none; box-shadow: 0 0 0 2px rgba(15, 16, 32, .12); }
.flt-cur { display: none; }
.flt-go { grid-column: 1 / -1; min-height: 40px; padding: 0 14px; border: 0; border-radius: var(--r); background: var(--acc); color: var(--white); font-weight: 600; font-size: 14px; }
.flt-go:hover { background: var(--acc-dark); }
.flt-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 14px; }
.flt-chip { display: inline-flex; align-items: center; gap: 6px; min-height: 34px; max-width: 100%; padding: 0 5px 0 10px; border: 1px solid var(--ink); border-radius: var(--r); background: var(--white); color: var(--ink); font-size: 13px; font-weight: 600; text-decoration: none; }
.flt-chip-k { color: var(--muted); font-weight: 400; }
.flt-chip-x { flex: 0 0 auto; display: grid; place-items: center; width: 22px; height: 22px; border-radius: 2px; background: var(--soft); font-size: 16px; line-height: 1; }
.flt-chip:hover { border-color: var(--red); }
.flt-chip:hover .flt-chip-x { background: var(--red); color: var(--acc-on); }
.flt-chip-clear { padding: 4px 2px; font-size: 13px; font-weight: 600; color: var(--acc-ink); }
.flt-empty { margin: 4px 0 24px; }
.flt-layout.is-loading .flt-main, .flt-layout.is-loading .flt-show { opacity: .5; transition: opacity .15s; }
.flt-layout.is-loading .flt-main { pointer-events: none; }

@media (max-width: 999px) {
  .flt { display: none; }
  .flt.is-open { position: fixed; inset: 0; z-index: 70; display: flex; flex-direction: column; background: var(--white); }
  .flt-head { flex: 0 0 auto; padding: 4px 16px 4px; border-bottom: 1px solid var(--line); min-height: 56px; }
  .flt-body { flex: 1 1 auto; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; padding: 0 16px 16px; display: flex; flex-direction: column; }
  .flt-body > .flt-cats { order: 99; border-bottom: 0; border-top: 1px solid var(--line); } /* w panelu najpierw filtry, podkategorie na końcu */
  .flt-foot { flex: 0 0 auto; display: flex; gap: 10px; padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--line); background: var(--white); box-shadow: 0 -6px 16px rgba(15, 16, 32, .07); }
  .flt-clear { display: grid; place-items: center; min-height: 48px; padding: 0 16px; border: 1px solid #BFC6D6; border-radius: var(--r); color: var(--ink); font-weight: 600; text-decoration: none; }
  .flt-clear[hidden] { display: none; }
  .flt-show { flex: 1 1 auto; min-height: 48px; padding: 0 12px; border: 0; border-radius: var(--r); background: var(--red); color: var(--acc-on); font-weight: 700; font-size: 15px; }
  .flt-opt, .flt-cat { min-height: 42px; font-size: 15px; }
  .flt-find, .flt-price input { font-size: 16px; } /* iOS bez powiększania przy wpisywaniu */
  .flt-list.is-long { max-height: none; overflow: visible; padding-right: 0; }
  .flt-clear-top { display: none; }
  html.flt-lock, html.flt-lock body { overflow: hidden; }
  .flt-tools .woocommerce-result-count { order: 3; flex-basis: 100%; }
  .flt-tools .woocommerce-ordering { flex: 1 1 150px; min-width: 0; }
  .flt-tools .woocommerce-ordering select { width: 100%; min-width: 0; }
}
@media (min-width: 1000px) {
  .flt-layout { display: grid; grid-template-columns: 252px minmax(0, 1fr); gap: 28px; align-items: start; }
  .flt { min-width: 0; }
  .flt-head { padding: 2px 0 10px; border-bottom: 2px solid var(--ink); }
  .flt-open, .flt-x, .flt-foot { display: none !important; }
  .flt-main { min-width: 0; }
  .flt-layout ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1280px) {
  .flt-layout ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* ===== „Podobne produkty” — kompaktowa taśma (właściciel 23.10.2026: „тут слайдер не нравится”) =====
   Mniejsze karty (6 w rzędzie na komputerze), bez kodów i paska przewijania, strzałki w jednym wierszu z nagłówkiem
   (main.js: .rail-head), przycisk koszyka obrysem — lista nie konkuruje z polem zakupu wyżej. */
.rail-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0 0 14px; }
.rail-head > h2 { margin: 0; padding-right: 0; font-size: 22px; }
.rail-head .rail-nav { position: static; }
.related ul.products, .upsells ul.products { gap: 12px; padding-bottom: 2px; scrollbar-width: none; grid-auto-columns: minmax(150px, 44%); }
.related ul.products::-webkit-scrollbar, .upsells ul.products::-webkit-scrollbar { display: none; }
.related .card .ph, .upsells .card .ph { padding: 10px; }
.related .card .codes, .upsells .card .codes { display: none; }
.related .card .body, .upsells .card .body { gap: 4px; padding: 10px 12px 12px; }
.related .card .brand, .upsells .card .brand { font-size: 11px; }
.related .card .name, .upsells .card .name { font-size: 13.5px; }
.related .card .stock, .upsells .card .stock { font-size: 12px; }
.related .card .hlx-price-main, .upsells .card .hlx-price-main { font-size: 17px; }
.related .card .hlx-price-alt, .upsells .card .hlx-price-alt { font-size: 12px; }
.related .card .add, .upsells .card .add { min-height: 38px; margin-top: 8px; padding: 0 10px; font-size: 14px; }
@media (min-width: 700px) { .related ul.products, .upsells ul.products { grid-auto-columns: calc((100% - 36px) / 4); } }
@media (min-width: 1000px) { .related ul.products, .upsells ul.products { grid-auto-columns: calc((100% - 48px) / 5); } }
@media (min-width: 1280px) { .related ul.products, .upsells ul.products { grid-auto-columns: calc((100% - 60px) / 6); } }

/* =====================================================================================================================
   „DZIURY” — 23.10.2026 (właściciel: «поправь косяки на сайте … тут дырки и странный»). Przegląd 1440 i 390 px:
   strona główna (kafelki działów, karty, pas odbioru, zestawy), stopka, koszyk i kasa, opis produktu, taśma
   „Podobne produkty”, strona „Odbiór w oddziale”, długie listy filtrów. Tylko nadpisania — wcześniejsze sekcje bez zmian.
   ===================================================================================================================== */

/* --- Nagłówki sekcji: link „Zobacz wszystkie” po zawinięciu na telefonie zostaje po prawej, nie sierota po lewej --- */
.sec-head .more { margin-left: auto; }

/* --- Kafelki działów: zdjęcie na szarym polu w równej skali (inc/home.php hlx_img_fit → .kat-fit), pod nazwą zawsze
       trzy odnośniki z liczbami (podkategorie / kategorie niżej / marki działu), „Wszystkie” przy dolnej krawędzi --- */
.home3 .kat { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto 1fr; align-content: stretch; overflow: hidden; }
.home3 .kat-ph { position: relative; display: block; width: auto; height: 104px; margin: 6px 6px 0; border-radius: 2px; background: var(--soft); overflow: hidden; container-type: size; }
.home3 .kat-ph img { position: absolute; inset: 8px; width: calc(100% - 16px); height: calc(100% - 16px); max-width: none; object-fit: contain; mix-blend-mode: multiply; transition: transform .2s ease; }
.home3 .kat-ph img.kat-fit {
  --s: min(calc(100cqw * .84 / var(--bw)), calc(100cqh * .84 / var(--bh)));
  inset: auto;
  left: calc(50cqw - (var(--bx) + var(--bw) / 2) * var(--s));
  top: calc(50cqh - (var(--by) + var(--bh) / 2) * var(--s));
  width: var(--s);
  height: calc(var(--s) * var(--ar));
  object-fit: fill;
}
.home3 .kat:hover .kat-ph img { transform: scale(1.04); }
.home3 .kat-ph .cat-ico { position: absolute; inset: 0; margin: auto; }
.home3 .kat-t { display: flex; flex-direction: column; gap: 2px; min-width: 0; padding: 10px 12px 12px; color: var(--ink); text-decoration: none; }
.home3 .kat-t strong { font-size: 14px; font-weight: 700; line-height: 1.25; }
.home3 .kat-t:hover strong { color: var(--acc-ink); }
.home3 .kat-sub { display: none; }

/* --- Karty produktów: nazwa zawsze na 3 linie, pole ceny na 3 wiersze (cena, netto, „cena za m”) — w rzędzie cena
       i przycisk w jednej linii, także gdy tylko część kart ma jednostkę --- */
.card .name { min-height: calc(3em * 1.35); }
.card .pr { min-height: 62px; }

/* --- Pas „Odbiór w oddziale”: miasta w ramce z nagłówkiem, w kolumnach; obie części pasa tej samej wysokości --- */
.odb-list { display: flex; flex-direction: column; min-width: 0; padding: 14px 16px 12px; background: var(--white); border: 1px solid #CFE6D5; border-radius: var(--r); }
.odb-list-h { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 2px 12px; margin: 0 0 8px; padding-bottom: 8px; border-bottom: 1px solid #D8E6E8; font-size: 14.5px; }
.odb-list-h span { font-size: 12.5px; color: var(--muted); }
.odb-list .odb-cities { display: block; columns: 2; column-gap: 18px; }
.odb-list .odb-cities li { display: flex; align-items: center; gap: 8px; padding: 4px 0; background: none; border: 0; border-radius: 0; font-size: 13.5px; font-weight: 600; line-height: 1.3; break-inside: avoid; }
.odb-list .odb-cities li::before { content: ""; flex: none; width: 6px; height: 6px; border-radius: 50%; background: var(--green); }
.odb-list .odb-cities .odb-more::before { content: none; }
.odb-list .odb-cities .odb-more a { padding: 0; font-weight: 700; color: var(--green); }

/* --- „Kup w zestawie”: większe zdjęcia; na telefonie cena i przycisk zawsze w jednym wierszu pod nazwą --- */
.set-items .it img { height: 96px; }
@media (max-width: 699px) {
  .set-foot { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 10px 12px; }
  .set-foot > div:first-child { grid-column: 1 / -1; }
  .set-foot .add { margin-top: 0; }
  .odb-list .odb-cities li:nth-child(n+13):not(.odb-more) { display: none; }
  .odb-list .odb-cities .odb-more { display: flex; }
}

/* --- Koszyk i kasa: bloki WooCommerce na całą szerokość (było 75 znaków → podsumowanie pod produktami, pół strony
       puste) --- */
.woocommerce-cart .entry-content, .woocommerce-checkout .entry-content { max-width: none; }

/* --- Opis produktu: bez podwójnych odstępów (panel to kolumna z odstępem 10 px — marginesy list i nagłówków się
       dodawały), tabela danych na telefonie w dwóch kolumnach --- */
.woocommerce-tabs .panel > h3 { margin: 12px 0 0; }
.woocommerce-tabs .panel > ul:not(.pdp-facts), .woocommerce-tabs .panel > ol { margin: 0; padding-left: 22px; }
.woocommerce-tabs .panel > ul:not(.pdp-facts) li + li, .woocommerce-tabs .panel > ol li + li { margin-top: 4px; }
.woocommerce table.shop_attributes tbody tr { display: table-row; }
.woocommerce table.shop_attributes tbody tr th, .woocommerce table.shop_attributes tbody tr td { display: table-cell; padding: 8px 10px; text-align: left; border-bottom: 1px solid var(--line); }
.woocommerce table.shop_attributes tbody tr th { width: 42%; }

/* --- „Podobne produkty”: przy kilku pozycjach karty wypełniają szerokość (najwyżej jak 4 w rzędzie), strzałki
       znikają, gdy nie ma czego przewijać (main.js, sekcja „Dziury”) --- */
.rail-nav[hidden] { display: none; }

/* --- Strona „Odbiór w oddziale”: zasady na całą szerokość, karta „Inne miasto?” na końcu listy --- */
.odd-lead { max-width: none; }
.odd-cta { display: flex; flex-direction: column; gap: 6px; padding: 14px; border: 1px dashed #B0B9C9; border-radius: var(--r); background: var(--soft); }
.odd-cta strong { font-size: 16px; }
.odd-cta span { font-size: 14px; line-height: 1.45; color: var(--muted); }
.odd-cta-tel { display: inline-flex; align-items: center; gap: 6px; margin-top: auto; padding-top: 4px; color: var(--ink); font-size: 14px; font-weight: 700; text-decoration: none; }
.odd-cta-tel svg { color: var(--acc-ink); }
.odd-cta-tel:hover { color: var(--acc-ink); }

@media (min-width: 700px) {
  .home3 .kats { grid-template-columns: repeat(4, minmax(0, 1fr)); } /* 16 działów = 4 × 4, bez osieroconego ostatniego */
  .home3 .kat-ph { height: 120px; }
  .odb-list .odb-cities { columns: 3; }
  .odb-list .odb-cities .odb-more { display: none; }
  /* stopka: bez menu „Informacje” (strony prawne jeszcze nie opublikowane) dwie kolumny jak pasek z marką i kontaktem
     wyżej — bez pustej trzeciej kolumny po prawej */
  .foot-cols:not(:has(> nav + nav)) { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 22px; }
  .foot-cols:not(:has(> nav + nav)) > nav ul { grid-template-columns: repeat(2, max-content); column-gap: 48px; }
  .related ul.products, .upsells ul.products { grid-auto-columns: minmax(calc((100% - 36px) / 4), calc((100% - 24px) / 3)); }
}
@media (min-width: 1000px) {
  /* kafelek pionowo: szare pole ze zdjęciem na całą szerokość, nazwa, trzy odnośniki — pełne nazwy podkategorii */
  .grid.grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } /* pusty koszyk: 4 karty bez pustej 5. kolumny */
  .home3 .kats { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
  .home3 .kat { grid-template-rows: auto auto 1fr; }
  .home3 .kat-ph { width: auto; height: 128px; margin: 8px 8px 0; }
  .home3 .kat-t { padding: 12px 14px 0; }
  .home3 .kat-t strong { font-size: 15px; }
  .home3 .kat-sub { display: flex; flex-direction: column; min-width: 0; margin: 0; padding: 8px 14px 12px; }
  .home3 .kat-sub li + li { border-top: 1px solid #E3E7F4; }
  .home3 .kat-sub a { display: flex; align-items: baseline; gap: 10px; padding: 3px 0; }
  .home3 .kat-sub a span { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .home3 .kat-sub a small { flex: none; font-size: 11.5px; color: #838B9A; font-variant-numeric: tabular-nums; }
  .home3 .kat-sub .kat-all { margin-top: auto; padding-top: 4px; border-top: 0; }
  .odb-in { align-items: stretch; }
  .odb-txt { align-self: center; }
  .odb-list { justify-content: center; padding: 16px 20px 14px; }
  .odb-list .odb-cities { columns: 3; column-gap: 24px; }
  .odb-list .odb-cities li { padding: 3px 0; white-space: nowrap; }
  .set-items .it img { height: 110px; }
  .related ul.products, .upsells ul.products { grid-auto-columns: minmax(calc((100% - 48px) / 5), calc((100% - 36px) / 4)); }
  .odd-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 28px; padding-left: 0; list-style: none; counter-reset: odd; }
  .odd-steps li { counter-increment: odd; display: flex; gap: 8px; }
  .odd-steps li::before { content: counter(odd) "."; flex: none; font-weight: 700; color: var(--green); }
  /* długie listy filtrów: wiersz ucięty w połowie i wygaszony zamiast cienkiej kreski — widać, że lista się przewija */
  .flt-list.is-long { max-height: 306px; -webkit-mask-image: linear-gradient(#000 calc(100% - 34px), transparent); mask-image: linear-gradient(#000 calc(100% - 34px), transparent); }
  .flt-list.is-long.is-end { -webkit-mask-image: none; mask-image: none; }
}
@media (min-width: 1280px) {
  .related ul.products, .upsells ul.products { grid-auto-columns: minmax(calc((100% - 60px) / 6), calc((100% - 36px) / 4)); }
}
/* tablet: „Najczęściej zamawiane” w trzech kolumnach — 9 kart (3 × 3) zamiast 10 z jedną osieroconą w ostatnim rzędzie */
@media (min-width: 700px) and (max-width: 999px) {
  .home3 #produkty .grid > .card:nth-child(n+10) { display: none; }
}

/* =====================================================================================================================
   DOSPRZEDAŻ — 23.10.2026 (właściciel: «нужно тут подключать, чтобы доп. продажи были»; inc/cross-sell.php).
   „Pasuje do tego produktu” / „Przyda się do montażu” nad „Podobne produkty”: ta sama kompaktowa taśma .related
   (karty, cena, „Do koszyka” obrysem), na szarym polu — widać, że to dodatki, a nie zamienniki. W bocznym koszyku
   „Do tego produktu”: 3 wiersze ze zdjęciem, ceną i „+ Dodaj”, przewijane razem z produktami (.cd-scroll).
   ===================================================================================================================== */
.hlx-xs { padding: 14px 12px 12px; background: var(--soft); border: 1px solid var(--line); border-radius: var(--r); }
.hlx-xs .rail-head { margin-bottom: 12px; }
.hlx-xs .rail-head > h2, .hlx-xs > h2 { font-size: 20px; }
.hlx-xs .card { border-color: #D0D5E3; }
.hlx-xs + .related { margin-top: 6px; }
@media (min-width: 700px) {
  .hlx-xs { padding: 18px 18px 16px; }
}

/* boczny koszyk: produkty i propozycje przewijają się razem, podsumowanie zostaje na dole */
.cd-scroll { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.cd-scroll > .cd-items { flex: none; overflow: visible; }
.cd-xs { margin: 6px 16px 14px; padding: 12px; background: var(--soft); border-radius: var(--r); }
.cd-xs-h { margin: 0 0 8px; font-size: 12.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); }
.cd-xs-list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.cd-xs-it { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 8px; background: var(--white); border: 1px solid var(--line); border-radius: var(--r); }
.cd-xs-ph { display: block; }
.cd-xs-ph img { display: block; width: 48px; height: 48px; object-fit: contain; }
.cd-xs-info { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.cd-xs-name { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 13px; line-height: 1.3; color: var(--ink); text-decoration: none; }
.cd-xs-name:hover { color: var(--acc-ink); }
.cd-xs-pr { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 6px; font-variant-numeric: tabular-nums; }
.cd-xs-pr b { font-size: 14px; }
.cd-xs-pr small { font-size: 11.5px; color: var(--muted); }
#hlx-cd .cd-xs-add { display: inline-flex; align-items: center; justify-content: center; gap: 4px; min-height: 36px; padding: 0 12px; border: 1px solid var(--ink); border-radius: var(--r); background: var(--white); color: var(--ink); font-size: 13px; font-weight: 600; line-height: 1; text-decoration: none; white-space: nowrap; cursor: pointer; }
#hlx-cd .cd-xs-add.add_to_cart_button::before { content: "+"; font-size: 17px; font-weight: 400; }
#hlx-cd .cd-xs-add:hover, #hlx-cd .cd-xs-add:focus-visible { background: var(--acc-dark); color: var(--white); }
#hlx-cd .cd-xs-add.loading { opacity: .55; pointer-events: none; }
.cd-xs-it .added_to_cart { display: none; }
@media (max-width: 380px) {
  .cd-xs-it { grid-template-columns: 40px minmax(0, 1fr) auto; gap: 8px; }
  .cd-xs-ph img { width: 40px; height: 40px; }
  #hlx-cd .cd-xs-add { padding: 0 10px; }
}

/* =====================================================================================================================
   KONTO B2B (23.10.2026, właściciel: «кабинет б2б с процентом», «крутые магазины в плане личного кабинета»)
   inc/konto*.php, inc/rabat.php, woocommerce/myaccount/*, woocommerce/order/order-details.php. Styl hurtowni: grafitowy
   pas z firmą (jak pas „Dla firm” na głównej), czerwień tylko w akcjach i postępie, gęste tabele z cyframi tabelarycznymi,
   kąty 3 px. Telefon: menu jako przewijany pasek, tabele jako karty z podpisami (data-k).
   ===================================================================================================================== */
.hlx-konto .entry-title { display: none; }
.hlx-konto .entry-content { max-width: none; }
.hlx-konto .page-main { padding-top: 16px; }
.hlx-konto .woocommerce { display: block !important; }
.k-grid .woocommerce-MyAccount-navigation, .k-grid .woocommerce-MyAccount-content { float: none; width: auto; }
.k-wrap { display: grid; gap: 16px; }
/* Treść strony (.entry-content) barwi linki na czerwono i daje nagłówkom marginesy — w koncie własne kolory i odstępy */
.k-wrap a.k-btn, .k-auth a.k-btn { color: var(--white); text-decoration: none; }
.k-wrap a.k-btn--ghost, .k-wrap a.k-btn--ghost:hover, .k-auth a.k-btn--ghost { color: var(--ink); }
.k-wrap a.k-btn--line { color: var(--acc-ink); }
.k-wrap a.k-btn--line:hover { color: var(--acc-ink-dark); }
.k-wrap a.k-ord, .k-wrap a.k-doc, .k-wrap a.k-link { color: var(--ink); }
.k-wrap a.k-link--red { color: var(--acc-ink); }
.k-wrap a.k-ord:hover, .k-wrap a.k-doc:hover { color: var(--acc-ink); }
.k-head a.k-help, .k-auth-side a.k-help, .k-head a.k-rabat-badge { color: var(--white); text-decoration: none; }
.k-wrap h2.k-h3, .k-wrap h3.k-h3, .k-auth h2.k-h3 { margin: 0; font-size: 17px; line-height: 1.3; }
.k-wrap h2.k-title { margin: 0 0 14px; font-size: 22px; }
.k-wrap .k-order-head h2.k-title { margin: 0 0 4px; }
.k-wrap .k-list-head h2.k-h3 { font-size: 19px; }
.k-wrap .k-od h2.k-h3 { margin-bottom: 8px; }
.k-auth h1.k-auth-h { margin: 0 0 14px; }
.k-auth-side h2 { margin-top: 0; }
.k-cols > .k-card { margin-top: 0 !important; }
.k-addr-grid > .k-card { margin-top: 0 !important; }
.k-table-wrap { overflow-x: auto; }
.k-table .k-prod-n .stock { justify-content: flex-start; }
.woocommerce-MyAccount-content .hlx-inv-toggle .optional, .woocommerce-MyAccount-content .hlx-inv-field .optional { display: none; }
/* Przyciski WooCommerce (.woocommerce .button = grafit) w formularzach konta — warianty konta wygrywają */
.woocommerce button.k-btn--red, .woocommerce a.k-btn--red { background: var(--red); color: var(--acc-on); }
.woocommerce button.k-btn--red:hover, .woocommerce a.k-btn--red:hover { background: var(--red-dark); }
.woocommerce a.k-btn--ghost, .woocommerce button.k-btn--ghost { background: var(--white); color: var(--ink); border: 1px solid #BFC6D6; }
.woocommerce .k-btn { min-height: 40px; padding: 0 14px; }
.woocommerce .k-btn--wide { min-height: 48px; }
.k-kicker { margin: 0 0 4px; font-size: 11.5px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--muted); }
.k-muted { color: var(--muted); }
.k-note { margin: 6px 0 0; font-size: 12.5px; color: var(--muted); }
.k-lead { margin: 0 0 14px; color: var(--muted); max-width: 80ch; }
.k-h3 { margin: 0; font-size: 17px; line-height: 1.3; font-weight: 700; }
.k-title { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 0 0 14px; font-size: 22px; line-height: 1.25; }
.k-title > .hlx-ico { color: var(--acc-ink); }

/* Przyciski konta */
.k-btn { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 40px; padding: 0 14px; border: 1px solid transparent; border-radius: var(--r); background: var(--acc); color: var(--white); font-size: 14px; font-weight: 600; line-height: 1.2; text-decoration: none; white-space: nowrap; cursor: pointer; transition: background-color .15s, border-color .15s, color .15s; }
.k-btn:hover { background: var(--acc-dark); color: var(--white); }
.k-btn--red { background: var(--red); }
.k-btn--red:hover { background: var(--red-dark); }
.k-btn--dark { background: var(--acc); }
.k-btn--ghost { background: var(--white); color: var(--ink); border-color: #BFC6D6; }
.k-btn--ghost:hover { background: var(--white); color: var(--ink); border-color: var(--ink); }
.k-btn--line { background: var(--white); color: var(--acc-ink); border-color: #E8A3AF; }
.k-btn--line:hover { background: var(--red-soft); color: var(--acc-ink-dark); border-color: var(--red); }
.k-btn--wide { width: 100%; min-height: 48px; font-size: 15.5px; }
.k-btn[disabled], .k-btn.is-busy { opacity: .6; cursor: progress; }
.k-btn.is-done { background: var(--green); border-color: var(--green); color: var(--white); }
.k-link { border: 0; background: none; padding: 0; color: var(--ink); font-size: 13.5px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.k-link--red { color: var(--acc-ink); }
.k-icon-btn { display: inline-grid; place-items: center; width: 36px; height: 36px; border: 1px solid transparent; border-radius: var(--r); background: none; color: var(--muted); cursor: pointer; }
.k-icon-btn:hover { color: var(--acc-ink); border-color: var(--acc-soft2); background: var(--red-soft); }
.k-inline { display: inline; margin: 0; }

/* Nagłówek konta: grafitowy pas z firmą */
.k-head { display: grid; gap: 14px; padding: 18px 16px; background: var(--ink); color: #DCE2EF; border-top: 3px solid var(--red); border-radius: var(--r); }
.k-head .k-kicker { color: var(--acc-light); }
.k-name { margin: 0; font-size: 22px; line-height: 1.2; font-weight: 700; color: var(--white); overflow-wrap: anywhere; }
.k-meta { display: flex; flex-wrap: wrap; gap: 4px 16px; margin: 6px 0 0; font-size: 13px; color: #AFB7C6; font-variant-numeric: tabular-nums; }
.k-ok { display: inline-flex; align-items: center; gap: 5px; color: #86DCA0; font-weight: 600; }
.k-head-side { display: flex; flex-wrap: wrap; gap: 10px; align-items: stretch; }
.k-rabat-badge { display: flex; flex-direction: column; justify-content: center; padding: 6px 14px; background: var(--red); color: var(--acc-on); border-radius: var(--r); text-decoration: none; line-height: 1.15; }
.k-rabat-badge small { font-size: 11px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; opacity: .9; }
.k-rabat-badge b { font-size: 22px; font-variant-numeric: tabular-nums; }
.k-help { display: inline-flex; align-items: center; gap: 10px; padding: 6px 12px; border: 1px solid #3F4654; border-radius: var(--r); color: var(--white); text-decoration: none; font-weight: 700; font-variant-numeric: tabular-nums; }
.k-help span { display: flex; flex-direction: column; line-height: 1.2; }
.k-help small { font-size: 11px; font-weight: 500; color: #929AAA; }
.k-help svg { color: var(--acc-light); }
.k-help:hover { border-color: var(--acc-light); }

/* Siatka: menu + treść */
.k-grid { display: grid; gap: 16px; }
.k-content { min-width: 0; }
.k-nav ul { display: flex; gap: 6px; margin: 0; padding: 0 0 4px; list-style: none; overflow-x: auto; scrollbar-width: none; }
.k-nav ul::-webkit-scrollbar { display: none; }
.k-nav li { flex: 0 0 auto; }
.k-nav a { display: flex; align-items: center; gap: 8px; min-height: 42px; padding: 0 12px; border: 1px solid var(--line); border-radius: var(--r); background: var(--white); color: var(--ink); font-size: 14px; font-weight: 600; text-decoration: none; white-space: nowrap; }
.k-nav a .hlx-ico { color: var(--muted); }
.k-nav a small { min-width: 20px; padding: 1px 6px; border-radius: 9px; background: var(--soft); color: var(--muted); font-size: 11.5px; font-weight: 700; text-align: center; font-variant-numeric: tabular-nums; }
.k-nav a:hover { border-color: var(--ink); }
.k-nav a[aria-current="page"], .k-nav .is-active a { background: var(--acc); border-color: var(--acc); color: var(--white); }
.k-nav a[aria-current="page"] .hlx-ico, .k-nav .is-active a .hlx-ico { color: var(--acc-light); }
.k-nav a[aria-current="page"] small, .k-nav .is-active a small { background: #373C49; color: var(--white); }
.k-nav .woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--muted); font-weight: 500; }

/* Karty, kafelki obrotów */
.k-card { border: 1px solid var(--line); border-radius: var(--r); background: var(--white); padding: 16px; min-width: 0; }
.k-card-h { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 6px 14px; margin-bottom: 12px; }
.k-card-h a:not(.k-btn) { font-size: 13.5px; font-weight: 600; color: var(--acc-ink); text-decoration: none; }
.k-card-h a:not(.k-btn):hover { text-decoration: underline; }
.k-kpi { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin: 0; background: var(--line); border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; }
.k-kpi-i { display: flex; flex-direction: column; gap: 4px; padding: 14px; background: var(--white); min-width: 0; }
.k-kpi-i.is-main { box-shadow: inset 0 3px 0 var(--red); }
.k-kpi dt { font-size: 11.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.k-kpi dd { margin: 0; display: flex; flex-direction: column; min-width: 0; }
.k-kpi b { font-size: 21px; line-height: 1.2; font-weight: 700; font-variant-numeric: tabular-nums; letter-spacing: -.01em; overflow-wrap: anywhere; }
.k-kpi small { font-size: 12px; color: var(--muted); }
.k-welcome, .k-info { display: flex; gap: 10px; align-items: flex-start; margin: 0 0 14px; padding: 12px 14px; border-radius: var(--r); border: 1px solid #BFE3C8; background: var(--green-soft); }
.k-welcome svg { color: var(--green); margin-top: 1px; }
.k-welcome p, .k-info p { margin: 0; font-size: 14px; }
.k-info { border-color: var(--line); background: var(--soft); }
.k-info svg { color: var(--acc-ink); flex: none; }
.k-cols { display: grid; gap: 14px; margin-top: 14px; }
.k-wrap .k-card + .k-card, .k-content > .k-card { margin-top: 14px; }

/* Rabat od obrotu */
.k-rabat { margin-top: 14px; border-left: 3px solid var(--red); }
.k-rabat-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.k-rabat-top p { margin: 2px 0 0; font-size: 13.5px; }
.k-rabat-now { display: flex; flex-direction: column; align-items: flex-end; margin: 0; line-height: 1.1; }
.k-rabat-now small { font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.k-rabat-now b { font-size: 30px; color: var(--acc-ink); font-variant-numeric: tabular-nums; }
.k-scale { position: relative; height: 10px; margin: 18px 6px 44px; background: var(--soft); border-radius: 5px; box-shadow: inset 0 0 0 1px var(--line); }
.k-scale-fill { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 5px; background: var(--red); }
.k-tick { position: absolute; top: -4px; width: 2px; height: 18px; margin-left: -1px; background: #B0B9C9; }
.k-tick b, .k-tick small { position: absolute; left: 50%; transform: translateX(-50%); white-space: nowrap; font-variant-numeric: tabular-nums; }
.k-tick b { top: 21px; font-size: 13px; }
.k-tick small { top: 38px; font-size: 11px; color: var(--muted); }
.k-tick.is-on { background: var(--red); }
.k-tick.is-on b { color: var(--acc-ink); }
.k-tick:first-of-type b, .k-tick:first-of-type small { transform: none; left: 0; }
.k-tick:last-of-type b, .k-tick:last-of-type small { transform: translateX(-80%); }
.k-rabat-next { display: flex; flex-direction: column; gap: 4px; margin: 0; font-size: 14px; }
.k-rabat-next b { color: var(--acc-ink); }
.k-rabat-next .k-muted { font-size: 12.5px; }

/* Tabele */
.k-table-wrap { min-width: 0; }
.k-table { width: 100%; border-collapse: collapse; font-size: 14px; font-variant-numeric: tabular-nums; }
.k-table thead th { padding: 8px 10px; border-bottom: 2px solid var(--ink); font-size: 11.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--muted); text-align: left; white-space: nowrap; }
.k-table tbody th, .k-table tbody td { padding: 10px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: middle; font-weight: 400; }
.k-table tbody tr:hover > * { background: #FAFBFB; }
.k-table .num { text-align: right; white-space: nowrap; }
.k-table small { display: block; font-size: 12px; color: var(--muted); }
.k-table .act { text-align: right; }
.k-table td.act { white-space: nowrap; }
.k-table td.act > * + * { margin-left: 6px; }
.k-ord { font-weight: 700; color: var(--ink); text-decoration: none; }
.k-ord:hover { color: var(--acc-ink); text-decoration: underline; }
.k-st { display: inline-flex; align-items: center; gap: 6px; padding: 2px 8px; border-radius: 2px; font-size: 12px; font-weight: 700; white-space: nowrap; background: var(--soft); color: var(--ink); }
.k-st::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.k-st.is-wait { background: #FFF4D6; color: var(--amber); }
.k-st.is-run { background: #DDE5F8; color: #1F4E8C; }
.k-st.is-ship { background: #DBE9F6; color: #136B76; }
.k-st.is-done { background: var(--green-soft); color: var(--green); }
.k-st.is-stop { background: var(--soft); color: var(--muted); }
.k-ship { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--ink); }
a.k-ship { color: var(--acc-ink); font-weight: 600; }
.k-prod-n { display: flex; align-items: center; gap: 10px; min-width: 0; }
.k-prod-n > span { display: flex; flex-direction: column; min-width: 0; }
.k-prod-n a { color: var(--ink); text-decoration: none; font-weight: 600; line-height: 1.35; }
.k-prod-n a:hover { color: var(--acc-ink); }
.k-table .k-prod-n { display: table-cell; }
.k-table .k-prod-n > .k-thumb { float: left; margin-right: 10px; }
.k-thumb { flex: none; display: grid; place-items: center; width: 52px; height: 52px; border: 1px solid var(--line); border-radius: var(--r); background: var(--white); overflow: hidden; }
.k-thumb img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.k-table .stock { font-size: 12px; justify-content: flex-end; }
.k-add { display: inline-flex; gap: 6px; align-items: center; }
.k-qty { width: 64px; min-height: 40px; padding: 0 8px; border: 1px solid #BFC6D6; border-radius: var(--r); text-align: center; font-variant-numeric: tabular-nums; background: var(--white); }
.k-table .chk { width: 34px; }
.k-table input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--red); }
.k-count { margin: 0 0 8px; font-size: 13px; color: var(--muted); }

/* Filtr zamówień, narzędzia list */
.k-filter, .k-tools { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0 0 12px; }
.k-seg { display: flex; flex: 1 1 100%; overflow-x: auto; border: 1px solid var(--line); border-radius: var(--r); scrollbar-width: none; }
.k-seg a { flex: 0 0 auto; padding: 9px 13px; font-size: 13.5px; font-weight: 600; color: var(--muted); text-decoration: none; white-space: nowrap; }
.k-seg a + a { border-left: 1px solid var(--line); }
.k-seg a[aria-current="true"] { background: var(--acc); color: var(--white); }
.k-filter select, .k-filter input[type="search"], .k-tools input[type="search"], .k-tools select { min-height: 40px; padding: 0 10px; border: 1px solid #BFC6D6; border-radius: var(--r); background: var(--white); font-size: 14px; }
.k-filter input[type="search"], .k-tools input[type="search"] { flex: 1 1 200px; min-width: 0; }
.k-tools .k-count { margin: 0 0 0 auto; }
.k-pages { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin: 14px 0 0; font-size: 14px; }
.k-pages a { padding: 7px 12px; border: 1px solid var(--line); border-radius: var(--r); color: var(--ink); text-decoration: none; font-weight: 600; }
.k-pages a:hover, .k-pages a[aria-current="page"] { border-color: var(--acc); background: var(--acc); color: var(--white); }
.k-bulk { position: sticky; bottom: 0; z-index: 5; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-top: 10px; padding: 10px 12px; background: var(--ink); color: var(--white); border-radius: var(--r); box-shadow: 0 -6px 18px rgba(15, 16, 32, .18); }
.k-bulk[hidden] { display: none; }
.k-bulk [data-k-bulk-n] { font-weight: 700; margin-right: auto; }
.k-empty { padding: 22px 18px; border: 1px dashed #BFC6D6; border-radius: var(--r); background: var(--soft); }
.k-empty p { margin: 0 0 10px; }
.k-steps { margin: 0 0 14px; padding-left: 20px; display: grid; gap: 6px; font-size: 14px; }

/* Szybkie akcje, kontakt */
.k-quick ul { margin: 10px 0 0; padding: 0; list-style: none; display: grid; gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; }
.k-quick ul a { display: flex; align-items: center; gap: 12px; padding: 11px 12px; background: var(--white); color: var(--ink); text-decoration: none; }
.k-quick ul a:hover { background: var(--soft); }
.k-quick ul a .hlx-ico { color: var(--acc-ink); }
.k-quick ul a span { display: flex; flex-direction: column; line-height: 1.25; }
.k-quick ul a b { font-size: 14px; }
.k-quick ul a small { font-size: 12px; color: var(--muted); }
.k-contact { display: flex; flex-direction: column; gap: 2px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--line); }
.k-contact a { color: var(--ink); font-weight: 700; text-decoration: none; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.k-contact a:hover { color: var(--acc-ink); }
.k-contact small { color: var(--muted); font-size: 12.5px; }

/* Zamówienie: nagłówek, przebieg, szczegóły */
.k-order-head { display: grid; gap: 12px; margin-bottom: 14px; }
.k-order-head .k-title { margin: 0 0 4px; }
.k-order-head .k-kicker a { color: var(--muted); text-decoration: none; }
.k-order-head .k-kicker a:hover { color: var(--acc-ink); }
.k-order-head p { margin: 0; }
.k-order-act { display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-start; }
.k-steps-bar { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0 0 16px; padding: 0; list-style: none; counter-reset: ks; }
.k-steps-bar li { position: relative; display: flex; flex-direction: column; gap: 2px; padding: 14px 6px 0 0; border-top: 4px solid var(--line); font-size: 13px; counter-increment: ks; min-width: 0; }
.k-steps-bar li b { font-size: 13px; }
.k-steps-bar li small { font-size: 12px; color: var(--muted); font-variant-numeric: tabular-nums; }
.k-steps-bar li.is-done { border-top-color: var(--ink); }
.k-steps-bar li.is-now { border-top-color: var(--red); }
.k-steps-bar li.is-now b { color: var(--acc-ink); }
.k-steps-bar li.is-next { color: #838B9A; }
.k-notes ol { margin: 10px 0 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.k-notes li { display: grid; gap: 2px; padding-left: 12px; border-left: 3px solid var(--line); font-size: 14px; }
.k-notes time { font-size: 12px; color: var(--muted); }
.k-notes li p { margin: 0; }
.k-od { margin-top: 16px; }
.k-od .k-h3 { margin-bottom: 8px; }
.k-od .klx-ship-box { border-radius: var(--r) !important; border-color: #BFE3C8 !important; background: var(--green-soft); }
.k-od .klx-ship-box .button { display: inline-flex; min-height: 40px; align-items: center; padding: 0 14px; background: var(--acc); color: var(--white); border-radius: var(--r); text-decoration: none; font-weight: 600; }
.k-od-table .wc-item-meta { margin: 4px 0 0; padding: 0; list-style: none; font-size: 12px; color: var(--muted); }
.k-od-table .wc-item-meta p { display: inline; margin: 0; }
.hlx-item-rabat { display: inline-block; margin-top: 3px; padding: 1px 6px; border-radius: 2px; background: var(--green-soft); color: var(--green); font-size: 12px; font-weight: 700; }
.k-od-foot { display: grid; gap: 14px; margin-top: 14px; }
.k-od-info p { margin: 0 0 6px; font-size: 14px; }
.k-od-info .k-muted { display: inline-block; min-width: 72px; font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.k-od-sum { margin: 0; padding: 12px 14px; border: 1px solid var(--line); border-radius: var(--r); background: var(--soft); font-variant-numeric: tabular-nums; }
.k-od-sum div { display: flex; justify-content: space-between; gap: 16px; padding: 3px 0; font-size: 14px; }
.k-od-sum dt { color: var(--muted); }
.k-od-sum dd { margin: 0; font-weight: 600; }
.k-od-sum .k-od-total { margin-top: 6px; padding-top: 8px; border-top: 2px solid var(--ink); font-size: 18px; }
.k-od-sum .k-od-total dt { color: var(--ink); font-weight: 700; }
.k-od-sum .k-od-total dd { font-weight: 700; }
.k-od-sum .k-od-total small { display: none; }
.k-od-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 0; }
.woocommerce-customer-details { margin-top: 18px; }
.woocommerce-customer-details .woocommerce-column__title { font-size: 17px; margin: 0 0 8px; }
.woocommerce-customer-details address { padding: 12px 14px; border: 1px solid var(--line); border-radius: var(--r); font-style: normal; line-height: 1.6; }
.woocommerce-customer-details .col2-set { display: grid; gap: 14px; }
.woocommerce-customer-details .col2-set::before, .woocommerce-customer-details .col2-set::after { content: none; }
.woocommerce-customer-details .col2-set .col-1, .woocommerce-customer-details .col2-set .col-2 { float: none; width: auto; }

/* Zamów po kodach */
.k-cols--codes { margin-top: 0; }
.k-codes textarea { display: block; width: 100%; min-height: 220px; margin: 10px 0 0; padding: 12px; border: 1px solid #BFC6D6; border-radius: var(--r); font: 14px/1.6 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; resize: vertical; }
.k-codes textarea:focus { outline: none; border-color: var(--red); box-shadow: 0 0 0 3px rgba(var(--acc-rgb), .15); }
.k-codes p { margin: 4px 0 0; font-size: 13.5px; }
.k-codes-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.k-file { position: relative; overflow: hidden; }
.k-file input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.k-codes .msg { margin-top: 8px; }
.k-dl { margin: 10px 0 12px; padding: 0; list-style: none; display: grid; gap: 8px; }
.k-dl li { display: flex; flex-direction: column; font-size: 14px; }
.k-dl span { font-size: 13px; color: var(--muted); }
.k-help-box p { font-size: 13.5px; margin: 0 0 8px; }
.k-help-box a { color: var(--acc-ink); font-weight: 600; }

/* Dokumenty */
.k-doc { display: inline-flex; align-items: center; gap: 6px; color: var(--ink); font-weight: 600; font-size: 13.5px; text-decoration: none; white-space: nowrap; }
.k-doc:hover { color: var(--acc-ink); text-decoration: underline; }

/* Dane firmy i adresy */
.k-addr { display: grid; gap: 16px; }
.k-firm address { font-style: normal; line-height: 1.6; }
.k-firm p { margin: 8px 0 0; font-size: 13.5px; }
.k-verify { display: flex; gap: 6px; align-items: flex-start; padding: 8px 10px; border-radius: var(--r); background: var(--soft); }
.k-verify.is-ok { background: var(--green-soft); color: var(--green); }
.k-verify svg { flex: none; margin-top: 2px; }
.k-ship-book > p { margin: -4px 0 12px; font-size: 13.5px; }
.k-addr-grid { margin: 0; padding: 0; list-style: none; display: grid; gap: 12px; }
.k-addr-card { display: flex; flex-direction: column; gap: 8px; }
.k-addr-card.is-def { border-color: var(--ink); box-shadow: inset 3px 0 0 var(--red); }
.k-addr-label { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; }
.k-badge { padding: 1px 7px; border-radius: 2px; background: var(--ink); color: var(--white); font-size: 11px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; }
.k-addr-card address { font-style: normal; font-size: 14px; line-height: 1.55; color: #373D4A; }
.k-addr-act { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin-top: auto; padding-top: 8px; border-top: 1px solid var(--line); }
.k-addr-form { margin-bottom: 14px; }
.k-form-grid { display: grid; gap: 0 12px; margin-top: 10px; }
.k-field { display: flex; flex-direction: column; gap: 4px; margin: 0 0 12px; }
.k-field label { font-size: 13.5px; font-weight: 600; }
.k-field label span { color: var(--acc-ink); }
.k-field input, .k-field select { min-height: 44px; padding: 0 12px; border: 1px solid #BFC6D6; border-radius: var(--r); background: var(--white); font-size: 15px; width: 100%; }
.k-field input:focus, .k-qty:focus, .k-filter input:focus, .k-tools input:focus { outline: none; border-color: var(--ink); box-shadow: 0 0 0 3px rgba(15, 16, 32, .12); }
.k-check { display: flex; align-items: center; gap: 8px; font-size: 14px; }
.k-check input { width: 18px; height: 18px; accent-color: var(--red); }
.k-form-act { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.woocommerce-MyAccount-content .woocommerce-address-fields { max-width: 760px; }
.woocommerce-MyAccount-content form .form-row { margin: 0 0 12px; }
.woocommerce-MyAccount-content form .form-row label { display: block; margin-bottom: 4px; font-size: 13.5px; font-weight: 600; }
.woocommerce-MyAccount-content .hlx-inv-toggle label { display: flex; align-items: center; gap: 8px; font-size: 15px; }
.woocommerce-MyAccount-content .hlx-inv-toggle input { width: 18px; height: 18px; accent-color: var(--red); }
.woocommerce-MyAccount-content .hlx-inv-field[hidden] { display: none; }
.k-nip-get { margin-top: 8px; }
.k-nip-msg { display: block; margin-top: 6px; font-size: 12.5px; color: var(--muted); }
.k-nip-msg.is-ok { color: var(--green); }
.k-nip-msg.is-bad { color: var(--acc-ink); }

/* Listy zakupowe */
.k-lists { display: grid; gap: 14px; }
.k-lists-nav ul { display: flex; gap: 6px; margin: 0 0 8px; padding: 0; list-style: none; overflow-x: auto; scrollbar-width: none; }
.k-lists-nav a { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 40px; padding: 0 12px; border: 1px solid var(--line); border-radius: var(--r); color: var(--ink); text-decoration: none; font-weight: 600; font-size: 14px; white-space: nowrap; }
.k-lists-nav a small { color: var(--muted); font-weight: 700; font-variant-numeric: tabular-nums; }
.k-lists-nav a[aria-current="page"] { border-color: var(--ink); box-shadow: inset 3px 0 0 var(--red); }
.k-list-new { display: flex; gap: 6px; }
.k-list-new input { flex: 1 1 auto; min-width: 0; min-height: 40px; padding: 0 10px; border: 1px solid #BFC6D6; border-radius: var(--r); }
.k-list-new .k-btn { padding: 0 10px; }
.k-list-cart { width: 100%; margin-top: 8px; }
.k-list-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; margin-bottom: 10px; }
.k-list-head .k-h3 { font-size: 19px; }
.k-list-tools { display: flex; gap: 14px; margin-left: auto; }
.k-list-code { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.k-list-code input[type="text"] { flex: 1 1 220px; min-width: 0; min-height: 40px; padding: 0 10px; border: 1px solid #BFC6D6; border-radius: var(--r); font: 14px ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.k-list-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 12px; padding: 12px 14px; border: 1px solid var(--line); border-radius: var(--r); background: var(--soft); }
.k-list-foot p { display: flex; flex-direction: column; margin: 0 auto 0 0; line-height: 1.2; }
.k-list-foot p .k-muted { font-size: 12px; }
.k-list-foot b { font-size: 21px; font-variant-numeric: tabular-nums; }

/* Karta produktu: „Dodaj do listy zakupowej” */
.pdp-list { position: relative; margin: 8px 0 0; }
.pdp-list-btn { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 2px; border: 0; background: none; color: var(--ink); font-size: 14px; font-weight: 600; text-decoration: underline; text-decoration-color: #BFC6D6; text-underline-offset: 4px; cursor: pointer; }
.pdp-list-btn small { font-weight: 400; color: var(--muted); }
.pdp-list-btn .hlx-ico { color: var(--acc-ink); }
.pdp-list-btn:hover { text-decoration-color: var(--red); }
.pdp-list-btn.is-on { color: var(--green); }
.pdp-list-btn.is-on .hlx-ico { color: var(--green); }
.pdp-list-pop { position: absolute; left: 0; top: calc(100% + 4px); z-index: 25; width: min(340px, calc(100vw - 32px)); padding: 12px; background: var(--white); border: 1px solid var(--line); border-radius: var(--r); box-shadow: 0 16px 36px rgba(15, 16, 32, .18); }
.pdp-list-pop[hidden] { display: none; }
.pdp-list-h { margin: 0 0 8px; font-size: 11.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.pdp-list-pop ul { margin: 0 0 8px; padding: 0; list-style: none; display: grid; gap: 4px; max-height: 220px; overflow: auto; }
.pdp-list-pop ul button { display: flex; justify-content: space-between; align-items: center; gap: 10px; width: 100%; min-height: 38px; padding: 0 10px; border: 1px solid var(--line); border-radius: var(--r); background: var(--white); font-size: 14px; font-weight: 600; text-align: left; cursor: pointer; }
.pdp-list-pop ul button:hover { border-color: var(--ink); }
.pdp-list-pop ul button.is-on { border-color: #BFE3C8; background: var(--green-soft); }
.pdp-list-pop ul button small { color: var(--muted); font-variant-numeric: tabular-nums; }
.pdp-list-new { display: flex; gap: 6px; }
.pdp-list-new input { flex: 1 1 auto; min-width: 0; min-height: 38px; padding: 0 10px; border: 1px solid #BFC6D6; border-radius: var(--r); font-size: 14px; }
.pdp-list-new button { min-height: 38px; padding: 0 10px; border: 0; border-radius: var(--r); background: var(--acc); color: var(--white); font-size: 13px; font-weight: 600; cursor: pointer; white-space: nowrap; }
.pdp-list-msg { margin: 8px 0 0; font-size: 13px; color: var(--green); }
.pdp-list-msg:empty { display: none; }
.pdp-list-msg.is-bad { color: var(--acc-ink); }
.pdp-list-all { display: inline-block; margin-top: 8px; font-size: 13px; font-weight: 600; color: var(--acc-ink); text-decoration: none; }

/* Cena dla konta z rabatem od obrotu (inc/rabat.php) */
.hlx-twoja { display: inline-flex; align-self: flex-start; padding: 1px 6px; margin-bottom: 2px; border-radius: 2px; background: var(--green); color: var(--white); font-size: 11.5px; font-weight: 700; letter-spacing: .02em; }
.hlx-kat { font-size: 12px; color: var(--muted); font-variant-numeric: tabular-nums; }
.hlx-twoja + .hlx-price-main { color: var(--green); }

/* Logowanie i rejestracja */
.k-auth { display: grid; gap: 16px; }
.k-auth-main { min-width: 0; padding: 18px 16px; border: 1px solid var(--line); border-radius: var(--r); background: var(--white); }
.k-auth-h { margin: 0 0 14px; font-size: 24px; line-height: 1.2; }
.k-auth-tabs { display: grid; grid-template-columns: 1fr 1fr; margin: 0 0 18px; border-bottom: 1px solid var(--line); }
.k-auth-tabs a { display: flex; align-items: center; justify-content: center; min-height: 46px; margin-bottom: -1px; border-bottom: 3px solid transparent; color: var(--muted); font-weight: 700; font-size: 15px; text-decoration: none; }
.k-auth-tabs a[aria-selected="true"] { color: var(--ink); border-bottom-color: var(--red); }
.k-auth-tabs a:hover { color: var(--ink); }
.k-pane[hidden] { display: none; }
.k-form { max-width: 640px; }
.k-form-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin: 0 0 14px; font-size: 14px; }
.k-form-row a, .k-auth-switch a { color: var(--acc-ink); font-weight: 600; }
.k-auth-switch { margin: 16px 0 0; padding-top: 14px; border-top: 1px solid var(--line); font-size: 14px; }
.k-typ { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 0 0 16px; padding: 0; border: 0; }
.k-typ legend { padding: 0; margin: 0 0 6px; font-size: 13.5px; font-weight: 600; }
.k-typ label { position: relative; display: block; cursor: pointer; }
.k-typ input { position: absolute; opacity: 0; inset: 0; }
.k-typ span { display: flex; flex-direction: column; gap: 2px; height: 100%; padding: 12px 14px; border: 1px solid #BFC6D6; border-radius: var(--r); background: var(--white); }
.k-typ b { font-size: 15px; }
.k-typ small { font-size: 12.5px; color: var(--muted); }
.k-typ input:checked + span { border-color: var(--ink); box-shadow: inset 0 0 0 1px var(--ink), inset 4px 0 0 var(--red); }
.k-typ input:focus-visible + span { outline: 3px solid #1F7BFF; outline-offset: 2px; }
.k-reg-firma { margin: 0 0 6px; padding: 14px 14px 2px; border: 1px solid var(--line); border-radius: var(--r); background: var(--soft); }
.k-reg-firma[hidden] { display: none; }
.k-nip-row { display: flex; gap: 6px; }
.k-nip-row input { flex: 1 1 auto; min-width: 0; font-variant-numeric: tabular-nums; letter-spacing: .02em; }
.k-nip-row .k-btn { min-height: 44px; }
.k-2 { display: grid; gap: 0 12px; }
.k-auth .woocommerce-privacy-policy-text p { margin: 4px 0 14px; font-size: 12.5px; color: var(--muted); }
.k-auth .woocommerce-privacy-policy-text a { color: var(--ink); }
.k-auth-side { padding: 20px 18px; border-radius: var(--r); background: var(--ink); color: #BFC6D6; border-top: 3px solid var(--red); }
.k-auth-side .k-kicker { color: var(--acc-light); }
.k-auth-side h2 { margin: 0 0 14px; font-size: 21px; line-height: 1.25; color: var(--white); }
.k-benefits { margin: 0 0 16px; padding: 0; list-style: none; display: grid; gap: 9px; }
.k-benefits li { position: relative; padding-left: 24px; font-size: 14px; line-height: 1.45; }
.k-benefits li::before { content: ""; position: absolute; left: 2px; top: 6px; width: 10px; height: 5px; border-left: 2px solid #86DCA0; border-bottom: 2px solid #86DCA0; transform: rotate(-45deg); }
.k-benefits b { color: var(--white); font-weight: 600; }
.k-auth-guest { margin: 0 0 14px; font-size: 13px; color: #929AAA; }

/* Komunikat (dodano do koszyka, zapisano listę) */
.k-toast { position: fixed; left: 50%; bottom: calc(18px + env(safe-area-inset-bottom, 0px)); z-index: 120; max-width: min(560px, calc(100vw - 32px)); padding: 11px 16px; border-radius: var(--r); background: var(--ink); color: var(--white); font-size: 14px; box-shadow: 0 10px 28px rgba(0, 0, 0, .25); transform: translate(-50%, 20px); opacity: 0; visibility: hidden; transition: opacity .2s, transform .2s, visibility 0s linear .2s; }
.k-toast.is-on { opacity: 1; visibility: visible; transform: translate(-50%, 0); transition: opacity .2s, transform .2s; }
.k-toast.is-bad { border-left: 4px solid #FF9EAD; }

/* Telefon: tabele jako karty z podpisami */
@media (max-width: 699px) {
  .k-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .k-table, .k-table tbody, .k-table tr { display: block; width: 100%; }
  .k-table tbody tr { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 6px 12px; padding: 12px 0; border-bottom: 1px solid var(--line); }
  .k-table tbody tr:hover > * { background: none; }
  .k-table tbody th, .k-table tbody td { display: block; padding: 0; border: 0; text-align: left; }
  .k-table tbody th { grid-column: 1 / -1; }
  .k-table tbody td[data-k]::before { content: attr(data-k); display: block; font-size: 11px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--muted); }
  .k-table .num { text-align: left; }
  .k-table td.act { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 6px; text-align: left; white-space: normal; }
  .k-table td.act > * + * { margin-left: 0; }
  .k-table td.chk { position: absolute; right: 0; top: 12px; width: auto; }
  .k-table .k-prod-n { display: flex; padding-right: 30px; }
  .k-table .k-prod-n > .k-thumb { float: none; margin-right: 0; }
  .k-table .stock { justify-content: flex-start; }
  .k-add { width: 100%; }
  .k-add .k-btn { flex: 1 1 auto; }
  .k-orders td.act .k-btn { flex: 1 1 auto; }
  .k-tick small { display: none; }
  .k-scale { margin-bottom: 34px; }
  .k-tools .k-count { flex: 1 1 100%; margin: 0; }
}
@media (min-width: 560px) {
  .k-2 { grid-template-columns: 1fr 1fr; }
  .k-form-grid { grid-template-columns: 1fr 1fr; }
  .k-form-grid .k-field--label, .k-form-grid .k-field--address_1 { grid-column: 1 / -1; }
  .k-addr-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .woocommerce-customer-details .col2-set { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 700px) {
  .k-head { grid-template-columns: minmax(0, 1fr) auto; align-items: center; padding: 20px 22px; }
  .k-name { font-size: 26px; }
  .k-head-side { justify-content: flex-end; }
  .k-kpi { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .k-kpi b { font-size: 23px; }
  .k-order-head { grid-template-columns: minmax(0, 1fr) auto; align-items: end; }
  .k-order-act { justify-content: flex-end; }
  .k-od-foot { grid-template-columns: minmax(0, 1fr) 340px; align-items: start; }
  .k-seg { flex: 0 1 auto; }
  .k-filter input[type="search"] { flex: 0 1 260px; }
  .k-auth-main { padding: 26px 28px; }
}
@media (min-width: 1000px) {
  .k-grid { grid-template-columns: 236px minmax(0, 1fr); align-items: start; gap: 22px; }
  .k-nav { position: sticky; top: 150px; }
  .k-nav ul { flex-direction: column; gap: 0; padding: 0; overflow: visible; border: 1px solid var(--line); border-radius: var(--r); }
  .k-nav li + li { border-top: 1px solid var(--line); }
  .k-nav a { min-height: 46px; border: 0; border-radius: 0; padding: 0 14px; }
  .k-nav a small { margin-left: auto; }
  .k-nav a[aria-current="page"], .k-nav .is-active a { box-shadow: inset 4px 0 0 var(--red); }
  .k-nav .woocommerce-MyAccount-navigation-link--customer-logout { border-top-width: 6px; border-top-color: var(--soft); }
  .k-cols { grid-template-columns: minmax(0, 1fr) 300px; align-items: start; }
  .k-cols--codes { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); }
  .k-lists { grid-template-columns: 240px minmax(0, 1fr); align-items: start; }
  .k-lists-nav ul { flex-direction: column; overflow: visible; }
  .k-addr { grid-template-columns: minmax(0, 340px) minmax(0, 1fr); align-items: start; }
  .k-addr-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .k-auth { grid-template-columns: minmax(0, 1fr) 380px; align-items: start; gap: 22px; }
  .k-auth-side { position: sticky; top: 150px; padding: 26px 26px; }
}
@media (min-width: 1200px) {
  .k-addr-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
/* menu konta na telefonie i tablecie: siatka 2 / 3 kolumny zamiast zawijanych przycisków */
@media (max-width: 999px) {
  .k-nav ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: visible; padding: 0; }
  .k-nav a { min-width: 0; padding: 0 10px; font-size: 13.5px; }
  .k-nav a span { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
  .k-nav a small { margin-left: auto; }
}
@media (min-width: 700px) and (max-width: 999px) {
  .k-nav ul { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
/* strona główna, pas „Dla firm”: odnośnik do konta firmowego (front-page.php) */
.b2b-acc { color: var(--white); font-weight: 700; font-size: 15px; text-decoration: underline; text-decoration-color: var(--acc-light); text-underline-offset: 5px; }
.b2b-acc:hover { color: var(--acc-light); }
/* === KONIEC SEKCJI: KONTO B2B === */

/* ===== Karta produktu — korzyści jedną listą (właściciel 23.10.2026: „тут визуально не нравится”) =====
   Zamiast czterech pudełek 2×2: jedna lista bez ramek, mała ikona w kółku, tytuł i opis w jednej linii. */
.single-product .summary .pdp-perks { grid-template-columns: 1fr; gap: 0; margin: 12px 0 0; padding: 6px 0 0; border: 0; border-top: 1px solid var(--line); border-radius: 0; }
.single-product .summary .pdp-perks li, .single-product .summary .pdp-perks li + li { align-items: center; gap: 10px; padding: 6px 0; border: 0; border-radius: 0; }
.single-product .summary .perk-ic { width: 28px; height: 28px; margin: 0; display: grid; place-items: center; border-radius: 50%; background: var(--red-soft); }
.single-product .summary .perk-ic svg { width: 16px; height: 16px; }
.single-product .summary .perk-t { flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 0 6px; line-height: 1.35; }
.single-product .summary .perk-t strong { font-size: 13.5px; }
.single-product .summary .perk-t small { font-size: 13.5px; }

/* =====================================================================================================================
   SZYBKOŚĆ I „ЧУТЬ СОВРЕМЕННЕЕ” — 23.10.2026 (właściciel: «смена страниц долго грузит», «нужно дизайн чуть современнее
   этого магазина сделать»). Ewolucja, nie przebudowa: ten sam układ, Open Sans, czerwień var(--acc) i grafit #0E0F24.
   Kształt hurtowni: zaokrąglenia 6 px (przyciski, pola) i 10 px (karty) — klimatlux.pl ma przyciski-pigułki i 8–12 px,
   grzejniki-lux.pl kąty 2 px i wąskie wersaliki. Tylko nadpisania na końcu pliku; wcześniejsze sekcje bez zmian.
   Spis: 1 tokeny i typografia · 2 nagłówek kompaktowy (main.js „Nagłówek kompaktowy”) · 3 przyciski i pola · 4 kategorie,
   brutto/netto · 5 karty produktów · 6 lista: narzędzia, paginacja, chipy · 7 ładowanie listy (szkielet, pasek,
   main.js „Listy produktów”) · 8 strona produktu, koszyk, konto, strona główna · 9 telefon.
   ===================================================================================================================== */

/* --- 1. Tokeny i typografia --- */
:root {
  --r: 10px;
  --r-card: 16px;
  --line-soft: #D5DBE8;
  --sk: #E2E6F4;
  --ease: cubic-bezier(.2, .8, .2, 1);
  --sh-1: 0 1px 2px rgba(15, 16, 32, .05);
  --sh-2: 0 10px 28px -10px rgba(15, 16, 32, .22), 0 2px 6px rgba(15, 16, 32, .06);
  --hdr-c: 64px; /* wysokość nagłówka kompaktowego (komputer) */
}
html { scroll-padding-top: calc(var(--hdr-c) + 16px); }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }
h1, h2, h3 { font-feature-settings: "kern"; }
.woocommerce-products-header__title, .shop-main .page-title { font-size: clamp(24px, 1.05rem + 1.1vw, 32px); line-height: 1.15; letter-spacing: -.015em; margin: 2px 0 14px; text-wrap: balance; }
.sec-head h2, .entry-title, .related > h2, .rail-head > h2 { letter-spacing: -.012em; }
.single-product .product_title { line-height: 1.2; letter-spacing: -.012em; }
.shop-main { padding-block: 18px 16px; }
.crumbs { margin-bottom: 12px; }
.crumbs a { transition: color .15s; }
.crumbs a:hover { color: var(--acc-ink); }
:focus-visible { outline-width: 2px; outline-offset: 2px; }

/* --- 2. Nagłówek: pełny przewija się razem ze stroną, potem wjeżdża kompaktowy przyklejony pasek (logo, wyszukiwarka,
       brutto/netto, konto, koszyk). Miejsce pełnego nagłówka trzyma .head-spacer — treść nie skacze. --- */
header.site { position: relative; box-shadow: none; transition: box-shadow .2s var(--ease); }
/* 24.10.2026 (właściciel, zalogowany: «отступ сверху лого большой», pasek dostawy «наезжает» na baner): reguły
   .admin-bar header.site { top: 32/46px } zostały z czasów position: sticky — przy position: relative przesuwały cały
   nagłówek o wysokość paska admina w dół (pusto nad logo, nagłówek na treści). Pełny nagłówek bez przesunięcia;
   kompaktowy (fixed) dalej pod paskiem admina — reguły html.hdr-compact niżej mają wyższą wagę. */
body.admin-bar header.site { top: auto; }
.head-spacer { display: none; }
html.hdr-compact .head-spacer { display: block; }
html.hdr-compact header.site { position: fixed; top: 0; left: 0; right: 0; z-index: 40; box-shadow: 0 8px 24px -12px rgba(15, 16, 32, .28); animation: hlx-hdr-in .26s var(--ease) both; }
html.hdr-compact body.admin-bar header.site { top: 46px; }
@media (min-width: 783px) { html.hdr-compact body.admin-bar header.site { top: 32px; } }
@keyframes hlx-hdr-in { from { transform: translateY(-100%); } to { transform: none; } }
html.hdr-compact .catbar, html.hdr-compact header.site .ship { display: none; }
html.hdr-compact .head { padding-block: 9px; }
html.hdr-compact .logo-text small { display: none; }
html.hdr-compact .logo-mark { width: 34px; height: 34px; font-size: 15px; }
html.hdr-compact .site-search input[type="search"] { height: 40px; }
html.hdr-compact .icon-btn { min-height: 44px; }
.pdp-help { top: calc(var(--hdr-c) + 20px); }
@media (min-width: 1000px) {
  .k-nav, .k-auth-side { top: calc(var(--hdr-c) + 20px); }
}

/* wyszukiwarka: ta sama czerwona ramka, miękkie zaokrąglenie i pierścień przy wpisywaniu */
.site-search { border-radius: 8px; transition: box-shadow .2s var(--ease); }
.site-search:focus-within { box-shadow: 0 0 0 4px rgba(var(--acc-rgb), .13); }
.site-search .go { border-radius: 0 6px 6px 0; transition: background-color .15s; }
.site-search .scan { transition: color .15s; }
.site-search .scan:hover { color: var(--ink); }
.sug { border-radius: 10px; border-color: var(--line-soft); box-shadow: 0 24px 48px -16px rgba(15, 16, 32, .28), 0 2px 8px rgba(15, 16, 32, .06); }
.sug-p img, .sug-noimg { border-radius: 6px; border-color: var(--line-soft); }
.icon-btn { border-radius: var(--r); transition: background-color .15s; }
.icon-btn:hover { background: var(--soft); }
.lc-btn { transition: border-color .15s, color .15s; }

/* --- 3. Przyciski i pola: stany najechania, wciśnięcia i fokusu --- */
.btn, .k-btn, .woocommerce .button, .woocommerce button.button, .flt-go, .add, a.add, .button.add, .single-product form.cart .single_add_to_cart_button, .pdp-bar-btn, .promo .cta, .cd-go, .flt-show, .flt-open, .rail-btn {
  transition: background-color .16s var(--ease), border-color .16s var(--ease), color .16s var(--ease), box-shadow .16s var(--ease), transform .12s var(--ease);
}
.btn:active, .k-btn:active, .woocommerce .button:active, .flt-go:active, .add:active, .single-product form.cart .single_add_to_cart_button:active, .pdp-bar-btn:active, .promo .cta:active, .flt-show:active, .flt-open:active, .rail-btn:active, .site-search .go:active { transform: scale(.98); }
.btn:hover { background: var(--acc-dark); }
.btn.red:hover { background: var(--red-dark); }
.btn.ghost:hover { border-color: var(--ink); background: var(--white); }
.single-product form.cart .single_add_to_cart_button { box-shadow: 0 6px 16px -8px rgba(var(--acc-rgb), .55); }
.single-product form.cart .single_add_to_cart_button:hover { box-shadow: 0 10px 22px -10px rgba(var(--acc-rgb), .65); }
.flt-find, .flt-price input, .woocommerce-ordering select, .k-field input, .k-field select, .k-qty, .k-filter select, .k-filter input[type="search"], .k-tools input[type="search"], .k-tools select, .woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .panel textarea, .odd-search, .pdp-var-sel, .k-list-new input, .k-list-code input[type="text"], .pdp-list-new input {
  border-color: #C9CFDE; transition: border-color .15s var(--ease), box-shadow .15s var(--ease);
}
.flt-find:hover, .flt-price input:hover, .woocommerce-ordering select:hover, .k-field input:hover, .k-field select:hover, .k-qty:hover, .woocommerce form .form-row input.input-text:hover, .woocommerce form .form-row select:hover, .panel textarea:hover, .pdp-var-sel:hover { border-color: #9BA3B3; }
.flt-find:focus, .flt-price input:focus, .woocommerce-ordering select:focus, .k-field input:focus, .k-field select:focus, .k-qty:focus, .woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus, .woocommerce form .form-row select:focus, .panel textarea:focus, .pdp-var-sel:focus { outline: none; border-color: var(--ink); box-shadow: 0 0 0 3px rgba(15, 16, 32, .1); }
.woocommerce-ordering select, .pdp-var-sel, .k-filter select, .k-tools select { -webkit-appearance: none; appearance: none; padding-right: 36px; background: var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%230F1020' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center / 12px 12px; cursor: pointer; }
.woocommerce-ordering select { min-height: 40px; padding-left: 12px; font-size: 14px; font-weight: 600; color: var(--ink); }

/* --- 4. Pasek kategorii i przełącznik brutto/netto: mniej ramek — wypełnione „chipy”, segment z białym zaznaczeniem --- */
.catbar { border-top-color: var(--line-soft); }
.catbar .wrap { gap: 6px; padding-block: 8px; }
.chip { border-color: transparent; background: var(--soft); border-radius: var(--r); min-height: 40px; transition: background-color .15s var(--ease), color .15s var(--ease); }
.chip:hover { border-color: transparent; background: #DDE2EF; }
.chip.is-on { background: var(--acc); border-color: var(--acc); }
.chip.all { background: var(--acc); color: var(--white); }
.chip.all:hover { background: var(--acc-dark); }
.chip.all svg { color: var(--white); }
.chip.all.is-on { background: var(--red); border-color: var(--red); }
.chip.codes { background: var(--red-soft); border-color: transparent; }
.chip.codes:hover { background: var(--acc-soft2); }
.toggle { gap: 2px; padding: 3px; border: 0; border-radius: 8px; background: var(--soft); overflow: visible; }
.toggle button { min-height: 32px; padding: 0 12px; border-radius: 6px; background: transparent; color: var(--muted); transition: background-color .15s var(--ease), color .15s var(--ease), box-shadow .15s var(--ease); }
.toggle button:hover { color: var(--ink); }
.toggle button[aria-pressed="true"] { background: var(--white); color: var(--ink); font-weight: 700; box-shadow: 0 1px 2px rgba(15, 16, 32, .14), 0 0 0 1px rgba(15, 16, 32, .06); }
.toggle--sm { padding: 2px; }
.toggle--sm button { min-height: 28px; }

/* --- 5. Karty produktów: lżejsza ramka, zdjęcie na jasnym polu, uniesienie przy najechaniu, równe wysokości --- */
.grid, ul.products { gap: 12px; }
.card { border-color: var(--line-soft); border-radius: var(--r-card); box-shadow: var(--sh-1); transition: transform .22s var(--ease), box-shadow .22s var(--ease), border-color .22s var(--ease); }
.card .ph { position: relative; margin: 6px 6px 0; padding: 9%; border: 0; border-radius: 7px; background: #EBEEFA; overflow: hidden; }
.card .ph img { mix-blend-mode: multiply; transition: transform .35s var(--ease); }
.card .body { padding: 12px 14px 14px; gap: 5px; }
.card .brand { font-size: 11px; font-weight: 700; letter-spacing: .06em; color: #737C8A; }
.card .name { font-size: 14px; line-height: 1.38; font-weight: 500; min-height: calc(3em * 1.38); }
.card .name a { transition: color .15s; }
.card .codes { color: #737C8A; font-variant-numeric: tabular-nums; }
.card .hlx-price-main { letter-spacing: -.012em; }
@media (hover: hover) {
  .card:hover { transform: translateY(-3px); border-color: #D2D7E5; box-shadow: var(--sh-2); }
  .card:hover .ph img { transform: scale(1.04); }
}
/* przycisk w karcie: grafitowy z ikoną koszyka, czerwony przy najechaniu (na stronie produktu czerwony zostaje głównym) */
.card .add:not(.ask), .card a.add:not(.ask), .card .add.button:not(.ask) { min-height: 42px; margin-top: 10px; border: 0; border-radius: var(--r); background: var(--acc); color: var(--white); font-size: 14.5px; font-weight: 600; gap: 8px; }
.card .add.add_to_cart_button::before { content: ""; flex: none; width: 17px; height: 17px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2.4l2.3 11.2h10.8L20.6 7H6.3'/%3E%3Ccircle cx='9.5' cy='19.5' r='1.4'/%3E%3Ccircle cx='17' cy='19.5' r='1.4'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2.4l2.3 11.2h10.8L20.6 7H6.3'/%3E%3Ccircle cx='9.5' cy='19.5' r='1.4'/%3E%3Ccircle cx='17' cy='19.5' r='1.4'/%3E%3C/svg%3E") center / contain no-repeat; }
.card .add:not(.ask):hover, .card .add.button:not(.ask):hover { background: var(--red); color: var(--acc-on); }
.card .add.loading { opacity: 1; pointer-events: none; }
.card .add.loading::before { -webkit-mask: none; mask: none; background: none; width: 15px; height: 15px; border: 2px solid rgba(255, 255, 255, .35); border-top-color: var(--white); border-radius: 50%; animation: hlx-spin .7s linear infinite; }
.card .add.added, .card .add.added:hover { background: var(--green); }
@keyframes hlx-spin { to { transform: rotate(360deg); } }
.card .add.ask, .card a.add.ask { border-color: #C9CFDE; border-radius: var(--r); }
.card a.added_to_cart { margin-top: 8px; }
/* taśmy „Podobne produkty”, „Pasuje do tego produktu”: przycisk jak w katalogu (grafit z ikoną koszyka, czerwony przy
   najechaniu), tylko niższy — właściciel 28.10.2026 («тут … стили кнопки»); wcześniej (23.10) obrys bez ikony */
.related .card .add.button:not(.ask), .upsells .card .add.button:not(.ask), .hlx-xs .card .add.button:not(.ask) { min-height: 38px; margin-top: 8px; font-size: 14px; }
.related .card .ph, .upsells .card .ph { padding: 8%; }

/* --- 6. Lista: pasek narzędzi, chipy filtrów, paginacja --- */
.flt-tools { gap: 8px 12px; margin-bottom: 14px; }
.woocommerce-result-count { font-size: 13.5px; font-variant-numeric: tabular-nums; }
.woocommerce-result-count:focus { outline: none; }
.flt-open { border-radius: var(--r); border-color: #B9C0D0; }
.flt-chip { border-color: transparent; background: var(--soft); border-radius: var(--r); transition: background-color .15s var(--ease); }
.flt-chip:hover { border-color: transparent; background: var(--red-soft); }
.flt-chip-x { border-radius: 4px; background: var(--white); }
.flt-box { border-radius: 4px; }
.flt-go { border-radius: var(--r); }
.flt-head { border-bottom-width: 2px; }
.woocommerce-pagination ul { justify-content: center; gap: 4px; margin: 30px 0 10px; }
.woocommerce-pagination a, .woocommerce-pagination span { min-width: 44px; min-height: 44px; padding: 0 6px; border: 0; border-radius: var(--r); color: var(--ink); font-weight: 600; font-variant-numeric: tabular-nums; transition: background-color .15s var(--ease), color .15s var(--ease); }
.woocommerce-pagination a:hover { background: var(--soft); }
.woocommerce-pagination .current { background: var(--acc); color: var(--white); }
.woocommerce-pagination .dots { color: var(--muted); }
.woocommerce-pagination .prev, .woocommerce-pagination .next { padding: 0 16px; border: 1px solid #C9CFDE; font-size: 18px; }
.woocommerce-pagination .prev:hover, .woocommerce-pagination .next:hover { border-color: var(--ink); background: var(--white); }

/* --- 7. Ładowanie listy (paginacja, sortowanie, filtry bez przeładowania): szkielet w miejscu kart — te same wymiary,
       bez skoku układu — i pasek postępu u góry strony; nowa lista wchodzi miękko --- */
.flt-layout.is-loading .flt-main { opacity: 1; }
.is-loading ul.products .card { position: relative; overflow: hidden; pointer-events: none; box-shadow: none; transform: none; }
.is-loading ul.products .card .ph { background: var(--sk); }
.is-loading ul.products .card .ph img { opacity: 0; }
.is-loading ul.products .card .body > * { color: transparent !important; background: var(--sk) !important; border-color: transparent !important; border-radius: 4px; box-shadow: none !important; }
.is-loading ul.products .card .body > * *, .is-loading ul.products .card .stock::before, .is-loading ul.products .card .add::before { visibility: hidden; }
.is-loading ul.products .card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, transparent 25%, rgba(255, 255, 255, .7) 50%, transparent 75%); transform: translateX(-100%); animation: hlx-shimmer 1.15s ease-in-out infinite; }
@keyframes hlx-shimmer { to { transform: translateX(100%); } }
.is-loading .woocommerce-pagination, .is-loading .woocommerce-result-count { opacity: .45; transition: opacity .15s; }
.lst-bar { position: fixed; top: 0; left: 0; right: 0; z-index: 130; height: 3px; background: var(--red); transform: scaleX(0); transform-origin: 0 50%; opacity: 0; pointer-events: none; }
.lst-bar.is-on { opacity: 1; transform: scaleX(.86); transition: transform 2.6s cubic-bezier(.08, .6, .2, 1), opacity .1s; }
.lst-bar.is-on.is-done { opacity: 0; transform: scaleX(1); transition: transform .18s ease-out, opacity .22s .12s; }
.lst-in ul.products { animation: hlx-list-in .28s var(--ease) both; }
@keyframes hlx-list-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

/* --- 8. Strona produktu, koszyk, konto, strona główna: te same zaokrąglenia, miękkie ramki --- */
.single-product div.product .woocommerce-product-gallery { border-color: var(--line-soft); border-radius: var(--r-card); }
.pdp-buy { border-color: var(--line-soft); border-top-color: var(--ink); border-radius: var(--r-card); box-shadow: 0 14px 36px -18px rgba(15, 16, 32, .22); }
.single-product .pdp-buy form.cart .quantity { border-radius: var(--r); border-color: #C9CFDE; }
.qty-btn { border-radius: 4px; transition: background-color .15s; }
.help-box, .help-links, .pdp-keys dl > div { border-color: var(--line-soft); }
.help-box { border-radius: var(--r-card); }
.help-links { border-radius: var(--r-card); }
.woocommerce-tabs ul.tabs { border-bottom-color: var(--line-soft); }
.woocommerce-tabs ul.tabs li a { transition: color .15s, box-shadow .2s var(--ease); }
.woocommerce-tabs ul.tabs li a:hover { color: var(--ink); }
.var-chip { border-radius: var(--r); transition: border-color .15s; }
.cart-drawer { transition: transform .3s var(--ease); }
.cd-thumb img, .cd-xs-it, .cd-xs { border-radius: var(--r); }
.k-card, .k-head, .k-kpi, .k-auth-main, .k-auth-side, .k-nav ul, .k-quick ul, .k-od-sum, .k-list-foot { border-radius: var(--r-card); }
.k-card, .k-auth-main { border-color: var(--line-soft); }
.promo { border-radius: 12px; }
.tile, .kat, .hlx-xs, .odb-list, .brandwall, .home3 .perks, .set, .panel, .cart-empty { border-radius: var(--r-card); }
.kat, .tile, .set { border-color: var(--line-soft); transition: border-color .2s var(--ease), box-shadow .2s var(--ease), transform .22s var(--ease); }
@media (hover: hover) {
  .kat:hover { transform: translateY(-2px); box-shadow: var(--sh-2); border-color: #D2D7E5; }
}
.wc-block-components-button:not(.is-link), .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button { border-radius: var(--r) !important; transition: background-color .16s var(--ease), transform .12s var(--ease) !important; }
.wc-block-components-button:not(.is-link):active { transform: scale(.98); }
.wc-block-cart-items .wc-block-components-product-name { color: var(--ink) !important; font-weight: 600; text-decoration: none !important; }
.wc-block-cart-items .wc-block-components-product-name:hover { color: var(--acc-ink) !important; }
.wc-block-cart-item__image img { border: 1px solid var(--line-soft); border-radius: var(--r); background: var(--white); }
.wc-block-components-quantity-selector { border-radius: var(--r) !important; }
.to-top { border-radius: 50%; border-color: var(--line-soft); transition: opacity .2s var(--ease), transform .2s var(--ease), border-color .15s, color .15s, visibility 0s linear .2s; }
.to-top.is-on { transition: opacity .2s var(--ease), transform .2s var(--ease), border-color .15s, color .15s; }

/* --- 9. Telefon i tablet: nagłówek kompaktowy w jednym rzędzie (znak HL, wyszukiwarka, koszyk) --- */
@media (max-width: 999px) {
  :root { --hdr-c: 58px; }
  html.hdr-compact .head { grid-template-columns: auto minmax(0, 1fr) auto; grid-template-areas: "logo search icons"; gap: 8px; padding-block: 8px; }
  html.hdr-compact .logo-text { display: none; }
  html.hdr-compact .icons .lc-switch, html.hdr-compact .icons > .icon-btn:not(#hlx-cart) { display: none; }
  html.hdr-compact .site-search .scan { display: none; }
  html.hdr-compact .site-search .go { padding: 0 12px; }
  .grid, ul.products { gap: 10px; }
  .card .body { padding: 10px 11px 12px; }
  .card .ph { margin: 5px 5px 0; }
  .card .add:not(.ask), .card .add.button:not(.ask) { font-size: 14px; }
  .woocommerce-pagination a, .woocommerce-pagination span { min-width: 40px; }
  .woocommerce-pagination .prev, .woocommerce-pagination .next { padding: 0 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .is-loading ul.products .card::after, .lst-in ul.products, html.hdr-compact header.site { animation: none; }
  .card:hover, .kat:hover { transform: none; }
}
/* === KONIEC SEKCJI: SZYBKOŚĆ I „ЧУТЬ СОВРЕМЕННЕЕ” === */

/* ===== Filtry: bez wewnętrznych pasków przewijania (właściciel 23.10.2026: „странные скроллы, неудобно”) =====
   Długa lista: 8 pozycji i „Pokaż więcej (N)” rozwijające na stronie (main.js); przy szukaniu na liście — wszystkie trafienia. */
.flt-list.is-long { max-height: none !important; overflow: visible !important; padding-right: 0 !important; -webkit-mask-image: none !important; mask-image: none !important; }
.flt-list.is-long:not(.is-open):not(.is-search) > li:nth-child(n+9) { display: none; }
.flt-more { display: inline-block; margin: 6px 0 2px; padding: 4px 0; border: 0; background: none; color: var(--acc-ink); font: inherit; font-size: 13.5px; font-weight: 600; cursor: pointer; }
.flt-more:hover { text-decoration: underline; }
.flt-more[hidden] { display: none; }

/* Mega menu v3 (24.10.2026, właściciel: „эти все скроллы люди не заметят”, „всё дергается”, „не нравится визуально”).
   Komputer: panel o stałej wysokości dopasowanej do okna (--mega-h z main.js size()), bez przewijania w środku — prawa
   kolumna mieści się sama (main.js fit()); strona pod panelem przyciemniona; po lewej działy na szarym tle, wybrany dział
   biały z czerwoną kreską; po prawej nagłówek działu z liczbą i przyciskiem, grupy w siatce z miniaturą 44 px.
   Telefon (do 1023 px) bez zmian — pełny ekran, dział → podkategorie. */
@media (min-width: 1024px) {
  .mega { border-top: 0; box-shadow: 0 18px 40px rgba(15, 16, 32, .22), 0 0 0 100vmax rgba(20, 22, 25, .38); clip-path: inset(0 -100vmax -100vmax -100vmax); }
  .mega-in { height: var(--mega-h, 600px); grid-template-columns: 300px minmax(0, 1fr); padding-left: 0; padding-right: 0; }
  .mega-l1 { overflow: hidden; padding: 8px 0; background: var(--soft); border-right: 0; }
  .mega-l1 a { grid-template-columns: 22px minmax(0, 1fr) auto; padding: 8px 16px 8px 13px; border-left: 3px solid transparent; font-size: 14.5px; font-weight: 600; text-decoration: none; transition: background-color .12s; }
  .mega.is-tight .mega-l1 a { padding-top: 5px; padding-bottom: 5px; font-size: 14px; }
  .mega-l1 a:hover { background: rgba(255, 255, 255, .65); border-left-color: transparent; }
  .mega-l1 a.is-on { background: var(--white); border-left-color: var(--red); color: var(--acc-ink); }
  .mega-l1 a.is-on small { color: var(--ink); }
  .mega-l2 { display: flex; flex-direction: column; overflow: hidden; padding: 18px 28px 20px; }
  .mega-top { flex: none; display: flex; align-items: center; gap: 14px; margin: 0 0 16px; padding: 0 0 14px; border-bottom: 1px solid var(--line); }
  .mega-title { font-size: 22px; font-weight: 700; letter-spacing: -.01em; }
  .mega-title:hover { color: var(--acc-ink); }
  .mega-count { padding: 3px 9px; border-radius: 999px; background: var(--soft); color: var(--muted); font-size: 13px; font-variant-numeric: tabular-nums; }
  .mega-all { margin-left: auto; display: inline-flex; align-items: center; min-height: 38px; padding: 0 16px; border-radius: var(--r); background: var(--red); color: var(--acc-on); font-size: 14px; font-weight: 700; text-decoration: none; }
  .mega-all:hover { background: var(--red-dark); color: var(--acc-on); }
  .mega-x--desk { margin-left: 0; flex: none; }
  .mega-cols { flex: 1 1 auto; min-height: 0; overflow: hidden; columns: auto; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); align-content: start; align-items: start; gap: 20px 28px; }
  .mega-grp { margin: 0; min-width: 0; }
  .mega-h { grid-template-columns: 44px minmax(0, 1fr); gap: 11px; margin-bottom: 8px; font-size: 14px; text-decoration: none; }
  .mega-h img, .mega-noimg { width: 44px; height: 44px; border-radius: 6px; padding: 2px; }
  .mega-h:hover { color: var(--acc-ink); text-decoration: none; }
  .mega-grp ul { padding-left: 55px !important; }
  .mega-grp li a { padding: 2px 0; font-size: 13.5px; color: var(--muted); }
  .mega-grp li a:hover { color: var(--acc-ink); text-decoration: none; }
  .mega-grp .more { font-weight: 600; color: var(--acc-ink); }
  .mega-rest { display: flex; flex-direction: column; justify-content: center; gap: 4px; min-height: 92px; padding: 14px 16px; border: 1px dashed var(--line); border-radius: 6px; color: var(--ink); text-decoration: none; }
  .mega-rest strong { font-size: 15px; }
  .mega-rest span { color: var(--acc-ink); font-size: 13.5px; font-weight: 600; }
  .mega-rest:hover { border-color: var(--red); background: var(--red-soft); }
}
@media (min-width: 1024px) and (max-height: 620px) {
  .mega-l1 { overflow-y: auto; } /* bardzo niskie okno: ostatnia deska ratunku tylko dla listy działów */
}
@media (prefers-reduced-motion: reduce) { .mega-l1 a { transition: none; } }

/* --- Logo „Iskra” C (24.10.2026, runda 4 — właściciel: «логотип какой-то незаконченный», wybór C „Blok + LUX”):
   od 1000 px blok (znak + napis + podpis, wysokość płytki), niżej znak + napis w linii, w kompaktowym nagłówku telefonu
   sam znak. SVG z motywu (hlx_logo() w inc/helpers.php), szerokość z proporcji viewBox. Bez dodatkowych ikon obok. --- */
.logo { gap: 0; }
.logo-blok, .logo-linia, .logo-znak { display: none; width: auto; flex: none; }
.logo-linia { display: block; height: 34px; }
@media (max-width: 429px) { .logo-linia { height: 31px; } }
@media (max-width: 369px) { .logo-linia { height: 30px; } }
@media (min-width: 1000px) {
  .logo-linia { display: none; }
  .logo-blok { display: block; height: 46px; }
  html.hdr-compact header.site .logo-blok { height: 40px; }
}
@media (max-width: 999px) {
  html.hdr-compact header.site .logo-linia { display: none; }
  html.hdr-compact header.site .logo-znak { display: block; height: 36px; }
}
.ft .logo-foot .logo-blok, html.hdr-compact .ft .logo-foot .logo-blok { display: block; height: 50px; }

/* --- Stopka v3 (24.10.2026, właściciel: «футер лучше … сильнее», potem «футер странный»): spokojna — biel i grafit,
   czerwień tylko jako akcent (linia u góry, ikony, „Wszystkie kategorie”). Pas korzyści → biała część główna (logo,
   Kategorie, Zakupy, Obsługa klienta, Kontakt; pod nią płatności i dwa małe pola: język, waluta) → grafitowy pasek
   z danymi sprzedawcy; dół z zapasem na pływające przyciski (czat, „do góry”). Na telefonie kolumny jako <details>
   (skrypt w footer.php). footer.php, inc/stopka.php. Inaczej niż klimatlux.pl (granat) i grzejniki-lux.pl (grafit
   z miedzią, wersaliki Archivo). --- */
.ft { margin-top: 56px; background: var(--white); color: var(--ink); font-size: 14.5px; border-top: 1px solid var(--line); } /* 24.10.2026, właściciel: «футер странно выглядит полоска» — bez grubego paska akcentu */
.ft a { color: inherit; text-decoration: none; }
.ft .ft-h { margin: 0; font-size: 13px; font-weight: 700; line-height: 1.3; letter-spacing: .07em; text-transform: uppercase; color: var(--ink); }

.ft-perks { background: var(--soft); border-bottom: 1px solid var(--line); }
.ft-perks-l { list-style: none; margin: 0; padding: 16px 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
.ft-perks-l > li { min-width: 0; }
.ft-perk { display: flex; align-items: center; gap: 14px; height: 100%; min-height: 72px; padding: 12px 16px; background: var(--white); border: 1px solid var(--line); border-radius: 6px; color: var(--ink); transition: border-color .15s, box-shadow .15s; }
a.ft-perk:hover { border-color: var(--acc-soft2); box-shadow: 0 10px 24px -18px rgba(15, 16, 32, .5); }
a.ft-perk:hover strong { color: var(--acc-ink); }
.ft-perk-ic { --hlx-ico-bg: var(--red-soft); width: 44px; height: 44px; flex: none; display: grid; place-items: center; border-radius: 50%; background: var(--red-soft); color: var(--acc-ink); }
.ft-perk-t { display: flex; flex-direction: column; gap: 2px; min-width: 0; line-height: 1.3; }
.ft-perk-t strong { font-size: 15px; font-weight: 700; transition: color .15s; }
.ft-perk-t small { font-size: 13px; color: var(--muted); }
.ft-perk-go { margin-left: auto; padding-left: 4px; color: var(--muted); font-size: 18px; font-weight: 700; transition: transform .15s, color .15s; }
a.ft-perk:hover .ft-perk-go { transform: translateX(3px); color: var(--acc-ink); }

.ft-main { padding-block: 28px 0; }
.ft-grid { display: grid; grid-template-columns: minmax(0, 1fr); }
.ft-brand { padding-bottom: 20px; }
.ft .logo-foot { display: inline-flex; }
.ft-brand p { margin: 14px 0 0; max-width: 46ch; color: #39404D; line-height: 1.6; }
.ft-brand .ft-brand-sub { margin-top: 8px; font-size: 13.5px; color: var(--muted); }

.ft-col { border-top: 1px solid var(--line); }
.ft-col > summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 54px; cursor: pointer; }
.ft-col > summary::-webkit-details-marker { display: none; }
.ft-chev { flex: none; color: var(--muted); transition: transform .2s; }
.ft-col[open] .ft-chev { transform: rotate(180deg); }
.ft-col ul { list-style: none; margin: 0 0 12px; padding: 0; display: grid; }
.ft-col li a { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; padding: 2px 0; color: #2B313C; }
.ft-col li a:hover { color: var(--acc-ink); }
.ft-cats small { font-size: 12.5px; font-weight: 600; color: #838B9A; font-variant-numeric: tabular-nums; }
.ft-col li.ft-all a { justify-content: flex-start; gap: 6px; color: var(--acc-ink); font-weight: 700; }
.ft-col li.ft-all a:hover { text-decoration: underline; text-underline-offset: 3px; }

.ft-contact { display: grid; gap: 10px; align-content: start; padding-block: 18px 6px; border-top: 1px solid var(--line); }
.ft-contact .ft-h { margin-bottom: 2px; }
.ft-phone { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; font-size: 25px; font-weight: 700; letter-spacing: -.01em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.ft-phone svg { color: var(--acc-ink); }
.ft-phone:hover { color: var(--acc-ink); }
.ft-line { margin: 0; display: flex; gap: 10px; align-items: flex-start; color: #39404D; line-height: 1.45; overflow-wrap: anywhere; }
.ft-line svg { flex: none; margin-top: 1px; color: var(--acc-ink); }
.ft-line a:hover { color: var(--acc-ink); text-decoration: underline; text-underline-offset: 3px; }
.ft-addr { font-size: 13.5px; color: var(--muted); }

/* Płatności + język i waluta: jeden spokojny rząd pod kolumnami */
.ft-meta { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 18px 40px; margin-top: 8px; padding-block: 20px 26px; border-top: 1px solid var(--line); }
.ft-meta-h { margin: 0 0 8px; font-size: 12px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--muted); }
.ft-marks { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.ft-marks li { height: 40px; padding: 6px 10px; display: flex; align-items: center; gap: 8px; background: var(--white); border: 1px solid var(--line); border-radius: 4px; }
.ft-marks img { display: block; width: auto; height: 26px; }
.ft-marks .ft-mark-t { font-size: 13.5px; font-weight: 600; color: #2B313C; }
.ft-marks .ft-mark-t svg { color: var(--ink); }
.ft-lc { display: flex; flex-wrap: wrap; gap: 10px 14px; }
.ft-sel { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.ft-sel select { height: 40px; width: 168px; padding: 0 34px 0 12px; text-overflow: ellipsis; border: 1px solid #BFC6D6; border-radius: 4px; background: var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%230F1020' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 12px center; color: var(--ink); font-size: 14px; font-weight: 600; letter-spacing: 0; text-transform: none; appearance: none; -webkit-appearance: none; cursor: pointer; }
.ft-sel select:hover { border-color: var(--ink); }

/* Dół: grafit, wszystko do lewej; zapas z prawej (komputer) i od dołu (telefon) na pływające przyciski */
.ft-legal { background: var(--ink); color: #B0B8C7; font-size: 12.5px; }
.ft-legal .wrap { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 22px; padding-block: 16px calc(96px + env(safe-area-inset-bottom, 0px)); }
.ft-legal a, .ft .ft-legal .klx-ck-open { color: #E6EAF7; text-decoration: underline; text-decoration-color: rgba(241, 243, 245, .45); text-underline-offset: 2px; }
.ft-legal a:hover, .ft .ft-legal .klx-ck-open:hover { color: var(--white); text-decoration-color: currentColor; }

@media (min-width: 560px) {
  .ft-perks-l { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 700px) {
  .ft-main { padding-top: 40px; }
  .ft-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px 32px; padding-bottom: 12px; }
  .ft-brand { grid-column: 1 / 3; padding-bottom: 0; }
  .ft-contact { grid-column: 3; grid-row: 1; padding-block: 0; border-top: 0; }
  .ft-col { border-top: 0; }
  .ft-col > summary { min-height: 0; margin-bottom: 10px; cursor: default; }
  .ft-chev { display: none; }
  .ft-col li a { min-height: 34px; }
}
@media (min-width: 1000px) {
  .ft-legal .wrap { padding-block: 16px; padding-right: max(300px, env(safe-area-inset-right, 0px)); }
}
@media (min-width: 1100px) {
  .ft-perks-l { grid-template-columns: repeat(var(--n, 4), minmax(0, 1fr)); padding-block: 20px; gap: 14px; }
  .ft-grid { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1.45fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.3fr); gap: 32px; }
  .ft-brand, .ft-contact { grid-column: auto; grid-row: auto; }
}
@media (max-width: 559px) {
  .ft-perks-l { gap: 8px; padding-block: 12px; }
  .ft-perk { min-height: 0; padding: 11px 14px; gap: 12px; }
  .ft-perk-ic { width: 40px; height: 40px; }
  .ft-perk-t strong { font-size: 14.5px; }
  .ft-meta { align-items: flex-start; }
  .ft-sel select { min-width: 0; }
}
@media (max-width: 559px) {
  .ft-lc { width: 100%; flex-wrap: nowrap; }
  .ft-sel { flex: 1 1 0; min-width: 0; flex-direction: column; align-items: stretch; gap: 6px; }
  .ft-sel select { width: 100%; height: 44px; }
}
@media (max-width: 429px) {
  .ft-phone { font-size: 23px; }
}
/* 700–859 px: trzy kolumny stopki po ~201–250 px, numer 25 px (nowrap) miał 244 px — wystawał za kolumnę i ekran
   (przewijanie w bok o 4 px przy 768, ucięta ostatnia cyfra; 25.10.2026). */
@media (min-width: 700px) and (max-width: 859px) {
  .ft-phone { font-size: 20px; gap: 8px; }
}
/* Cele dotyku ≥ 24 px dla samodzielnych odnośników w tekście stopki. */
.ft-line a, .ft-legal a, .ft .ft-legal .klx-ck-open { display: inline-block; padding-block: 4px; }
@media (prefers-reduced-motion: reduce) { .ft-perk, .ft-perk-go, .ft-chev { transition: none; } }

/* =====================================================================================================================
   --- Szeroki ekran i dopracowanie (24.10.2026) --- właściciel: «делаем фит фулл HD макс, так HD сетка, чтобы шире сайт
   был на больших экранах», «там ещё топорная страница». Kontener: zob. niżej (1440 px po zmianie zdania właściciela), margines 16 → 24 px, rytm
   nagłówków. Długie teksty dalej ≤ 75 znaków w wierszu. Telefon i tablet bez zmian (poniżej 1000 px).
   Kolumny listy z filtrami: 3 (1000) · 4 (1280); 24 produkty na stronę = pełne rzędy.
   ===================================================================================================================== */
/* 24.10 wieczorem właściciel zmienił zdanie: «давай как было и потом 1440 px как бы макс» — strona maks. 1440 px razem
   z marginesami (szerokość laptopów L), na większych ekranach wyśrodkowana; kolumny jak przy 1440. */
:root { --wrap-max: 1392px; --gut: 16px; }
@media (min-width: 1000px) { :root { --gut: 24px; } }

/* długie teksty: opis kategorii i marki (WooCommerce), treść stron */
.term-description, .page-description, .woocommerce-products-header .term-description { max-width: 75ch; }

/* nagłówek: wyszukiwarka nie rozciąga się na 1200 px — środek między logo a ikonami */
@media (min-width: 1440px) {
  .head .site-search { width: 100%; max-width: 980px; justify-self: center; }
}

/* lista z filtrami: pasek narzędzi jako wyraźny wiersz nad kartami */
@media (min-width: 1000px) {
  .flt-tools { min-height: 46px; padding-bottom: 12px; border-bottom: 1px solid var(--line-soft); margin-bottom: 16px; }
  .flt-tools .woocommerce-result-count { color: var(--ink); font-weight: 600; }
  .flt-head { min-height: 46px; padding-bottom: 12px; align-items: flex-end; }
  .flt-title { font-size: 17px; letter-spacing: -.005em; }
}

@media (min-width: 1440px) {
  main > section { padding-block: 32px 8px; }
  .sec-head { margin-bottom: 16px; }
  .sec-head h2 { font-size: 24px; }
  .rail-head > h2 { font-size: 23px; }
  .flt-layout { grid-template-columns: 264px minmax(0, 1fr); gap: 32px; }
  .single-product div.product .summary { grid-template-columns: minmax(0, 1fr) 372px; column-gap: 28px; }
}

/* „Najczęściej zamawiane” i „Promocje”: 10 kart (2 × 5); tablet ma własną regułę 3 × 3 wyżej (n+10) */
.home3 .grid > .card:nth-child(n+11) { display: none; }
/* mega menu na szerokim ekranie: lista działów zaczyna się w linii treści strony (nie 8 px od krawędzi okna) */
@media (min-width: 1024px) {
  .mega-in { max-width: min(var(--wrap-max), calc(100% - 2 * var(--gut))); }
}
/* karta z klawiatury: ten sam „podniesiony” stan co po najechaniu, gdy fokus jest na nazwie albo przycisku */
.card:focus-within { border-color: #B9C0D0; box-shadow: var(--sh-2); }

/* Pasek kategorii bez przewijania w bok (24.10.2026, «поправь скролл табов», main.js): jeden rząd, nadmiar w „Więcej”. */
.catbar .wrap { overflow: hidden; }
.catbar.is-fit .wrap { overflow: visible; flex-wrap: nowrap; position: relative; }
.catbar .chip[hidden] { display: none; }
.cat-more { position: relative; flex: 0 0 auto; margin-left: auto; }
.cat-more[hidden] { display: none; }
.cat-more-btn { gap: 4px; }
.cat-more-btn svg { width: 16px; height: 16px; color: currentColor; transition: transform .15s var(--ease); }
.cat-more-btn[aria-expanded="true"] svg { transform: rotate(180deg); }
.cat-more-list { position: absolute; right: 0; top: calc(100% + 8px); z-index: 35; display: grid; grid-template-columns: repeat(2, minmax(220px, 1fr)); gap: 2px 8px; width: max-content; max-width: min(560px, calc(100vw - 32px)); margin: 0; padding: 10px; list-style: none; background: var(--white); border: 1px solid var(--line); border-radius: 6px; box-shadow: 0 18px 40px rgba(15, 16, 32, .18); }
.cat-more-list[hidden] { display: none; }
.cat-more-list a { display: flex; align-items: center; gap: 9px; min-height: 40px; padding: 0 10px; border-radius: var(--r); color: var(--ink); font-size: 14px; font-weight: 600; text-decoration: none; }
.cat-more-list a svg { width: 17px; height: 17px; color: var(--acc-ink); flex: none; }
.cat-more-list a:hover, .cat-more-list a:focus-visible { background: var(--soft); }
.cat-more-list a.is-on { background: var(--acc); color: var(--white); }
.cat-more-list a.is-on svg { color: var(--white); }
.cat-more-list a.codes { color: var(--acc-ink); }
@media (max-width: 599px) { .cat-more-list { grid-template-columns: 1fr; width: calc(100vw - 32px); } }

/* Żółte przyciski zawsze z grafitowym napisem (właściciel 24.10.2026: «не нравится белый шрифт на желтых кнопках»).
   Dotąd .btn.red, .button.alt i .k-btn--red brały biały kolor z bazowego .btn / .button na ciemnym tle. */
.btn.red, .btn.red:hover, .btn.red:focus-visible,
.hlx-ty-cta .btn.red, .hlx-es-form .btn.red, .hlx-es-foot .btn.red,
.woocommerce .button.alt, .woocommerce button.button.alt, .woocommerce .button.alt:hover, .woocommerce button.button.alt:hover,
.k-btn--red, .k-btn--red:hover, .woocommerce a.k-btn--red, .woocommerce button.k-btn--red { color: var(--acc-on); }

/* =====================================================================================================================
   Grupy produktów na górze strony głównej (24.10.2026, front-page.php .grp): z lewej lista wszystkich działów z liczbami,
   z prawej siatka kafelków ze zdjęciami na jasnych neutralnych kartach. Kolory akcentu tylko przez zmienne (--acc,
   --acc-ink), żeby nowa paleta przełączyła się sama. Telefon: bez listy, kafelki 2 w rzędzie.
   ===================================================================================================================== */
.grp { padding-top: 6px; }
.grp-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.grp-tile { display: flex; flex-direction: column; min-width: 0; color: var(--ink); text-decoration: none; background: var(--white); border: 1px solid var(--line-soft, var(--line)); border-radius: 12px; overflow: hidden; transition: border-color .2s, box-shadow .2s, transform .22s; }
.grp-ph { position: relative; display: block; aspect-ratio: 4 / 3; background: #E9ECF8; overflow: hidden; }
.grp-ph img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; transition: transform .35s ease; }
.grp-ph .cat-ico { position: absolute; inset: 0; margin: auto; width: 56px; height: 56px; border-radius: 50%; background: var(--acc-soft); color: var(--acc-ink); display: grid; place-items: center; }
.grp-t { display: flex; flex-direction: column; gap: 1px; padding: 9px 10px 11px; min-width: 0; border-top: 2px solid transparent; }
.grp-t strong { font-size: 13.5px; font-weight: 700; line-height: 1.25; text-wrap: balance; }
.grp-t small { font-size: 12px; color: var(--muted); font-variant-numeric: tabular-nums; }
.grp-tile:hover, .grp-tile:focus-visible { border-color: #C9CFDE; box-shadow: 0 10px 26px -12px rgba(15, 16, 32, .28); }
.grp-tile:hover .grp-ph img { transform: scale(1.04); }
.grp-tile:hover .grp-t { border-top-color: var(--acc); }
.grp-tile:hover strong { color: var(--acc-ink); }
@media (min-width: 700px) {
  .grp-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
  .grp-t strong { font-size: 15px; }
}
@media (min-width: 1000px) {
  .grp-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
}
@media (prefers-reduced-motion: reduce) { .grp-tile, .grp-ph img { transition: none; } .grp-tile:hover .grp-ph img { transform: none; } }

/* =====================================================================================================================
   STYL „INŻYNIER” (24.10.2026, właściciel: «стиль современный не желтый а другой», wybór wariantu A «чернила + электрический
   индиго — но цвета нет»). Atrament + błękit elektryczny + drugi akcent (cyjan) + fiolet; krój nagłówków Space Grotesk,
   tekst Inter (oba w assets/fonts). Zmienne w :root na początku pliku; tu — warstwa dla nagłówka, strony głównej, kart,
   stopki i ozdób. Biały tekst tylko na indygo (kontrast 5,3:1), nigdy na jasnym akcencie.
   Barwy działów (6 odcieni błękitu): 0 lazur · 1 stal · 2 niebo · 3 cyjan · 4 lód · 5 kobalt.
   ===================================================================================================================== */
.t0 { --tc: #1F7BFF; --tcs: #E4ECFB; --tci: #1558C8; }
.t1 { --tc: #4A6FA5; --tcs: #E6EDF6; --tci: #34557F; }
.t2 { --tc: #2FA0F5; --tcs: #E0F1FD; --tci: #0F6FB8; }
.t3 { --tc: #19B8D6; --tcs: #DDF6FB; --tci: #0B7289; }
.t4 { --tc: #6C9BD2; --tcs: #EAF1FA; --tci: #3E6EA6; }
.t5 { --tc: #2455D6; --tcs: #E2E9FB; --tci: #1B3FA3; }

body { background: var(--bg); font-family: var(--font); }
h1, h2, h3, h4, .logo-text strong, .hlx-price-main, .set-foot .price, .cd-total dd, .ft-phone, .ft-h, .grp-t strong, .perk strong, .ft-perk-t strong, .mega-title, .btn, .add, a.add, .button.add, .cta, .site-search .go, .chip.all, .hit .label, .badge, .woocommerce .button, .woocommerce button.button, .k-btn, .flt-go, .cd-go {
  font-family: var(--font-h);
}
h1, h2, h3 { letter-spacing: -.02em; }
main > section { padding-block: 30px 6px; }
:focus-visible { outline-color: var(--acc); }

/* ---- Nagłówek: ciemny, duże białe pole wyszukiwania ---- */
.topbar { background: #080918; color: #A9AFCB; border-bottom: 1px solid rgba(255, 255, 255, .06); }
.topbar b { color: #fff; }
.topbar a { color: #E4E6F5; }
header.site { background: var(--hdr); border-bottom: 0; box-shadow: none; color: #fff; }
html.hdr-compact header.site { box-shadow: 0 10px 30px -12px rgba(8, 9, 24, .6); }
header.site :focus-visible { outline-color: var(--cyan); }
.logo-img { display: block; }
.head { padding-block: 14px 14px; }
.site-search { border: 0; border-radius: 16px; background: #fff; overflow: visible; }
.site-search input[type="search"] { border-radius: 16px 0 0 16px; padding: 0 18px; height: 50px; font-family: var(--font); }
.site-search .scan { border-left: 1px solid var(--line); color: var(--muted); }
.site-search .go { background: var(--acc); color: #fff; border-radius: 0 16px 16px 0; padding: 0 26px; font-weight: 700; letter-spacing: .01em; }
.site-search .go:hover { background: var(--acc-dark); }
.site-search:focus-within { box-shadow: 0 0 0 4px rgba(90, 162, 255, .5); }
html.hdr-compact .site-search input[type="search"] { height: 42px; }
.sug { border-radius: 16px; }
.icon-btn { color: #fff; border-radius: 12px; }
.icon-btn:hover { background: rgba(255, 255, 255, .09); }
.icon-btn .hlx-ico { color: var(--cyan); }
.badge { background: var(--cyan); color: var(--ink); }
.cart-sum { color: #fff; }
.head .toggle { background: var(--hdr2); border: 0; border-radius: 12px; padding: 3px; gap: 2px; }
.toggle button { background: transparent; color: #A9AFCB; border-radius: 9px; min-height: 34px; font-family: var(--font-h); }
.toggle button[aria-pressed="true"] { background: var(--acc); color: #fff; }
.lc-btn { background: var(--hdr2); border-color: transparent; color: #fff; border-radius: 12px; }
.lc-btn:hover { border-color: rgba(255, 255, 255, .3); }
.lc-btn[aria-expanded="true"] { border-color: var(--acc-light); color: #fff; }
.lc-panel { color: var(--ink); border-radius: 16px; }
.catbar { background: var(--hdr); border-top: 1px solid rgba(255, 255, 255, .08); }
.chip { background: var(--hdr2); border-color: transparent; color: #E4E6F5; border-radius: 12px; font-weight: 500; }
.chip svg { color: var(--cyan); }
.chip:hover { background: #232850; border-color: transparent; color: #fff; }
.chip.is-on { background: var(--acc); color: #fff; border-color: transparent; }
.chip.is-on svg { color: #fff; }
.chip.all { background: var(--grad); color: #fff; font-weight: 700; }
.chip.all svg { color: #fff; }
.chip.all:hover, .chip.all.is-on { background: var(--grad); filter: brightness(1.08); border-color: transparent; color: #fff; }
.chip.codes { color: var(--cyan); border-color: rgba(25, 211, 243, .35); background: transparent; }
.chip.codes:hover { background: rgba(25, 211, 243, .12); }
.catbar .chip.mega-btn:hover { background: var(--grad); }
.ship { background: var(--cyan-soft); color: #0B6E85; }
.ship .bar { background: rgba(11, 110, 133, .15); }
.ship .bar i { background: var(--grad); }
.mega { border-radius: 0 0 20px 20px; }
.mega-l1 a:hover, .mega-l1 a.is-on { background: var(--acc-soft); border-left-color: var(--acc); }
.mega-l1 a svg { color: var(--acc); }
@media (max-width: 1023px) { .mega-bar { background: var(--hdr); } }
.logo-text strong span { color: var(--acc-light); }

/* ---- Sekcje: kolorowe nagłówki ---- */
.sec-head h2 { font-size: 24px; display: inline-flex; align-items: center; gap: 12px; }
.sec-head h2::before { content: ""; flex: none; width: 6px; height: 26px; border-radius: 3px; background: var(--sc, var(--grad)); }
.sec-head .note { color: var(--muted); }
.more { display: inline-flex; align-items: center; gap: 6px; padding: 6px 14px; border-radius: 999px; background: var(--acc-soft); color: var(--acc-ink); font-family: var(--font-h); font-weight: 600; transition: background-color .15s, color .15s; }
.more:hover { background: var(--acc); color: #fff; }

/* ---- Strona główna: lista działów obok slajdera ---- */
.hero-main { display: grid; gap: 12px; min-width: 0; }
.hero-grid.has-list { grid-template-columns: minmax(0, 1fr); }
.grp-list { display: none; }
@media (min-width: 700px) { .hero-main .mini { grid-template-columns: 1fr 1fr; } }
.hero-main .mini { align-items: stretch; }
.hero-main .pick-tile { justify-content: center; padding: 18px 22px; }
.hero-main .hit { grid-template-columns: 112px minmax(0, 1fr); align-items: center; padding-top: 14px; }
.hero-main .hit .hit-img img { height: 112px; }
@media (min-width: 1100px) {
  .hero-grid.has-list { grid-template-columns: 268px minmax(0, 1fr); gap: 16px; align-items: stretch; }
  .hero-grid.has-list .grp-list { display: flex; flex-direction: column; }
}
.grp-list { background: var(--white); border: 1px solid var(--line); border-radius: var(--r-card); overflow: hidden; box-shadow: 0 1px 2px rgba(15, 16, 32, .04); }
.grp-list .grp-list-h { display: flex; justify-content: flex-start; align-items: center; gap: 10px; padding: 15px 18px; background: var(--hdr); color: #fff; font-family: var(--font-h); font-weight: 700; font-size: 15px; text-decoration: none; }
.grp-list-h svg { width: 18px; height: 18px; flex: none; color: var(--acc-bright); }
.grp-list-h:hover { filter: brightness(1.08); }
.grp-list ul { list-style: none; margin: 0; padding: 4px 0; flex: 1; display: flex; flex-direction: column; justify-content: space-between; }
.grp-list li { flex: 1; display: flex; }
.grp-list li a { flex: 1; display: flex; align-items: center; gap: 10px; padding: 5px 16px 5px 14px; font-size: 14px; font-weight: 500; line-height: 1.25; text-decoration: none; color: var(--ink); border-left: 3px solid transparent; }
.grp-list li a::before { content: ""; flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--tc, var(--acc)); box-shadow: 0 0 0 3px var(--tcs, var(--acc-soft)); }
.grp-list li a span { flex: 1; min-width: 0; }
.grp-list li a small { flex: none; font-size: 12.5px; color: var(--muted); font-variant-numeric: tabular-nums; }
.grp-list li a:hover, .grp-list li a:focus-visible { background: var(--tcs, var(--acc-soft)); border-left-color: var(--tc, var(--acc)); color: var(--ink); }
.grp-list li a:hover small { color: var(--tci, var(--acc-ink)); }

/* slajder i kafle pod nim */
.hs { border-radius: var(--r-card); box-shadow: 0 18px 40px -22px rgba(15, 85, 201, .5); }
.hs-nav { background: rgba(255, 255, 255, .96); }
.hs-btn:hover { background: var(--acc-soft); }
.tile { border-radius: var(--r-card); border-color: var(--line); }
.hit { border: 1px solid var(--line); background: var(--white); overflow: hidden; }
.hit .label { background: var(--grad); color: #fff; border-radius: 0 0 12px 0; letter-spacing: .08em; padding: 5px 11px; }
.hit .pr .hlx-price-main { color: var(--acc-ink); }
.pick-tile { border: 1px solid #BDE9F4; border-left: 1px solid #BDE9F4; background: var(--cyan-soft); border-radius: var(--r-card); }
.pick-tile:hover { border-color: var(--cyan); box-shadow: 0 10px 26px -14px rgba(11, 110, 133, .6); }
.pick-ic { background: #fff; color: var(--cyan-ink); box-shadow: 0 0 0 4px rgba(25, 211, 243, .22); }

/* kafle grup: tło zdjęcia w barwie działu */
.grp { padding-top: 14px; }
.grp-in { display: block; }
.grp-tile { border-radius: var(--r-card); border: 1px solid var(--line); background: var(--white); transition: transform .2s var(--ease), box-shadow .2s, border-color .2s; }
.grp-ph { background: var(--tcs, #F4F5F6); }
.grp-t { border-top: 3px solid var(--tc, var(--acc)); gap: 2px; padding: 10px 12px 12px; }
.grp-t small { color: var(--tci, var(--muted)); font-weight: 500; }
.grp-tile:hover, .grp-tile:focus-visible { border-color: var(--tc, var(--acc)); box-shadow: 0 16px 32px -18px var(--tc, rgba(31, 123, 255, .55)); transform: translateY(-2px); }
.grp-tile:hover .grp-t { border-top-color: var(--tc); }
.grp-tile:hover strong { color: var(--tci, var(--acc-ink)); }
@media (min-width: 1000px) { .grp-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; } .grp-in { display: block; } }

/* korzyści: kolorowe ikony w kółkach */
.perks { gap: 12px; }
.perk { background: var(--white); border: 1px solid var(--line); border-radius: var(--r-card); padding: 14px 16px; gap: 14px; }
.perk > svg { flex: none; box-sizing: content-box; padding: 10px; border-radius: 12px; background: var(--acc-soft); color: var(--acc-bright); }
.perk:nth-child(2) > svg { background: #DDF6FB; color: #0B8FAA; }
.perk:nth-child(3) > svg { background: #E0F1FD; color: #1F7BFF; }
.perk:nth-child(4) > svg { background: #E6EDF6; color: #4A6FA5; }
.perk strong { font-family: var(--font-h); font-size: 14.5px; }
.perk span { font-size: 12.5px; }

/* karty produktów */
.card { border-radius: var(--r-card); border-color: var(--line); background: var(--white); overflow: hidden; transition: box-shadow .2s, border-color .2s, transform .2s var(--ease); }
.card:hover { border-color: var(--acc-soft2); box-shadow: 0 18px 36px -20px rgba(15, 85, 201, .45); }
.card .ph { border-bottom-color: var(--line-soft); }
.card .brand { color: var(--acc-ink); letter-spacing: .06em; font-size: 11.5px; }
.hlx-price-main { letter-spacing: -.02em; }
.add, a.add, .button.add { border-radius: 12px; background: var(--acc); color: #fff; font-weight: 700; }
.add:hover { background: var(--acc-dark); color: #fff; }
.add.ask, a.add.ask { border-color: var(--acc-soft2); color: var(--acc-ink); background: #fff; }
.add.ask:hover { background: var(--acc-soft); color: var(--acc-ink); }
.btn, .woocommerce .button.alt, .woocommerce button.button.alt { border-radius: 12px; }
.woocommerce .button, .woocommerce button.button { border-radius: 12px; }
.set { border-radius: var(--r-card); }
.set-items .plus { color: var(--acc); }

/* pasy */
.odb-band { background: var(--acc-soft); border-block: 1px solid #C4DDEF; }
.odb-k { color: var(--cyan-ink); }
.odb-steps li::before { background: var(--acc); color: #fff; }
.btn.odb-btn { background: var(--acc); }
.btn.odb-btn:hover { background: var(--acc-dark); }
.odb-cities li { border-color: #C9E8F4; border-radius: 999px; }
.odb-cities .odb-more { border-color: var(--acc); }
.odb-cities .odb-more a { color: var(--acc-ink); }
.b2b { background: #0E1022; color: #DCE0F5; }
.b2b p { color: #B6BCDB; }
.b2b .b2b-k { color: var(--cyan); }
.b2b-codes textarea { border-radius: 14px; background: rgba(255, 255, 255, .05); border-color: rgba(255, 255, 255, .18); }
.brandwall a:hover { border-color: var(--acc); }

/* ---- Stopka: ciemna, jak nagłówek (pas korzyści u góry zostaje jasny, z kolorowymi ikonami) ---- */
.ft { background: var(--hdr); color: #C5CAE3; border-top: 0; margin-top: 56px; }
.ft .ft-h { color: #fff; font-family: var(--font-h); }
.ft-perks { background: var(--bg); border-bottom: 0; }
.ft-perk { border-radius: var(--r-card); }
.ft-perk-ic { background: var(--acc-soft); color: var(--acc); }
li:nth-child(2) > .ft-perk .ft-perk-ic { background: #DDF6FB; color: #0B8FAA; }
li:nth-child(3) > .ft-perk .ft-perk-ic { background: #E0F1FD; color: #1F7BFF; }
li:nth-child(4) > .ft-perk .ft-perk-ic { background: #E6EDF6; color: #4A6FA5; }
a.ft-perk:hover { border-color: var(--acc-soft2); }
.ft-brand p { color: #B6BCDB; }
.ft-brand .ft-brand-sub { color: #8E94B3; }
.ft-col { border-top-color: rgba(255, 255, 255, .1); }
.ft-chev { color: #8E94B3; }
.ft-col li a { color: #D6D9EE; }
.ft-col li a:hover { color: var(--cyan); }
.ft-cats small { color: #8E94B3; }
.ft-col li.ft-all a { color: var(--cyan); }
.ft-contact { border-top-color: rgba(255, 255, 255, .1); }
.ft-phone { color: #fff; }
.ft-phone svg, .ft-line svg { color: var(--cyan); }
.ft-phone:hover, .ft-line a:hover { color: var(--cyan); }
.ft-line { color: #C5CAE3; }
.ft-addr { color: #8E94B3; }
.ft-meta { border-top-color: rgba(255, 255, 255, .1); }
.ft-meta-h, .ft-sel { color: #8E94B3; }
.ft-marks li { border-radius: 10px; border-color: transparent; }
.ft-sel select { border-radius: 10px; border-color: transparent; }
.ft-sel select:hover { border-color: var(--cyan); }
.ft-legal { background: #080918; color: #9AA0BE; }
.ft-legal a, .ft .ft-legal .klx-ck-open { color: #D6D9EE; text-decoration-color: rgba(214, 217, 238, .4); }
.odb-cities li { color: var(--ink); }
.odb-cities li::before { color: var(--acc); }

/* =====================================================================================================================
   UKŁAD A1 (24.10.2026, właściciel: «блоки с того прототипа»; wzór: _entwuerfe/klimatlux/2026-10-24-hurtownia-styl-v2/akcent/a1.html).
   Nagłówek jak w a1 (logo, szerokie pole z przyciskiem, Netto/Brutto, język i waluta, „Moje konto”, koszyk z kwotą), na stronie głównej
   bez paska kategorii; dwie kolumny: panel „Wszystkie kategorie” + (slajder, „Kupuj według kategorii”, pas płatności i dostawy);
   cztery białe karty korzyści; „Polecane dziś”; stopka: marka + 3 kolumny. Karty: biel, ramka --line, promień 18 px.
   ===================================================================================================================== */
:root { --r-card: 18px; }
.topbar .wrap { justify-content: flex-start; gap: 4px 26px; }
.topbar .wrap > span:last-child { margin-left: auto; }
@media (max-width: 699px) { .topbar .wrap { justify-content: center; } .topbar .wrap > span:last-child { margin-left: 0; } }
.topbar b { color: var(--acc-light); }
.lb-l { display: none; }
@media (min-width: 1000px) {
  header.site .logo-blok { display: none; }
  header.site .logo-linia { display: block; height: 38px; }
  html.hdr-compact header.site .logo-linia { display: none; }
  html.hdr-compact header.site .logo-znak { display: block; height: 36px; }
  .icons .icon-btn { flex-direction: row; gap: 8px; min-height: 44px; padding: 4px 10px; font-size: 14px; font-weight: 500; }
  .icons .icon-btn .lb-s { display: none; }
  .icons .icon-btn .lb-l { display: inline; }
  .icon-btn .cart-sum { font-size: 14px; font-weight: 500; }
  .icon-btn .badge { top: 0; right: auto; left: 28px; }
}
.site-search { border-radius: 18px; }
.site-search input[type="search"] { border-radius: 18px 0 0 18px; }
.site-search .go { border-radius: 0 18px 18px 0; }
body.home .catbar { display: none; }
body.home header.site .head { padding-bottom: 18px; }

/* nagłówki sekcji i linki „więcej” jak w a1 */
.sec-head { align-items: baseline; margin: 28px 2px 12px; }
.sec-head h2 { font-size: 21px; letter-spacing: -.02em; display: block; }
.sec-head h2::before { content: none; }
.more { padding: 0; border-radius: 0; background: none; color: var(--ink); font-size: 14px; font-weight: 600; text-decoration: underline; text-decoration-color: var(--acc-bright); text-underline-offset: 3px; }
.more:hover { background: none; color: var(--acc-ink); }
.home3 > section { padding-block: 0 6px; }
.hero { padding-top: 22px !important; }

/* panel kategorii + prawa kolumna */
.hero-grid.has-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; align-items: start; }
.hero-main { display: grid; gap: 0; min-width: 0; align-content: start; }
.hero-main > * + * { margin-top: 0; }
.grp-list { display: block; background: var(--white); border: 1px solid var(--line); border-radius: var(--r-card); overflow: hidden; box-shadow: none; }
.grp-list .grp-list-h { display: flex; align-items: center; gap: 10px; padding: 15px 18px; background: var(--hdr); color: #fff; font-size: 15px; font-weight: 700; text-decoration: none; border-radius: 0; }
.grp-list-h svg { color: var(--acc-bright); }
.grp-list ul { display: block; list-style: none; margin: 0; padding: 0; }
.grp-list li { display: block; border-top: 1px solid var(--line); }
.grp-list li:first-child { border-top: 0; }
.grp-list li a { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px 18px; font-size: 14.5px; font-weight: 500; color: var(--ink); border-left: 0; }
.grp-list li a::before { content: none; }
.grp-list li a small { font-size: 12.5px; color: var(--muted); }
.grp-list li a:hover, .grp-list li a:focus-visible { background: var(--bg); box-shadow: inset 3px 0 0 var(--acc-bright); }
.grp-list .grp-list-all { display: block; padding: 13px 18px; border-top: 1px solid var(--line); font-size: 14px; font-weight: 700; color: var(--ink); text-decoration: none; }
.grp-list .grp-list-all:hover { color: var(--acc-ink); }
@media (min-width: 1100px) {
  .hero-grid.has-list { grid-template-columns: 300px minmax(0, 1fr); gap: 20px; align-items: stretch; }
  .grp-list { display: flex; flex-direction: column; }
  .grp-list ul { flex: 1; display: flex; flex-direction: column; }
  .grp-list li { flex: 1 1 0; max-height: 58px; min-height: 44px; display: flex; }
  .grp-list li a { flex: 1; }
}
/* telefon i tablet (a1 mobile): panel z „chipami” */
@media (max-width: 1099px) {
  .grp-list ul { display: flex; flex-wrap: wrap; gap: 8px; padding: 14px 16px 6px; }
  .grp-list li { border: 0; }
  .grp-list li:nth-child(n+9) { display: none; }
  .grp-list li a { padding: 7px 12px; border: 1px solid var(--line); border-radius: 12px; font-size: 13.5px; background: var(--white); }
  .grp-list li a small { display: none; }
  .grp-list li a:hover { box-shadow: none; border-color: var(--acc-bright); }
  .grp-list .grp-list-all { border-top: 0; padding: 8px 18px 16px; }
}

/* slajder (kadr 1320×430, a1: baner ~314 px) */
.hs { border-radius: var(--r-card); box-shadow: none; }

/* „Kupuj według kategorii” */
.kt-sec .sec-head { margin-top: 22px; }
.kt-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
@media (min-width: 760px) { .kt-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; } }
.kt { position: relative; display: flex; flex-direction: column; background: var(--white); border: 1px solid var(--line); border-radius: var(--r-card); padding: 14px; text-decoration: none; color: var(--ink); transition: transform .2s var(--ease), border-color .2s; }
.kt:hover, .kt:focus-visible { border-color: var(--acc-bright); transform: translateY(-2px); }
.kt-ph { display: block; aspect-ratio: 16 / 10; margin-bottom: 12px; border-radius: 13px; overflow: hidden; background: var(--tcs, var(--acc-soft)); }
.kt-ph img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 50% 58%; }
.kt-ph .cat-ico { display: grid; place-items: center; height: 100%; }
.kt strong { display: block; font-family: var(--font-h); font-size: 14.5px; line-height: 1.25; font-weight: 600; }
.kt em { font-style: normal; color: var(--muted); font-size: 12.5px; margin-top: 2px; }
.kt-go { position: absolute; right: 12px; top: 12px; width: 30px; height: 30px; border-radius: 50%; background: var(--bg); color: var(--ink); display: grid; place-items: center; }
.kt:hover .kt-go { background: var(--acc); color: #fff; }

/* pas płatności / dostawy */
.pay-row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 30px; margin-top: 18px; padding: 16px 20px; background: var(--white); border: 1px solid var(--line); border-radius: var(--r-card); }
.pay-row > div { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.pay-l { margin-right: 4px; font-size: 12px; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .07em; }
.pill { display: inline-block; padding: 5px 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--bg); font-size: 12.5px; font-weight: 600; color: var(--ink); text-decoration: none; }
a.pill:hover { border-color: var(--acc-bright); color: var(--acc-ink); }

/* korzyści: cztery białe karty z ikoną */
.perks-sec { margin-top: 18px; }
.perks { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
@media (min-width: 860px) { .perks { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; } }
.perk { align-items: flex-start; gap: 14px; padding: 18px; background: var(--white); border: 1px solid var(--line); border-radius: var(--r-card); }
.perk > svg { box-sizing: border-box; flex: none; width: 34px; height: 34px; padding: 0; background: none; border-radius: 0; color: var(--acc-bright); stroke-width: 1.5; }
.perk strong { font-size: 15.5px; line-height: 1.25; }
.perk span { display: block; margin-top: 2px; font-size: 13px; color: var(--muted); }
@media (max-width: 859px) { .perk { flex-direction: column; gap: 8px; padding: 14px; } }

/* „Polecane dziś” i „Najczęściej zamawiane” — karty a1 */
.pc-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
@media (min-width: 860px) { .pc-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; } }
.pc { position: relative; display: flex; flex-direction: column; min-width: 0; padding: 14px; background: var(--white); border: 1px solid var(--line); border-radius: var(--r-card); transition: border-color .2s, box-shadow .2s; }
.pc:hover { border-color: var(--acc-soft2); box-shadow: 0 18px 36px -22px rgba(15, 85, 201, .45); }
.pc-chip { position: absolute; left: 14px; top: 14px; z-index: 1; max-width: calc(100% - 28px); padding: 3px 9px; border-radius: 12px; background: var(--bg); color: var(--muted); font-size: 11px; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pc-chip--hit { background: var(--acc); color: #fff; letter-spacing: .04em; text-transform: uppercase; }
.pc-ph { display: grid; place-items: center; height: 170px; margin-bottom: 8px; }
.pc-ph img { max-height: 150px; max-width: 80%; width: auto; height: auto; object-fit: contain; }
.pc-name { margin: 0 0 10px; font-size: 14.5px; font-weight: 600; line-height: 1.3; min-height: 57px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.pc-name a { text-decoration: none; color: var(--ink); }
.pc-name a:hover { color: var(--acc-ink); }
.pc-pr { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 6px; margin: 0 0 12px; }
.pc-pr .hlx-price-main { font-size: 21px; }
.pc-pr .hlx-price-main::after { content: var(--m, "brutto"); margin-left: 6px; font-family: var(--font); font-size: 12px; font-weight: 400; color: var(--muted); letter-spacing: 0; }
.pc-pr .hlx-price-alt { width: 100%; font-size: 12.5px; color: var(--muted); }
.pc .add, .pc a.add, .pc .button.add { margin-top: auto; width: 100%; min-height: 44px; border-radius: 12px; }

/* pasy poniżej — te same karty */
.odb-band { margin-top: 34px; background: none; border: 0; }
.odb-in { padding: 26px; background: var(--white); border: 1px solid var(--line); border-radius: var(--r-card); }
.odb-cities li { border-radius: 12px; }
.odb-list { background: var(--bg); border-radius: 14px; }
.b2b { margin-top: 34px; background: none; }
.b2b-in { padding: 30px; border-radius: var(--r-card); background: #12203D; color: #DCE0F5; }
.sets .set { border-radius: var(--r-card); }
.brandwall { border-radius: var(--r-card); }

/* stopka a1: marka + trzy kolumny, jedna linia na dole */
.ft-perks { display: none; }
.ft { margin-top: 48px; }
@media (min-width: 1100px) { .ft-grid { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr); gap: 30px; } }
.ft-main { padding-block: 44px 0; }
.ft-meta { margin-top: 28px; }
.home3 .perks { gap: 10px; background: none; border: 0; border-radius: 0; overflow: visible; }
@media (min-width: 860px) { .home3 .perks { gap: 14px; } }
.home3 .perk { border-radius: var(--r-card); }
@media (min-width: 768px) {
  .hs-nav { right: auto; left: 22px; bottom: 14px; }
}
.hs-nav { box-shadow: 0 6px 18px -8px rgba(15, 16, 32, .5); }
.home3 .perk { padding: 18px; }
@media (max-width: 859px) { .home3 .perk { padding: 14px; } }
.odb-list .odb-cities li::before { background: var(--acc-bright); }
@media (max-width: 1099px) { .grp-list li { flex: 0 0 auto; display: block; } .grp-list li a { display: inline-flex; width: auto; } }
@media (max-width: 1099px) { .grp-list ul { flex-direction: row; justify-content: flex-start; align-content: flex-start; flex: none; } }
@media (min-width: 1100px) { .grp-list ul { justify-content: flex-start; } }

/* =====================================================================================================================
   KAFLE I KOMPAKTOWA LISTA (24.10.2026, właściciel: «на онинене эта секция лучше», «слева категории в экран не влазят»):
   lista 16 działów w jednym ekranie (wiersze ~31 px), po prawej ściana 16 kafli na szarym panelu (biel, zdjęcie bez tła, nazwa
   pod spodem, ostatni rząd wyśrodkowany), slajder pod ścianą. Bez gradientów (właściciel: «градиент не нравится»).
   ===================================================================================================================== */
.hero-grid.has-list { align-items: start; }
@media (min-width: 1100px) {
  .hero-grid.has-list { grid-template-columns: 280px minmax(0, 1fr); gap: 20px; align-items: start; }
  .grp-list { display: block; }
  .grp-list ul { display: block; flex: none; padding: 0; }
  .grp-list li { display: block; flex: none; max-height: none; min-height: 0; }
  .grp-list li a { padding: 5px 14px; font-size: 14px; line-height: 20px; }
  .grp-list li a small { font-size: 12.5px; color: var(--muted); }
  .grp-list .grp-list-h { padding: 9px 14px; font-size: 14px; }
  .grp-list .grp-list-all { padding: 8px 14px 9px; font-size: 13.5px; }
}
.kt-sec .sec-head { margin-top: 0; }
.kt-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; padding: 16px; background: #F4F6FA; border-radius: var(--r-card); }
.kt { flex: 0 0 calc((100% - 60px) / 6); align-items: center; padding: 8px 8px 10px; text-align: center; background: var(--white); border: 1px solid #E4E8F1; border-radius: 12px; }
.kt-ph { width: 100%; aspect-ratio: 1 / 1; margin: 0 0 6px; border-radius: 8px; background: var(--white); }
.kt-ph img { object-fit: contain; object-position: 50% 50%; }
.kt strong { display: -webkit-box; width: 100%; min-height: 35px; font-size: 14px; font-weight: 500; line-height: 1.25; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.kt:hover, .kt:focus-visible { border-color: var(--acc-bright); transform: translateY(-2px); box-shadow: 0 10px 22px -16px rgba(15, 85, 201, .55); }
@media (max-width: 759px) {
  .kt-grid { gap: 8px; padding: 10px; }
  .kt { flex-basis: calc((100% - 16px) / 3); padding: 6px 6px 8px; }
  .kt strong { min-height: 30px; font-size: 12px; }
}
@media (min-width: 560px) and (max-width: 759px) { .kt { flex-basis: calc((100% - 24px) / 4); } }
.pay-row { gap: 8px 28px; margin-top: 14px; padding: 6px 4px 0; background: none; border: 0; border-radius: 0; }
.pay-row > div { gap: 6px 16px; }
.pi { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 500; color: var(--ink); text-decoration: none; }
.pi svg { color: var(--acc-bright); flex: none; }
a.pi:hover { color: var(--acc-ink); }
.hs-sec { margin-top: 26px; }
/* przycisk zamknięcia mega menu: widoczny ×, jasne tło po najechaniu */
.mega-x { display: grid; place-items: center; padding: 0; color: var(--ink); border-radius: 10px; }
.mega-x:hover, .mega-x:focus-visible { background: var(--acc-soft); color: var(--acc); border-color: var(--acc-soft2); }
.mega-bar .mega-x { color: #fff; background: rgba(255, 255, 255, .12); }
.mega-bar .mega-x:hover { background: rgba(255, 255, 255, .22); color: #fff; }
.hs-nav, .hs-sec .hs-nav { position: static; background: none; box-shadow: none; padding: 0; }
@media (max-width: 1099px) { .grp-list { display: none; } }
.sug-pr { text-align: right; }
.sug-pr small { display: block; font-size: 11.5px; font-weight: 400; color: var(--muted); }
/* bez przełącznika brutto/netto w nagłówku (24.10.2026) */
@media (min-width: 1000px) { .head { grid-template-columns: auto minmax(0, 1fr) auto; grid-template-areas: "logo search icons"; } }

/* Krój: Space Grotesk tylko w dużych tytułach (h1, nagłówki sekcji), banery i logo; wszystko inne — Inter (cyfry tabelaryczne w cenach). */
h1, .sec-head h2, .odb-txt h2, .b2b h2, .entry-title, .woocommerce-products-header__title, .shop-main .page-title { font-family: var(--font-d); }
.single-product .product_title { font-family: var(--font); letter-spacing: -.015em; font-weight: 700; }
.hlx-price-main, .hlx-price-alt, .cart-sum, .set-foot .price, .cd-price, .cd-total dd, .sug-pr, .grp-list li a small, .perk strong, .kt strong, .pc-name, .btn, .add, .cta { font-variant-numeric: tabular-nums; font-feature-settings: "tnum" 1; }
.hlx-price-main, .set-foot .price { font-weight: 700; }

/* =====================================================================================================================
   LISTA, STEPPER, LISTA ROZWIJANA (24.10.2026): widok listy domyślny w katalogu (przełącznik „Lista / Kafelki”), stepper ilości
   − [n] + przy „Do koszyka”, własna lista rozwijana zamiast natywnego <select>. inc/lista.php, assets/js/main.js.
   ===================================================================================================================== */
.hqty { display: inline-flex; align-items: stretch; flex: none; border: 1px solid #CDD3E4; border-radius: 12px; background: var(--white); overflow: hidden; }
.hqty-b { display: grid; place-items: center; width: 40px; min-height: 44px; padding: 0; border: 0; background: transparent; color: var(--ink); cursor: pointer; }
.hqty-b:hover:not(:disabled) { background: var(--acc-soft); color: var(--acc); }
.hqty-b:disabled { color: #B4B9D0; cursor: default; }
.hqty-i { width: 44px; min-height: 44px; padding: 0; border: 0; border-inline: 1px solid #E6E9F3; border-radius: 0; background: transparent; text-align: center; font: 600 15px var(--font); font-variant-numeric: tabular-nums; color: var(--ink); -moz-appearance: textfield; }
.hqty-i:focus { outline: 2px solid var(--acc-bright); outline-offset: -2px; }
.buy { display: flex; flex-wrap: wrap; align-items: stretch; gap: 8px; margin-top: 8px; }
.buy .add, .buy a.add, .buy .button.add { flex: 1 1 120px; margin-top: 0; min-height: 44px; }
.hlx-view--kafelki .buy { margin-top: auto; }

/* przełącznik widoku */
.hlx-viewsw { display: inline-flex; gap: 2px; margin-left: 10px; padding: 3px; border-radius: 12px; background: var(--soft); }
.hlx-viewsw button { display: inline-flex; align-items: center; gap: 6px; min-height: 34px; padding: 0 12px; border: 0; border-radius: 9px; background: transparent; color: var(--muted); font: 600 13.5px var(--font); }
.hlx-viewsw button:hover { color: var(--ink); }
.hlx-viewsw button[aria-pressed="true"] { background: var(--white); color: var(--acc); box-shadow: 0 1px 3px rgba(15, 16, 32, .14); }
@media (max-width: 599px) { .hlx-viewsw button span { display: none; } .hlx-viewsw { margin-left: 6px; } }
.fx-tools { flex-wrap: wrap; }

/* widok listy */
ul.products.hlx-view--lista { grid-template-columns: minmax(0, 1fr); gap: 10px; }
.hlx-view--lista .card { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 2px 14px; align-items: start; padding: 12px; border-radius: 14px; }
.hlx-view--lista .card:hover { box-shadow: 0 10px 26px -18px rgba(15, 85, 201, .5); border-color: var(--acc-soft2); }
.hlx-view--lista .card .body { display: contents; }
.hlx-view--lista .card .ph { grid-column: 1; grid-row: 1 / span 3; aspect-ratio: 1 / 1; padding: 2px; border: 0; }
.hlx-view--lista .card .brand { grid-column: 2; grid-row: 1; }
.hlx-view--lista .card .name { grid-column: 2; grid-row: 2; min-height: 0; -webkit-line-clamp: 2; font-size: 14.5px; font-weight: 600; }
.hlx-view--lista .card .codes { grid-column: 2; grid-row: 3; flex-direction: row; flex-wrap: wrap; gap: 0 14px; font-size: 12px; }
.hlx-view--lista .card .stock { grid-column: 1 / -1; grid-row: 4; margin-top: 8px; }
.hlx-view--lista .card .pr { grid-column: 1 / -1; grid-row: 5; margin-top: 2px; }
.hlx-view--lista .card .buy, .hlx-view--lista .card .add { grid-column: 1 / -1; grid-row: 6; }
.hlx-view--lista .card .buy { margin-top: 8px; }
.hlx-view--lista .card > .body > .add { margin-top: 8px; }
@media (min-width: 900px) {
  .hlx-view--lista .card { grid-template-columns: 88px minmax(0, 1fr) 190px 270px; gap: 2px 20px; align-items: center; padding: 12px 18px 12px 12px; }
  .hlx-view--lista .card .ph { grid-row: 1 / span 3; }
  .hlx-view--lista .card .stock { grid-column: 3; grid-row: 1; margin-top: 0; align-self: end; }
  .hlx-view--lista .card .pr { grid-column: 3; grid-row: 2 / span 2; align-self: start; margin-top: 2px; }
  .hlx-view--lista .card .buy, .hlx-view--lista .card .add { grid-column: 4; grid-row: 1 / span 3; align-self: center; }
  .hlx-view--lista .card .buy { margin-top: 0; flex-wrap: nowrap; }
  .hlx-view--lista .card .buy .add { flex: 1 1 auto; }
  .hlx-view--lista .card > .body > .add { margin-top: 0; }
  /* 26.10.2026 (właściciel: „тут фейл”): WooCommerce dokleja „Zobacz koszyk” obok przycisku — w kolumnie 270 px bez
     zawijania wychodził poza kartę. Po dodaniu i tak otwiera się koszyk boczny (main.js, added_to_cart). */
  .hlx-view--lista .card a.added_to_cart { display: none; }
}

/* lista rozwijana (zamiast natywnego select) */
.hlx-dd { position: relative; display: inline-block; max-width: 100%; }
.hlx-dd-native { position: absolute; left: 0; top: 0; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.hlx-dd-btn { display: inline-flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; min-height: 40px; padding: 0 12px 0 14px; border: 1px solid #CDD3E4; border-radius: 12px; background: var(--white); color: var(--ink); font: 600 14px var(--font); cursor: pointer; text-align: left; transition: border-color .15s, box-shadow .15s; }
.hlx-dd-btn:hover { border-color: var(--acc-bright); }
.hlx-dd.is-open .hlx-dd-btn, .hlx-dd-btn:focus-visible { border-color: var(--acc-bright); box-shadow: 0 0 0 3px rgba(31, 123, 255, .18); outline: none; }
.hlx-dd-chev { flex: none; color: var(--muted); transition: transform .15s; }
.hlx-dd.is-open .hlx-dd-chev { transform: rotate(180deg); }
.hlx-dd-t { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hlx-dd-list { position: absolute; right: 0; top: calc(100% + 6px); z-index: 60; min-width: 100%; width: max-content; max-width: min(340px, 92vw); max-height: 320px; margin: 0; padding: 6px; overflow: auto; list-style: none; background: var(--white); border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 18px 40px -14px rgba(15, 16, 32, .3); outline: none; }
.hlx-dd-list[hidden] { display: none; }
.hlx-dd-list li { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 9px 12px; border-radius: 8px; font-size: 14px; cursor: pointer; color: var(--ink); }
.hlx-dd-list li svg { flex: none; color: var(--acc); visibility: hidden; }
.hlx-dd-list li[aria-selected="true"] { font-weight: 700; }
.hlx-dd-list li[aria-selected="true"] svg { visibility: visible; }
.hlx-dd-list li:hover, .hlx-dd-list li.is-active { background: var(--acc-soft); }
.ft-sel .hlx-dd-btn { width: 168px; }
.ft-sel .hlx-dd-list { top: auto; bottom: calc(100% + 6px); right: auto; left: 0; }
@media (max-width: 599px) { .fx-tools .woocommerce-ordering { flex: 1 1 150px; } .hlx-dd--sort { width: 100%; } }
body ul.products.hlx-view.hlx-view--lista, body .fx-main ul.products.hlx-view--lista { grid-template-columns: minmax(0, 1fr) !important; gap: 10px; }
.buy .add, .buy a.add { white-space: nowrap; } @media (min-width: 900px) { .hlx-view--lista .card { grid-template-columns: 88px minmax(0, 1fr) 190px 290px; } }

/* Pola w ciemnych obszarach: tekst wpisywany ciemny (nagłówek ma color: #fff i pola dziedziczyły biel) */
header.site input, header.site select, header.site textarea { color: var(--ink); }
.site-search input[type="search"] { color: var(--ink); caret-color: var(--acc-bright); background: transparent; }
.site-search input::placeholder, header.site input::placeholder { color: #6B7194; opacity: 1; }
.sug, .sug a, .sug-n, .sug-c, .sug-p { color: var(--ink); }
.sug-k, .sug-h, .sug-c small, .sug-none { color: var(--muted); }
.ft select, .ft input, .ft textarea { color: var(--ink); }
.ft-sel select { background-color: var(--white); }
.b2b input, .b2b textarea { caret-color: var(--acc-light); }
.klxnl input[type="email"], .klxnl input[type="text"] { color: var(--ink); }

/* Pasek darmowej dostawy (24.10.2026, właściciel: «полоска слабо отображается»): płaski, biały pas z ramką, ikona ciężarówki, kwota
   pogrubiona, tor 8 px w stałym błękicie; po osiągnięciu progu zielony komunikat. Kwota wg trybu cen konta (brutto gość, netto B2B). */
.ship { background: var(--white); color: var(--ink); border-bottom: 1px solid var(--line); font-size: 14px; }
.ship .wrap { display: flex; align-items: center; gap: 10px 18px; flex-wrap: nowrap; padding-block: 10px; }
.ship-t { display: inline-flex; align-items: center; gap: 8px; min-width: 0; flex: 0 1 auto; color: var(--ink); }
.ship-t svg { flex: none; color: var(--acc); }
.ship-m { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ship-m b { font-weight: 700; font-variant-numeric: tabular-nums; }
.ship-t.is-ok, .ship-t.is-ok svg { color: var(--green); }
.ship .bar { flex: 1 1 160px; min-width: 120px; height: 8px; border-radius: 999px; background: #E3E7F1; overflow: hidden; }
.ship .bar i { display: block; height: 100%; border-radius: 999px; background: var(--acc); transition: width .3s; }
.ship .bar.is-ok i { background: var(--green); }
@media (max-width: 599px) { .ship .wrap { flex-wrap: wrap; gap: 6px; padding-block: 8px; } .ship-t { flex: 1 1 100%; } .ship .bar { flex: 1 1 100%; } }

/* Ramki i podziały: czytelne, ale lekkie (właściciel 24.10.2026: «линии не видны») — ramka 1 px --line + delikatny cień na białych kartach */
.card, .pc, .perk, .set, .kt, .pay-row, .k-card, .k-head, .k-kpi, .pdp-help, .pdp-buy, .pdp-keys, .odb-in, .brandwall, .cd-sum, .woocommerce-tabs, .fx-sec, .k-od-sum, .k-list-foot, .lc-panel, .grp-list { border-color: var(--line); }
.card, .pc, .perk, .set, .odb-in, .brandwall, .grp-list, .k-card, .k-kpi, .pdp-help, .pdp-buy { box-shadow: 0 1px 2px rgba(15, 16, 34, .06); }
.pay-row { box-shadow: none; }
.woocommerce-tabs ul.tabs, .woocommerce-tabs .tabs { border-bottom-color: var(--line); }
table.shop_attributes tr, table.shop_attributes th, table.shop_attributes td, .pdp-tech tr, .pdp-tech th, .pdp-tech td, .woocommerce-product-attributes tr, .woocommerce-product-attributes th, .woocommerce-product-attributes td { border-color: var(--line); }
hr, .sep { border-color: var(--line); }

/* „Nowość” przy kategorii Zestawy (lista po lewej, kafel, chipy na telefonie) */
.nowosc { display: inline-block; margin-left: 8px; padding: 1px 7px; border-radius: 999px; background: var(--acc); color: #fff; font-size: 10.5px; font-style: normal; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; vertical-align: 1px; }
.nowosc--kt { position: absolute; left: 14px; top: 14px; z-index: 1; margin: 0; }
.kt { position: relative; }
.pay-g { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.pay-logo { display: inline-flex; align-items: center; height: 34px; padding: 0 10px; background: var(--white); border: 1px solid var(--line); border-radius: 10px; }
.pay-logo img { display: block; width: auto; height: 22px; }
.kt .nowosc, .grp-list .nowosc { color: #fff; font-size: 10.5px; font-weight: 700; margin-top: 0; }
.kt .nowosc--kt { margin: 0; }
.pay-note { flex-basis: 100%; font-size: 12px; color: var(--muted); }
.ft-pay-note { margin: 8px 0 0; font-size: 12px; color: #8E94B3; }

/* Dwa jasne panele pod ścianą kafli: Płatności (znaki włączonych bramek) i Dostawa (neutralne ikony + odznaki potwierdzonych przewoźników) */
.logos-row { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; margin-top: 14px; }
@media (min-width: 900px) { .logos-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
.logos-p { display: flex; flex-direction: column; gap: 10px; padding: 14px 18px 16px; border-radius: var(--r-card); background: #F4F6FA; border: 1px solid #E4E8F1; }
.logos-p .pay-l { margin: 0; }
.logos-p .pay-g { gap: 10px 14px; min-height: 36px; }
.logos-p .pay-note { margin: 0; flex: none; }
.carrier { display: inline-flex; align-items: center; justify-content: center; flex: none; }
.carrier svg { display: block; width: 36px; height: 36px; }
.logos-p .pay-logo { background: #fff; }
.logos-p .pi { padding: 6px 12px; border: 1px solid #E4E8F1; border-radius: 999px; background: #fff; }

/* ---- Ściana marek: panele „Płatności” i „Dostawa” (v2, 24.10.2026) — białe, jednakowa wysokość i wewnętrzne marginesy, kafle logotypów */
.logos-p { background: var(--white); border: 1px solid var(--line); border-radius: var(--r-card); padding: 16px 18px 18px; gap: 12px; }
.logos-p .pay-l { font-size: 11.5px; letter-spacing: .1em; }
.ltiles { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.ltile { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; height: 44px; min-width: 66px; padding: 0 12px; border: 1px solid #E1E5EF; border-radius: 10px; background: var(--white); }
.ltile img { display: block; width: auto; height: 26px; max-width: 64px; object-fit: contain; }
.ltile--visa img { height: 20px; max-width: 70px; }
.ltile--ingpay img { height: 28px; max-width: 70px; }
.ltile--mastercard img { height: 30px; }
.ltile--txt { gap: 7px; font-size: 13.5px; color: var(--ink); }
.ltile--txt svg { color: var(--acc); }
.ltile--txt b { font-weight: 600; }
.lline { margin: 0; font-size: 12.5px; line-height: 1.5; color: var(--muted); }
.lline--note { font-size: 12px; margin-top: -4px; }
.lpill { display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; padding: 9px 14px; border-radius: 12px; background: var(--acc-soft); border: 1px solid var(--acc-soft2); color: var(--acc-ink); font-size: 14px; font-weight: 600; text-decoration: none; line-height: 1.3; }
.lpill svg { flex: none; color: var(--acc); }
.lpill:hover { background: var(--acc); border-color: var(--acc); color: #fff; }
.lpill:hover svg { color: #fff; }
.ltiles--car { gap: 8px; }
.carrier-tile { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; width: 92px; height: 56px; padding: 0 10px; border: 1px solid #E1E5EF; border-radius: 12px; background: var(--white); }
.carrier-tile img { display: block; max-width: 72px; max-height: 32px; width: auto; height: auto; object-fit: contain; }
.carrier-tile--lidl img, .carrier-tile--orlen img { max-height: 42px; }
.carrier-tile--dhl img { max-height: 24px; }
.carrier-tile--poczta img { max-width: 78px; max-height: 26px; }
@media (max-width: 699px) {
  .ltiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
  .ltile { min-width: 0; padding: 0 6px; }
  .ltile img { max-width: 100%; }
  .ltile--txt b { font-size: 12.5px; }
  .carrier-tile { width: auto; min-width: 0; padding: 0 6px; }
  .carrier-tile img { max-width: 100%; }
  .lpill { align-self: stretch; }
}
@media (min-width: 700px) { .logos-p--pay .ltiles { gap: 6px; } .logos-p--pay .ltile { min-width: 0; padding: 0 9px; } .logos-p--pay .ltile img { max-width: 58px; } .logos-p--pay .ltile--visa img { max-width: 62px; } }
@media (min-width: 900px) { .logos-row { grid-template-columns: minmax(0, 1.22fr) minmax(0, 1fr); } }
@media (min-width: 700px) { .carrier-tile { width: 84px; padding: 0 8px; } .carrier-tile img { max-width: 66px; } }
@media (min-width: 700px) { .ltiles--car { gap: 6px; } .carrier-tile { width: 80px; padding: 0 7px; } .carrier-tile img { max-width: 62px; } }

/* SKŁAD ZESTAWU w koszyku, kasie i bocznym koszyku (inc/zestawy-koszyk.php): 13–14 px Inter, nazwa do 2 linii, kod osobno, ilość po prawej */
.kc-list { display: block; margin: 6px 0 0; font-family: var(--font); }
.kc { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 14px; align-items: start; padding: 6px 0; border-top: 1px solid var(--line-soft); }
.kc:first-child { border-top: 0; padding-top: 2px; }
.kc-n { grid-column: 1; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 13.5px; line-height: 1.35; font-weight: 500; color: var(--ink); }
.kc-r { font-weight: 700; color: var(--acc-ink); }
.kc-c { grid-column: 1; display: block; margin-top: 1px; font-size: 12.5px; line-height: 1.35; color: var(--muted); }
.kc-q { grid-column: 2; grid-row: 1 / span 2; align-self: center; white-space: nowrap; font-size: 13px; font-weight: 600; color: var(--muted); font-variant-numeric: tabular-nums; }
.kc-list.is-collapsed .kc:nth-child(n+6) { display: none; }
.kc-more { display: inline-block; margin: 4px 0 0; padding: 0; border: 0; background: none; color: var(--acc-ink); font: 600 13px var(--font); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.wc-block-components-product-details__skad-zestawu, .wc-block-components-product-details__sk-ad-zestawu { display: block; }
.wc-block-components-product-details span[class*="zestawu"] > .wc-block-components-product-details__name { display: block; font-weight: 600; font-size: 13px; color: var(--ink); }
.wc-block-components-product-details span[class*="zestawu"] > .wc-block-components-product-details__value { display: block; }
#hlx-cd .kc-n { font-size: 13px; }
/* Zestaw: stary szary opis z modułu zestawów (krótki opis produktu w blokach) ukryty tam, gdzie jest czytelny „Skład zestawu”; meta zamówienia bez zmian */
.wc-block-cart-items__row:has(.kc-list) .wc-block-components-product-metadata__description,
.wc-block-components-order-summary__content .wc-block-components-order-summary-item:has(.kc-list) .wc-block-components-product-metadata__description { display: none; }
.ship-why { margin-left: 4px; color: var(--acc-ink); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.cd-free .ship-why { font-size: 12.5px; }
/* Wyszukiwarka wyrozumiała (25.10.2026, inc/szukaj.php): frazy w podpowiedziach, „podobne produkty” na liście wyników */
.sug-phr { padding: 10px 14px 4px; border-bottom: 1px solid var(--line); }
.sug-phr .sug-h { margin: 0 0 6px; }
.sug-qs { display: flex; flex-wrap: wrap; gap: 6px; padding-bottom: 6px; }
.sug a.sug-q { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 4px 12px; border: 1px solid var(--line); border-radius: 999px; background: var(--white); color: var(--ink); font-size: 13.5px; font-weight: 500; text-decoration: none; }
.sug a.sug-q svg { flex: none; color: var(--muted); }
.sug a.sug-q b { color: var(--acc-ink); font-weight: 700; }
.sug a.sug-q:hover, .sug a.sug-q.is-on { border-color: var(--acc); background: var(--acc-soft); }
.sug-sim { margin: -2px 14px 6px; font-size: 12.5px; line-height: 1.4; color: var(--muted); }
.hlx-similar { display: flex; align-items: flex-start; gap: 10px; margin: 0 0 14px; padding: 12px 14px; border: 1px solid var(--acc-soft2); border-radius: var(--r); background: var(--acc-soft); color: var(--ink); font-size: 14.5px; line-height: 1.45; }
.hlx-similar svg { flex: none; margin-top: 1px; color: var(--acc-ink); }
.hlx-similar b { font-weight: 700; }
ul.products > li.hlx-similar-sep { grid-column: 1 / -1; display: flex; align-items: center; gap: 12px; margin: 10px 0 2px !important; padding: 0 !important; width: auto !important; float: none !important; list-style: none; color: var(--muted); font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
ul.products > li.hlx-similar-sep::after { content: ""; flex: 1; height: 1px; background: var(--line); }

/* ===== Stopka: płatności, język, waluta (właściciel 28.10.2026: «стили поправить») =====
   Podpisy „Język” / „Waluta” nad polami jak „Płatności”, oba bloki od góry; plakietki i pola jednej wysokości (40 px)
   w ciemnym stylu stopki — logotypy ING Pay i BLIK zostają na jasnej plakietce (znaki marek na białym tle). */
.ft-meta { align-items: flex-start; }
.ft-lc { gap: 10px 12px; }
.ft-sel { flex-direction: column; align-items: stretch; gap: 0; }
.ft-sel > span { margin: 0 0 8px; font-size: 12px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: #8E94B3; }
.ft-sel select, .ft-sel .hlx-dd-btn { height: 40px; min-height: 40px; border: 1px solid rgba(255, 255, 255, .14); border-radius: 10px; background-color: var(--hdr2); color: #fff; font-size: 14px; font-weight: 600; }
.ft-sel select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23C5CAE3' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.ft-sel select option { color: var(--ink); background: var(--white); }
.ft-sel .hlx-dd-chev { color: #C5CAE3; }
.ft-sel select:hover, .ft-sel .hlx-dd-btn:hover, .ft-sel .hlx-dd.is-open .hlx-dd-btn { border-color: var(--cyan); }
.ft-marks li { height: 40px; padding: 0 12px; border-radius: 10px; }
.ft-marks .ft-mark-t { background: var(--hdr2); border: 1px solid rgba(255, 255, 255, .14); color: #E6E8F5; font-size: 13.5px; font-weight: 600; }
.ft-marks .ft-mark-t svg { color: var(--cyan); }
.ft-marks li:has(img) { padding: 0 10px; background: var(--white); }
.ft-marks img { height: 24px; }
@media (max-width: 559px) {
  .ft-sel select, .ft-sel .hlx-dd-btn { width: 100%; height: 44px; min-height: 44px; }
}

/* ===== Zdjęcie poglądowe (właściciel 29.10.2026, inc/galeria.php): oznaczenie na kartach produktów =====
   Zdjęcie rodziny/serii producenta, gdy dokładnego nie ma. „Kafelki”, strona główna, podobne: biała pigułka w lewym dolnym
   rogu zdjęcia (.hlx-pogl). „Lista” (domyślna; miniatura 76–88 px): zamiast plakietki na zdjęciu ta sama pigułka w wierszu
   kodów (.hlx-pogl-k). Pełny podpis — pod zdjęciem na karcie produktu (galeria.css). */
.pc-ph { position: relative; }
.hlx-pogl { position: absolute; left: 8px; bottom: 8px; z-index: 1; max-width: calc(100% - 16px); padding: 3px 8px; border: 1px solid var(--line); border-radius: 999px; background: rgba(255, 255, 255, .94); color: var(--muted); font: 600 11px/1.35 var(--font); letter-spacing: .01em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; pointer-events: none; }
.pc-ph .hlx-pogl { bottom: 0; }
.hlx-view--lista .card .hlx-pogl, .card .codes .hlx-pogl-k { display: none; }
.hlx-view--lista .card .codes .hlx-pogl-k { display: inline-block; align-self: center; padding: 0 7px; border: 1px solid var(--line); border-radius: 999px; background: var(--white); color: var(--muted); font-size: 11px; font-weight: 600; line-height: 17px; }
