/* v2.9.4 PANEL V3.4 SECTIONS UX FINAL — patrz panel-v3-4.css (ostatnia warstwa). */
/* v2.9.1 V3.1 FINAL HEADER CART CHECKOUT HOTFIX */
/**
 * PhoenixB2B — PANEL KLIENTA V3.1 — finalna, KONKRETNA warstwa naprawcza.
 *
 * Ładowana JAKO OSTATNIA, PO panel-v3.css → wygrywa w kaskadzie przy równej
 * specyficzności (bez wojny !important). Zakres ściśle `.phoenix-b2b-panel`.
 * Wszystkie kolory/tła/obramowania z tokenów (panel-v3-tokens.css) → light i
 * dark „za darmo". Naprawia konkretne błędy ze screenów po 2.9.0:
 *   1) profil „Moje konto" zamiast dużego okrągłego „B2B",
 *   2) widoczny przycisk X zamknięcia menu (+ fallback ::before),
 *   3) koszyk w headerze: ilość + kwota (PC i mobile),
 *   4) karta koszyka mobile (koniec pionowego „WARTOŚĆ", remove widoczny),
 *   5) sekcja Zamówienie: czytelna lista problemów / panelowy blok błędów,
 *   6) light/dark dla wszystkich powyższych.
 */

/* =========================================================================
 * 1) HEADER — PROFIL „MOJE KONTO" (avatar + dropdown). Zastępuje badge „B2B".
 * ========================================================================= */
.phoenix-b2b-panel .pb2b-account { position: relative; flex: 0 0 auto; }

.phoenix-b2b-panel .pb2b-account-toggle {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 4px 6px;
	background: transparent;
	border: 1px solid transparent;
	border-radius: 999px;
	cursor: pointer;
	color: var(--pb2b-text);
	transition: background .15s ease, border-color .15s ease;
}
.phoenix-b2b-panel .pb2b-account-toggle:hover { background: var(--pb2b-bg-3); border-color: var(--pb2b-border); }
.phoenix-b2b-panel .pb2b-account-toggle:focus-visible { outline: none; box-shadow: var(--pb2b-shadow-focus); }

/* Avatar — kompaktowy (NIE wielkie koło). Gradient marki + biały inicjał. */
.phoenix-b2b-panel .pb2b-user-avatar {
	width: 38px;
	height: 38px;
	flex: 0 0 38px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--pb2b-accent-grad);
	color: #fff;
	font-weight: 700;
	font-size: 14px;
	letter-spacing: .2px;
	line-height: 1;
	text-transform: uppercase;
	box-shadow: 0 4px 12px rgba(124, 58, 237, 0.28);
}

.phoenix-b2b-panel .pb2b-account-id {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	line-height: 1.15;
	text-align: left;
}
.phoenix-b2b-panel .pb2b-account-id .pb2b-greeting { font-size: 11px; color: var(--pb2b-text-muted); }
.phoenix-b2b-panel .pb2b-account-id .pb2b-greeting-name { font-size: 13px; font-weight: 700; color: var(--pb2b-text); max-width: 160px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.phoenix-b2b-panel .pb2b-account-caret { color: var(--pb2b-text-muted); transition: transform .18s ease; flex: 0 0 auto; }
.phoenix-b2b-panel .pb2b-account.is-open .pb2b-account-caret { transform: rotate(180deg); }

/* Dropdown */
.phoenix-b2b-panel .pb2b-account-menu {
	position: absolute;
	top: calc(100% + 10px);
	right: 0;
	z-index: 1000;
	min-width: 264px;
	max-width: calc(100vw - 24px);
	padding: 10px;
	background: var(--pb2b-bg-2);
	border: 1px solid var(--pb2b-border);
	border-radius: var(--pb2b-radius);
	box-shadow: var(--pb2b-shadow-lg);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-6px);
	transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
}
.phoenix-b2b-panel .pb2b-account.is-open .pb2b-account-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.phoenix-b2b-panel .pb2b-account-head {
	display: flex;
	gap: 12px;
	align-items: center;
	padding: 8px 8px 12px;
	border-bottom: 1px solid var(--pb2b-border);
	margin-bottom: 8px;
}
.phoenix-b2b-panel .pb2b-account-avatar-lg {
	width: 44px; height: 44px; flex: 0 0 44px;
	border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--pb2b-accent-grad); color: #fff; font-weight: 700; font-size: 16px; text-transform: uppercase;
}
.phoenix-b2b-panel .pb2b-account-head-text { display: flex; flex-direction: column; min-width: 0; gap: 2px; }
.phoenix-b2b-panel .pb2b-account-head-name { font-size: 14px; color: var(--pb2b-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.phoenix-b2b-panel .pb2b-account-head-company { font-size: 12px; color: var(--pb2b-text-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.phoenix-b2b-panel .pb2b-account-status { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; color: var(--pb2b-success-ink); font-weight: 600; margin-top: 2px; }
.phoenix-b2b-panel .pb2b-account-status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--pb2b-success); box-shadow: 0 0 0 3px var(--pb2b-success-soft); }

.phoenix-b2b-panel .pb2b-account-links { display: flex; flex-direction: column; }
.phoenix-b2b-panel .pb2b-account-link {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 10px;
	border-radius: var(--pb2b-radius-sm);
	color: var(--pb2b-text-soft);
	text-decoration: none;
	font-size: 14px;
	transition: background .12s ease, color .12s ease;
}
.phoenix-b2b-panel .pb2b-account-link:hover { background: var(--pb2b-bg-3); color: var(--pb2b-text); }
.phoenix-b2b-panel .pb2b-account-link-ico { width: 18px; height: 18px; display: inline-flex; color: var(--pb2b-text-muted); flex: 0 0 18px; }
.phoenix-b2b-panel .pb2b-account-link-ico svg { width: 18px; height: 18px; }
.phoenix-b2b-panel .pb2b-account-link:hover .pb2b-account-link-ico { color: var(--pb2b-primary); }
.phoenix-b2b-panel .pb2b-account-logout { margin-top: 6px; border-top: 1px solid var(--pb2b-border); padding-top: 12px; color: var(--pb2b-danger); }
.phoenix-b2b-panel .pb2b-account-logout .pb2b-account-link-ico { color: var(--pb2b-danger); }
.phoenix-b2b-panel .pb2b-account-logout:hover { background: var(--pb2b-danger-soft); color: var(--pb2b-danger); }

/* =========================================================================
 * 2) SIDEBAR — PRZYCISK ZAMKNIĘCIA (widoczny X + fallback). Drawer = mobile.
 * ========================================================================= */
.phoenix-b2b-panel .pb2b-sidebar-close {
	width: 42px;
	height: 42px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border-radius: 14px;
	background: var(--pb2b-bg-3);
	border: 1px solid var(--pb2b-border);
	color: var(--pb2b-text);
	cursor: pointer;
	transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.phoenix-b2b-panel .pb2b-sidebar-close:hover { background: var(--pb2b-bg-4); border-color: var(--pb2b-border-strong); }
.phoenix-b2b-panel .pb2b-sidebar-close:focus-visible { outline: none; box-shadow: var(--pb2b-shadow-focus); }
.phoenix-b2b-panel .pb2b-sidebar-close svg { width: 20px; height: 20px; display: block; stroke: currentColor; }
/* Fallback gdy SVG nie wyrenderuje się (pusty przycisk) — pokaż „×". */
.phoenix-b2b-panel .pb2b-sidebar-close:empty::before { content: "\00d7"; font-size: 24px; line-height: 1; color: currentColor; }

/* =========================================================================
 * 3) HEADER — KOSZYK: ikona + ilość + kwota (PC i mobile).
 * ========================================================================= */
.phoenix-b2b-panel .pb2b-topbar-cart {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 12px;
	border-radius: 999px;
	background: var(--pb2b-bg-3);
	border: 1px solid var(--pb2b-border);
	color: var(--pb2b-text);
	text-decoration: none;
	position: relative;
	transition: background .15s ease, border-color .15s ease;
}
.phoenix-b2b-panel .pb2b-topbar-cart:hover { background: var(--pb2b-bg-4); border-color: var(--pb2b-border-strong); }
.phoenix-b2b-panel .pb2b-topbar-cart-ico { width: 20px; height: 20px; display: inline-flex; color: var(--pb2b-primary-2); flex: 0 0 auto; }
.phoenix-b2b-panel .pb2b-topbar-cart-ico svg { width: 20px; height: 20px; }
.phoenix-b2b-panel .pb2b-topbar-cart-meta { display: flex; flex-direction: column; line-height: 1.1; align-items: flex-start; }
.phoenix-b2b-panel .pb2b-topbar-cart-count { font-weight: 700; font-size: 13px; color: var(--pb2b-text); white-space: nowrap; }
.phoenix-b2b-panel .pb2b-topbar-cart-total { font-size: 11px; color: var(--pb2b-text-muted); white-space: nowrap; }
.phoenix-b2b-panel .pb2b-topbar-cart-total * { color: inherit; font-size: inherit; }
/* Badge licznika (na ikonie) — chowamy gdy pusto. */
.phoenix-b2b-panel .pb2b-topbar-cart-badge {
	position: absolute;
	top: -4px; left: 22px;
	min-width: 18px; height: 18px; padding: 0 5px;
	border-radius: 999px;
	background: var(--pb2b-primary);
	color: #fff; font-size: 11px; font-weight: 700;
	display: inline-flex; align-items: center; justify-content: center;
	border: 2px solid var(--pb2b-bg-2);
}
.phoenix-b2b-panel .pb2b-topbar-cart.is-empty .pb2b-topbar-cart-badge { display: none; }
/* PC/tablet: pokazujemy meta (ilość + kwota), badge na ikonie zbędny. */
@media (min-width: 768px) {
	.phoenix-b2b-panel .pb2b-topbar-cart-meta { display: flex; }
	.phoenix-b2b-panel .pb2b-topbar-cart-badge { display: none; }
}

/* =========================================================================
 * 4) KOSZYK MOBILE — KARTA POZYCJI (koniec pionowego „WARTOŚĆ").
 * ========================================================================= */
@media (max-width: 1199px) {
	/* Drawer mobile: przycisk X musi być widoczny (pokonaj ewentualne display:none). */
	.phoenix-b2b-panel .pb2b-sidebar-close { display: inline-flex; }
}

@media (max-width: 767px) {
	/* Header: tytuł skraca się (zero poziomego scrolla po dodaniu kwoty koszyka). */
	.phoenix-b2b-panel .pb2b-topbar-title { min-width: 0; flex: 1 1 auto; }
	.phoenix-b2b-panel .pb2b-topbar-h1 { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

	/* Koszyk w headerze na mobile: ikona + badge(ilość) + kwota (kompaktowo). */
	.phoenix-b2b-panel .pb2b-topbar-cart { padding: 6px 10px; gap: 6px; }
	.phoenix-b2b-panel .pb2b-topbar-cart-meta { display: flex; }
	.phoenix-b2b-panel .pb2b-topbar-cart-count { display: none; }      /* ilość pokazuje badge */
	.phoenix-b2b-panel .pb2b-topbar-cart-total { display: block; font-size: 12px; font-weight: 600; color: var(--pb2b-text); }
	.phoenix-b2b-panel .pb2b-topbar-cart-badge { display: inline-flex; }

	/* Dropdown profilu: zakotwiczony pod headerem, nie obcinany. */
	.phoenix-b2b-panel .pb2b-account-menu {
		position: fixed;
		top: calc(var(--pb2b-app-header-h, 64px) + 6px);
		right: 12px;
		left: auto;
		min-width: 240px;
		max-width: calc(100vw - 24px);
	}

	/* ====== KARTA POZYCJI KOSZYKA ====== */
	.phoenix-b2b-panel .pb2b-cart-line-head { display: none; }       /* brak nagłówka kolumn */

	.phoenix-b2b-panel .pb2b-cart-line {
		display: flex;
		flex-wrap: wrap;
		align-items: flex-start;
		gap: 10px 12px;
		width: 100%;
		padding: 16px;
		position: relative;
		background: var(--pb2b-bg-2);
		border: 1px solid var(--pb2b-border);
		border-radius: var(--pb2b-radius);
		box-shadow: var(--pb2b-shadow-sm);
	}
	.phoenix-b2b-panel .pb2b-cart-line + .pb2b-cart-line { margin-top: 12px; }

	/* Górny rząd: miniatura 64 + nazwa(3 linie) + usuń 40 */
	.phoenix-b2b-panel .pb2b-cart-line-media { flex: 0 0 64px; }
	.phoenix-b2b-panel .pb2b-cart-line-thumb { width: 64px; height: 64px; border-radius: 12px; overflow: hidden; display: block; background: var(--pb2b-bg-3); }
	.phoenix-b2b-panel .pb2b-cart-line-thumb img { width: 100%; height: 100%; object-fit: cover; }
	.phoenix-b2b-panel .pb2b-cart-line-thumb-empty { width: 64px; height: 64px; border-radius: 12px; background: var(--pb2b-bg-3); display: block; }

	.phoenix-b2b-panel .pb2b-cart-line-main { flex: 1 1 0; min-width: 0; padding-right: 4px; }
	.phoenix-b2b-panel .pb2b-cart-line-title {
		display: -webkit-box;
		-webkit-line-clamp: 3;
		-webkit-box-orient: vertical;
		overflow: hidden;
		font-weight: 600;
		line-height: 1.3;
		color: var(--pb2b-text);
		text-decoration: none;
	}
	/* SKU jako chip z ellipsis — nigdy nie rozpycha szerokości. */
	.phoenix-b2b-panel .pb2b-cart-line-sku {
		display: inline-block;
		max-width: 100%;
		margin-top: 6px;
		padding: 2px 8px;
		border-radius: 999px;
		background: var(--pb2b-bg-3);
		color: var(--pb2b-text-muted);
		font-size: 11px;
		line-height: 1.5;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		vertical-align: bottom;
	}
	.phoenix-b2b-panel .pb2b-cart-line-sku-val { font-weight: 600; }

	/* Przycisk usuń — widoczny, 40x40, kosz. */
	.phoenix-b2b-panel .pb2b-cart-line-remove {
		flex: 0 0 40px;
		width: 40px;
		height: 40px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		padding: 0;
		border-radius: 12px;
		background: transparent;
		border: 1px solid var(--pb2b-border);
		color: var(--pb2b-text-muted);
		cursor: pointer;
		transition: color .15s ease, border-color .15s ease, background .15s ease;
	}
	.phoenix-b2b-panel .pb2b-cart-line-remove svg { width: 18px; height: 18px; display: block; }
	.phoenix-b2b-panel .pb2b-cart-line-remove:hover { color: var(--pb2b-danger); border-color: var(--pb2b-danger); background: var(--pb2b-danger-soft); }

	/* Wiersz: Cena netto .......... kwota */
	.phoenix-b2b-panel .pb2b-cart-line-price {
		flex: 1 1 100%;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		margin: 0;
		padding-top: 10px;
		border-top: 1px solid var(--pb2b-border);
	}
	/* Wiersz: [stepper]  ............  Wartość kwota */
	.phoenix-b2b-panel .pb2b-cart-line-qty {
		flex: 0 0 auto;
		display: flex;
		align-items: center;
		gap: 8px;
		margin: 0;
	}
	.phoenix-b2b-panel .pb2b-cart-line-value {
		flex: 1 1 auto;
		display: flex;
		align-items: baseline;
		justify-content: flex-end;
		gap: 6px;
		margin: 0 0 0 auto;
		text-align: right;
		min-width: 0;
	}

	/* Etykiety: JEDEN wiersz, bez wersalików, bez łamania pionowego. */
	.phoenix-b2b-panel .pb2b-cart-line-lbl {
		display: inline;
		white-space: nowrap;
		word-break: normal;
		text-transform: none;
		letter-spacing: 0;
		font-size: 12px;
		font-weight: 500;
		color: var(--pb2b-text-muted);
		width: auto;
	}
	.phoenix-b2b-panel .pb2b-cart-line-qty .pb2b-cart-line-lbl { display: none; } /* stepper bez etykiety */

	.phoenix-b2b-panel .pb2b-cart-line-price-val { white-space: nowrap; font-weight: 600; color: var(--pb2b-text); }
	.phoenix-b2b-panel .pb2b-cart-line-value strong { white-space: nowrap; font-weight: 700; color: var(--pb2b-text); font-size: 15px; }
	.phoenix-b2b-panel .pb2b-cart-line-quote { color: var(--pb2b-warning-ink); font-weight: 600; white-space: nowrap; }

	/* Stepper kompaktowy w karcie. */
	.phoenix-b2b-panel .pb2b-cart-line-qty .pb2b-stepper { display: inline-flex; align-items: center; }
}

/* PC: czytelny split (lista + sticky podsumowanie); etykiety per-pole ukryte. */
@media (min-width: 768px) {
	.phoenix-b2b-panel .pb2b-cart-line-price .pb2b-cart-line-lbl,
	.phoenix-b2b-panel .pb2b-cart-line-qty .pb2b-cart-line-lbl,
	.phoenix-b2b-panel .pb2b-cart-line-value .pb2b-cart-line-lbl { display: none; }
	.phoenix-b2b-panel .pb2b-cart-line-remove { display: inline-flex; }
	.phoenix-b2b-panel .pb2b-cart-line-value strong { white-space: nowrap; }
}

/* =========================================================================
 * 5) ZAMÓWIENIE — lista problemów + panelowy blok błędów (premium, light/dark).
 * ========================================================================= */
.phoenix-b2b-panel .pb2b-checkout-issues {
	background: var(--pb2b-bg-2);
	border: 1px solid var(--pb2b-border);
	border-radius: var(--pb2b-radius);
	padding: 16px;
	margin-bottom: 16px;
}
.phoenix-b2b-panel .pb2b-checkout-issues-head { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 12px; }
.phoenix-b2b-panel .pb2b-checkout-issues-ico { width: 36px; height: 36px; flex: 0 0 36px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; background: var(--pb2b-danger-soft); color: var(--pb2b-danger); }
.phoenix-b2b-panel .pb2b-checkout-issues.pb2b-issues-soft .pb2b-checkout-issues-ico { background: var(--pb2b-warning-soft); color: var(--pb2b-warning-ink); }
.phoenix-b2b-panel .pb2b-checkout-issues-head h4 { margin: 0 0 2px; font-size: 15px; color: var(--pb2b-text); }

.phoenix-b2b-panel .pb2b-checkout-issues-list { list-style: none; margin: 0 0 8px; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.phoenix-b2b-panel .pb2b-checkout-issue {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	padding: 12px;
	background: var(--pb2b-bg-3);
	border: 1px solid var(--pb2b-border);
	border-radius: var(--pb2b-radius-sm);
}
.phoenix-b2b-panel .pb2b-issue-media { width: 52px; height: 52px; flex: 0 0 52px; border-radius: 10px; overflow: hidden; background: var(--pb2b-bg-4); display: inline-flex; }
.phoenix-b2b-panel .pb2b-issue-media img { width: 100%; height: 100%; object-fit: cover; }
.phoenix-b2b-panel .pb2b-issue-media-empty { width: 100%; height: 100%; background: var(--pb2b-bg-4); }
.phoenix-b2b-panel .pb2b-issue-info { flex: 1 1 0; min-width: 0; }
.phoenix-b2b-panel .pb2b-issue-top { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.phoenix-b2b-panel .pb2b-checkout-issue-name { font-weight: 600; color: var(--pb2b-text); }
.phoenix-b2b-panel .pb2b-issue-sku { display: block; font-size: 11px; color: var(--pb2b-text-muted); margin-top: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
.phoenix-b2b-panel .pb2b-checkout-issue-msg { display: block; font-size: 13px; color: var(--pb2b-text-soft); margin-top: 4px; }

/* Tag problemu — pill kolorowany per rodzaj. */
.phoenix-b2b-panel .pb2b-issue-tag { display: inline-flex; align-items: center; padding: 2px 8px; border-radius: 999px; font-size: 11px; font-weight: 700; }
.phoenix-b2b-panel .pb2b-issue-tag-blocking { background: var(--pb2b-danger-soft); color: var(--pb2b-danger-ink); }
.phoenix-b2b-panel .pb2b-issue-tag-quote_required { background: var(--pb2b-info-soft); color: var(--pb2b-blue); }
.phoenix-b2b-panel .pb2b-issue-tag-fixable_qty { background: var(--pb2b-warning-soft); color: var(--pb2b-warning-ink); }
.phoenix-b2b-panel .pb2b-issue-tag-warning { background: var(--pb2b-warning-soft); color: var(--pb2b-warning-ink); }

.phoenix-b2b-panel .pb2b-issue-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.phoenix-b2b-panel .pb2b-issue-act {
	display: inline-flex; align-items: center;
	padding: 6px 10px;
	border-radius: var(--pb2b-radius-sm);
	border: 1px solid var(--pb2b-border);
	background: var(--pb2b-bg-2);
	color: var(--pb2b-text-soft);
	font-size: 12px; font-weight: 600; text-decoration: none; cursor: pointer;
	transition: background .12s ease, color .12s ease, border-color .12s ease;
}
.phoenix-b2b-panel .pb2b-issue-act:hover { background: var(--pb2b-bg-4); color: var(--pb2b-text); }
.phoenix-b2b-panel .pb2b-issue-act-remove { color: var(--pb2b-danger); border-color: var(--pb2b-danger-soft); }
.phoenix-b2b-panel .pb2b-issue-act-remove:hover { background: var(--pb2b-danger-soft); color: var(--pb2b-danger); border-color: var(--pb2b-danger); }
.phoenix-b2b-panel .pb2b-issue-act-quote { color: var(--pb2b-blue); border-color: var(--pb2b-info-soft); }
.phoenix-b2b-panel .pb2b-issue-act-quote:hover { background: var(--pb2b-info-soft); }

.phoenix-b2b-panel .pb2b-checkout-issues-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }

/* Panelowy blok błędów Woo (podmiana cart-errors.php) — premium, nie „raw". */
.phoenix-b2b-panel .pb2b-checkout-woo-block {
	background: var(--pb2b-bg-2);
	border: 1px solid var(--pb2b-border);
	border-left: 3px solid var(--pb2b-danger);
	border-radius: var(--pb2b-radius);
	padding: 16px;
}
.phoenix-b2b-panel .pb2b-checkout-woo-block-head { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 10px; }
.phoenix-b2b-panel .pb2b-checkout-woo-block-ico { width: 36px; height: 36px; flex: 0 0 36px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; background: var(--pb2b-danger-soft); color: var(--pb2b-danger); }
.phoenix-b2b-panel .pb2b-checkout-woo-block-head h4 { margin: 0 0 2px; font-size: 15px; color: var(--pb2b-text); }
.phoenix-b2b-panel .pb2b-checkout-woo-block-notices .woocommerce-error,
.phoenix-b2b-panel .pb2b-checkout-woo-block-notices .woocommerce-message,
.phoenix-b2b-panel .pb2b-checkout-woo-block-notices .woocommerce-info {
	list-style: none; margin: 0 0 8px; padding: 10px 12px;
	border-radius: var(--pb2b-radius-sm);
	background: var(--pb2b-bg-3); color: var(--pb2b-text); border: 1px solid var(--pb2b-border);
	font-size: 13px;
}
.phoenix-b2b-panel .pb2b-checkout-woo-block-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }

/* v2.9.2 HEADER V3.2 ACCOUNT SIDEBAR CART LIGHT-DARK */
/**
 * Dokładka 2.9.2 (ładowana w tej samej, ostatniej warstwie panel-v3-1.css):
 *  1) mobile header czysty (avatar profilu usunięty z headera → menu boczne),
 *  2) profil „Moje konto" jako box na górze menu bocznego,
 *  3) koszyk w headerze: ilość + kwota (mobile kompakt, PC „2 poz. · 297,90 zł"),
 *  4) spacing headera mobile (72/64px, padding 16px, gap 8px, brak nachodzenia),
 *  5) light/dark: KONKRETNY fix kafelków produktów i przycisków (token-based),
 *  6) --pb2b-primary-contrast dla tekstu na fioletowych przyciskach.
 * Zakres ściśle `.phoenix-b2b-panel`. Kolory wyłącznie z tokenów.
 */

/* ===== 1+4) MOBILE/TABLET HEADER (≤1199) — czysty, nieprzeładowany ===== */
@media (max-width: 1199px) {
	.phoenix-b2b-panel .pb2b-topbar,
	.phoenix-b2b-panel .pb2b-app-header {
		min-height: 64px;
		padding: 0 16px;
		gap: 10px;
		overflow: visible;
	}
	.phoenix-b2b-panel .pb2b-burger { width: 42px; height: 42px; flex: 0 0 42px; }
	.phoenix-b2b-panel .pb2b-topbar-title { flex: 1 1 auto; min-width: 0; }
	.phoenix-b2b-panel .pb2b-topbar-h1 { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.phoenix-b2b-panel .pb2b-topbar-right { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; }
	/* Profil/avatar NIE w headerze na mobile/tablet — konto jest w menu bocznym. */
	.phoenix-b2b-panel .pb2b-account { display: none; }
	/* „Grupa/rabat" chip również ukryty na wąsko (już ma pb2b-hide-mobile, ale pewność). */
	.phoenix-b2b-panel .pb2b-topbar-right .pb2b-chip.pb2b-hide-mobile { display: none; }
}

/* PC (≥1200) — profil „Moje konto" kompaktowy w topbarze (jako jedyny avatar). */
@media (min-width: 1200px) {
	.phoenix-b2b-panel .pb2b-account { display: inline-flex; position: relative; }
}

/* ===== 2) PROFIL KONTA W MENU BOCZNYM ===== */
.phoenix-b2b-panel .pb2b-side-account {
	margin: 0 12px 8px;
	padding: 14px;
	background: var(--pb2b-bg-3);
	border: 1px solid var(--pb2b-border);
	border-radius: var(--pb2b-radius);
}
.phoenix-b2b-panel .pb2b-side-account-top { display: flex; gap: 12px; align-items: center; }
.phoenix-b2b-panel .pb2b-side-account-avatar {
	width: 44px; height: 44px; flex: 0 0 44px; border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--pb2b-accent-grad); color: var(--pb2b-primary-contrast);
	font-weight: 700; font-size: 16px; line-height: 1; text-transform: uppercase;
}
.phoenix-b2b-panel .pb2b-side-account-id { display: flex; flex-direction: column; min-width: 0; gap: 2px; }
.phoenix-b2b-panel .pb2b-side-account-name { font-size: 14px; color: var(--pb2b-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.phoenix-b2b-panel .pb2b-side-account-company { font-size: 12px; color: var(--pb2b-text-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.phoenix-b2b-panel .pb2b-side-account-status { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 600; color: var(--pb2b-success-ink); margin-top: 2px; }
.phoenix-b2b-panel .pb2b-side-account-status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--pb2b-success); box-shadow: 0 0 0 3px var(--pb2b-success-soft); flex: 0 0 7px; }
.phoenix-b2b-panel .pb2b-side-account-actions { display: flex; flex-direction: column; gap: 2px; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--pb2b-border); }
.phoenix-b2b-panel .pb2b-side-account-link {
	display: flex; align-items: center; gap: 10px; padding: 8px;
	border-radius: var(--pb2b-radius-sm); color: var(--pb2b-text-soft);
	text-decoration: none; font-size: 13px; font-weight: 500;
	transition: background .12s ease, color .12s ease;
}
.phoenix-b2b-panel .pb2b-side-account-link:hover { background: var(--pb2b-bg-4); color: var(--pb2b-text); }
.phoenix-b2b-panel .pb2b-side-account-link-ico { width: 16px; height: 16px; flex: 0 0 16px; display: inline-flex; align-items: center; justify-content: center; color: var(--pb2b-text-muted); }
.phoenix-b2b-panel .pb2b-side-account-link-ico svg { width: 16px; height: 16px; }
.phoenix-b2b-panel .pb2b-side-account-link:hover .pb2b-side-account-link-ico { color: var(--pb2b-primary); }
.phoenix-b2b-panel .pb2b-side-account-logout { color: var(--pb2b-danger); }
.phoenix-b2b-panel .pb2b-side-account-logout .pb2b-side-account-link-ico { color: var(--pb2b-danger); }
.phoenix-b2b-panel .pb2b-side-account-logout:hover { background: var(--pb2b-danger-soft); color: var(--pb2b-danger); }

/* ===== 3) KOSZYK W HEADERZE — ilość + kwota ===== */
/* PC/tablet: „2 poz. · 297,90 zł" w jednym wierszu. */
@media (min-width: 768px) {
	.phoenix-b2b-panel .pb2b-topbar-cart-meta { flex-direction: row; align-items: baseline; gap: 5px; }
	.phoenix-b2b-panel .pb2b-topbar-cart-count { font-size: 13px; color: var(--pb2b-text); }
	.phoenix-b2b-panel .pb2b-topbar-cart-count::after { content: " poz."; font-weight: 600; color: var(--pb2b-text); }
	.phoenix-b2b-panel .pb2b-topbar-cart-total { font-size: 13px; font-weight: 600; color: var(--pb2b-text); }
	.phoenix-b2b-panel .pb2b-topbar-cart-total::before { content: "·"; margin-right: 5px; color: var(--pb2b-text-dim); font-weight: 700; }
}
/* Bardzo wąsko: zostaw tylko ikonę + badge (kwota chowana, by nie nachodzić na dzwonek). */
@media (max-width: 360px) {
	.phoenix-b2b-panel .pb2b-topbar-cart { padding: 6px 8px; }
	.phoenix-b2b-panel .pb2b-topbar-cart-total { display: none; }
}

/* ===== 5) PRODUCT CARDS — LIGHT/DARK (remap --card-* + override hardcoded #fff) ===== */
.phoenix-b2b-panel .pb2b-card-grid,
.phoenix-b2b-panel .pb2b-card {
	--card-bg: var(--pb2b-bg-2);
	--card-border: var(--pb2b-border);
	--card-media-bg: var(--pb2b-bg-3);
	--card-ink: var(--pb2b-text);
	--card-muted: var(--pb2b-text-muted);
	--card-primary: var(--pb2b-primary);
	--card-primary-2: var(--pb2b-primary-hover);
	--card-shadow: var(--pb2b-shadow-sm);
	--card-shadow-hover: var(--pb2b-shadow);
}
.phoenix-b2b-panel .pb2b-card { color: var(--pb2b-text); }

/* „Do koszyka" — gradient + biały tekst (kontrast). */
.phoenix-b2b-panel .pb2b-card-btn-cart { background: var(--pb2b-accent-grad); color: var(--pb2b-primary-contrast); }
.phoenix-b2b-panel .pb2b-card-btn-cart:hover,
.phoenix-b2b-panel .pb2b-card-btn-cart:focus { color: var(--pb2b-primary-contrast); }
/* „Zaloguj się po ceny B2B" — outline. */
.phoenix-b2b-panel .pb2b-card-btn-login { background: var(--pb2b-bg-2); color: var(--pb2b-primary-strong); border-color: var(--pb2b-primary); }
.phoenix-b2b-panel .pb2b-card-btn-login:hover { background: var(--pb2b-primary); color: var(--pb2b-primary-contrast); border-color: var(--pb2b-primary); }
/* „Zobacz produkt" — outline neutralny. */
.phoenix-b2b-panel .pb2b-card-btn-view { background: var(--pb2b-bg-2); color: var(--pb2b-text); border-color: var(--pb2b-border); }
.phoenix-b2b-panel .pb2b-card-btn-view:hover { background: var(--pb2b-bg-3); color: var(--pb2b-primary-strong); border-color: var(--pb2b-primary); }
/* „Wybierz opcje" — soft primary. */
.phoenix-b2b-panel .pb2b-card-btn-options { background: var(--pb2b-primary-soft); color: var(--pb2b-primary-strong); border-color: var(--pb2b-primary-soft); }
.phoenix-b2b-panel .pb2b-card-btn-options:hover { background: var(--pb2b-primary); color: var(--pb2b-primary-contrast); border-color: var(--pb2b-primary); }
/* Quick view (ikona oka). */
.phoenix-b2b-panel .pb2b-card-btn-qv { background: var(--pb2b-bg-2); color: var(--pb2b-text); border-color: var(--pb2b-border); }
.phoenix-b2b-panel .pb2b-card-btn-qv:hover { background: var(--pb2b-bg-3); color: var(--pb2b-primary-strong); border-color: var(--pb2b-primary); }

/* „Zapytaj o cenę" / „Dostępne po zalogowaniu" — pill primary, czytelny w obu motywach. */
.phoenix-b2b-panel .pb2b-card-price-na { color: var(--pb2b-primary-strong); background: var(--pb2b-primary-soft); }
.phoenix-b2b-panel .pb2b-card-price-locked { color: var(--pb2b-primary-strong); background: var(--pb2b-primary-soft); border-color: var(--pb2b-primary-soft); }

/* Kalkulator zysku — pełna kontrola light/dark. */
.phoenix-b2b-panel .pb2b-card-calc { background: var(--pb2b-bg-3); border-color: var(--pb2b-border); }
.phoenix-b2b-panel .pb2b-card-calc-label { color: var(--pb2b-text-muted); }
.phoenix-b2b-panel .pb2b-card-calc-field { background: var(--pb2b-bg-2); color: var(--pb2b-text); border-color: var(--pb2b-border); }
.phoenix-b2b-panel .pb2b-card-calc-cur { color: var(--pb2b-text-muted); }
.phoenix-b2b-panel .pb2b-card-calc-profit { color: var(--pb2b-text-muted); }
.phoenix-b2b-panel .pb2b-card-calc-profit strong { color: var(--pb2b-success-strong); }
.phoenix-b2b-panel .pb2b-card-calc-pill { background: var(--pb2b-success-soft); color: var(--pb2b-success-strong); }
.phoenix-b2b-panel .pb2b-card-calc.is-neg .pb2b-card-calc-profit strong { color: var(--pb2b-danger-strong); }
.phoenix-b2b-panel .pb2b-card-calc.is-neg .pb2b-card-calc-pill { background: var(--pb2b-danger-soft); color: var(--pb2b-danger-strong); }

/* ===== 6) Przyciski panelu na fiolecie — używają tokena kontrastu ===== */
.phoenix-b2b-panel .pb2b-app-button-primary { color: var(--pb2b-primary-contrast); }
.phoenix-b2b-panel .pb2b-app-button-primary:hover { color: var(--pb2b-primary-contrast); }
