/*
 * polskielajki: side cart CheckoutWC - pozycja (kafel uslugi, meta, podglad postow, stopka "Powieksz pakiet"),
 * arkusz/modal. Spec: .claude/skills/zakupy-platnosci/references/side-cart-upsell-spec.md (2.3, 2.8, 2.9, 4-8).
 * Tokeny: design-system (--plh-dashed, --plh-discount). Mobile first, desktop od 768 px (panel 480 px).
 */
:root {
	--plh-dashed: #DDD9D5;
	--plh-discount: #17702F;
	--plh-discount-bg: #E6F4EA;
}

/* ---------- Wiersz pozycji: siatka 60 px | tresc | cena ---------- */
#cfw-side-cart .cfw-cart-table,
#cfw-side-cart .cfw-cart-table > tbody { display: block; width: 100%; }
#cfw-side-cart .cfw-cart-table .cart-item-row {
	display: grid;
	grid-template-columns: 60px minmax(0, 1fr) auto;
	column-gap: 14px;
	align-items: start;
	padding: 14px 12px 16px;
	margin: 0 -12px;
	border-bottom: 1px solid var(--plh-btn-border, #EDEDED) !important;
	border-radius: 0;
	background: transparent;
	transition: background-color .4s ease;
}
#cfw-side-cart .cfw-cart-table .cart-item-row:last-child { border-bottom: 0 !important; }
#cfw-side-cart .cfw-cart-table .cart-item-row:first-child { padding-top: 4px; }
#cfw-side-cart .cfw-cart-table .cart-item-row > * { border-bottom: 0 !important; background: transparent !important; }
#cfw-side-cart .cfw-cart-table .cart-item-row .cfw-cart-item-image {
	grid-column: 1;
	grid-row: 1 / span 6;
	width: auto;
	padding: 0 0 6px;
}
#cfw-side-cart .cfw-cart-table .cart-item-row .cfw-cart-item-image .cfw-cart-item-image-wrap { margin: 0; display: block; width: 60px; }
#cfw-side-cart .cfw-cart-item-image-wrap .plh-svc ~ .cfw-cart-item-quantity-bubble { display: none; }
#cfw-side-cart .cfw-cart-table .cart-item-row .cfw-cart-item-description { display: contents; }
#cfw-side-cart .cfw-cart-table .cart-item-row .cfw-cart-item-description > div,
#cfw-side-cart .cfw-cart-table .cart-item-row .cfw-cart-item-description > p { grid-column: 2; margin: 0; min-width: 0; }
#cfw-side-cart .cfw-cart-table .cart-item-row .cfw-cart-item-description .cfw-cart-item-title { font-size: 15px; font-weight: 500; line-height: 1.35; color: #303435; overflow-wrap: anywhere; }
#cfw-side-cart .cfw-cart-table .cart-item-row .cfw-cart-item-description .cfw-cart-item-data { font-size: 13px; line-height: 1.35; color: #5F6366; margin-top: 2px; }
#cfw-side-cart .cfw-cart-table .cart-item-row .cfw-cart-item-description > .cfw_side_cart_item_after_data { display: contents; }
#cfw-side-cart .plh-sci { display: contents; }
#cfw-side-cart .plh-sci > * { grid-column: 2; min-width: 0; }
#cfw-side-cart .plh-sci > .plh-up { grid-column: 1 / -1; }
#cfw-side-cart .cfw-cart-table .cart-item-row .cfw-cart-item-quantity { display: none; }
#cfw-side-cart .cfw-cart-table .cart-item-row .cfw-cart-item-subtotal {
	grid-column: 3;
	grid-row: 1 / span 2;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	padding: 0;
	margin: -10px -12px 0 0;
	position: relative;
	white-space: nowrap;
}
#cfw-side-cart .cart-item-row .cfw-cart-item-subtotal .cfw-remove-item-button {
	position: static;
	width: 44px;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 8px;
}
#cfw-side-cart .cart-item-row .cfw-cart-item-subtotal .cfw-remove-item-button svg { width: 16px; height: 16px; }
#cfw-side-cart .cart-item-row .cfw-cart-item-subtotal .cfw-remove-item-button:focus-visible { outline: 2px solid var(--brand-ln, #FF5D00); outline-offset: 2px; }
#cfw-side-cart .cart-item-row .cfw-cart-item-subtotal > .amount,
#cfw-side-cart .cart-item-row .cfw-cart-item-subtotal > .woocommerce-Price-amount { font-size: 15px; font-weight: 500; padding-right: 12px; color: #303435; }

/* Podswietlenie po powiekszeniu (1 s, potem 400 ms przejscia; bez animacji przy reduced motion). */
#cfw-side-cart .cfw-cart-table .cart-item-row.plh-hl { background-color: var(--plh-discount-bg); }
@media (prefers-reduced-motion: reduce) {
	#cfw-side-cart .cfw-cart-table .cart-item-row { transition: none; }
}

/* Cena pozycji w trakcie przeliczania: spinner w miejscu kwoty (bez zmiany wysokosci). */
#cfw-side-cart .cart-item-row.plh-busy .cfw-cart-item-subtotal > .amount,
#cfw-side-cart .cart-item-row.plh-busy .cfw-cart-item-subtotal > .woocommerce-Price-amount { visibility: hidden; }
#cfw-side-cart .cart-item-row.plh-busy .cfw-cart-item-subtotal::after {
	content: "";
	position: absolute;
	right: 24px;
	top: 46px;
	width: 14px;
	height: 14px;
	border: 2px solid var(--brand-ln, #FF5D00);
	border-right-color: transparent;
	border-radius: 50%;
	animation: plh-spin .8s linear infinite;
}

/* ---------- Kafel uslugi A (2.8) ---------- */
.plh-svc { position: relative; display: inline-flex; align-items: center; justify-content: center; flex: none; background: var(--plh-t, var(--brand-tile, #FFE9DB)); color: var(--plh-c, var(--brand, #FF5D00)); box-sizing: border-box; }
.plh-svc--60 { width: 60px; height: 60px; border-radius: 8px; }
.plh-svc--40 { width: 40px; height: 40px; border-radius: 6px; }
.plh-svc .plh-svc__g { font-size: 26px; line-height: 1; color: var(--plh-c, var(--brand, #FF5D00)); }
.plh-svc--40 .plh-svc__g { font-size: 17px; }
.plh-svc__badge {
	position: absolute;
	right: -6px;
	bottom: -6px;
	width: 24px;
	height: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 0 0 2px #fff, 0 1px 3px rgba(0, 0, 0, .12);
	font-size: 13px;
	line-height: 1;
	color: var(--plh-c, var(--brand, #FF5D00));
}
.plh-svc--40 .plh-svc__badge { width: 18px; height: 18px; right: -5px; bottom: -5px; font-size: 10px; }
.plh-p-ig { --plh-c: var(--brand, #FF5D00); --plh-t: var(--brand-tile, #FFE9DB); }
.plh-p-tt { --plh-c: #000000; --plh-t: #EDEDED; }
.plh-p-fb { --plh-c: #1877F2; --plh-t: #E3EEFD; }
.plh-p-yt { --plh-c: #FF0000; --plh-t: #FFE3E3; }

/* ---------- Wspolne ---------- */
.plh-vh { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0; padding: 0; margin: -1px; }
.plh-spin { animation: plh-spin .8s linear infinite; color: var(--brand-ln, #FF5D00); }
@keyframes plh-spin { to { transform: rotate(360deg); } }
.plh-disc-text { color: var(--plh-discount); font-weight: 500; }
#cfw-side-cart .plh-sci button,
.plh-dlg button {
	-webkit-appearance: none;
	appearance: none;
	font: inherit;
	letter-spacing: normal;
	text-transform: none;
	text-shadow: none;
	box-shadow: none;
	min-width: 0;
	margin: 0;
	cursor: pointer;
	line-height: 1.35;
}
#cfw-side-cart .plh-sci button:focus-visible,
#cfw-side-cart .plh-sci a:focus-visible,
.plh-dlg button:focus-visible,
.plh-dlg a:focus-visible,
.plh-dlg input:focus-visible + .plh-up__oi { outline: 2px solid var(--brand-ln, #FF5D00); outline-offset: 2px; }
#cfw-side-cart .plh-sci [hidden],
.plh-dlg [hidden] { display: none !important; }

/* Meta pozycji (makieta: rozbicie, "Standard · Polska · @profil", doplaty) */
#cfw-side-cart .plh-sci .plh-sci__parts { margin: 2px 0 0; font-size: 14px; line-height: 1.35; color: #303435; }
#cfw-side-cart .plh-sci .plh-sci__meta,
#cfw-side-cart .plh-sci .plh-sci__extra { margin: 2px 0 0; font-size: 13px; line-height: 1.35; color: #5F6366; overflow-wrap: anywhere; }
/* Flaga kraju 16 px przed nazwa (circle-flags / globus MIX, CurdeEmoji::flag, 28.10); wewnetrzny obrys poza MIX */
#cfw-side-cart .plh-sci__ct { white-space: nowrap; }
#cfw-side-cart .plh-flag { position: relative; display: inline-block; width: 16px; height: 16px; margin-right: 5px; border-radius: 50%; overflow: hidden; vertical-align: -3px; }
#cfw-side-cart .plh-flag img { display: block; width: 16px; height: 16px; max-width: none; }
#cfw-side-cart .plh-flag::after { content: ""; position: absolute; inset: 0; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(48, 52, 53, .16); }
#cfw-side-cart .plh-flag.is-mix::after { display: none; }
#cfw-side-cart .plh-flag.is-emoji { width: auto; height: auto; overflow: visible; vertical-align: baseline; }
#cfw-side-cart .plh-flag.is-emoji::after { display: none; }

/* Notka laczenia */
#cfw-side-cart .plh-sci__merged { display: flex; align-items: center; gap: 6px; margin: 6px 0 0; font-size: 13px; line-height: 1.35; color: #5F6366; }
#cfw-side-cart .plh-sci__merged .fa-check { font-size: 12px; color: #1F8A3B; }

/* ---------- Podglad postow i linku (2.9) ---------- */
#cfw-side-cart .plh-sci .plh-posts {
	display: flex;
	align-items: center;
	gap: 4px;
	min-height: 44px;
	margin-top: 2px;
	padding: 0;
	border: 0;
	border-radius: 6px;
	background: none;
	color: #303435;
	width: auto;
	justify-self: start;
}
.plh-posts__t { width: 28px; height: 28px; flex: none; border-radius: 4px; object-fit: cover; background: var(--brand-peach, #FFDFC7); display: inline-flex; align-items: center; justify-content: center; font-size: 11px; color: rgba(48, 52, 53, .4); }
.plh-posts__more { background: #F7F6F5; color: #303435; font-size: 12px; font-weight: 500; }
.plh-posts__ch { font-size: 10px; color: #5F6366; margin-left: 4px; }
#cfw-side-cart .plh-sci .plh-link { display: flex; align-items: center; gap: 2px; min-width: 0; font-size: 13px; color: #5F6366; }
#cfw-side-cart .plh-sci .plh-link__btn {
	display: flex;
	align-items: center;
	gap: 6px;
	min-width: 0;
	min-height: 44px;
	padding: 0;
	border: 0;
	background: none;
	color: #5F6366;
	font-size: 13px;
	text-align: left;
}
#cfw-side-cart .plh-sci button.plh-link__btn:hover .plh-link__u { text-decoration: underline; text-underline-offset: 3px; }
.plh-link__i { font-size: 11px; flex: none; }
/* Skrocony link: host (pierwszenstwo) + srodek sciezki (skraca sie pierwszy) + identyfikator (zawsze widoczny) */
.plh-link__u { display: flex; min-width: 0; white-space: nowrap; overflow: hidden; line-height: 1.45; padding-bottom: 1px; }
.plh-link__hs { flex: none; white-space: nowrap; }
.plh-link__m { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; line-height: 1.45; padding-bottom: 1px; }
.plh-link__h { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; flex: 0 1 auto; line-height: 1.45; padding-bottom: 1px; }
.plh-link__tl { flex: none; white-space: nowrap; }
#cfw-side-cart .plh-sci > .plh-link { grid-column: 2 / -1; }
.plh-link__m--clip { text-overflow: clip; }
.plh-link__more { flex: none; font-weight: 500; color: #303435; }
#cfw-side-cart .plh-sci .plh-link__open { width: 44px; height: 44px; flex: none; display: inline-flex; align-items: center; justify-content: center; color: #5F6366 !important; border-radius: 8px; }
#cfw-side-cart .plh-sci .plh-link__open:hover { color: #303435 !important; }
/* arrow-up-right-from-square (FA 6.7.2, CC BY 4.0) - spoza podzbioru FA7, jako maska (kolor = currentColor) */
.plh-ext-ico { display: inline-block; width: 13px; height: 13px; background-color: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M320 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l82.7 0L201.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L448 109.3l0 82.7c0 17.7 14.3 32 32 32s32-14.3 32-32l0-160c0-17.7-14.3-32-32-32L320 0zM80 32C35.8 32 0 67.8 0 112L0 432c0 44.2 35.8 80 80 80l320 0c44.2 0 80-35.8 80-80l0-112c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 112c0 8.8-7.2 16-16 16L80 448c-8.8 0-16-7.2-16-16l0-320c0-8.8 7.2-16 16-16l112 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L80 32z'/%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 512 512'%3E%3Cpath d='M320 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l82.7 0L201.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L448 109.3l0 82.7c0 17.7 14.3 32 32 32s32-14.3 32-32l0-160c0-17.7-14.3-32-32-32L320 0zM80 32C35.8 32 0 67.8 0 112L0 432c0 44.2 35.8 80 80 80l320 0c44.2 0 80-35.8 80-80l0-112c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 112c0 8.8-7.2 16-16 16L80 448c-8.8 0-16-7.2-16-16l0-320c0-8.8 7.2-16 16-16l112 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L80 32z'/%3E%3C/svg%3E") center / contain no-repeat; }


/* ---------- Stopka-kupon "Powieksz pakiet" (2.3, wariant 8) ---------- */
#cfw-side-cart .plh-sci .plh-up { margin-top: 12px; border-top: 1px dashed var(--plh-dashed); min-width: 0; }
#cfw-side-cart .plh-sci .plh-up__btn {
	width: 100%;
	min-height: 48px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	color: #303435;
	font-size: 14px;
	font-weight: 500;
	text-align: left;
}
#cfw-side-cart .plh-sci .plh-up__btn:hover,
#cfw-side-cart .plh-sci .plh-up__btn:focus { background: none; color: #303435; }
.plh-up__l { display: inline-flex; align-items: center; gap: 8px; }
#cfw-side-cart .plh-up__btn:hover .plh-up__t { text-decoration: underline; text-underline-offset: 3px; }
.plh-up__ch { font-size: 10px; color: #5F6366; transition: transform .2s ease; }
.plh-up__ch--d { display: none; }
.plh-up__stamp {
	display: inline-flex;
	align-items: center;
	height: 28px;
	padding: 0 8px;
	border: 1.5px dashed var(--plh-discount);
	border-radius: 6px;
	background: var(--plh-discount-bg);
	color: var(--plh-discount);
	font-size: 13px;
	font-weight: 600;
	white-space: nowrap;
	box-sizing: border-box;
}
.plh-up__busy { display: inline-flex; align-items: center; gap: 6px; height: 28px; font-size: 13px; font-weight: 400; color: #5F6366; white-space: nowrap; }

/* Po powiekszeniu: ta sama stopka z potwierdzeniem i "Cofnij" */
#cfw-side-cart .plh-sci .plh-up--done { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; column-gap: 8px; min-height: 48px; }
#cfw-side-cart .plh-sci .plh-up--done:focus { outline: none; }
#cfw-side-cart .plh-sci .plh-up--done:focus-visible { outline: 2px solid var(--brand-ln, #FF5D00); outline-offset: 2px; }
.plh-up__ok { display: grid; grid-template-columns: 14px minmax(0, 1fr); column-gap: 8px; align-items: center; flex: 1 1 200px; padding: 8px 0; color: var(--plh-discount); font-size: 13px; font-weight: 500; line-height: 1.35; }
.plh-up__ok .fa-check { font-size: 12px; }
#cfw-side-cart .plh-sci .plh-up__undo {
	height: 44px;
	padding: 0 4px;
	border: 0;
	background: none;
	color: #5F6366;
	font-size: 13px;
	font-weight: 400;
	text-decoration: underline;
	text-underline-offset: 3px;
}
#cfw-side-cart .plh-sci .plh-up__undo:hover { color: #303435; background: none; }
#cfw-side-cart .plh-sci .plh-up--done .plh-up__err { flex-basis: 100%; }

/* Lista progow (mobile w arkuszu = styl A widgetu; desktop = radio w rozwinieciu) */
.plh-up__opts { margin: 0; padding: 0; border: 0; min-width: 0; }
.plh-up__opt {
	position: relative;
	display: grid;
	grid-template-columns: 20px minmax(0, 1fr) auto;
	gap: 12px;
	align-items: center;
	min-height: 56px;
	margin: 0 0 8px;
	padding: 0 14px;
	border: 1px solid var(--plh-btn-border, #EDEDED);
	border-radius: 8px;
	background: #fff;
	cursor: pointer;
	font-size: 14px;
	color: #303435;
}
.plh-up__opt:hover { border-color: var(--brand-ln, #FF5D00); }
.plh-up__opt.is-sel { border-color: var(--brand-ln, #FF5D00); background: var(--brand-tint, #FFF3EA); }
.plh-up__opt input[type="radio"] { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; pointer-events: none; }
.plh-up__oi { display: inline-flex; justify-content: center; font-size: 15px; border-radius: 4px; }
.plh-up__oi i { color: var(--plh-c, var(--brand, #FF5D00)); }
.plh-up__on { display: flex; flex-direction: column; font-weight: 500; min-width: 0; }
.plh-up__os { font-weight: 400; font-size: 13px; color: #5F6366; }
.plh-up__op { font-size: 14px; white-space: nowrap; }
.plh-up__err { display: flex; gap: 8px; align-items: flex-start; margin: 10px 0 0; padding: 10px 12px; border: 1px solid #F4C7C1; border-radius: 8px; background: #FDEDEB; color: #B3261E; font-size: 13px; line-height: 1.35; }
.plh-up__go {
	width: 100%;
	height: 48px;
	margin-top: 8px !important;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border: 0;
	border-radius: 8px;
	background: var(--brand, #FF5D00);
	color: var(--brand-on, #fff);
	font-size: 16px !important;
	font-weight: 500;
}
.plh-up__go:hover, .plh-up__go:focus { background: var(--brand, #FF5D00); color: var(--brand-on, #fff); }
.plh-up__go:disabled { opacity: .85; cursor: default; }
.plh-up__go .plh-spin { color: #fff; }
.plh-up__panel[aria-busy="true"] .plh-up__opt { cursor: default; opacity: .6; }

/* ---------- Desktop (panel 480 px) ---------- */
@media (min-width: 768px) {
	.plh-up__ch--m { display: none; }
	.plh-up__ch--d { display: inline-block; }
	#cfw-side-cart .plh-up__btn[aria-expanded="true"] .plh-up__ch--d { transform: rotate(180deg); }
	#cfw-side-cart .plh-sci .plh-up__panel { border-top: 1px dashed var(--plh-dashed); padding: 4px 0 8px; }
	#cfw-side-cart .plh-up__panel .plh-up__opt {
		min-height: 44px;
		margin: 0;
		padding: 0;
		border: 0;
		border-radius: 0;
		background: none;
		grid-template-columns: 20px minmax(0, 1fr) auto;
		gap: 10px;
	}
	#cfw-side-cart .plh-up__panel .plh-up__opt input[type="radio"] {
		position: static;
		opacity: 1;
		-webkit-appearance: radio;
		appearance: auto;
		width: 18px !important;
		height: 18px !important;
		min-width: 0;
		min-height: 0;
		margin: 0;
		padding: 0;
		border: 0;
		border-radius: 50%;
		box-shadow: none;
		background: none;
		pointer-events: auto;
		accent-color: var(--brand-ln, #FF5D00);
		grid-column: 1;
	}
	#cfw-side-cart .plh-up__panel .plh-up__oi { display: none; }
	#cfw-side-cart .plh-up__panel .plh-up__on { flex-direction: row; align-items: baseline; gap: 8px; flex-wrap: wrap; }
	#cfw-side-cart .plh-up__panel .plh-up__go {
		height: 44px;
		background: #fff;
		color: #303435;
		border: 1px solid var(--plh-btn-border, #EDEDED);
		font-size: 14px !important;
	}
	#cfw-side-cart .plh-up__panel .plh-up__go:hover,
	#cfw-side-cart .plh-up__panel .plh-up__go:focus { border-color: var(--plh-btn-border-hover, #FF5D00); background: #fff; color: #303435; }
	#cfw-side-cart .plh-up__panel .plh-up__go .plh-spin { color: var(--brand-ln, #FF5D00); }
}

.plh-up__err .fa-circle-exclamation { font-size: 14px; margin-top: 1px; flex: none; }

/* "Kwota" w trakcie przeliczania: spinner w miejscu kwoty */
#cfw-side-cart.plh-busy-tot .cfw-side-cart-totals .cart-subtotal td { position: relative; }
#cfw-side-cart.plh-busy-tot .cfw-side-cart-totals .cart-subtotal td > * { visibility: hidden; }
#cfw-side-cart.plh-busy-tot .cfw-side-cart-totals .cart-subtotal td::after {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	width: 14px;
	height: 14px;
	margin-top: -9px;
	border: 2px solid var(--brand-ln, #FF5D00);
	border-right-color: transparent;
	border-radius: 50%;
	animation: plh-spin .8s linear infinite;
}

/* ---------- Arkusz (mobile) / modal (desktop) ---------- */
html.plh-dlg-lock, html.plh-dlg-lock body { overflow: hidden !important; overscroll-behavior: none; }
.plh-dlg { position: fixed; inset: 0; z-index: 2147483000; font-size: 14px; line-height: 1.35; color: #303435; }
.plh-dlg *, .plh-dlg *::before, .plh-dlg *::after { box-sizing: border-box; }
.plh-dlg { overscroll-behavior: contain; }
.plh-dlg__ov { position: absolute; inset: 0; background: rgba(48, 52, 53, .45); touch-action: none; overscroll-behavior: none; }
.plh-dlg__box {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	max-height: calc(100% - 40px);
	overflow-y: auto;
	overscroll-behavior: contain;
	background: #fff;
	border-radius: 12px 12px 0 0;
	padding: 8px 24px calc(24px + env(safe-area-inset-bottom, 0px));
	box-shadow: 0 -8px 24px rgba(0, 0, 0, .12);
	transform: translateY(16px);
	opacity: 0;
	transition: transform .2s ease, opacity .2s ease;
}
.plh-dlg.is-open .plh-dlg__box { transform: none; opacity: 1; }
@media (prefers-reduced-motion: reduce) { .plh-dlg__box { transition: none; } }
.plh-dlg__h { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 8px 0 12px; margin-right: -12px; }
.plh-dlg__t { font-size: 17px; font-weight: 600; }
.plh-dlg__s { font-size: 13px; color: #5F6366; margin-top: 2px; }
.plh-dlg button.plh-dlg__x { width: 44px; height: 44px; flex: none; display: inline-flex; align-items: center; justify-content: center; padding: 0; border: 0; border-radius: 8px; background: none; color: #303435; font-size: 18px; }
.plh-dlg button.plh-dlg__x:hover { background: none; color: #303435; }
.plh-dlg .plh-up__live { position: absolute; }
@media (min-width: 768px) {
	.plh-dlg--modal .plh-dlg__box {
		left: 50%;
		right: auto;
		top: 50%;
		bottom: auto;
		width: 480px;
		max-height: min(800px, calc(100% - 64px));
		border-radius: 12px;
		padding: 12px 24px 24px;
		transform: translate(-50%, calc(-50% + 12px));
		box-shadow: 0 12px 40px rgba(0, 0, 0, .18);
	}
	.plh-dlg--modal.is-open .plh-dlg__box { transform: translate(-50%, -50%); }
}

/* Wybrane posty: siatka 3 kolumny z usuwaniem */
.plh-pg { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; }
.plh-pg__i { position: relative; aspect-ratio: 1 / 1; border-radius: 4px; overflow: hidden; background: var(--brand-peach, #FFDFC7); }
.plh-pg__img { display: flex; width: 100%; height: 100%; object-fit: cover; align-items: center; justify-content: center; font-size: 18px; color: rgba(48, 52, 53, .3); }
.plh-dlg button.plh-pg__rm { position: absolute; top: 0; right: 0; width: 44px; height: 44px; padding: 0; border: 0; background: none; display: flex; align-items: flex-start; justify-content: flex-end; }
.plh-rm-c { width: 22px; height: 22px; margin: 5px 5px 0 0; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: rgba(48, 52, 53, .78); color: #fff; font-size: 12px; }
.plh-pl { list-style: none; margin: 0; padding: 0; }
.plh-pl__i { display: flex; align-items: center; gap: 8px; min-height: 48px; border-bottom: 1px solid var(--plh-btn-border, #EDEDED); font-size: 14px; }
.plh-pl__i:last-child { border-bottom: 0; }
.plh-pl__ic { font-size: 12px; color: #5F6366; flex: none; }
.plh-pl__u { flex: 1; min-width: 0; display: flex; white-space: nowrap; color: #303435; text-decoration: none; }
.plh-pl__u:hover { color: #303435; text-decoration: underline; text-underline-offset: 3px; }
.plh-dlg button.plh-pl__rm { width: 44px; height: 44px; flex: none; padding: 0; border: 0; background: none; display: inline-flex; align-items: center; justify-content: center; }
.plh-dlg .plh-pl__rm .plh-rm-c { margin: 0; }
.plh-posts-st { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 4px 8px; margin: 0 0 10px; padding: 4px 4px 4px 12px; border-radius: 8px; background: var(--plh-discount-bg); color: var(--plh-discount); font-size: 13px; font-weight: 500; }
.plh-dlg button.plh-posts-st__undo { height: 44px; padding: 0 8px; border: 0; background: none; color: #303435; font-size: 13px; font-weight: 400; text-decoration: underline; text-underline-offset: 3px; }
.plh-posts-note { margin: 10px 0 0; font-size: 13px; color: #5F6366; }

/* Wiersz rabatu w podsumowaniu side carta */
#cfw-side-cart .plh-upsell-savings th,
#cfw-side-cart .plh-upsell-savings td { font-weight: 400; }
#cfw-side-cart .plh-upsell-savings td { text-align: right; white-space: nowrap; }
#cfw-side-cart .plh-upsell-savings .plh-disc-text { color: var(--plh-discount); font-weight: 500; }

/* ---------- Cross-sell (etap 3): "Na ten sam profil / post / film" ---------- */
#cfw-side-cart .plh-xs { padding: 16px 0 8px; }
#cfw-side-cart .plh-xs__h { margin: 0 0 6px; font-size: 13px; line-height: 1.35; color: #5F6366; }
#cfw-side-cart .plh-xs__h span { color: #303435; font-weight: 500; }
#cfw-side-cart .plh-xs__g { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-bottom: 10px; }
#cfw-side-cart .plh-xs__t { display: flex; flex-direction: column; gap: 4px; min-width: 0; padding: 12px; border: 1px solid var(--plh-btn-border, #EDEDED); border-radius: 8px; background: #fff; }
#cfw-side-cart .plh-xs__t .plh-svc { margin-bottom: 6px; }
#cfw-side-cart .plh-xs__n { margin: 0; font-size: 14px; font-weight: 500; line-height: 1.3; color: #303435; overflow-wrap: anywhere; }
#cfw-side-cart .plh-xs__s { margin: 0; font-size: 12px; line-height: 1.35; color: #5F6366; }
#cfw-side-cart .plh-xs__p { margin: 0 0 8px; font-size: 14px; color: #303435; }
#cfw-side-cart .plh-xs .plh-xs__add {
	margin-top: auto;
	width: 100%;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 0 12px;
	border: 1px solid var(--plh-btn-border, #EDEDED);
	border-radius: 8px;
	background: #fff;
	color: #303435;
	font-size: 14px;
	font-weight: 500;
}
#cfw-side-cart .plh-xs .plh-xs__add:hover,
#cfw-side-cart .plh-xs .plh-xs__add:focus { border-color: var(--plh-btn-border-hover, #FF5D00); background: #fff; color: #303435; }
#cfw-side-cart .plh-xs .plh-xs__add:disabled { cursor: default; }
#cfw-side-cart .plh-xs .plh-xs__add:focus-visible { outline: 2px solid var(--brand-ln, #FF5D00); outline-offset: 2px; }
#cfw-side-cart .plh-xs .plh-xs__err { margin-top: 6px; font-size: 12px; padding: 8px 10px; }
#cfw-side-cart .plh-xs [hidden] { display: none !important; }

/* ---------- Feed postow (arkusz prawie pelnoekranowy / modal 720 px) ---------- */
.plh-dlg--feed .plh-dlg__box { top: 40px; max-height: none; display: flex; flex-direction: column; padding-top: 0; padding-bottom: 0; }
/* Naglowek feedu (tytul + x) przyklejony, przewija sie tylko siatka. */
.plh-dlg--feed .plh-dlg__h { position: sticky; top: 0; z-index: 3; background: #fff; margin: 0 -12px 0 -24px; padding: 16px 12px 12px 24px; }
.plh-dlg--feed .plh-dlg__b { flex: 1 0 auto; }
.plh-fd__bar { padding: 0 0 10px; font-size: 13px; }
.plh-fd__cnt { margin: 0; font-weight: 500; color: #303435; }
.plh-fd__note { margin: 2px 0 0; color: #5F6366; }
.plh-fd__maxn:empty { display: none; }
.plh-fd__g { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; }
.plh-fd__i { position: relative; aspect-ratio: 1 / 1; border-radius: 4px; overflow: hidden; }
.plh-fd__img { background: var(--brand-peach, #FFDFC7); }
.plh-fd__g--v .plh-fd__i { aspect-ratio: 9 / 16; }
/* .woocommerce-page label { margin-bottom: .7rem } z motywu - stad specyficznosc .plh-dlg */
.plh-dlg .plh-fd__l { position: absolute; inset: 0; display: block; margin: 0; padding: 0; cursor: pointer; border: 2px solid transparent; border-radius: 4px; }
.plh-fd__i.is-on .plh-fd__l { border-color: var(--brand-ln, #FF5D00); }
.plh-fd__cb { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; }
.plh-fd__cb:focus-visible + .plh-fd__img { outline: 2px solid var(--brand-ln, #FF5D00); outline-offset: -4px; }
.plh-fd__cb:disabled ~ * { opacity: .55; }
.plh-fd__cb:disabled ~ .plh-fd__n { opacity: 1; }
.plh-fd__img { display: block; width: 100%; height: 100%; object-fit: cover; }
.plh-fd__v { position: absolute; left: 6px; top: 6px; color: #fff; font-size: 14px; text-shadow: 0 0 3px rgba(0, 0, 0, .5); }
.plh-fd__c { position: absolute; left: 4px; bottom: 4px; display: inline-flex; gap: 4px; align-items: center; padding: 2px 6px; border-radius: 4px; background: rgba(48, 52, 53, .78); color: #fff; font-size: 11px; line-height: 1.3; }
.plh-fd__c .fa-heart { font-size: 9px; }
.plh-fd__n { position: absolute; right: 5px; top: 5px; width: 22px; height: 22px; border-radius: 50%; display: none; align-items: center; justify-content: center; background: var(--brand, #FF5D00); color: var(--brand-on, #fff); font-size: 12px; font-weight: 600; }
.plh-fd__i.is-on .plh-fd__n { display: flex; }
.plh-fd__morew { padding: 14px 0; text-align: center; }
.plh-fd__st { margin: 0; font-size: 13px; color: #5F6366; display: inline-flex; gap: 8px; align-items: center; }
.plh-dlg button.plh-fd__more { min-height: 44px; padding: 0 16px; border: 1px solid var(--plh-btn-border, #EDEDED); border-radius: 8px; background: #fff; color: #303435; font-size: 14px; }
.plh-fd__f { position: sticky; bottom: 0; margin: 0 -24px; padding: 12px 24px calc(16px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--plh-btn-border, #EDEDED); background: #fff; }
.plh-fd__sum { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 10px; align-items: center; font-size: 13px; }
.plh-dlg .plh-fd__sel { height: 44px; width: auto; max-width: 120px; margin: 0; padding: 0 8px; border: 1px solid #DDD9D5; border-radius: 8px; background: #fff; font: inherit; color: #303435; }
.plh-fd__split { color: #5F6366; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.plh-fd__price { font-size: 15px; font-weight: 600; white-space: nowrap; }
.plh-dlg .plh-fd__go:disabled { background: #B5B8BA; opacity: 1; }
@media (min-width: 768px) {
	.plh-dlg--feed .plh-dlg__box {
		left: 50%;
		right: auto;
		top: 50%;
		bottom: auto;
		width: 720px;
		height: min(800px, calc(100% - 64px));
		border-radius: 12px;
		padding: 0 24px;
		transform: translate(-50%, calc(-50% + 12px));
		box-shadow: 0 12px 40px rgba(0, 0, 0, .18);
	}
	.plh-dlg--feed.is-open .plh-dlg__box { transform: translate(-50%, -50%); }
	.plh-fd__g { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* Sheet "Powieksz pakiet": opcje to <label> - margines motywu (.woocommerce-page label) przebijal 8 px. */
.plh-dlg .plh-up__opt { margin: 0 0 8px; }
.plh-dlg__box:focus { outline: none; }

/* x usuwania pozycji widoczne na stale (CheckoutWC na desktopie pokazuje je dopiero po najechaniu). */
#cfw-side-cart .cart-item-row .cfw-remove-item-button { opacity: 1 !important; visibility: visible !important; }

/* ---------- Doladowanie Skarbonki: kafel propozycja 5 (swinka + znak polskielajki) ---------- */
.plh-svc--topup { --plh-t: var(--brand-peach, #FFDFC7); --plh-c: var(--brand, #FF5D00); }
.plh-svc__badge--plh { background: #fff var(--brand-badge, url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%202%2036%2042'%3E%3Cpath%20d='M15%205H17C26.9411%205%2035%2013.0589%2035%2023C35%2032.9411%2026.9411%2041%2017%2041H15V5Z'%20fill='%23FFDFC7'/%3E%3Cpath%20d='M14.5%2041.7827L14.5%2029C14.5%2028.4477%2014.0523%2028%2013.5%2028H1.72318C0.955357%2028%200.473989%2027.1705%200.854936%2026.5039L14.1318%203.26943C14.6405%202.37907%2016%202.7401%2016%203.76556V19.5C16%2020.0523%2016.4477%2020.5%2017%2020.5H27.264C28.0347%2020.5%2028.5157%2021.3351%2028.129%2022.0017L16.365%2042.2844C15.8522%2043.1685%2014.5%2042.8048%2014.5%2041.7827Z'%20fill='%23FF5D00'/%3E%3C/svg%3E")) center / auto 16px no-repeat; }
.plh-svc--40 .plh-svc__badge--plh { background-size: auto 12px; }

/* Obwodki i linie (decyzja wlasciciela 2026-10-27): linia nad stopka side carta CheckoutWC (#D3D4D5) = #EDEDED. */
body #cfw-side-cart .cfw-side-cart-contents-footer .cfw-side-cart-contents-footer-border-shim {
	border-top-color: var(--plh-btn-border, #EDEDED);
}

/* Bez ruchu (29.10): wjazd i zjazd side carta CheckoutWC (0,4 s) natychmiast. Nie "animation: none" -
   widocznosc panelu i nakladki ustawiaja klatki kluczowe CheckoutWC (fill-mode both). */
@media (prefers-reduced-motion: reduce) {
	body.cfw-side-cart-open #cfw-side-cart,
	body.cfw-side-cart-open #cfw-side-cart-overlay,
	body.cfw-side-cart-close #cfw-side-cart,
	body.cfw-side-cart-close #cfw-side-cart-overlay {
		animation-duration: 1ms !important;
	}
}
