/**
 * PhoenixB2B v2.1 — Sklep B2B / katalog / ulubione / listy / powiadomienia.
 *
 * Self-contained: działa zarówno samodzielnie na stronie motywu (gość),
 * jak i wewnątrz ciemnego panelu klienta (.phoenix-b2b-panel .pb2b-shop).
 */

/* === Lokalne tokeny (tryb jasny — strona publiczna / motyw) === */
.pb2b-shop {
	--s-bg: #ffffff;
	--s-bg-2: #f8fafc;
	--s-bg-3: #f1f5f9;
	--s-text: #0f172a;
	--s-text-soft: #334155;
	--s-muted: #64748b;
	--s-border: #e2e8f0;
	--s-border-strong: #cbd5e1;
	--s-primary: #7c3aed;
	--s-primary-ink: #ffffff;
	--s-success: #16a34a;
	--s-warning: #d97706;
	--s-danger: #dc2626;
	--s-radius: 12px;
	--s-radius-sm: 9px;
	--s-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
	--s-shadow-lg: 0 8px 24px rgba(15, 23, 42, 0.12);

	box-sizing: border-box;
	color: var(--s-text);
	font-size: 14px;
	line-height: 1.5;
}
.pb2b-shop *,
.pb2b-shop *::before,
.pb2b-shop *::after { box-sizing: border-box; }

/* === Tryb ciemny: gdy sklep jest osadzony w panelu === */
.phoenix-b2b-panel .pb2b-shop {
	--s-bg: var(--pb2b-bg-2);
	--s-bg-2: var(--pb2b-bg-3);
	--s-bg-3: var(--pb2b-bg-4);
	--s-text: var(--pb2b-text);
	--s-text-soft: var(--pb2b-text-soft);
	--s-muted: var(--pb2b-text-muted);
	--s-border: var(--pb2b-border);
	--s-border-strong: var(--pb2b-border-strong);
	--s-primary: var(--pb2b-primary);
	--s-success: var(--pb2b-success);
	--s-warning: var(--pb2b-warning);
	--s-danger: var(--pb2b-danger);
	--s-shadow: var(--pb2b-shadow-sm);
	--s-shadow-lg: var(--pb2b-shadow);
}

/* === Komunikaty / stany === */
.pb2b-shop-disabled,
.pb2b-shop-empty {
	text-align: center;
	padding: 48px 20px;
	color: var(--s-muted);
}
.pb2b-shop-empty-icon { display: inline-flex; color: var(--s-border-strong); margin-bottom: 8px; }
.pb2b-shop-empty p { margin: 0; }
.pb2b-shop-empty-sm { padding: 28px 16px; }
.pb2b-shop-loading { padding: 40px 20px; text-align: center; color: var(--s-muted); }

.pb2b-shop-note {
	display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
	background: var(--s-bg-2);
	border: 1px solid var(--s-border);
	border-radius: var(--s-radius-sm);
	padding: 10px 14px; margin-bottom: 16px;
	color: var(--s-text-soft); font-size: 13px;
}
.pb2b-shop-note-pending { border-color: var(--s-warning); }

/* === Toolbar === */
.pb2b-shop-toolbar {
	display: flex; flex-wrap: wrap; gap: 12px;
	align-items: center; justify-content: space-between;
	margin-bottom: 16px;
}
.pb2b-shop-search { display: flex; gap: 8px; flex: 1 1 280px; }
.pb2b-shop-search-input {
	flex: 1; min-width: 0;
	background: var(--s-bg); color: var(--s-text);
	border: 1px solid var(--s-border-strong);
	border-radius: var(--s-radius-sm);
	padding: 9px 12px; font-size: 14px;
}
.pb2b-shop-toolbar-right { display: flex; gap: 10px; align-items: center; }
.pb2b-shop-orderby,
.pb2b-shop-select,
.pb2b-shop-input {
	background: var(--s-bg); color: var(--s-text);
	border: 1px solid var(--s-border-strong);
	border-radius: var(--s-radius-sm);
	padding: 8px 10px; font-size: 13px; width: 100%;
}
.pb2b-shop-orderby { width: auto; }

.pb2b-shop-view-toggle { display: inline-flex; border: 1px solid var(--s-border-strong); border-radius: var(--s-radius-sm); overflow: hidden; }
.pb2b-shop-view-btn {
	display: inline-flex; align-items: center; justify-content: center;
	width: 38px; height: 36px; border: 0; cursor: pointer;
	background: var(--s-bg); color: var(--s-muted);
}
.pb2b-shop-view-btn + .pb2b-shop-view-btn { border-left: 1px solid var(--s-border); }
.pb2b-shop-view-btn.is-active { background: var(--s-primary); color: #fff; }

/* === Layout: filtry + wyniki === */
.pb2b-shop-layout { display: grid; grid-template-columns: 240px 1fr; gap: 20px; align-items: start; }
.pb2b-shop-filters {
	background: var(--s-bg-2);
	border: 1px solid var(--s-border);
	border-radius: var(--s-radius);
	padding: 14px; position: sticky; top: 12px;
}
.pb2b-shop-filters-head { display: flex; justify-content: space-between; align-items: center; font-weight: 600; margin-bottom: 10px; }
.pb2b-shop-filter { margin-bottom: 14px; }
.pb2b-shop-filter-label { display: block; font-size: 12px; font-weight: 600; color: var(--s-muted); margin-bottom: 5px; text-transform: uppercase; letter-spacing: .03em; }
.pb2b-shop-filter-range { display: flex; align-items: center; gap: 6px; }
.pb2b-shop-checks { display: flex; flex-direction: column; gap: 6px; max-height: 180px; overflow: auto; }
.pb2b-shop-check { display: flex; align-items: center; gap: 7px; font-size: 13px; color: var(--s-text-soft); cursor: pointer; }
.pb2b-shop-check input { margin: 0; }

.pb2b-shop-main { min-width: 0; }
.pb2b-shop-resultbar { margin-bottom: 12px; min-height: 18px; }
.pb2b-shop-count { color: var(--s-muted); font-size: 13px; }

/* === Siatka kafelkowa === */
.pb2b-shop-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; }
.pb2b-shop-grid-compact { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 12px; }
.pb2b-shop-card {
	display: flex; flex-direction: column;
	background: var(--s-bg);
	border: 1px solid var(--s-border);
	border-radius: var(--s-radius);
	overflow: hidden; box-shadow: var(--s-shadow);
	transition: box-shadow .15s, transform .15s;
}
.pb2b-shop-card:hover { box-shadow: var(--s-shadow-lg); transform: translateY(-2px); }
.pb2b-shop-card-media { display: block; aspect-ratio: 1 / 1; background: var(--s-bg-3); overflow: hidden; }
.pb2b-shop-card-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pb2b-shop-card-body { display: flex; flex-direction: column; gap: 6px; padding: 12px; flex: 1; }
.pb2b-shop-card-title { font-weight: 600; color: var(--s-text); text-decoration: none; line-height: 1.3; }
.pb2b-shop-card-title:hover { color: var(--s-primary); }
.pb2b-shop-card-sku { font-size: 12px; color: var(--s-muted); }
.pb2b-shop-card-sku span { color: var(--s-text-soft); }
.pb2b-shop-card-desc { font-size: 12.5px; color: var(--s-muted); }
.pb2b-shop-card-desc p { margin: 0; }
.pb2b-shop-card-price { margin-top: auto; font-weight: 700; color: var(--s-text); }
.pb2b-shop-card-meta { display: flex; flex-wrap: wrap; gap: 6px; }
.pb2b-shop-card-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 8px; }

/* === Badge / dostępność === */
.pb2b-shop-badge { display: inline-block; font-size: 11px; font-weight: 600; padding: 2px 7px; border-radius: 999px; background: var(--s-bg-3); color: var(--s-text-soft); }
.pb2b-shop-badge-success { background: rgba(22,163,74,.12); color: var(--s-success); }
.pb2b-shop-stock { font-size: 12px; font-weight: 600; }
.pb2b-shop-stock-in { color: var(--s-success); }
.pb2b-shop-stock-back { color: var(--s-warning); }
.pb2b-shop-stock-out { color: var(--s-danger); }
.pb2b-shop-price-na { color: var(--s-muted); font-style: italic; font-weight: 500; }

/* === CTA (gość / pending) === */
.pb2b-shop-cta { display: flex; flex-direction: column; gap: 8px; }
.pb2b-shop-cta-title { font-weight: 700; font-size: 15px; }
.pb2b-shop-cta-text { font-size: 13px; color: var(--s-muted); }
.pb2b-shop-cta-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.pb2b-shop-cta-pending .pb2b-shop-cta-text { color: var(--s-warning); font-weight: 600; }

/* === Przyciski === */
.pb2b-shop-btn {
	display: inline-flex; align-items: center; justify-content: center;
	gap: 6px; padding: 9px 14px; border-radius: var(--s-radius-sm);
	font-weight: 600; font-size: 13px; cursor: pointer; text-decoration: none;
	border: 1px solid transparent; line-height: 1; transition: filter .15s, background .15s;
}
.pb2b-shop-btn-sm { padding: 7px 11px; font-size: 12.5px; }
.pb2b-shop-btn-primary { background: var(--s-primary); color: var(--s-primary-ink); }
.pb2b-shop-btn-primary:hover { filter: brightness(1.08); color: #fff; }
.pb2b-shop-btn-ghost { background: transparent; color: var(--s-text-soft); border-color: var(--s-border-strong); }
.pb2b-shop-btn-ghost:hover { background: var(--s-bg-3); color: var(--s-text); }
.pb2b-shop-btn[disabled] { opacity: .55; cursor: not-allowed; }

.pb2b-shop-icon-btn {
	display: inline-flex; align-items: center; justify-content: center;
	width: 34px; height: 34px; border-radius: var(--s-radius-sm);
	background: var(--s-bg-3); border: 1px solid var(--s-border); color: var(--s-muted); cursor: pointer;
}
.pb2b-shop-icon-btn:hover { color: var(--s-text); }

/* === Ulubione (serce) === */
.pb2b-fav-toggle .pb2b-fav-heart { transition: transform .15s; }
.pb2b-fav-toggle { color: var(--s-muted); }
.pb2b-fav-toggle.is-fav { color: var(--s-danger); border-color: var(--s-danger); }
.pb2b-fav-toggle.is-fav .pb2b-fav-heart { transform: scale(1.05); }

/* === Tabela hurtowa === */
.pb2b-shop-table-wrap { overflow-x: auto; border: 1px solid var(--s-border); border-radius: var(--s-radius); }
.pb2b-shop-table { width: 100%; border-collapse: collapse; font-size: 13px; background: var(--s-bg); }
.pb2b-shop-table th, .pb2b-shop-table td { padding: 9px 10px; text-align: left; border-bottom: 1px solid var(--s-border); vertical-align: middle; }
.pb2b-shop-table thead th { background: var(--s-bg-2); color: var(--s-muted); font-size: 11.5px; text-transform: uppercase; letter-spacing: .03em; position: sticky; top: 0; }
.pb2b-shop-table tbody tr:hover { background: var(--s-bg-2); }
.pb2b-shop-table .pb2b-col-thumb { width: 52px; }
.pb2b-shop-table .pb2b-col-thumb img { width: 44px; height: 44px; object-fit: cover; border-radius: 6px; }
.pb2b-shop-tlink { color: var(--s-text); font-weight: 600; text-decoration: none; }
.pb2b-shop-tlink:hover { color: var(--s-primary); }
.pb2b-shop-qty { width: 74px; padding: 6px 8px; border: 1px solid var(--s-border-strong); border-radius: 7px; background: var(--s-bg); color: var(--s-text); font-size: 13px; }
.pb2b-shop-row-actions { display: flex; align-items: center; gap: 6px; }
.pb2b-list-select { max-width: 130px; padding: 6px 8px; border: 1px solid var(--s-border-strong); border-radius: 7px; background: var(--s-bg); color: var(--s-text); font-size: 12.5px; }

/* === Paginacja === */
.pb2b-shop-pagination { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; margin-top: 18px; }
.pb2b-shop-page {
	min-width: 36px; height: 36px; padding: 0 10px;
	display: inline-flex; align-items: center; justify-content: center;
	border: 1px solid var(--s-border-strong); border-radius: 8px;
	background: var(--s-bg); color: var(--s-text-soft); cursor: pointer; font-size: 13px;
}
.pb2b-shop-page:hover { background: var(--s-bg-3); }
.pb2b-shop-page.is-active { background: var(--s-primary); color: #fff; border-color: var(--s-primary); }
.pb2b-shop-page[disabled] { opacity: .4; cursor: default; }

/* === Toast === */
.pb2b-shop-toast {
	position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%) translateY(20px);
	background: #0f172a; color: #fff; padding: 12px 18px; border-radius: 10px;
	box-shadow: 0 10px 30px rgba(0,0,0,.3); z-index: 99999; opacity: 0;
	transition: opacity .2s, transform .2s; font-size: 13.5px; max-width: 90vw;
}
.pb2b-shop-toast.is-show { opacity: 1; transform: translateX(-50%) translateY(0); }
.pb2b-shop-toast.is-error { background: #b91c1c; }
.pb2b-shop-toast.is-success { background: #15803d; }

/* === Listy zakupowe === */
.pb2b-lists-head { display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; align-items: center; margin-bottom: 16px; }
.pb2b-lists-title { margin: 0; }
/* v2.12.10 (brief ETAP 3 #2) — pole nazwy listy WIĘKSZE i czytelne, przycisk
   KOMPAKTOWY i wyrównany; czyste zawijanie na mobile, min-width:0 = brak
   poziomego scrolla. Zakres: wyłącznie sekcja list (nie dotyka kafli/kart). */
.pb2b-lists-create { display: flex; flex-wrap: wrap; gap: 8px; flex: 1 1 360px; max-width: 560px; min-width: 0; align-items: center; }
.pb2b-lists-create .pb2b-shop-input { flex: 1 1 220px; min-width: 0; min-height: 40px; }
.pb2b-lists-create [data-pb2b-create-list] { flex: 0 0 auto; white-space: nowrap; }
.pb2b-lists-grid { display: grid; grid-template-columns: 1fr; gap: 16px; }
.pb2b-list-card-tools { display: flex; gap: 12px; }
.pb2b-list-table { width: 100%; }
.pb2b-list-card-foot { display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; align-items: center; padding: 12px 16px; border-top: 1px solid var(--s-border); }
.pb2b-list-value { font-size: 14px; }
.pb2b-link-danger { color: var(--s-danger) !important; }

/* === Bloki na stronie produktu (WooCommerce single) === */
.pb2b-product-block { margin: 16px 0; padding: 16px; border: 1px solid #e2e8f0; border-radius: 12px; background: #f8fafc; }
.pb2b-product-block .pb2b-product-label { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: #64748b; margin-bottom: 8px; }
.pb2b-product-grid { display: flex; flex-direction: column; gap: 10px; }
.pb2b-product-row { display: flex; flex-wrap: wrap; gap: 10px; align-items: baseline; }
.pb2b-product-price { font-size: 20px; font-weight: 800; color: #0f172a; }
.pb2b-product-discount { display: inline-flex; gap: 6px; flex-wrap: wrap; }
.pb2b-product-discount .pb2b-shop-badge { background: rgba(124,58,237,.1); color: #7c3aed; }
.pb2b-product-moq { display: flex; flex-wrap: wrap; gap: 6px; }
.pb2b-product-logistics { font-size: 13px; color: #475569; }
.pb2b-product-tiers { margin-top: 6px; }
.pb2b-tiers-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.pb2b-tiers-table th, .pb2b-tiers-table td { padding: 6px 10px; border: 1px solid #e2e8f0; text-align: left; }
.pb2b-tiers-table th { background: #eef2ff; }
.pb2b-product-docs-list { list-style: none; margin: 6px 0 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.pb2b-product-docs-list a { display: inline-flex; align-items: center; gap: 6px; color: #7c3aed; text-decoration: none; font-weight: 600; }
.pb2b-product-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin: 14px 0; }
.pb2b-list-add { display: inline-flex; align-items: center; gap: 6px; }

/* === Centrum powiadomień === */
.pb2b-notif-filters { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
.pb2b-notif-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.pb2b-notif {
	display: flex; gap: 12px; justify-content: space-between;
	padding: 12px 14px; border: 1px solid var(--pb2b-border, #e2e8f0);
	border-radius: 10px; background: var(--pb2b-bg-3, #f8fafc);
}
.pb2b-notif.is-unread { border-left: 3px solid var(--pb2b-primary, #7c3aed); }
.pb2b-notif.is-read { opacity: .72; }
.pb2b-notif-top { display: flex; gap: 10px; align-items: center; margin-bottom: 4px; }
.pb2b-notif-type { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; color: var(--pb2b-primary, #7c3aed); }
.pb2b-notif-date { font-size: 12px; color: var(--pb2b-text-muted, #64748b); }
.pb2b-notif-title { font-weight: 600; }
.pb2b-notif-body { font-size: 13px; color: var(--pb2b-text-soft, #475569); }
.pb2b-notif-actions { display: flex; flex-direction: column; gap: 6px; align-items: flex-end; white-space: nowrap; }

/* === Responsywność === */
@media (max-width: 880px) {
	.pb2b-shop-layout { grid-template-columns: 1fr; }
	.pb2b-shop-filters { position: static; }
}
@media (max-width: 600px) {
	.pb2b-shop-toolbar { flex-direction: column; align-items: stretch; }
	.pb2b-shop-toolbar-right { justify-content: space-between; }
	.pb2b-notif { flex-direction: column; }
	.pb2b-notif-actions { flex-direction: row; align-items: center; }
}

/* =====================================================================
 * PhoenixB2B v2.3 — karty premium, kategorie, mobilna szuflada filtrów.
 * Wszystko scope'owane do .pb2b-shop / .pb2b-cats — bez wpływu na motyw.
 * Publiczny sklep zawsze działa w trybie jasnym z header/footer motywu.
 * ===================================================================== */

/* ---- Toolbar: lepki na mobile + przycisk Filtry ---- */
.pb2b-shop-filter-toggle { display: none; }

/* ---- Karta premium ---- */
.pb2b-shop-grid { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 18px; }
.pb2b-shop-card {
	border-radius: 16px;
	border: 1px solid var(--s-border);
	background: var(--s-bg);
	box-shadow: 0 1px 2px rgba(15,23,42,.04);
	transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}
.pb2b-shop-card:hover {
	box-shadow: 0 16px 38px rgba(15,23,42,.14);
	transform: translateY(-4px);
	border-color: var(--s-border-strong);
}
.pb2b-shop-card-mediawrap { position: relative; }
.pb2b-shop-card-media { display: block; aspect-ratio: 1 / 1; background: var(--s-bg-3); overflow: hidden; }
.pb2b-shop-card-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s ease; }
.pb2b-shop-card:hover .pb2b-shop-card-media img { transform: scale(1.045); }

/* Badge promocja / bestseller / nowość (nakładka). */
.pb2b-shop-badges { position: absolute; top: 10px; left: 10px; display: flex; flex-direction: column; gap: 6px; z-index: 2; }
.pb2b-shop-flag {
	display: inline-flex; align-items: center;
	font-size: 11px; font-weight: 700; letter-spacing: .02em;
	padding: 4px 9px; border-radius: 999px; color: #fff;
	box-shadow: 0 2px 6px rgba(15,23,42,.18); line-height: 1;
}
.pb2b-shop-flag-sale       { background: linear-gradient(135deg, #ef4444, #dc2626); }
.pb2b-shop-flag-bestseller { background: linear-gradient(135deg, #f59e0b, #d97706); }
.pb2b-shop-flag-new        { background: linear-gradient(135deg, #7c3aed, #6d28d9); }

/* Serce ulubionych (nakładka prawy-górny róg). */
.pb2b-shop-fav {
	position: absolute; top: 10px; right: 10px; z-index: 2;
	width: 38px; height: 38px; border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center;
	background: rgba(255,255,255,.92); color: #94a3b8;
	border: 1px solid var(--s-border); cursor: pointer;
	box-shadow: 0 2px 8px rgba(15,23,42,.12);
	transition: transform .15s ease, color .15s ease, background .15s ease;
	-webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
}
.pb2b-shop-fav:hover { transform: scale(1.08); color: #ef4444; }
.pb2b-shop-fav.is-fav { color: #ef4444; background: #fff; border-color: #fecaca; }

/* Badge dostępności (nakładka dolny-lewy róg). */
.pb2b-shop-card-stockbadge { position: absolute; bottom: 10px; left: 10px; z-index: 2; }
.pb2b-shop-card-stockbadge .pb2b-shop-stock {
	display: inline-flex; align-items: center;
	font-size: 11.5px; font-weight: 700; padding: 4px 9px; border-radius: 999px;
	background: rgba(255,255,255,.94); box-shadow: 0 2px 6px rgba(15,23,42,.12);
	-webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
}

/* Body karty. */
.pb2b-shop-card-body { padding: 14px; gap: 7px; }
.pb2b-shop-card-sku { font-size: 11px; text-transform: uppercase; letter-spacing: .04em; color: var(--s-muted); }
.pb2b-shop-card-title {
	font-weight: 700; font-size: 14.5px; line-height: 1.35; color: var(--s-text); min-height: 2.7em;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.pb2b-shop-card-desc { font-size: 12.5px; color: var(--s-muted); line-height: 1.45; }
.pb2b-shop-card-price { margin-top: auto; font-weight: 800; font-size: 16px; color: var(--s-text); line-height: 1.3; }
.pb2b-shop-card-price .phoenix-b2b-price { display: flex; flex-direction: column; gap: 1px; }
.pb2b-shop-card-price .phoenix-b2b-price-label { font-size: 10.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--s-muted); }
.pb2b-shop-card-price .phoenix-b2b-price-net { font-size: 17px; font-weight: 800; color: var(--s-text); }
.pb2b-shop-card-price .phoenix-b2b-price-sep { display: none; }
.pb2b-shop-card-price .phoenix-b2b-price-gross { font-size: 12.5px; font-weight: 600; color: var(--s-muted); }
.pb2b-shop-card-price .phoenix-b2b-price-suffix { font-size: 10.5px; font-weight: 600; color: var(--s-muted); margin-left: 2px; }
.pb2b-shop-card-price .phoenix-b2b-price-vat { font-size: 11px; color: var(--s-muted); font-weight: 500; }
.pb2b-shop-card-actions { margin-top: 10px; }
.pb2b-shop-btn-cart { width: 100%; padding: 11px 14px; font-size: 13.5px; border-radius: 11px; }

/* CTA gościa wewnątrz karty (zamiast ceny). */
.pb2b-shop-card .pb2b-shop-cta { gap: 6px; }
.pb2b-shop-card .pb2b-shop-cta-text { font-weight: 600; color: var(--s-text-soft); font-size: 12.5px; }
.pb2b-shop-card .pb2b-shop-cta-actions { flex-direction: column; gap: 6px; }
.pb2b-shop-card .pb2b-shop-cta-actions .pb2b-shop-btn { width: 100%; }

/* ---- Kategorie B2B [phoenix_b2b_categories] ---- */
.pb2b-cats {
	--c-bg: #ffffff; --c-bg-2: #f1f5f9; --c-text: #0f172a; --c-muted: #64748b;
	--c-border: #e2e8f0; --c-primary: #7c3aed;
	color: var(--c-text); font-size: 14px;
}
.pb2b-cats *, .pb2b-cats *::before, .pb2b-cats *::after { box-sizing: border-box; }
.pb2b-cats-grid {
	display: grid;
	grid-template-columns: repeat(var(--pb2b-cats-cols, 4), minmax(0, 1fr));
	gap: 18px;
}
.pb2b-cat-card {
	display: flex; flex-direction: column; overflow: hidden;
	border: 1px solid var(--c-border); border-radius: 16px;
	background: var(--c-bg); text-decoration: none; color: var(--c-text);
	box-shadow: 0 1px 2px rgba(15,23,42,.04);
	transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}
.pb2b-cat-card:hover { box-shadow: 0 16px 38px rgba(15,23,42,.14); transform: translateY(-4px); border-color: #cbd5e1; }
.pb2b-cat-card-media {
	position: relative; height: 150px; background: var(--c-bg-2);
	background-size: cover; background-position: center;
	display: flex; align-items: center; justify-content: center; color: #cbd5e1;
}
.pb2b-cat-card-media.has-image::after {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(15,23,42,0) 40%, rgba(15,23,42,.45) 100%);
}
.pb2b-cat-card-count {
	position: absolute; bottom: 10px; left: 10px; z-index: 2;
	font-size: 11.5px; font-weight: 700; color: #fff;
	background: rgba(15,23,42,.62); padding: 4px 10px; border-radius: 999px;
	-webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px);
}
.pb2b-cat-card-media.is-empty .pb2b-cat-card-count { color: #fff; background: rgba(124,58,237,.85); }
.pb2b-cat-card-body { padding: 14px 16px; display: flex; flex-direction: column; gap: 6px; }
.pb2b-cat-card-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.pb2b-cat-card-name { font-weight: 700; font-size: 15px; color: var(--c-text); }
.pb2b-cat-card-arrow { color: var(--c-muted); display: inline-flex; transition: transform .2s ease, color .2s ease; flex: 0 0 auto; }
.pb2b-cat-card:hover .pb2b-cat-card-arrow { transform: translateX(4px); color: var(--c-primary); }
.pb2b-cat-card-desc { font-size: 12.5px; color: var(--c-muted); line-height: 1.5; }

/* ---- Mobilna szuflada filtrów + responsywność ---- */
body.pb2b-shop-noscroll { overflow: hidden; }
.pb2b-shop-filters-close { display: none; background: none; border: 0; color: var(--s-muted); cursor: pointer; padding: 2px; margin-left: auto; }
.pb2b-shop-filters-apply { display: none; }
.pb2b-shop-filters-overlay { display: none; }

@media (max-width: 900px) {
	.pb2b-shop-layout { grid-template-columns: 1fr; }

	/* Lepki pasek wyszukiwarki + filtrów na mobile. */
	.pb2b-shop-toolbar {
		position: sticky; top: 0; z-index: 50;
		background: var(--s-bg); padding: 10px 0; margin: 0 0 14px;
		border-bottom: 1px solid var(--s-border);
	}
	.pb2b-shop-filter-toggle { display: inline-flex; }

	/* Szuflada filtrów. */
	.pb2b-shop-filters-overlay { display: block; position: fixed; inset: 0; background: rgba(15,23,42,.5); z-index: 9998; }
	.pb2b-shop-filters-overlay[hidden] { display: none; }
	.pb2b-shop-filters {
		position: fixed; top: 0; left: 0; bottom: 0; z-index: 9999;
		width: min(88vw, 360px); margin: 0; border-radius: 0;
		transform: translateX(-100%); transition: transform .25s ease;
		overflow-y: auto; box-shadow: 0 0 40px rgba(15,23,42,.3);
		display: flex; flex-direction: column;
	}
	.pb2b-filters-open .pb2b-shop-filters { transform: translateX(0); }
	.pb2b-shop-filters-close { display: inline-flex; }
	.pb2b-shop-filters-apply { display: block; position: sticky; bottom: 0; background: var(--s-bg-2); padding: 12px 0 2px; margin-top: 10px; }
	.pb2b-shop-filters-apply .pb2b-shop-btn { width: 100%; }
	.pb2b-shop-checks { max-height: none; }

	.pb2b-cats-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
}

@media (max-width: 640px) {
	.pb2b-shop-toolbar-right { display: flex; gap: 8px; align-items: center; }
	.pb2b-shop-search { flex-basis: 100%; }
	.pb2b-shop-grid:not(.pb2b-card-grid) { grid-template-columns: 1fr; gap: 14px; }
	.pb2b-shop-card { flex-direction: row; }
	.pb2b-shop-card-mediawrap { flex: 0 0 132px; }
	.pb2b-shop-card-media { aspect-ratio: 1 / 1; height: 100%; }
	.pb2b-shop-card-title { min-height: 0; }
	.pb2b-shop-card-body { flex: 1; }
	.pb2b-shop-btn { width: 100%; }
	.pb2b-shop-orderby { flex: 1; }
	.pb2b-cats-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
	.pb2b-shop-pagination .pb2b-shop-page { min-width: 40px; height: 40px; }
}

@media (max-width: 400px) {
	.pb2b-shop-card { flex-direction: column; }
	.pb2b-shop-card-mediawrap { flex-basis: auto; }
	.pb2b-cats-grid { grid-template-columns: 1fr; }
}

/* PhoenixB2B v2.8 — etykieta promocji na kafelku katalogu B2B. */
.pb2b-promo-ribbon {
	position: absolute;
	top: 8px;
	left: 8px;
	z-index: 3;
	display: inline-block;
	padding: 3px 10px;
	border-radius: 999px;
	background: #dc2626;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .02em;
	box-shadow: 0 2px 6px rgba(220,38,38,.35);
}
li.product { position: relative; }

/* =====================================================================
 * PhoenixB2B v2.8.4 — UPGRADE WIZUALNY „premium marketplace B2B".
 * Wszystko scope'owane do `.pb2b-shop`. Reguły dopisane na końcu pliku,
 * więc nadpisują wcześniejsze (równa specyficzność → wygrywa późniejsze).
 * Tryb panelu klienta (.phoenix-b2b-panel .pb2b-shop) jest celowo RESETOWANY,
 * aby osadzony sklep w panelu pozostał bez zmian.
 * ===================================================================== */

/* ---- Zadanie 1 + 2: shell (pełna szerokość, jasne tło) + container ---- */
/* Sekcja sklepu — tło na CAŁĄ szerokość, bez wąskiego szarego boxa. */
.pb2b-shop-shell {
	box-sizing: border-box;
	width: 100%;
	background: #ffffff;          /* 2.11.28 — czyste białe tło publicznego sklepu (spójnie z podstroną produktu/kategorii, bez szarych marginesów). Kafelki zachowują definicję dzięki cieniom. */
	/* v2.8.9 — większy oddech góra/dół (desktop), aby sekcja nie kleiła się
	 * do headera. To zarazem bezpieczny offset pod sticky header — TYLKO na
	 * stronach B2B (klasa scope'owana do shella). */
	padding-top: 76px;
	padding-bottom: 80px;
}
.pb2b-shop-shell *,
.pb2b-shop-shell *::before,
.pb2b-shop-shell *::after { box-sizing: border-box; }

/* Kontener treści — wyśrodkowany, max 1500px, padding tylko boczny
 * (pion przejął shell powyżej, żeby uniknąć podwójnego odstępu). */
.pb2b-shop-container {
	width: 100%;
	max-width: 1500px;            /* Task 1 */
	margin: 0 auto;               /* Task 1 — wyśrodkowanie */
	padding: 0 24px;              /* v2.8.9 — tylko boki; pion = shell */
}

/* Wewnętrzny .pb2b-shop NIE jest już osobnym boxem — pełna szerokość kontenera,
 * bez własnego tła/marginesu/paddingu (przejął je shell + container). */
.pb2b-shop {
	max-width: none;
	width: 100%;
	margin: 0;
	padding: 0;
	background: transparent;
}

/* Reset w panelu klienta — nie ruszamy osadzonego sklepu (panel ma własny layout). */
.phoenix-b2b-panel .pb2b-shop-shell { background: transparent; padding: 0; }
.phoenix-b2b-panel .pb2b-shop-container { max-width: none; margin: 0; padding: 0; }

/* v2.8.9 — oddech góra/dół dla stron Kategorie B2B / pojedyncza kategoria B2B,
 * tak aby nie kleiły się do headera (spójnie ze Sklepem B2B). Reset w panelu. */
.pb2b-category,
.pb2b-cats {
	padding-top: 40px;
	padding-bottom: 56px;
}
.phoenix-b2b-panel .pb2b-category,
.phoenix-b2b-panel .pb2b-cats { padding-top: 0; padding-bottom: 0; }
@media (max-width: 900px) {
	.pb2b-category, .pb2b-cats { padding-top: 30px; padding-bottom: 44px; }
}
@media (max-width: 600px) {
	.pb2b-category, .pb2b-cats { padding-top: 22px; padding-bottom: 38px; }
}
.phoenix-b2b-panel .pb2b-shop {
	max-width: none;
	margin: 0;
	padding: 0;
	background: transparent;
}
.phoenix-b2b-panel .pb2b-shop-head { display: none; } /* panel ma własny nagłówek sekcji */

/* ---- Zadanie 2: pojedynczy, dobrze wystylowany nagłówek ---- */
.pb2b-shop-head { margin-bottom: 24px; }
.pb2b-shop-title {
	margin: 0;
	font-size: 36px;             /* Task 2 — desktop 34–38px */
	font-weight: 800;
	letter-spacing: -.02em;
	line-height: 1.1;
	color: #111827;              /* Task 2 */
}

.pb2b-shop .pb2b-shop-toolbar {
	gap: 14px;
	align-items: center;
	margin-bottom: 18px;
}
.pb2b-shop .pb2b-shop-toolbar-right { gap: 10px; align-items: center; }

/* Wyszukiwarka premium (ikona lupy + miękki focus). */
.pb2b-shop .pb2b-shop-search { gap: 8px; flex: 1 1 340px; }
.pb2b-shop .pb2b-shop-search-input {
	height: 44px;
	border: 1px solid #e8e8ef;
	border-radius: 14px;
	padding: 0 14px 0 42px;
	font-size: 14px;
	color: #16161d;
	background-color: #fff;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239a9aab' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4.3-4.3'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: left 14px center;
	background-size: 18px 18px;
	box-shadow: 0 1px 2px rgba(22, 22, 29, .04);
	transition: border-color .15s ease, box-shadow .15s ease;
}
.pb2b-shop .pb2b-shop-search-input::placeholder { color: #9a9aab; }
.pb2b-shop .pb2b-shop-search-input:focus {
	outline: none;
	border-color: #7c3aed;
	box-shadow: 0 0 0 3px rgba(124, 58, 237, .14);
}
.pb2b-shop .pb2b-shop-search .pb2b-shop-btn {
	height: 46px;                /* Task 3 */
	padding: 0 20px;
	border: 0;
	border-radius: 15px;         /* Task 3 — 14–16px */
	font-size: 14px;
	font-weight: 700;
	color: #fff;                 /* Task 3 — biały tekst */
	background: linear-gradient(135deg, #7c3aed, #6d28d9); /* Task 3 — gradient purple */
	box-shadow: 0 6px 16px rgba(109, 40, 217, .26);
	transition: box-shadow .18s ease, transform .12s ease, filter .18s ease;
}
.pb2b-shop .pb2b-shop-search .pb2b-shop-btn:hover {
	box-shadow: 0 10px 22px rgba(109, 40, 217, .34);
	transform: translateY(-1px);
	color: #fff;
}
.pb2b-shop .pb2b-shop-search .pb2b-shop-btn:active { transform: translateY(0); }

/* Sortowanie + przyciski toolbaru — równa wysokość 44px, spójny radius. */
.pb2b-shop .pb2b-shop-orderby {
	height: 44px;
	border: 1px solid #e8e8ef;
	border-radius: 14px;
	padding: 0 36px 0 14px;
	font-size: 13.5px;
	color: #16161d;
	background-color: #fff;
	-webkit-appearance: none;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b6b7b' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	background-size: 14px 14px;
	cursor: pointer;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.pb2b-shop .pb2b-shop-orderby:focus {
	outline: none;
	border-color: #7c3aed;
	box-shadow: 0 0 0 3px rgba(124, 58, 237, .14);
}
.pb2b-shop .pb2b-shop-filter-toggle {
	height: 44px;
	border-radius: 14px;
	border: 1px solid #e8e8ef;
	padding: 0 16px;
	font-weight: 700;
}
.pb2b-shop .pb2b-shop-view-toggle {
	height: 44px;
	border: 1px solid #e8e8ef;
	border-radius: 14px;
}
.pb2b-shop .pb2b-shop-view-btn { height: 42px; width: 44px; }
.pb2b-shop .pb2b-shop-view-btn.is-active {
	background: linear-gradient(135deg, #7c3aed, #6d28d9);
}

/* Liczba produktów — subtelna. */
.pb2b-shop .pb2b-shop-resultbar { margin-bottom: 16px; }
.pb2b-shop .pb2b-shop-count { color: #6b6b7b; font-size: 13px; font-weight: 500; }

/* ---- Zadanie 4: panel filtrów premium ---- */
.pb2b-shop .pb2b-shop-layout { grid-template-columns: 260px 1fr; gap: 26px; } /* Task 2 — sidebar ~250–270px, reszta na produkty */
.pb2b-shop .pb2b-shop-filters {
	background: #fff;
	border: 1px solid #e8e8ef;
	border-radius: 20px;
	padding: 20px;
	box-shadow: 0 1px 2px rgba(22, 22, 29, .04), 0 10px 28px rgba(22, 22, 29, .05);
}
.pb2b-shop .pb2b-shop-filters-head {
	font-size: 15px;
	font-weight: 800;
	color: #16161d;
	margin-bottom: 16px;
	padding-bottom: 14px;
	border-bottom: 1px solid #f0f0f5;
}
.pb2b-shop .pb2b-shop-filter { margin-bottom: 18px; }
.pb2b-shop .pb2b-shop-filter-label {
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: .04em;
	color: #6b6b7b;
	margin-bottom: 8px;
}
.pb2b-shop .pb2b-shop-select,
.pb2b-shop .pb2b-shop-input {
	border: 1px solid #e8e8ef;
	border-radius: 12px;
	padding: 10px 12px;
	font-size: 13.5px;
	background-color: #fff;
	color: #16161d;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.pb2b-shop .pb2b-shop-select:focus,
.pb2b-shop .pb2b-shop-input:focus {
	outline: none;
	border-color: #7c3aed;
	box-shadow: 0 0 0 3px rgba(124, 58, 237, .14);
}
.pb2b-shop .pb2b-shop-checks { gap: 4px; }
.pb2b-shop .pb2b-shop-check {
	gap: 10px;
	font-size: 13.5px;
	color: #3a3a48;
	padding: 5px 0;
	line-height: 1.3;
}
.pb2b-shop .pb2b-shop-check input[type="checkbox"] {
	width: 17px;
	height: 17px;
	accent-color: #7c3aed;
	cursor: pointer;
	flex: 0 0 auto;
}

/* Przycisk „Wyczyść" — estetyczny pill. */
.pb2b-shop .pb2b-shop-filters-head [data-pb2b-reset] {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin-left: auto;
	padding: 6px 13px;
	border: 0;
	border-radius: 999px;
	font-size: 12.5px;
	font-weight: 700;
	color: #7c3aed;
	background: rgba(124, 58, 237, .08);
	cursor: pointer;
	transition: background .15s ease;
}
.pb2b-shop .pb2b-shop-filters-head [data-pb2b-reset]:hover { background: rgba(124, 58, 237, .16); }

/* Sticky tylko na desktopie (poniżej 900px filtry to szuflada — bez sticky). */
@media (min-width: 901px) {
	.pb2b-shop .pb2b-shop-filters {
		position: sticky;
		top: 16px;
		align-self: start;
	}
}

/* ---- Zadanie 7: paginacja ---- */
.pb2b-shop .pb2b-shop-pagination {
	gap: 8px;
	margin-top: 36px;
}
.pb2b-shop .pb2b-shop-page {
	min-width: 44px;
	height: 44px;
	padding: 0 13px;
	border: 1px solid #e8e8ef;
	border-radius: 12px;
	background: #fff;
	color: #3a3a48;
	font-size: 14px;
	font-weight: 600;
	transition: background .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease;
}
.pb2b-shop .pb2b-shop-page:hover { background: #faf9ff; border-color: #7c3aed; color: #7c3aed; }
.pb2b-shop .pb2b-shop-page.is-active {
	background: linear-gradient(135deg, #7c3aed, #6d28d9);
	color: #fff;
	border-color: transparent;
	box-shadow: 0 4px 12px rgba(109, 40, 217, .28);
}
.pb2b-shop .pb2b-shop-page[disabled] { opacity: .4; cursor: default; }

/* ---- v2.10.2 — przełącznik widoku (kafelki / lista) jest GOTOWY i WŁĄCZONY.
 * Usunięto starą regułę z „Zadania 3" (`display:none !important`), która chowała
 * go w obu kontekstach (sklep publiczny i panel — `.pb2b-shop` pasuje w obu),
 * przez co przełącznik w ogóle nie był widoczny mimo działającej logiki JS.
 * Style przełącznika: shop.css (standalone) + panel-v3-12.css (panel). */

/* ---- Responsywność kontenera + toolbaru ---- */
@media (max-width: 900px) {
	.pb2b-shop-shell { padding-top: 56px; padding-bottom: 60px; } /* v2.8.9 — tablet */
	.pb2b-shop-container { padding: 0 20px; }                     /* tablet — tylko boki */
	.pb2b-shop .pb2b-shop-layout { gap: 0; }
	/* Szuflada filtrów na mobile — przywróć pełną szerokość/brak zaokrągleń. */
	.pb2b-shop .pb2b-shop-filters {
		border-radius: 0;
		box-shadow: 0 0 40px rgba(22, 22, 29, .3);
	}
}
@media (max-width: 700px) {
	.pb2b-shop .pb2b-shop-toolbar { flex-direction: column; align-items: stretch; } /* mobile: jedna kolumna */
	.pb2b-shop .pb2b-shop-toolbar-right { justify-content: space-between; }
	.pb2b-shop .pb2b-shop-search { flex-basis: auto; }
	.pb2b-shop .pb2b-shop-title { font-size: 26px; }
}
@media (max-width: 600px) {
	.pb2b-shop-shell { padding-top: 36px; padding-bottom: 50px; } /* v2.8.9 — mobile */
	.pb2b-shop-container { padding: 0 14px; }                     /* mobile — tylko boki */
}

/* ==========================================================
 * v2.8.20 — WYSZUKIWARKA / TOOLBAR SKLEPU: czytelne pod mobile.
 * Naprawia zgłoszony „wielki pasek Szukaj, małe pole": input pełnej
 * szerokości i wysoki (50px, font 16px = brak auto-zoomu iOS), przycisk
 * „Szukaj" pełnej szerokości pod spodem, sort/filtry w osobnym rzędzie.
 * Blok na końcu pliku → wygrywa nad wcześniejszymi @media 600/640/900.
 * ========================================================== */
@media (max-width: 767px) {
	.pb2b-shop .pb2b-shop-toolbar,
	.pb2b-shop-toolbar { flex-direction: column; align-items: stretch; gap: 10px; }

	.pb2b-shop .pb2b-shop-search,
	.pb2b-shop-search { flex: 1 1 100%; width: 100%; flex-wrap: wrap; gap: 8px; }

	.pb2b-shop .pb2b-shop-search-input,
	.pb2b-shop-search-input {
		flex: 1 1 100%; width: 100%;
		height: 50px; min-height: 50px;
		font-size: 16px;
	}
	.pb2b-shop .pb2b-shop-search .pb2b-shop-btn,
	.pb2b-shop-search .pb2b-shop-btn {
		flex: 1 1 100%; width: 100%;
		height: 46px; min-height: 46px;
		justify-content: center;
	}

	.pb2b-shop-toolbar-right { width: 100%; display: flex; gap: 8px; align-items: stretch; }
	.pb2b-shop-toolbar-right > * { flex: 1 1 auto; }
	.pb2b-shop-orderby,
	.pb2b-shop-filter-toggle { width: 100%; min-height: 44px; font-size: 15px; }
	.pb2b-shop-view-toggle { flex: 0 0 auto; }
}

/* ======================================================================
 * v2.10.8 — QC FIX: UKRYJ FLOATY MOTYWU NA STRONIE /sklep (standalone B2B).
 * ----------------------------------------------------------------------
 * Panel chowa strzałkę „do góry" i floating koszyk motywu przez gate
 * `body.phoenix-b2b-app-page`. Strona /sklep (przejęta przez
 * Phoenix_B2B_Shop_Page) NIE ma tej klasy — ma `pb2b-b2b-shop-page`.
 * Tu chowamy te same elementy WYŁĄCZNIE na stronie sklepu B2B (zakres
 * ścisły: nie rusza reszty motywu/innych stron). Sklep B2B ma własny
 * cartbar/koszyk w UI, więc floaty motywu są zbędne i zasłaniają produkty.
 * ====================================================================== */
body.pb2b-b2b-shop-page #site-scroll-top,
body.pb2b-b2b-shop-page .site-scroll-top,
body.pb2b-b2b-shop-page .go-top,
body.pb2b-b2b-shop-page .gotop,
body.pb2b-b2b-shop-page #gotop,
body.pb2b-b2b-shop-page .scroll-up,
body.pb2b-b2b-shop-page .scroll-up-btn,
body.pb2b-b2b-shop-page .scrollup,
body.pb2b-b2b-shop-page #scrollup,
body.pb2b-b2b-shop-page #scrollUp,
body.pb2b-b2b-shop-page .scroll-to-top,
body.pb2b-b2b-shop-page .scroll-to-top-button,
body.pb2b-b2b-shop-page .back-to-top,
body.pb2b-b2b-shop-page .totop,
body.pb2b-b2b-shop-page #totop-btn,
body.pb2b-b2b-shop-page .woodmart-scroll-top,
body.pb2b-b2b-shop-page .mfn-back-top,
body.pb2b-b2b-shop-page .x-to-top,
body.pb2b-b2b-shop-page [class*="scroll-up"],
body.pb2b-b2b-shop-page [class*="scrollup"],
body.pb2b-b2b-shop-page [class*="go-top"],
body.pb2b-b2b-shop-page [class*="to-top"],
body.pb2b-b2b-shop-page [class*="back-top"],
body.pb2b-b2b-shop-page [id*="scrollup"],
body.pb2b-b2b-shop-page [id*="scroll-up"],
body.pb2b-b2b-shop-page [id*="totop"],
body.pb2b-b2b-shop-page [aria-label="Scroll to top" i],
body.pb2b-b2b-shop-page [aria-label="Back to top" i],
body.pb2b-b2b-shop-page [aria-label="Do góry" i],
body.pb2b-b2b-shop-page [aria-label="Przewiń do góry" i],
body.pb2b-b2b-shop-page [aria-label="Na górę" i],
body.pb2b-b2b-shop-page [title="Scroll to top" i],
body.pb2b-b2b-shop-page [title="Do góry" i],
/* Floating koszyk / widżety motywu (popularne warianty). */
body.pb2b-b2b-shop-page .floating-cart,
body.pb2b-b2b-shop-page .float-cart,
body.pb2b-b2b-shop-page .cart-floating,
body.pb2b-b2b-shop-page .sticky-cart,
body.pb2b-b2b-shop-page .woodmart-sticky-cart,
body.pb2b-b2b-shop-page .xoo-wsc-modal,
body.pb2b-b2b-shop-page .xoo-wsc-cart-trigger,
body.pb2b-b2b-shop-page [class*="floating-cart"],
body.pb2b-b2b-shop-page [class*="float-cart"],
body.pb2b-b2b-shop-page [class*="sticky-add-to-cart"],
body.pb2b-b2b-shop-page [id*="floating-cart"] {
	display: none !important;
	visibility: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}
