/**
 * PUREPOINT — Cart + Checkout + Buyer Qualification + Search styling.
 * Loaded on: cart, checkout, shop, product, my-account, and on any page where the modal/search appears.
 * Tokens: see purepoint-tokens.css for --pp-teal, --pp-ink, --pp-line, --pp-paper, --pp-sans, --pp-mono.
 */

/* ============================================================
 * 0. WC messages — usuń icon font ::before (zielony ✓ + czerwony ❌)
 * ============================================================ */

.woocommerce-message,
.woocommerce-error,
.woocommerce-info,
.wc-block-components-notice-banner,
.wc-block-store-notice {
	display: flex;
	align-items: center;
	gap: 0;
	padding: 14px 18px;
	background: var(--pp-paper-soft, #fafafa);
	border: 1px solid var(--pp-line);
	border-left: 3px solid var(--pp-teal, #12747D);
	margin: 0 0 20px;
	color: var(--pp-ink, #1a1d1f);
	font: 500 14px/1.5 var(--pp-sans, system-ui);
	list-style: none;
}
.woocommerce-error {
	border-left-color: #c82323;
	background: rgba(200, 35, 35, 0.04);
}
.woocommerce-info {
	border-left-color: #888;
}

/* NUCLEAR usunięcie ikon WooCommerce font (✓ ❌ ℹ) ze WSZYSTKICH WC notice'ów.
   Override font-family + zero pseudo-elements + reset padding-left dla icon space. */
.woocommerce-message,
.woocommerce-message *,
.woocommerce-error,
.woocommerce-error *,
.woocommerce-info,
.woocommerce-info *,
.woocommerce-NoticeGroup,
.woocommerce-NoticeGroup *,
.woocommerce-notices-wrapper,
.woocommerce-notices-wrapper * {
	font-family: var(--pp-sans, system-ui), -apple-system, sans-serif !important;
}

.woocommerce-message::before,
.woocommerce-message::after,
.woocommerce-error::before,
.woocommerce-error::after,
.woocommerce-info::before,
.woocommerce-info::after,
ul.woocommerce-error::before,
ul.woocommerce-message::before,
ul.woocommerce-error li::before,
ul.woocommerce-error li::after,
ul.woocommerce-message li::before,
ul.woocommerce-message li::after,
.woocommerce-NoticeGroup::before,
.woocommerce-NoticeGroup .woocommerce-error::before,
.woocommerce-NoticeGroup .woocommerce-message::before,
.woocommerce-NoticeGroup li::before,
[class*="woocommerce-error"]::before,
[class*="woocommerce-message"]::before,
[class*="woocommerce-info"]::before,
[class*="wc-block-components-notice"]::before,
[class*="wc-block-store-notice"]::before {
	content: none !important;
	display: none !important;
	width: 0 !important;
	height: 0 !important;
	background: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Container reset — bez padding-left rezerwowanego dla icon */
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-info,
ul.woocommerce-error,
ul.woocommerce-message,
ul.woocommerce-error li,
ul.woocommerce-message li,
.woocommerce-NoticeGroup .woocommerce-error,
.woocommerce-NoticeGroup .woocommerce-message {
	padding-left: 18px !important;
	text-indent: 0 !important;
	list-style: none !important;
	background-image: none !important;
}

/* Button "Zobacz koszyk" w komunikacie sukcesu */
.woocommerce-message .button,
.woocommerce-message a.button {
	margin-left: auto;
	flex-shrink: 0;
}

/* ============================================================
 * 1. Cart page (/koszyk/) — PUREPOINT custom 2-kolumnowy layout
 * ============================================================ */

.woocommerce-cart .pp-main,
.woocommerce-checkout .pp-main {
	padding: 40px 0 96px;
}
@media (max-width: 720px) {
	.woocommerce-cart .pp-main,
	.woocommerce-checkout .pp-main {
		padding: 20px 0 56px;
	}
}

/* Koszyk rozciągnięty na całą szerokość (page.php → .pp-container--wide).
   Shortcode .woocommerce wypełnia kontener bez własnego limitu. */
.woocommerce-cart .pp-page__commerce,
.woocommerce-cart .woocommerce {
	max-width: none;
	width: 100%;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
.woocommerce-checkout .woocommerce {
	max-width: 1100px;
	margin: 0 auto;
	width: 100%;
	box-sizing: border-box;
}

.woocommerce-cart h1.entry-title,
.woocommerce-cart .pp-main h1:first-child {
	font: 700 32px/1.2 var(--pp-sans, system-ui);
	color: var(--pp-ink);
	margin: 0 0 28px;
	letter-spacing: -0.01em;
}

/* ── Siatka koszyka: produkty (elastyczne) + Podsumowanie (sticky) ── */
.pp-cart {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 400px;
	gap: 28px;
	align-items: start;
}
@media (max-width: 1024px) {
	.pp-cart { grid-template-columns: minmax(0, 1fr) 360px; gap: 22px; }
}
@media (max-width: 900px) {
	.pp-cart { grid-template-columns: 1fr; gap: 18px; }
}
.pp-cart__main { min-width: 0; }
.pp-cart__aside { min-width: 0; }
@media (min-width: 901px) {
	.pp-cart__aside { position: sticky; top: 24px; }
}

/* ── Karty ── */
.pp-cart__card {
	background: var(--pp-paper, #fff);
	border: 1px solid var(--pp-line);
	border-radius: 2px;
}
.pp-cart__card + .pp-cart__card { margin-top: 18px; }

/* ── Tabela produktów ── */
.pp-cart__table { width: 100%; border-collapse: collapse; margin: 0; border: 0; }
.pp-cart__table thead { background: var(--pp-paper-soft, #fafafa); }
.pp-cart__table thead th {
	font: 600 11px/1 var(--pp-mono, ui-monospace, monospace);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--pp-ink-3);
	padding: 15px 18px;
	text-align: left;
	border-bottom: 1px solid var(--pp-line);
}
.pp-cart__table thead .pp-cart__col-qty,
.pp-cart__table thead .pp-cart__col-price { text-align: center; }
.pp-cart__table thead .pp-cart__col-subtotal { text-align: right; }
.pp-cart__table td {
	padding: 20px 18px;
	border-bottom: 1px solid var(--pp-line);
	vertical-align: middle;
}
.pp-cart__table tbody tr:last-child td { border-bottom: 0; }

.pp-cart__remove {
	display: inline-flex; align-items: center; justify-content: center;
	width: 26px; height: 26px; border-radius: 50%;
	background: transparent; color: var(--pp-ink-4);
	font-size: 20px; line-height: 1; text-decoration: none;
	transition: background 140ms, color 140ms;
}
.pp-cart__remove:hover { background: rgba(200,35,35,0.08); color: #c82323; }
.product-remove { width: 26px; padding-right: 0 !important; }

.pp-cart__thumb { width: 76px; }
.pp-cart__thumb img {
	width: 64px; height: 64px; object-fit: cover;
	border: 1px solid var(--pp-line); border-radius: 2px; display: block;
}

.pp-cart__name-link { color: var(--pp-ink); text-decoration: none; font: 600 15px/1.35 var(--pp-sans, system-ui); }
.pp-cart__name-link:hover { color: var(--pp-teal); }
.pp-cart__name .variation,
.pp-cart__name .wc-item-meta {
	margin: 6px 0 0; padding: 0; list-style: none;
	font: 400 12.5px/1.4 var(--pp-sans, system-ui); color: var(--pp-ink-3);
}
.pp-cart__name .variation p, .pp-cart__name .wc-item-meta li { margin: 0; }

.pp-cart__price { text-align: center; color: var(--pp-ink-2); font-size: 14px; white-space: nowrap; }
.pp-cart__subtotal { text-align: right; color: var(--pp-ink); font-weight: 600; font-size: 14.5px; white-space: nowrap; }
.pp-cart__price .woocommerce-Price-amount,
.pp-cart__subtotal .woocommerce-Price-amount { font-family: var(--pp-mono, ui-monospace, monospace); }

/* ── Stepper ilości (− [n] +) ── */
.pp-cart__qty { text-align: center; }
.pp-cart__qty .quantity {
	display: inline-flex; align-items: stretch;
	border: 1px solid var(--pp-line); border-radius: 4px; overflow: hidden;
	background: var(--pp-paper, #fff);
}
.pp-qty-btn {
	width: 36px; border: 0; background: var(--pp-paper-soft, #fafafa);
	color: var(--pp-ink); font-size: 18px; line-height: 1; cursor: pointer;
	display: inline-flex; align-items: center; justify-content: center;
	transition: background 120ms, color 120ms;
}
.pp-qty-btn:hover { background: var(--pp-teal); color: #fff; }
.pp-cart__qty .quantity input.qty,
.pp-cart__qty-input {
	width: 46px; padding: 9px 0; border: 0; border-left: 1px solid var(--pp-line); border-right: 1px solid var(--pp-line);
	text-align: center; font: 600 14px/1 var(--pp-mono, ui-monospace, monospace);
	color: var(--pp-ink); background: var(--pp-paper, #fff);
	-moz-appearance: textfield; appearance: textfield;
}
.pp-cart__qty-input::-webkit-outer-spin-button,
.pp-cart__qty-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* ── Wiersz akcji (Aktualizuj koszyk) ── */
.pp-cart__actions-row td.actions { text-align: right; background: var(--pp-paper-soft, #fafafa); padding: 16px 18px; }
.pp-cart__update {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 11px 20px; border: 1px solid var(--pp-line-strong); border-radius: 4px;
	background: var(--pp-paper, #fff); color: var(--pp-ink);
	font: 600 13px/1 var(--pp-sans, system-ui); cursor: pointer; text-decoration: none;
	transition: border-color 140ms, color 140ms;
}
.pp-cart__update:hover { border-color: var(--pp-ink); color: var(--pp-ink); background: var(--pp-paper, #fff); transform: none; }

/* ── Karta kuponu ── */
.pp-cart__coupon-card { padding: 20px 18px; }
.pp-cart__coupon-label {
	display: block; font: 600 11px/1 var(--pp-mono, ui-monospace, monospace);
	text-transform: uppercase; letter-spacing: 0.08em; color: var(--pp-ink-3); margin: 0 0 10px;
}
.pp-cart__coupon-row { display: flex; gap: 10px; align-items: stretch; }
.pp-cart__coupon-input {
	flex: 1; min-width: 0; padding: 12px 14px;
	border: 1px solid var(--pp-line); border-radius: 4px;
	font: 400 14px/1 var(--pp-sans, system-ui); color: var(--pp-ink); background: var(--pp-paper, #fff);
}
.pp-cart__coupon-input:focus { outline: none; border-color: var(--pp-teal); }
.pp-cart__coupon-btn {
	flex: none; padding: 12px 18px; border: 1px solid var(--pp-line-strong); border-radius: 4px;
	background: var(--pp-paper, #fff); color: var(--pp-ink);
	font: 600 13px/1 var(--pp-sans, system-ui); cursor: pointer; white-space: nowrap;
	transition: border-color 140ms;
}
.pp-cart__coupon-btn:hover { border-color: var(--pp-ink); transform: none; }

/* ── Podsumowanie ── */
.pp-summary {
	background: var(--pp-paper-soft, #fafafa);
	border: 1px solid var(--pp-line);
	border-radius: 2px;
	padding: 24px;
	width: 100%; box-sizing: border-box;
}
.pp-summary__title {
	font: 700 18px/1.2 var(--pp-sans, system-ui);
	color: var(--pp-ink); margin: 0 0 18px;
}
/* WooCommerce core nadaje .cart_totals { width:48%; float:right } — neutralizujemy. */
.pp-cart .cart_totals,
.pp-cart .pp-cart__collaterals { width: 100% !important; max-width: none !important; float: none !important; }
/* Tabela jako bloki (rezygnacja z layoutu tabelarycznego), twarde wyzerowanie
   domyślnych stylów WooCommerce (ramki / tła) — inaczej powstaje box-in-box
   i poziomy overflow. */
.pp-summary__table,
.pp-summary table.shop_table { display: block; width: 100%; border: 0 !important; margin: 0; background: transparent !important; }
.pp-summary__table tbody { display: block; width: 100%; }
.pp-summary__table tr,
.pp-summary table.shop_table tr,
.pp-summary table.shop_table th,
.pp-summary table.shop_table td { border: 0 !important; background: transparent !important; }
.pp-summary__table th,
.pp-summary__table td { padding: 0; }
.pp-summary__row { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--pp-line); }
.pp-summary__row th { font: 500 14px/1.4 var(--pp-sans, system-ui); color: var(--pp-ink-2); text-align: left; }
.pp-summary__row td { font-size: 14px; color: var(--pp-ink); text-align: right; white-space: nowrap; }
.pp-summary__row .woocommerce-Price-amount { font-family: var(--pp-mono, ui-monospace, monospace); }
.pp-summary__row--shipping { display: block; }
.pp-summary__row--shipping td { text-align: left; display: block; width: 100%; }
.pp-summary__row--total { border-bottom: 0; padding-top: 16px; }
.pp-summary__row--total th { font-weight: 700; font-size: 16px; color: var(--pp-ink); }
.pp-summary__row--total td { font-weight: 700; font-size: 20px; color: var(--pp-ink); }
.pp-summary__row--total td .woocommerce-Price-amount { color: var(--pp-teal); }

/* ── Wybór kuriera ── */
.pp-summary__shipping-label {
	font: 600 11px/1 var(--pp-mono, ui-monospace, monospace);
	text-transform: uppercase; letter-spacing: 0.08em; color: var(--pp-ink-3);
	margin: 4px 0 12px; text-align: left;
}
.pp-ship, .pp-ship__note, .pp-ship__empty, .pp-ship__details { text-align: left; }
/* #shipping_method = ID (działa i w koszyku, i w checkout — poza .pp-summary). */
.pp-ship, #shipping_method.pp-ship, #shipping_method { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; width: 100%; box-sizing: border-box; }
.pp-ship__item, #shipping_method li.pp-ship__item { position: relative; margin: 0; width: 100%; list-style: none; }
#shipping_method .pp-ship__radio,
.pp-ship__radio { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
/* #shipping_method label (WC) wymusza display:inline — bijemy specyficznością ID. */
#shipping_method .pp-ship__label,
.pp-ship__label {
	display: flex !important; align-items: center; flex-wrap: wrap; gap: 10px; width: 100%; box-sizing: border-box; float: none;
	margin: 0 !important; padding: 13px 14px; border: 1px solid var(--pp-line); border-radius: 4px;
	background: var(--pp-paper, #fff); cursor: pointer;
	font: 500 13px/1.3 var(--pp-sans, system-ui); color: var(--pp-ink);
	transition: border-color 140ms, background 140ms;
}
.pp-ship__label .woocommerce-Price-amount { white-space: nowrap; }

/* Badge'e przewoźników (InPost / Orlen / DPD) — łamią się do nowej linii. */
.pp-ship__badge { flex: 0 0 100%; display: flex; justify-content: flex-start; margin: 4px 0 0 26px; font: 700 10.5px/1 var(--pp-sans, system-ui); letter-spacing: 0.01em; }
.pp-ship__badge-a, .pp-ship__badge-b, .pp-ship__badge-solid { display: inline-flex; align-items: center; padding: 4px 7px; white-space: nowrap; }
.pp-ship__badge-a { background: #FFCC00; color: #1A1A1A; border-radius: 3px 0 0 3px; }
.pp-ship__badge-b { background: #2B2B2B; color: #fff; border-radius: 0 3px 3px 0; }
.pp-ship__badge--orlen .pp-ship__badge-solid { background: #E4002B; color: #fff; border-radius: 3px; }
.pp-ship__badge--dpd .pp-ship__badge-solid { background: #DC0032; color: #fff; border-radius: 3px; }
.pp-ship__label::before {
	content: ""; flex: none; width: 16px; height: 16px; border-radius: 50%;
	border: 1.5px solid var(--pp-line-strong); transition: border-color 140ms, box-shadow 140ms;
}
.pp-ship__label:hover { border-color: var(--pp-line-strong); }
.pp-ship__radio:checked + .pp-ship__label {
	border-color: var(--pp-teal); background: var(--pp-teal-05);
}
.pp-ship__radio:checked + .pp-ship__label::before {
	border-color: var(--pp-teal); box-shadow: inset 0 0 0 4px var(--pp-teal);
}
.pp-ship__radio:focus-visible + .pp-ship__label { outline: 2px solid var(--pp-teal); outline-offset: 2px; }
.pp-ship__label .woocommerce-Price-amount {
	margin-left: auto; font-family: var(--pp-mono, ui-monospace, monospace); font-weight: 600; color: var(--pp-ink);
}
.pp-ship__note, .pp-ship__empty, .pp-ship__details {
	margin: 10px 0 0; font: 400 12px/1.45 var(--pp-sans, system-ui); color: var(--pp-ink-3);
}

/* ── Przycisk Przejdź do płatności ── */
.pp-summary__checkout { margin-top: 20px; }
.pp-summary__checkout-btn {
	display: flex; align-items: center; justify-content: center; gap: 10px;
	width: 100%; padding: 16px 22px; border-radius: 4px;
	background: var(--pp-teal); color: #fff; border: 1px solid var(--pp-teal);
	font: 700 15px/1 var(--pp-sans, system-ui); text-decoration: none; cursor: pointer;
	transition: background 140ms, transform 140ms;
}
.pp-summary__checkout-btn:hover { background: var(--pp-teal-hover); transform: translateY(-1px); color: #fff; }
.pp-summary__checkout-btn svg { transition: transform 140ms; }
.pp-summary__checkout-btn:hover svg { transform: translateX(3px); }
.pp-summary__note {
	display: flex; align-items: center; gap: 8px;
	margin: 14px 0 0; font: 400 12px/1.4 var(--pp-sans, system-ui); color: var(--pp-ink-3);
}
.pp-summary__note svg { flex: none; color: var(--pp-teal); }

/* ── Pusty koszyk ── */
.woocommerce-cart .cart-empty {
	text-align: center; font: 500 17px/1.5 var(--pp-sans, system-ui);
	color: var(--pp-ink-2); padding: 56px 0 24px;
}
.woocommerce-cart .return-to-shop { text-align: center; margin-top: 20px; }

/* ── Mobile: tabela → karta produktu (PURE POINT) ── */
@media (max-width: 640px) {
	.pp-cart__table,
	.pp-cart__table tbody { display: block; width: 100%; }
	.pp-cart__table thead { display: none; }

	.pp-cart__table tbody tr.woocommerce-cart-form__cart-item {
		position: relative;
		display: grid;
		grid-template-columns: 60px 1fr auto;
		grid-template-areas:
			"thumb name  name"
			"thumb price price"
			"qty   qty   sub";
		column-gap: 14px;
		row-gap: 12px;
		padding: 16px;
		align-items: center;
		border-bottom: 1px solid var(--pp-line);
	}
	.pp-cart__table tbody tr.woocommerce-cart-form__cart-item:last-of-type { border-bottom: 0; }
	.pp-cart__table tbody tr.woocommerce-cart-form__cart-item td {
		padding: 0; border: 0; display: block; text-align: left; white-space: normal;
	}

	/* × w prawym górnym rogu karty (poza siatką) */
	.product-remove { position: absolute; top: 14px; right: 14px; width: auto; }

	/* Miniatura — WooCommerce ukrywa ją na mobile, wymuszamy widoczność */
	.pp-cart__table tbody tr.woocommerce-cart-form__cart-item td.pp-cart__thumb {
		display: block !important;
		grid-area: thumb; width: 60px; align-self: start;
	}
	.pp-cart__thumb img { width: 60px; height: 60px; }

	.pp-cart__name { grid-area: name; align-self: center; padding-right: 28px; }
	.pp-cart__name .pp-cart__name-link { font-size: 14.5px; line-height: 1.3; }
	.pp-cart__price { grid-area: price; color: var(--pp-ink-3); font-size: 13px; text-align: left; }
	.pp-cart__price::before { content: "Cena: "; color: var(--pp-ink-4); }
	.pp-cart__qty { grid-area: qty; text-align: left; }
	.pp-cart__subtotal {
		grid-area: sub; text-align: right; font-weight: 700; font-size: 14.5px; align-self: center;
	}
	.pp-cart__subtotal::before { content: "Razem: "; color: var(--pp-ink-4); font-weight: 400; font-size: 12px; }

	.pp-cart__actions-row { display: block; }
	.pp-cart__actions-row td.actions { text-align: center; padding: 14px 16px; }
	.pp-cart__update { width: 100%; justify-content: center; }

	.pp-cart__coupon-row { flex-direction: column; }
	.pp-cart__coupon-btn { width: 100%; }
}

/* ============================================================
 * 2. Checkout page (/zamowienie/)
 * ============================================================ */

.woocommerce-checkout h1.entry-title,
.woocommerce-checkout .pp-main h1:first-child {
	font: 700 28px/1.2 var(--pp-sans, system-ui);
	color: var(--pp-ink);
	margin: 0 0 24px;
}
@media (max-width: 600px) {
	.woocommerce-checkout h1.entry-title,
	.woocommerce-checkout .pp-main h1:first-child {
		font-size: 22px;
		margin: 0 0 16px;
	}
}

/* Reset WC legacy floats — must come BEFORE grid */
.woocommerce-checkout .col2-set,
.woocommerce-checkout .col-1,
.woocommerce-checkout .col-2,
.woocommerce-checkout form.checkout > .col2-set,
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields {
	width: 100% !important;
	float: none !important;
	max-width: none !important;
	clear: both;
}

/* Checkout grid — uses CSS grid template-areas for predictable layout
   #payment is moved by JS from #order_review → form.checkout (as direct child) — gets full-width payment grid-area */
.woocommerce-checkout form.checkout {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(280px, 1fr);
	grid-template-areas:
		"billing  review-h"
		"billing  review"
		"shipping review"
		"extra    review"
		"payment  payment";
	column-gap: 48px;
	row-gap: 28px;
	align-items: start;
	width: 100%;
}
.woocommerce-checkout form.checkout > .col2-set { grid-area: billing; min-width: 0; }
.woocommerce-checkout form.checkout > .woocommerce-billing-fields { grid-area: billing; min-width: 0; }
.woocommerce-checkout form.checkout > .woocommerce-shipping-fields { grid-area: shipping; min-width: 0; }
.woocommerce-checkout form.checkout > .woocommerce-additional-fields { grid-area: extra; min-width: 0; }
.woocommerce-checkout form.checkout > #order_review_heading { grid-area: review-h; min-width: 0; margin: 0; }
.woocommerce-checkout form.checkout > #order_review { grid-area: review; min-width: 0; }
/* #payment moved by JS — pełna szerokość pod billing/shipping */
.woocommerce-checkout form.checkout > #payment.pp-payment--moved {
	grid-area: payment;
	min-width: 0;
	margin-top: 16px;
}

@media (max-width: 900px) {
	.woocommerce-checkout form.checkout {
		grid-template-columns: 1fr;
		/* Mobile: "Twoje zamówienie" (review) NA SAMEJ GÓRZE — żeby klient widział
		   produkty i cenę zanim wypełni dane rozliczeniowe. */
		grid-template-areas:
			"review-h"
			"review"
			"billing"
			"shipping"
			"extra"
			"payment";
		column-gap: 0;
		row-gap: 20px;
	}
}

.woocommerce-checkout h3 {
	font: 600 11px/1 var(--pp-mono, ui-monospace, monospace);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--pp-ink-3);
	margin: 0 0 16px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--pp-line);
}

/* Form fields */
.woocommerce-checkout .form-row {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-bottom: 16px;
}
.woocommerce-checkout .form-row label {
	font: 500 12px/1.2 var(--pp-sans, system-ui);
	color: var(--pp-ink-2);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .select2-container .select2-selection--single {
	padding: 11px 14px;
	border: 1px solid var(--pp-line);
	background: var(--pp-paper, #fff);
	font: 400 14.5px/1.4 var(--pp-sans, system-ui);
	color: var(--pp-ink);
	transition: border-color 140ms, box-shadow 140ms;
	min-height: 44px;
	height: auto;
}
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus {
	outline: 0;
	border-color: var(--pp-teal, #12747D);
	box-shadow: 0 0 0 3px rgba(18, 116, 125, 0.12);
}
.woocommerce-checkout .form-row abbr.required {
	color: var(--pp-teal, #12747D);
	border: 0;
	text-decoration: none;
	margin-left: 4px;
}

/* Order review — sticky summary po prawej (na desktop). Zawiera tylko table z items + totals;
   #payment jest stamtąd usunięty przez JS i ląduje na full-width pod billing. */
.woocommerce-checkout #order_review {
	background: var(--pp-paper-soft, #fafafa);
	border: 1px solid var(--pp-line);
	padding: 22px;
	position: sticky;
	top: 24px;
}
.woocommerce-checkout #order_review table.shop_table {
	background: var(--pp-paper, #fff);
	border: 1px solid var(--pp-line);
	font-size: 13.5px;
}
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td {
	padding: 10px 12px;
}
@media (max-width: 900px) {
	.woocommerce-checkout #order_review {
		position: static;
		top: auto;
	}
}

/* ============================================================
 * 2.1 Payment methods — Stripe / BLIK / Klarna (clean, no nested boxes)
 *
 * Full-width pod billing/shipping. JEDEN border na liście, każda metoda
 * to row z radio + label. Po wyborze metody — payment_box rozwija się
 * z BRAKIEM dodatkowego tła (clean inline).
 * ============================================================ */

#payment.pp-payment--moved {
	background: var(--pp-paper, #fff);
	padding: 0;
}
#payment.pp-payment--moved > h3 {
	font: 600 11px/1 var(--pp-mono, ui-monospace, monospace);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--pp-ink-3);
	margin: 0 0 14px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--pp-line);
}

.woocommerce-checkout ul.payment_methods {
	list-style: none;
	padding: 0;
	margin: 0 0 24px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	border: 0;
	background: transparent;
}

/* Każda metoda = osobna karta (spójnie z wyborem kuriera). */
.woocommerce-checkout ul.payment_methods li.wc_payment_method {
	background: var(--pp-paper, #fff);
	border: 1px solid var(--pp-line);
	border-radius: 4px;
	padding: 0;
	margin: 0;
	overflow: hidden;
	transition: border-color 140ms, background 140ms;
}
.woocommerce-checkout ul.payment_methods li.wc_payment_method:hover {
	border-color: var(--pp-line-strong);
}
.woocommerce-checkout ul.payment_methods li.wc_payment_method:has(> input[type="radio"]:checked) {
	border-color: var(--pp-teal, #12747D);
	background: var(--pp-teal-05, rgba(18,116,125,0.05));
}

.woocommerce-checkout ul.payment_methods li > input[type="radio"] {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

/* Label = full clickable row */
.woocommerce-checkout ul.payment_methods li > label[for^="payment_method"] {
	display: flex;
	align-items: center;
	gap: 14px;
	font: 600 14.5px/1.4 var(--pp-sans, system-ui);
	color: var(--pp-ink);
	cursor: pointer;
	padding: 16px 20px;
	margin: 0;
	position: relative;
}
.woocommerce-checkout ul.payment_methods li > label[for^="payment_method"]::before {
	content: "";
	width: 20px;
	height: 20px;
	border: 1.5px solid var(--pp-line);
	border-radius: 50%;
	flex-shrink: 0;
	background: var(--pp-paper, #fff);
	transition: border-color 120ms, background 120ms;
}
.woocommerce-checkout ul.payment_methods li:has(> input[type="radio"]:checked) > label[for^="payment_method"]::before {
	border-color: var(--pp-teal, #12747D);
	border-width: 5.5px;
}
.woocommerce-checkout ul.payment_methods li > label[for^="payment_method"] img,
.woocommerce-checkout ul.payment_methods li > label[for^="payment_method"] .stripe-icon {
	max-height: 28px;
	width: auto;
	max-width: 200px;
	margin-left: auto;
	object-fit: contain;
}
@media (max-width: 480px) {
	.woocommerce-checkout ul.payment_methods li > label[for^="payment_method"] {
		padding: 14px 16px;
		font-size: 14px;
		flex-wrap: wrap;
		gap: 10px;
	}
	.woocommerce-checkout ul.payment_methods li > label[for^="payment_method"] img,
	.woocommerce-checkout ul.payment_methods li > label[for^="payment_method"] .stripe-icon {
		max-height: 22px;
		max-width: 160px;
	}
}

/* ============================================================
 * 2.2 PP Stripe Checkout — stack list (Karta/Apple Pay/G Pay/BLIK)
 * Wzór: prosta lista metod z logo po prawej (jak czysty checkout flow).
 * ============================================================ */

/* Stripe gateway: główka = pasek (radio + tytuł), poniżej białe wiersze.
   Po zaznaczeniu tylko główka dostaje szare tło (jak COD), reszta biała. */
.woocommerce-checkout li.wc_payment_method.payment_method_pp_stripe_checkout > label[for="payment_method_pp_stripe_checkout"] {
	display: block !important;
	position: relative;
	padding: 0 !important;
	margin: 0;
}
/* radio wyrównane identycznie jak w „Płatność za pobraniem" (left 20, pion wyśrodkowany w główce) */
.woocommerce-checkout li.wc_payment_method.payment_method_pp_stripe_checkout > label[for="payment_method_pp_stripe_checkout"]::before {
	display: inline-block !important;
	position: absolute;
	top: 17px;
	left: 20px;
	margin: 0 !important;
}

.pp-pay-stack { display: block; min-width: 0; background: transparent; padding: 0; }
.pp-pay-stack__head {
	display: block;
	padding: 17px 20px 17px 54px;   /* tekst wyrównany z „Płatność za pobraniem" */
	margin: 0;
	font: 600 14.5px/1.3 var(--pp-sans, system-ui);
	color: var(--pp-ink, #1a1d1f);
	border-bottom: 1px solid var(--pp-line);
}
.pp-pay-stack__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 13px 20px;
	background: var(--pp-paper, #fff);
	border-bottom: 1px solid var(--pp-line);
}
.pp-pay-stack__row:last-child { border-bottom: 0; }
.pp-pay-stack__name {
	font: 500 14.5px/1.3 var(--pp-sans, system-ui);
	color: var(--pp-ink-2, #5a5f65);
}
.pp-pay-stack__logos {
	display: flex;
	align-items: center;
	gap: 6px;
	flex-shrink: 0;
}

/* Prawdziwe logo płatności — jednolite chipy tej samej wielkości */
.pp-pay-logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 32px;
	padding: 4px 6px;
	background: #fff;
	border: 1px solid var(--pp-line, #e6e6e6);
	border-radius: 5px;
	box-sizing: border-box;
	overflow: hidden;
	flex: none;
}
.pp-pay-logo img {
	display: block;
	max-height: 100%;
	max-width: 100%;
	width: auto;
	height: auto;
}
/* BLIK — oficjalne logo (własny ciemny badge) w standardowym chipie */
.pp-pay-logo--blik img { max-height: 100%; max-width: 100%; width: auto; height: auto; }
@media (max-width: 480px) {
	.pp-pay-logo { width: 46px; height: 30px; padding: 4px 5px; }
}

/* Marki — Visa/MC/AmEx/Apple Pay/G Pay/BLIK */
.pp-pay-mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	height: 26px;
	padding: 0 8px;
	font: 800 11px/1 var(--pp-sans, system-ui);
	letter-spacing: 0.02em;
	border-radius: 4px;
	border: 1px solid var(--pp-line, #e1e3e5);
	background: var(--pp-paper, #fff);
}
.pp-pay-mark--visa { color: #1A1F71; font-style: italic; letter-spacing: 0; padding: 0 10px; }
.pp-pay-mark--amex { color: #fff; background: #006FCF; border-color: #006FCF; padding: 0 6px; font-size: 9.5px; line-height: 1.1; text-align: center; }
.pp-pay-mark--mc {
	gap: 0;
	padding: 0 8px;
	border-color: #ddd;
}
.pp-pay-mark__dot {
	display: inline-block;
	width: 12px;
	height: 12px;
	border-radius: 50%;
}
.pp-pay-mark__dot--red    { background: #EB001B; }
.pp-pay-mark__dot--yellow { background: #F79E1B; margin-left: -5px; mix-blend-mode: multiply; }
.pp-pay-mark--apple {
	color: #000;
	background: #fff;
	border-color: #000;
	font-weight: 600;
	padding: 0 10px;
	gap: 3px;
}
.pp-pay-mark--apple svg {
	width: 13px;
	height: 13px;
}
.pp-pay-mark--google {
	color: #5f6368;
	background: #fff;
	border-color: #dadce0;
	font-weight: 500;
	padding: 0 10px;
	gap: 3px;
}
.pp-pay-mark__g {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 14px;
	height: 14px;
	background: conic-gradient(from -45deg, #4285F4 90deg, #EA4335 180deg, #FBBC05 270deg, #34A853 360deg);
	border-radius: 50%;
	color: #fff;
	font: 800 8px/1 var(--pp-sans, system-ui);
}
.pp-pay-mark__g-blue {
	display: inline-block;
	background: #fff;
	color: #4285F4;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	font: 800 7.5px/10px var(--pp-sans, system-ui);
	text-align: center;
}
.pp-pay-mark--blik {
	color: #fff;
	background: #000;
	border-color: #000;
	font: 700 13px/1 var(--pp-sans, system-ui);
	letter-spacing: -0.02em;
	padding: 0 8px;
	font-style: italic;
}
.pp-pay-mark__dot--blik {
	display: inline;
	position: relative;
}
.pp-pay-mark__dot--blik::after {
	content: "";
	position: absolute;
	top: -2px;
	right: -2px;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: #E60000;
}

@media (max-width: 480px) {
	.woocommerce-checkout li.wc_payment_method.payment_method_pp_stripe_checkout > label[for="payment_method_pp_stripe_checkout"]::before { top: 16px; left: 16px; }
	.pp-pay-stack__head { padding: 16px 16px 16px 48px; font-size: 14px; }
	.pp-pay-stack__row { padding: 12px 16px; }
	.pp-pay-stack__name { font-size: 13px; }
}

/* Hide legacy pp-pay-card (zastąpione przez pp-pay-stack) */
.pp-pay-card { display: none !important; }

/* Premium card markup */
.pp-pay-card {
	display: grid;
	grid-template-columns: 56px 1fr;
	gap: 18px;
	align-items: center;
	padding: 18px 22px;
	background: var(--pp-paper, #fff);
	border-left: 3px solid var(--pp-teal, #12747D);
	transition: background 140ms;
}
.woocommerce-checkout li.wc_payment_method.payment_method_pp_stripe_checkout:has(> input[type="radio"]:checked) .pp-pay-card {
	background: rgba(18, 116, 125, 0.04);
}

.pp-pay-card__icon {
	display: inline-grid;
	place-items: center;
	width: 56px;
	height: 56px;
	background: var(--pp-ink, #1a1d1f);
	color: #fff;
	border-radius: 0;
}

.pp-pay-card__body {
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
}
.pp-pay-card__head {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}
.pp-pay-card__title {
	font: 600 15.5px/1.3 var(--pp-sans, system-ui);
	color: var(--pp-ink, #1a1d1f);
	font-weight: 700;
}
.pp-pay-card__badge {
	font: 500 10.5px/1 var(--pp-mono, ui-monospace, monospace);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--pp-teal, #12747D);
	background: rgba(18, 116, 125, 0.08);
	padding: 4px 8px;
	border-radius: 2px;
	white-space: nowrap;
}

/* Logo strip — Visa / MC / AmEx / BLIK / Apple / Google */
.pp-pay-card__logos {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}
.pp-pay-logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 24px;
	min-width: 36px;
	padding: 0 6px;
	border: 1px solid var(--pp-line, #e1e3e5);
	border-radius: 3px;
	background: var(--pp-paper, #fff);
	font: 800 10.5px/1 var(--pp-sans, system-ui);
	letter-spacing: 0.04em;
}
.pp-pay-logo--visa { color: #1A1F71; font-style: italic; font-weight: 900; letter-spacing: 0.02em; }
.pp-pay-logo--amex { color: #006FCF; font-weight: 800; }
.pp-pay-logo--blik { color: #fff; background: #000; border-color: #000; }
.pp-pay-logo--mc {
	gap: 2px;
}
.pp-pay-logo__dot {
	display: inline-block;
	width: 11px;
	height: 11px;
	border-radius: 50%;
}
.pp-pay-logo__dot--red    { background: #EB001B; }
.pp-pay-logo__dot--yellow { background: #F79E1B; margin-left: -4px; mix-blend-mode: multiply; }
.pp-pay-logo--apple {
	color: #000;
	padding: 0 8px;
}
.pp-pay-logo--apple svg { height: 12px; width: auto; }
.pp-pay-logo--google {
	background: #fff;
	color: #1A1F71;
	font-weight: 700;
}

/* Mobile */
@media (max-width: 480px) {
	.pp-pay-card {
		grid-template-columns: 44px 1fr;
		gap: 14px;
		padding: 14px 16px;
	}
	.pp-pay-card__icon { width: 44px; height: 44px; }
	.pp-pay-card__icon svg { width: 22px; height: 22px; }
	.pp-pay-card__title { font-size: 14px; }
	.pp-pay-card__badge { font-size: 9.5px; padding: 3px 6px; }
	.pp-pay-logo { height: 22px; min-width: 32px; font-size: 9.5px; }
}

/* Expanded payment box — REBUILD: clean, NO bg, NO nested boxes.
   Wszystkie potencjalne purpurowe outer wrappers zniwelowane. */
.woocommerce-checkout .payment_box,
.woocommerce-checkout li.wc_payment_method .payment_box,
.woocommerce-checkout li.wc_payment_method > .payment_box,
.woocommerce-checkout div.payment_box,
.woocommerce-checkout .wc_payment_method .payment_box {
	margin: 0 !important;
	padding: 16px 20px 20px !important;
	background: var(--pp-paper, #fff) !important;
	background-color: var(--pp-paper, #fff) !important;
	background-image: none !important;
	border: 0 !important;
	border-top: 1px solid var(--pp-line) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	font: 400 13.5px/1.65 var(--pp-sans, system-ui);
	color: var(--pp-ink-2);
	width: 100%;
	box-sizing: border-box;
	animation: ppPayBoxIn 220ms cubic-bezier(0.2, 0.6, 0.2, 1);
}

/* Nuclear: nested fieldset/divs ze Stripe BLIK / Card — wszystkie transparent */
.woocommerce-checkout .payment_box fieldset,
.woocommerce-checkout .payment_box .wc-payment-form,
.woocommerce-checkout .payment_box .wc-stripe-upe-element,
.woocommerce-checkout .payment_box .wc-stripe-elements-field,
.woocommerce-checkout #wc-stripe_blik-form,
.woocommerce-checkout #wc-stripe-cc-form {
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
	font-size: inherit !important;
}

/* BLIK input — własny clean look, kwadratowy z brand teal focus */
.woocommerce-checkout #wc-stripe-blik-code_field {
	margin: 0 0 14px !important;
	padding: 0 !important;
}
.woocommerce-checkout #wc-stripe-blik-code_field label.required_field {
	display: block;
	font: 500 12px/1.2 var(--pp-sans, system-ui) !important;
	color: var(--pp-ink-2) !important;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin: 0 0 6px;
}
.woocommerce-checkout #wc-stripe-blik-code_field label .required {
	color: var(--pp-teal, #12747D);
	margin-left: 4px;
	border: 0;
	text-decoration: none;
}
.woocommerce-checkout #wc-stripe-blik-code_field .woocommerce-input-wrapper {
	display: block;
}
.woocommerce-checkout input#wc-stripe-blik-code {
	display: block;
	width: 100%;
	max-width: 280px;
	padding: 14px 16px;
	border: 1px solid var(--pp-line);
	border-radius: 0;
	background: var(--pp-paper, #fff);
	font: 700 22px/1 var(--pp-mono, ui-monospace, monospace);
	letter-spacing: 0.2em;
	text-align: center;
	color: var(--pp-ink);
	box-sizing: border-box;
	transition: border-color 140ms, box-shadow 140ms;
}
.woocommerce-checkout input#wc-stripe-blik-code:focus {
	outline: none;
	border-color: var(--pp-teal, #12747D);
	box-shadow: 0 0 0 3px rgba(18, 116, 125, 0.12);
}
.woocommerce-checkout input#wc-stripe-blik-code::placeholder {
	color: var(--pp-ink-3);
	font-weight: 400;
}
@keyframes ppPayBoxIn {
	from { opacity: 0; transform: translateY(-4px); }
	to   { opacity: 1; transform: translateY(0); }
}
.woocommerce-checkout .payment_box::before {
	display: none !important; /* hide WC tiny arrow */
}
.woocommerce-checkout .payment_box p {
	margin: 0 0 12px;
}
.woocommerce-checkout .payment_box p:last-child {
	margin-bottom: 0;
}
.woocommerce-checkout .payment_box a {
	color: var(--pp-teal, #12747D);
	text-decoration: underline;
}

/* Test mode banner */
.woocommerce-checkout .payment_box .testmode-info {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	padding: 10px 14px;
	margin: 0 0 16px;
	background: rgba(200, 145, 35, 0.10);
	border: 1px solid rgba(200, 145, 35, 0.35);
	border-radius: 2px;
	font: 500 12.5px/1.5 var(--pp-sans, system-ui);
	color: #6e4a0d;
}
.woocommerce-checkout .payment_box .testmode-info strong {
	color: #6e4a0d;
}
.woocommerce-checkout .payment_box .wc-stripe-copy-test-number {
	background: rgba(0, 0, 0, 0.05);
	border: 1px solid rgba(0, 0, 0, 0.1);
	padding: 3px 8px;
	font: 600 12.5px/1 var(--pp-mono, ui-monospace, monospace);
	cursor: pointer;
}

/* Stripe Elements — AGGRESSIVE reset wszystkich wrapperów ŻEBY zostały TYLKO pola Input.
   UPE renderuje wszystkie potencjalne containers (StripeElement, wrapper divs, iframe parents).
   Każdy z nich musi mieć: background:transparent, border:0, padding:0, shadow:none. */
.woocommerce-checkout .wc-stripe-elements-field,
.woocommerce-checkout .wc-stripe-upe-element,
.woocommerce-checkout #wc-stripe-cc-form,
.woocommerce-checkout #wc-stripe-cc-form .form-row,
.woocommerce-checkout #wc-stripe-card-element,
.woocommerce-checkout #wc-stripe-payment-element,
.woocommerce-checkout .StripeElement,
.woocommerce-checkout .StripeElement--complete,
.woocommerce-checkout .StripeElement--focus,
.woocommerce-checkout .StripeElement--empty {
	width: 100% !important;
	min-width: 0;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	box-sizing: border-box;
}
/* Reset child wrappers — Stripe iframe ma własne pola Input ze stripped styles */
.woocommerce-checkout .wc-stripe-upe-element > *,
.woocommerce-checkout #wc-stripe-payment-element > *,
.woocommerce-checkout .wc-stripe-elements-field > *,
.woocommerce-checkout .StripeElement > * {
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

/* Ukryj Stripe Link promo banner + Link payment method INTEGRACJE */
.woocommerce-checkout [class*="LinkPaymentMethodPromo"],
.woocommerce-checkout [class*="LinkInlineLabel"],
.woocommerce-checkout [class*="LinkOptInInput"],
.woocommerce-checkout [class*="stripe-link"],
.woocommerce-checkout [data-link-promo],
.woocommerce-checkout .stripe-link-payment-method,
.woocommerce-checkout .link-secure-checkout-promo,
.woocommerce-checkout .wc-stripe-promo,
.woocommerce-checkout #linkAuthElement-wrapper,
.woocommerce-checkout #payment_method_stripe_link,
.woocommerce-checkout .payment_method_stripe_link,
.woocommerce-checkout .wc_payment_method.payment_method_stripe_link,
.woocommerce-checkout .wc_payment_method.payment_method_stripe_klarna,
.woocommerce-checkout .wc_payment_method.payment_method_stripe_bancontact,
.woocommerce-checkout .wc_payment_method.payment_method_stripe_eps,
.woocommerce-checkout .wc_payment_method.payment_method_stripe_affirm,
.woocommerce-checkout .wc_payment_method.payment_method_stripe_afterpay_clearpay,
.woocommerce-checkout .wc_payment_method.payment_method_stripe_amazon_pay {
	display: none !important;
}

/* Ukryj Express Checkout (Apple Pay/G Pay/Link standalone buttons) */
.woocommerce-checkout #wc-stripe-payment-request-button,
.woocommerce-checkout .wc-stripe-payment-request-button-wrapper,
.woocommerce-checkout .wc-stripe-express-checkout-button-separator,
.woocommerce-checkout .wc-stripe-express-checkout-element,
.woocommerce-checkout .wc-stripe-express-checkout-button-container,
.woocommerce-checkout #wc-stripe-express-checkout-element,
.woocommerce-checkout .wc_stripe_express_checkout,
.woocommerce-checkout .wc-stripe-payment-request-wrapper {
	display: none !important;
}

/* Ukryj "OR" separator pomiędzy Express Checkout a regular checkout */
.woocommerce-checkout .wc-stripe-payment-request-button-separator,
.woocommerce-checkout .wcpay-express-checkout-button-separator,
.woocommerce-checkout .payment-request-button-separator,
.woocommerce-checkout div:has(> .wc-stripe-payment-request-button-separator) {
	display: none !important;
}

/* Stripe Saved payment methods (zalogowany klient) */
.woocommerce-checkout .woocommerce-SavedPaymentMethods {
	list-style: none;
	padding: 0;
	margin: 0 0 14px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.woocommerce-checkout .woocommerce-SavedPaymentMethods li {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 14px;
	background: var(--pp-paper, #fff);
	border: 1px solid var(--pp-line);
	font: 500 13.5px/1.4 var(--pp-sans, system-ui);
}
.woocommerce-checkout .woocommerce-SavedPaymentMethods li input[type="radio"] {
	accent-color: var(--pp-teal, #12747D);
}
.woocommerce-checkout .woocommerce-SavedPaymentMethods li label {
	font: 500 13.5px/1.4 var(--pp-sans, system-ui) !important;
	color: var(--pp-ink) !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	margin: 0 !important;
}

/* BLIK form */
.woocommerce-checkout .payment_box.payment_method_stripe_blik label {
	font: 500 12px/1.2 var(--pp-sans, system-ui);
	color: var(--pp-ink-2);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.woocommerce-checkout .payment_box.payment_method_stripe_blik input[type="text"] {
	padding: 12px 14px;
	font: 600 18px/1 var(--pp-mono, ui-monospace, monospace);
	letter-spacing: 0.2em;
	text-align: center;
	border: 1px solid var(--pp-line);
	width: 100%;
	max-width: 220px;
	box-sizing: border-box;
}

/* Email field (Stripe gateway) */
.woocommerce-checkout .stripe-gateway-checkout-email-field {
	margin: 0 0 14px !important;
}

/* "I've read and accept" terms — keep close to button */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
	margin-top: 10px;
}

/* Place order button */
.woocommerce-checkout #place_order {
	width: 100%;
	font: 700 15px/1 var(--pp-sans, system-ui);
	padding: 16px 24px;
	margin-top: 16px;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

/* Trust line under place order */
.woocommerce-checkout .pp-checkout-trust {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-top: 10px;
	font: 500 12px/1.4 var(--pp-mono, ui-monospace, monospace);
	color: var(--pp-ink-3);
}

@media (max-width: 600px) {
	.woocommerce-checkout .payment_box { padding: 16px; font-size: 13px; }
	.woocommerce-checkout .wc-stripe-elements-field,
	.woocommerce-checkout .wc-stripe-upe-element,
	.woocommerce-checkout #wc-stripe-card-element,
	.woocommerce-checkout #wc-stripe-payment-element {
		min-height: 52px;
		padding: 12px 14px;
	}
}

/* ============================================================
 * 2.2 Order received + Order pay layout (after checkout)
 * ============================================================ */

.woocommerce-order-received .pp-main,
.woocommerce-order-pay .pp-main,
body[class*="order-received"] .pp-main {
	padding: 48px 0 80px;
}
.woocommerce-order .woocommerce {
	max-width: 920px;
	margin: 0 auto;
	padding: 0 24px;
}
@media (max-width: 600px) {
	.woocommerce-order .woocommerce { padding: 0 16px; }
}

.woocommerce-order-received .woocommerce-notice--success,
.woocommerce-order .woocommerce-notice {
	background: rgba(18, 116, 125, 0.08);
	border: 0;
	border-left: 3px solid var(--pp-teal, #12747D);
	padding: 18px 22px;
	margin: 0 0 32px;
	font: 500 15.5px/1.5 var(--pp-sans, system-ui);
	color: var(--pp-ink);
}

/* Order overview — grid 2x2 / responsive */
.woocommerce-order ul.woocommerce-order-overview,
.woocommerce-order ul.order_details {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 20px 28px;
	padding: 22px 24px;
	margin: 0 0 36px;
	background: var(--pp-paper-soft, #fafafa);
	border: 1px solid var(--pp-line);
}
@media (max-width: 480px) {
	.woocommerce-order ul.woocommerce-order-overview,
	.woocommerce-order ul.order_details {
		grid-template-columns: 1fr 1fr;
		gap: 16px 20px;
		padding: 18px 18px;
	}
}
.woocommerce-order ul.woocommerce-order-overview li,
.woocommerce-order ul.order_details li {
	border: 0 !important;
	border-right: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex;
	flex-direction: column;
	gap: 4px;
	font: 500 11px/1 var(--pp-mono, ui-monospace, monospace);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--pp-ink-3);
}
.woocommerce-order ul.woocommerce-order-overview li strong,
.woocommerce-order ul.order_details li strong {
	font: 700 16px/1.3 var(--pp-sans, system-ui);
	text-transform: none;
	letter-spacing: 0;
	color: var(--pp-ink);
}

/* Sekcja "Szczegóły zamówienia" (table) */
.woocommerce-order h2,
.woocommerce-order .woocommerce-order-details__title,
.woocommerce-order .woocommerce-column__title {
	font: 700 22px/1.2 var(--pp-sans, system-ui);
	color: var(--pp-ink);
	margin: 32px 0 16px;
}
.woocommerce-order table.shop_table {
	margin-bottom: 28px;
}

/* Action buttons (Zapłać / Anuluj) — proper gap */
.woocommerce-order .woocommerce-pay .order-actions,
.woocommerce-order .order-actions,
.woocommerce-order td.actions,
.woocommerce-order .order_details + p,
.woocommerce-order .order-again {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 4px;
}
.woocommerce-order td.actions a.button,
.woocommerce-order td.actions button.button,
.woocommerce-order .order-actions a.button,
.woocommerce-order .order-again a.button {
	margin: 0 !important;
	display: inline-flex !important;
	align-items: center;
	min-width: 120px;
	justify-content: center;
}
/* Anuluj — secondary look */
.woocommerce-order td.actions a.cancel,
.woocommerce-order .order-actions a.cancel {
	background: transparent !important;
	color: var(--pp-ink-2) !important;
	border-color: var(--pp-line) !important;
}
.woocommerce-order td.actions a.cancel:hover,
.woocommerce-order .order-actions a.cancel:hover {
	background: rgba(200, 35, 35, 0.05) !important;
	color: #c82323 !important;
	border-color: #c82323 !important;
}

/* Customer details (billing / shipping summary po order) */
.woocommerce-order .woocommerce-customer-details {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	margin: 24px 0 32px;
}
@media (max-width: 720px) {
	.woocommerce-order .woocommerce-customer-details {
		grid-template-columns: 1fr;
		gap: 16px;
	}
}
.woocommerce-order .woocommerce-customer-details address {
	font-style: normal;
	font-size: 14px;
	line-height: 1.6;
	color: var(--pp-ink-2);
	padding: 18px 20px;
	background: var(--pp-paper-soft, #fafafa);
	border: 1px solid var(--pp-line);
}

/* ============================================================
 * 3. Buyer Qualification — full-screen modal
 * ============================================================ */

html.pp-buyer-qual-locked,
html.pp-buyer-qual-locked body {
	overflow: hidden;
}

.pp-buyer-qual {
	position: fixed;
	inset: 0;
	z-index: 9990;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background: rgba(18, 22, 24, 0.62);
	backdrop-filter: blur(6px);
	animation: ppFadeIn 220ms cubic-bezier(0.2, 0.6, 0.2, 1);
}
.pp-buyer-qual[hidden] {
	display: none !important;
}

@keyframes ppFadeIn {
	from { opacity: 0; }
	to   { opacity: 1; }
}
@keyframes ppSlideUp {
	from { opacity: 0; transform: translateY(16px); }
	to   { opacity: 1; transform: translateY(0); }
}

.pp-buyer-qual__card {
	width: min(720px, 100%);
	max-height: calc(100vh - 48px);
	overflow-y: auto;
	background: var(--pp-paper, #fff);
	border: 1px solid var(--pp-line);
	box-shadow: 0 30px 60px -20px rgba(0, 0, 0, 0.4);
	padding: 36px 36px 28px;
	animation: ppSlideUp 280ms cubic-bezier(0.2, 0.6, 0.2, 1);
}
@media (max-width: 600px) {
	.pp-buyer-qual__card { padding: 24px 20px 20px; }
}

.pp-buyer-qual__mark {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font: 600 11px/1 var(--pp-mono, ui-monospace, monospace);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--pp-teal, #12747D);
	margin-bottom: 16px;
}
.pp-buyer-qual__title {
	font: 700 24px/1.25 var(--pp-sans, system-ui);
	color: var(--pp-ink);
	margin: 0 0 12px;
}
.pp-buyer-qual__lead {
	font: 400 14.5px/1.6 var(--pp-sans, system-ui);
	color: var(--pp-ink-2);
	margin: 0 0 24px;
}

.pp-buyer-qual__choices {
	border: 0;
	padding: 0;
	margin: 0 0 24px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.pp-buyer-qual__choice {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 14px 16px;
	border: 1px solid var(--pp-line);
	cursor: pointer;
	transition: border-color 140ms, background 140ms;
}
.pp-buyer-qual__choice:hover {
	border-color: var(--pp-teal, #12747D);
	background: rgba(18, 116, 125, 0.03);
}
.pp-buyer-qual__choice input[type="radio"] {
	margin: 4px 0 0;
	accent-color: var(--pp-teal, #12747D);
	flex-shrink: 0;
}
.pp-buyer-qual__choice-icon {
	font-size: 22px;
	line-height: 1;
	margin-top: 1px;
	flex-shrink: 0;
}
.pp-buyer-qual__choice-body {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}
.pp-buyer-qual__choice-body strong {
	font: 600 14.5px/1.3 var(--pp-sans, system-ui);
	color: var(--pp-ink);
}
.pp-buyer-qual__choice-body small {
	font: 400 12.5px/1.5 var(--pp-sans, system-ui);
	color: var(--pp-ink-2);
}
.pp-buyer-qual__choice--block {
	border-style: dashed;
	background: rgba(200, 35, 35, 0.03);
}
.pp-buyer-qual__choice--block:hover {
	border-color: #c82323;
}

.pp-buyer-qual__actions {
	display: flex;
	gap: 16px;
	align-items: center;
	margin-bottom: 16px;
	flex-wrap: wrap;
}
.pp-buyer-qual__btn {
	padding: 12px 22px;
	background: var(--pp-teal, #12747D);
	color: #fff;
	border: 1px solid var(--pp-teal, #12747D);
	font: 600 14px/1 var(--pp-sans, system-ui);
	cursor: pointer;
	transition: background 140ms, transform 140ms;
}
.pp-buyer-qual__btn:hover:not(:disabled) {
	background: #0e5d65;
	transform: translateY(-1px);
}
.pp-buyer-qual__btn:disabled {
	background: var(--pp-line, #d6d8da);
	border-color: var(--pp-line, #d6d8da);
	color: var(--pp-ink-3, #8a8e92);
	cursor: not-allowed;
}
.pp-buyer-qual__link {
	font: 500 12.5px/1.4 var(--pp-sans, system-ui);
	color: var(--pp-teal, #12747D);
	text-decoration: underline;
}

.pp-buyer-qual__legal {
	font: 400 12px/1.55 var(--pp-sans, system-ui);
	color: var(--pp-ink-3);
	margin: 8px 0 0;
	padding-top: 14px;
	border-top: 1px solid var(--pp-line);
}
.pp-buyer-qual__legal a {
	color: var(--pp-teal, #12747D);
}

/* ============================================================
 * 4. Buyer category form (visible only after kategoria wybrana)
 * ============================================================ */

.pp-buyer-fields-wrap {
	margin: 28px 0;
	padding: 24px;
	background: rgba(18, 116, 125, 0.04);
	border-left: 3px solid var(--pp-teal, #12747D);
}
.pp-buyer-fields-wrap__title {
	font: 600 11px/1 var(--pp-mono, ui-monospace, monospace);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--pp-teal, #12747D);
	margin: 0 0 8px;
}
.pp-buyer-fields-wrap__intro {
	font: 400 13.5px/1.55 var(--pp-sans, system-ui);
	color: var(--pp-ink-2);
	margin: 0 0 16px;
}
.pp-buyer-fields-wrap__intro a {
	color: var(--pp-teal, #12747D);
}
.pp-buyer-fields {
	display: none;
	flex-direction: column;
	gap: 14px;
}
.pp-buyer-fields[style*="display:"] {
	display: flex;
}
.pp-buyer-fields p {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.pp-buyer-fields label {
	font: 500 12px/1.2 var(--pp-sans, system-ui);
	color: var(--pp-ink-2);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.pp-buyer-fields input,
.pp-buyer-fields textarea,
.pp-buyer-fields select {
	padding: 11px 14px;
	border: 1px solid var(--pp-line);
	background: var(--pp-paper, #fff);
	font: 400 14.5px/1.4 var(--pp-sans, system-ui);
	color: var(--pp-ink);
}
.pp-buyer-fields input:focus,
.pp-buyer-fields textarea:focus,
.pp-buyer-fields select:focus {
	outline: 0;
	border-color: var(--pp-teal, #12747D);
	box-shadow: 0 0 0 3px rgba(18, 116, 125, 0.12);
}
.pp-buyer-fields__note {
	font: 400 11.5px/1.5 var(--pp-sans, system-ui);
	color: var(--pp-ink-3);
	margin-top: 4px;
}
.pp-buyer-fields .required {
	color: var(--pp-teal, #12747D);
	border: 0;
	text-decoration: none;
	margin-left: 4px;
}

/* ============================================================
 * 4.5 Buyer Category Info — sekcja "Twój status NK"
 * Wyświetla kategorię wybraną w modalu + info o email confirmation.
 * ============================================================ */

.pp-buyer-info {
	margin: 24px 0 0;
	padding: 18px 20px;
	background: rgba(18, 116, 125, 0.04);
	border-left: 3px solid var(--pp-teal, #12747D);
}
@media (max-width: 600px) {
	.pp-buyer-info { padding: 14px 14px; margin: 18px 0 0; }
}
.pp-buyer-info__title {
	font: 600 11px/1 var(--pp-mono, ui-monospace, monospace);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--pp-teal, #12747D);
	margin: 0 0 10px;
}
.pp-buyer-info__dl {
	margin: 0 0 10px;
	font: 400 13px/1.5 var(--pp-sans, system-ui);
	color: var(--pp-ink-2);
}
.pp-buyer-info__dl dt {
	font: 500 11px/1 var(--pp-mono, ui-monospace, monospace);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--pp-ink-3);
	margin: 0 0 4px;
}
.pp-buyer-info__dl dd {
	margin: 0;
	color: var(--pp-ink);
	font-size: 13.5px;
}
.pp-buyer-info__dl dd strong {
	color: var(--pp-teal, #12747D);
	font-weight: 700;
}
.pp-buyer-info__note {
	font: 400 12px/1.55 var(--pp-sans, system-ui);
	color: var(--pp-ink-3);
	margin: 0;
}
.pp-buyer-info__note a {
	color: var(--pp-teal, #12747D);
	text-decoration: underline;
}

/* Legacy pp-buyer-fields-wrap (form per kategoria) — UKRYTE w tymczasowym trybie 2026-06-15.
   Pozostawione w kodzie żeby łatwo wrócić po wdrożeniu email confirmation. */
.pp-buyer-fields-wrap { display: none !important; }

/* ============================================================
 * 5. KOP — Wymagane oświadczenia (MINIMALIST card)
 *
 * Osobna karta po Buyer Category Form, przed Place Order.
 * Krótkie inline checkboxy w stylu age-gate. Bez expandable.
 * ============================================================ */

.pp-kop-card {
	margin: 24px 0;
	padding: 20px 22px;
	background: var(--pp-paper, #fff);
	border: 1px solid var(--pp-line);
}
@media (max-width: 600px) {
	.pp-kop-card { padding: 16px 14px; margin: 16px 0; }
}
.pp-kop-card__head {
	margin-bottom: 14px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--pp-line);
}
.pp-kop-card__title {
	font: 600 11px/1 var(--pp-mono, ui-monospace, monospace);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--pp-teal, #12747D);
	margin: 0 0 6px;
}
.pp-kop-card__lead {
	font: 400 12px/1.5 var(--pp-sans, system-ui);
	color: var(--pp-ink-3);
	margin: 0;
}

/* "Zaznacz wszystkie" toggle — header card section */
/* „Zaznacz wszystkie" = ten sam układ co zgody poniżej (checkbox w tej samej
   kolumnie i wielkości), wyróżniony tłem + dolną kreską oddzielającą od listy. */
.pp-kop-toggle-row {
	padding: 4px 0 0;
	background: transparent;
	border: 0;
	margin: 0 0 2px;
}
.pp-kop-toggle {
	display: grid;
	grid-template-columns: 20px 1fr;
	gap: 12px;
	align-items: start;
	padding: 12px 0;
	cursor: pointer;
	margin: 0 !important;
	border-bottom: 2px solid var(--pp-line);
}
.pp-kop-toggle__input {
	-webkit-appearance: none;
	appearance: none;
	width: 18px;
	height: 18px;
	margin: 1px 0 0;
	border: 1.5px solid var(--pp-teal, #12747D);
	background: var(--pp-paper, #fff);
	cursor: pointer;
	display: grid;
	place-items: center;
	flex-shrink: 0;
	transition: background 120ms, border-color 120ms;
}
.pp-kop-toggle__input:checked {
	background: var(--pp-teal, #12747D);
	border-color: var(--pp-teal, #12747D);
}
.pp-kop-toggle__input:checked::after {
	content: "";
	width: 10px;
	height: 5px;
	border-left: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: rotate(-45deg) translate(1px, -1px);
}
.pp-kop-toggle__text {
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.pp-kop-toggle__text strong {
	font: 700 13px/1.55 var(--pp-sans, system-ui);
	color: var(--pp-teal, #12747D);
}
.pp-kop-toggle__text small {
	font: 400 11.5px/1.4 var(--pp-sans, system-ui);
	color: var(--pp-ink-3);
}

.pp-kop-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0;
}
.pp-kop-item {
	border-bottom: 1px solid var(--pp-line);
}
.pp-kop-item:last-child { border-bottom: 0; }
.pp-kop-item__label {
	display: grid;
	grid-template-columns: 20px 1fr;
	gap: 12px;
	align-items: start;
	padding: 12px 0;
	margin: 0 !important;
	cursor: pointer;
	font: inherit !important;
	color: inherit !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}
.pp-kop-item__input {
	-webkit-appearance: none;
	appearance: none;
	width: 18px;
	height: 18px;
	margin: 1px 0 0;
	border: 1.5px solid var(--pp-line);
	background: var(--pp-paper, #fff);
	cursor: pointer;
	display: grid;
	place-items: center;
	flex-shrink: 0;
	transition: border-color 120ms, background 120ms;
}
.pp-kop-item__input:hover { border-color: var(--pp-teal, #12747D); }
.pp-kop-item__input:checked {
	background: var(--pp-teal, #12747D);
	border-color: var(--pp-teal, #12747D);
}
.pp-kop-item__input:checked::after {
	content: "";
	width: 10px;
	height: 5px;
	border-left: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: rotate(-45deg) translate(1px, -1px);
}
.pp-kop-item__input:focus-visible {
	outline: 2px solid var(--pp-teal, #12747D);
	outline-offset: 2px;
}
.pp-kop-item__text {
	font: 400 13px/1.55 var(--pp-sans, system-ui);
	color: var(--pp-ink-2);
}
.pp-kop-item__text a {
	color: var(--pp-teal, #12747D);
	text-decoration: underline;
}
.pp-kop-item__text a:hover { color: #0e5d65; }
.pp-kop-item__text strong { color: var(--pp-ink); font-weight: 700; }

/* ============================================================
 * 5.1 LEGACY KOP styles (expandable cards) — kept for backward compat
 * ============================================================ */

.pp-compliance-block {
	margin: 32px 0 24px;
	padding: 0;
	border: 1px solid var(--pp-line);
	background: var(--pp-paper, #fff);
	overflow: hidden;
}
.pp-compliance-block__header {
	padding: 20px 24px 18px;
	border-bottom: 1px solid var(--pp-line);
	background: var(--pp-paper-soft, #fafafa);
}
.pp-compliance-heading {
	font: 600 11px/1 var(--pp-mono, ui-monospace, monospace);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--pp-teal, #12747D);
	margin: 0 0 6px;
}
.pp-compliance-intro {
	font: 400 12.5px/1.55 var(--pp-sans, system-ui);
	color: var(--pp-ink-2);
	margin: 0;
	max-width: 640px;
}

.pp-kop-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.pp-kop {
	border-bottom: 1px solid var(--pp-line);
	transition: background 120ms ease;
}
.pp-kop:last-child {
	border-bottom: 0;
}
.pp-kop:has(.pp-kop__input:checked) {
	background: rgba(18, 116, 125, 0.035);
}

.pp-kop__check {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 14px;
	align-items: start;
	padding: 16px 24px 12px;
	cursor: pointer;
	margin: 0;
	font: inherit !important;
	color: inherit !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}
.pp-kop__input {
	-webkit-appearance: none;
	appearance: none;
	width: 20px;
	height: 20px;
	margin: 2px 0 0;
	border: 1.5px solid var(--pp-line);
	background: var(--pp-paper, #fff);
	cursor: pointer;
	display: grid;
	place-items: center;
	flex-shrink: 0;
	transition: border-color 120ms, background 120ms;
}
.pp-kop__input:hover {
	border-color: var(--pp-teal, #12747D);
}
.pp-kop__input:checked {
	background: var(--pp-teal, #12747D);
	border-color: var(--pp-teal, #12747D);
}
.pp-kop__input:checked::after {
	content: "";
	width: 11px;
	height: 6px;
	border-left: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: rotate(-45deg) translate(1px, -1px);
}
.pp-kop__input:focus-visible {
	outline: 2px solid var(--pp-teal, #12747D);
	outline-offset: 2px;
}

.pp-kop__title {
	display: grid;
	grid-template-columns: 22px 1fr;
	gap: 10px;
	align-items: start;
	min-width: 0;
}
.pp-kop__num {
	font: 700 12.5px/1.4 var(--pp-mono, ui-monospace, monospace);
	color: var(--pp-ink-3);
	background: var(--pp-paper-soft, #fafafa);
	border: 1px solid var(--pp-line);
	width: 22px;
	height: 22px;
	display: inline-grid;
	place-items: center;
	border-radius: 50%;
	flex-shrink: 0;
}
.pp-kop__title-text {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}
.pp-kop__title-text strong {
	font: 600 14.5px/1.35 var(--pp-sans, system-ui);
	color: var(--pp-ink);
	font-weight: 600;
}
.pp-kop__short {
	font: 400 13px/1.5 var(--pp-sans, system-ui);
	color: var(--pp-ink-2);
}

.pp-kop__details {
	padding: 0 24px 14px 60px;
	font: 400 12.5px/1.55 var(--pp-sans, system-ui);
}
.pp-kop__more {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font: 500 12px/1 var(--pp-sans, system-ui);
	color: var(--pp-teal, #12747D);
	cursor: pointer;
	list-style: none;
	padding: 4px 0;
	user-select: none;
}
.pp-kop__more::-webkit-details-marker { display: none; }
.pp-kop__more:hover .pp-kop__more-text {
	text-decoration: underline;
}
.pp-kop__chevron {
	transition: transform 200ms ease;
	flex-shrink: 0;
}
.pp-kop__details[open] .pp-kop__chevron {
	transform: rotate(180deg);
}
.pp-kop__details[open] .pp-kop__more-text::after {
	content: " (ukryj)";
	color: var(--pp-ink-3);
}
.pp-kop__full {
	margin-top: 10px;
	padding: 14px 16px;
	background: var(--pp-paper-soft, #fafafa);
	border-left: 3px solid var(--pp-teal, #12747D);
	color: var(--pp-ink-2);
	font: 400 12.5px/1.65 var(--pp-sans, system-ui);
	animation: ppKopReveal 200ms ease-out;
}
.pp-kop__full a {
	color: var(--pp-teal, #12747D);
	text-decoration: underline;
	font-weight: 500;
}
.pp-kop__full a:hover { color: #0e5d65; }
.pp-kop__full strong {
	color: var(--pp-ink);
	font-weight: 700;
}

@keyframes ppKopReveal {
	from { opacity: 0; transform: translateY(-4px); }
	to   { opacity: 1; transform: translateY(0); }
}

@media (max-width: 600px) {
	.pp-compliance-block__header { padding: 16px 18px 14px; }
	.pp-kop__check { padding: 14px 18px 10px; column-gap: 12px; }
	.pp-kop__details { padding: 0 18px 14px 52px; }
	.pp-kop__title { grid-template-columns: 20px 1fr; column-gap: 8px; }
	.pp-kop__num { width: 20px; height: 20px; font-size: 11.5px; }
	.pp-kop__title-text strong { font-size: 13.5px; }
	.pp-kop__short { font-size: 12.5px; }
}

/* ============================================================
 * 6. Search modal (lupka w headerze)
 * ============================================================ */

.pp-search__trigger {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	background: transparent;
	border: 1px solid transparent;
	color: var(--pp-ink, #1a1d1f);
	cursor: pointer;
	border-radius: 0;
	transition: background 140ms, color 140ms, border-color 140ms;
}
.pp-search__trigger:hover,
.pp-search__trigger[aria-expanded="true"] {
	background: var(--pp-paper-soft, #fafafa);
	border-color: var(--pp-line);
	color: var(--pp-teal, #12747D);
}

.pp-search {
	position: fixed;
	inset: 0;
	z-index: 9980;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding: 80px 24px 24px;
	animation: ppFadeIn 220ms cubic-bezier(0.2, 0.6, 0.2, 1);
}
.pp-search[hidden] {
	display: none !important;
}
.pp-search__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(18, 22, 24, 0.55);
	backdrop-filter: blur(8px);
}
.pp-search__panel {
	position: relative;
	width: min(680px, 100%);
	max-height: calc(100vh - 104px);
	background: var(--pp-paper, #fff);
	border: 1px solid var(--pp-line);
	box-shadow: 0 30px 60px -20px rgba(0, 0, 0, 0.45);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	animation: ppSlideUp 260ms cubic-bezier(0.2, 0.6, 0.2, 1);
}

.pp-search__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 18px;
	border-bottom: 1px solid var(--pp-line);
}
.pp-search__heading {
	font: 600 11px/1 var(--pp-mono, ui-monospace, monospace);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--pp-ink-3);
	margin: 0;
}
.pp-search__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	background: transparent;
	border: 0;
	color: var(--pp-ink-3);
	cursor: pointer;
	transition: color 140ms, background 140ms;
}
.pp-search__close:hover {
	background: var(--pp-paper-soft, #fafafa);
	color: var(--pp-ink);
}

.pp-search__input-wrap {
	position: relative;
	display: flex;
	align-items: center;
	padding: 6px 18px;
	border-bottom: 1px solid var(--pp-line);
}
.pp-search__input-icon {
	color: var(--pp-ink-3);
	flex-shrink: 0;
	margin-right: 12px;
}
.pp-search__input {
	flex: 1;
	border: 0;
	background: transparent;
	font: 400 18px/1.4 var(--pp-sans, system-ui);
	color: var(--pp-ink);
	padding: 16px 0;
	outline: none;
	-webkit-appearance: none;
}
.pp-search__input::-webkit-search-cancel-button { display: none; }
.pp-search__input::placeholder { color: var(--pp-ink-3); }
.pp-search__hint {
	font: 500 11px/1 var(--pp-mono, ui-monospace, monospace);
	color: var(--pp-ink-3);
	background: var(--pp-paper-soft, #fafafa);
	border: 1px solid var(--pp-line);
	padding: 4px 8px;
	margin-left: 12px;
	border-radius: 3px;
}
@media (max-width: 600px) {
	.pp-search__hint { display: none; }
}

.pp-search__body {
	flex: 1;
	overflow-y: auto;
	display: flex;
	flex-direction: column;
}

.pp-search__state {
	padding: 24px 22px;
	display: flex;
	flex-direction: column;
	gap: 18px;
}
.pp-search__state[hidden] { display: none; }
.pp-search__hint-line {
	font: 400 13px/1.6 var(--pp-sans, system-ui);
	color: var(--pp-ink-3);
	margin: 0;
}
.pp-search__suggestions .pp-eyebrow {
	margin-bottom: 10px;
	color: var(--pp-ink-3);
}
.pp-search__chips {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.pp-search__chips button {
	padding: 7px 12px;
	background: var(--pp-paper-soft, #fafafa);
	border: 1px solid var(--pp-line);
	font: 500 13px/1 var(--pp-sans, system-ui);
	color: var(--pp-ink-2);
	cursor: pointer;
	transition: border-color 120ms, color 120ms, background 120ms;
	border-radius: 100px;
}
.pp-search__chips button:hover {
	border-color: var(--pp-teal, #12747D);
	color: var(--pp-teal, #12747D);
	background: rgba(18, 116, 125, 0.05);
}

.pp-search__state--loading {
	flex-direction: row;
	align-items: center;
	gap: 12px;
	color: var(--pp-ink-3);
	font: 500 13px/1.5 var(--pp-sans, system-ui);
}
.pp-search__spinner {
	display: inline-block;
	width: 18px;
	height: 18px;
	border: 2px solid var(--pp-line);
	border-top-color: var(--pp-teal, #12747D);
	border-radius: 50%;
	animation: ppSpin 900ms linear infinite;
}
@keyframes ppSpin {
	to { transform: rotate(360deg); }
}

.pp-search__results {
	list-style: none;
	padding: 8px 8px;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.pp-search__results[hidden] { display: none; }

.pp-search__result {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 12px 14px;
	background: transparent;
	color: var(--pp-ink);
	text-decoration: none;
	border-left: 2px solid transparent;
	transition: background 140ms, border-color 140ms;
}
.pp-search__result:hover,
.pp-search__result.is-active {
	background: rgba(18, 116, 125, 0.06);
	border-left-color: var(--pp-teal, #12747D);
}
.pp-search__result-img {
	width: 48px;
	height: 48px;
	object-fit: cover;
	background: var(--pp-paper-soft, #fafafa);
	border: 1px solid var(--pp-line);
	flex-shrink: 0;
}
.pp-search__result-body {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}
.pp-search__result-title {
	font: 600 14px/1.3 var(--pp-sans, system-ui);
	color: var(--pp-ink);
	margin: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.pp-search__result-title mark {
	background: rgba(18, 116, 125, 0.18);
	color: inherit;
	padding: 0 2px;
}
.pp-search__result-meta {
	font: 500 11.5px/1 var(--pp-mono, ui-monospace, monospace);
	color: var(--pp-ink-3);
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}
.pp-search__result-price {
	font: 700 14px/1 var(--pp-sans, system-ui);
	color: var(--pp-teal, #12747D);
	flex-shrink: 0;
}
.pp-search__result-tier {
	font: 600 10px/1 var(--pp-mono, ui-monospace, monospace);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	padding: 3px 7px;
	border-radius: 2px;
}
.pp-search__result-tier--green  { background: rgba(35, 130, 60, 0.12);  color: #1f7a3a; }
.pp-search__result-tier--yellow { background: rgba(200, 145, 35, 0.14); color: #a07020; }
.pp-search__result-tier--red    { background: rgba(200, 35, 35, 0.12);  color: #b02525; }

.pp-search__state--empty {
	color: var(--pp-ink-2);
	font: 500 14px/1.6 var(--pp-sans, system-ui);
}

.pp-search__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 18px;
	border-top: 1px solid var(--pp-line);
	font: 400 12px/1.4 var(--pp-sans, system-ui);
	color: var(--pp-ink-3);
	background: var(--pp-paper-soft, #fafafa);
	flex-wrap: wrap;
}
.pp-search__catalog {
	color: var(--pp-teal, #12747D);
	font-weight: 600;
	text-decoration: none;
}
.pp-search__catalog:hover { text-decoration: underline; }

/* ============================================================
 * 6. Moje konto — logowanie / rejestracja / panel użytkownika
 * ============================================================ */

.woocommerce-account .pp-page__commerce,
.woocommerce-account .woocommerce { max-width: 1080px; margin: 0 auto; width: 100%; }

/* — Logowanie + rejestracja (gość) — */
.woocommerce-account #customer_login {
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	align-items: start;
	max-width: 900px;
	margin: 0 auto;
}
/* Clearfix ::before/::after stają się elementami grida i rozpychają kolumny — gasimy. */
.woocommerce-account #customer_login::before,
.woocommerce-account #customer_login::after { content: none !important; display: none !important; }
.woocommerce-account #customer_login > div {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	background: var(--pp-paper, #fff);
	border: 1px solid var(--pp-line);
	border-radius: 4px;
	padding: 28px;
	box-sizing: border-box;
}
.woocommerce-account #customer_login h2 {
	font: 700 19px/1.2 var(--pp-sans, system-ui);
	color: var(--pp-ink);
	margin: 0 0 20px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--pp-line);
}

/* — Formularze (login/register/lost-password/edit-account) — */
.woocommerce-account .woocommerce-form-row,
.woocommerce-account form .form-row { margin: 0 0 16px; padding: 0; }
.woocommerce-account form label:not(.woocommerce-form__label-for-checkbox) {
	display: block;
	font: 600 11px/1 var(--pp-mono, ui-monospace, monospace);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--pp-ink-3);
	margin: 0 0 8px;
}
.woocommerce-account form input[type="text"],
.woocommerce-account form input[type="email"],
.woocommerce-account form input[type="tel"],
.woocommerce-account form input[type="password"] {
	width: 100%;
	padding: 13px 14px;
	border: 1px solid var(--pp-line);
	border-radius: 4px;
	font: 400 14px/1.2 var(--pp-sans, system-ui);
	color: var(--pp-ink);
	background: var(--pp-paper, #fff);
	box-sizing: border-box;
}
.woocommerce-account form input:focus { outline: none; border-color: var(--pp-teal, #12747D); }
.woocommerce-account .woocommerce-form-login__rememberme,
.woocommerce-account .woocommerce-form__label-for-checkbox {
	display: flex; align-items: center; gap: 8px;
	font: 400 13px/1.4 var(--pp-sans, system-ui); color: var(--pp-ink-2); text-transform: none; letter-spacing: 0;
}
.woocommerce-account button.woocommerce-button,
.woocommerce-account button.woocommerce-Button,
.woocommerce-account .woocommerce-form-login__submit,
.woocommerce-account .woocommerce-form-register__submit {
	display: inline-flex; align-items: center; justify-content: center;
	padding: 13px 24px; background: var(--pp-teal, #12747D); color: #fff;
	border: 1px solid var(--pp-teal, #12747D); border-radius: 4px;
	font: 600 14px/1 var(--pp-sans, system-ui); cursor: pointer; text-decoration: none;
	transition: background 140ms;
}
.woocommerce-account button.woocommerce-button:hover { background: var(--pp-teal-hover, #0E5C63); }
.woocommerce-account .lost_password { margin-top: 12px; }
.woocommerce-account .lost_password a { color: var(--pp-teal, #12747D); font-size: 13px; }

/* — Panel zalogowanego (nawigacja + treść) — */
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-account .woocommerce-MyAccount-navigation {
	float: none !important; width: auto !important;
}
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) {
	display: grid;
	grid-template-columns: 248px 1fr;
	gap: 28px;
	align-items: start;
}
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation)::before,
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation)::after { content: none !important; display: none !important; }

/* Nawigacja */
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; border: 1px solid var(--pp-line); border-radius: 6px; overflow: hidden; background: var(--pp-paper, #fff); }
.woocommerce-MyAccount-navigation li { margin: 0; border-bottom: 1px solid var(--pp-line); }
.woocommerce-MyAccount-navigation li:last-child { border-bottom: 0; }
.woocommerce-MyAccount-navigation li a {
	display: block; padding: 13px 18px; color: var(--pp-ink-2); text-decoration: none;
	font: 500 14px/1.3 var(--pp-sans, system-ui); transition: background 140ms, color 140ms;
}
.woocommerce-MyAccount-navigation li a:hover { background: var(--pp-paper-soft, #fafafa); color: var(--pp-ink); }
.woocommerce-MyAccount-navigation li.is-active a { background: var(--pp-teal-05, rgba(18,116,125,0.05)); color: var(--pp-teal, #12747D); font-weight: 600; box-shadow: inset 3px 0 0 var(--pp-teal, #12747D); }
.woocommerce-MyAccount-navigation li--customer-logout a { color: #c82323; }

/* Treść */
.woocommerce-MyAccount-content { min-width: 0; font: 400 15px/1.65 var(--pp-sans, system-ui); color: var(--pp-ink-2); }
.woocommerce-MyAccount-content p { margin: 0 0 16px; }
.woocommerce-MyAccount-content a:not(.button) { color: var(--pp-teal, #12747D); }
.woocommerce-MyAccount-content strong { color: var(--pp-ink); }
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 { font: 700 18px/1.3 var(--pp-sans, system-ui); color: var(--pp-ink); margin: 0 0 14px; }

/* Tabela zamówień / pobrań */
.woocommerce-account .woocommerce-orders-table,
.woocommerce-account table.shop_table {
	width: 100%; border-collapse: collapse; border: 1px solid var(--pp-line); border-radius: 6px; overflow: hidden; margin: 0 0 20px;
}
.woocommerce-account table.shop_table thead th {
	background: var(--pp-paper-soft, #fafafa); text-align: left; padding: 13px 16px;
	font: 600 11px/1 var(--pp-mono, ui-monospace, monospace); text-transform: uppercase; letter-spacing: 0.07em; color: var(--pp-ink-3);
	border-bottom: 1px solid var(--pp-line);
}
.woocommerce-account table.shop_table td { padding: 14px 16px; border-bottom: 1px solid var(--pp-line); font-size: 14px; color: var(--pp-ink-2); vertical-align: middle; }
.woocommerce-account table.shop_table tr:last-child td { border-bottom: 0; }
.woocommerce-account .woocommerce-orders-table__cell-order-actions { text-align: right; }

/* Adresy */
.woocommerce-account .woocommerce-Addresses {
	display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 8px;
}
/* Clearfix ::before/::after WC stają się elementami grida i rozpychają karty — gasimy. */
.woocommerce-account .woocommerce-Addresses::before,
.woocommerce-account .woocommerce-Addresses::after,
.woocommerce-account .col2-set::before,
.woocommerce-account .col2-set::after,
.woocommerce-account .u-columns::before,
.woocommerce-account .u-columns::after { content: none !important; display: none !important; }
.woocommerce-account .woocommerce-Address {
	float: none !important; width: auto !important; margin: 0 !important;
	border: 1px solid var(--pp-line); border-radius: 6px; padding: 22px; box-sizing: border-box;
}
.woocommerce-account .woocommerce-Address-title {
	display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 14px;
	padding-bottom: 12px; border-bottom: 1px solid var(--pp-line);
}
.woocommerce-account .woocommerce-Address-title h2,
.woocommerce-account .woocommerce-Address-title h3 { margin: 0; font-size: 16px; line-height: 1.2; }
.woocommerce-account .woocommerce-Address-title .edit {
	flex: none; white-space: nowrap;
	padding: 7px 14px; border: 1px solid var(--pp-line-strong, #cfcfcf); border-radius: 4px;
	font: 600 12.5px/1 var(--pp-sans, system-ui); color: var(--pp-ink); text-decoration: none;
	transition: border-color 140ms, color 140ms;
}
.woocommerce-account .woocommerce-Address-title .edit:hover { border-color: var(--pp-teal, #12747D); color: var(--pp-teal, #12747D); }
.woocommerce-account .woocommerce-Address address { font-style: normal; font-size: 14px; line-height: 1.7; color: var(--pp-ink-2); margin: 0; }

/* Formularze (edytuj dane / adres / hasło) — bazują na regułach .woocommerce-account form wyżej */
.woocommerce-account .woocommerce-EditAccountForm fieldset {
	border: 1px solid var(--pp-line); border-radius: 6px; padding: 20px 22px; margin: 24px 0 0;
}
.woocommerce-account .woocommerce-EditAccountForm legend { font: 700 13px/1 var(--pp-sans, system-ui); color: var(--pp-ink); padding: 0 8px; }
.woocommerce-account .woocommerce-EditAccountForm > p:last-of-type,
.woocommerce-account .woocommerce-address-fields p:last-of-type { margin-top: 8px; }
.woocommerce-account form .woocommerce-form-row span em { color: var(--pp-ink-4); font-style: normal; font-size: 12px; font-weight: 400; text-transform: none; letter-spacing: 0; }
.woocommerce-account select {
	width: 100%; padding: 12px 14px; border: 1px solid var(--pp-line); border-radius: 4px;
	font: 400 14px/1.2 var(--pp-sans, system-ui); background: var(--pp-paper, #fff); color: var(--pp-ink); box-sizing: border-box;
}

/* Przyciski w panelu */
.woocommerce-account .woocommerce-MyAccount-content .button,
.woocommerce-account form .button,
.woocommerce-account .button {
	display: inline-flex; align-items: center; justify-content: center;
	padding: 12px 22px; background: var(--pp-teal, #12747D); color: #fff;
	border: 1px solid var(--pp-teal, #12747D); border-radius: 4px;
	font: 600 14px/1 var(--pp-sans, system-ui); text-decoration: none; cursor: pointer; transition: background 140ms;
}
.woocommerce-account .button:hover { background: var(--pp-teal-hover, #0E5C63); color: #fff; }
.woocommerce-account .woocommerce-Button--view,
.woocommerce-account .button.view,
.woocommerce-account a.edit {
	background: transparent; color: var(--pp-ink); border: 1px solid var(--pp-line-strong, #cfcfcf); padding: 8px 16px; font-size: 13px;
}
.woocommerce-account .button.view:hover,
.woocommerce-account a.edit:hover { border-color: var(--pp-ink); background: transparent; color: var(--pp-ink); }

/* ── Responsywność panelu ── */
@media (max-width: 880px) {
	.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) { grid-template-columns: 1fr; gap: 18px; }
	.woocommerce-account .woocommerce-Addresses { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
	.woocommerce-account #customer_login { grid-template-columns: 1fr !important; }
	/* Zamówienia: tabela → karty */
	.woocommerce-account table.shop_table.woocommerce-orders-table { border: 0; }
	.woocommerce-account .woocommerce-orders-table thead { display: none; }
	.woocommerce-account .woocommerce-orders-table tr {
		display: grid; grid-template-columns: 1fr 1fr; gap: 6px 12px;
		border: 1px solid var(--pp-line); border-radius: 6px; padding: 14px 16px; margin: 0 0 12px;
	}
	.woocommerce-account .woocommerce-orders-table td {
		display: flex; flex-direction: column; gap: 2px; border: 0; padding: 0; font-size: 13.5px;
	}
	.woocommerce-account .woocommerce-orders-table td::before {
		content: attr(data-title); font: 600 10px/1 var(--pp-mono, ui-monospace, monospace);
		text-transform: uppercase; letter-spacing: 0.06em; color: var(--pp-ink-4);
	}
	.woocommerce-account .woocommerce-orders-table__cell-order-actions { grid-column: 1 / -1; text-align: left; }
	.woocommerce-account .woocommerce-orders-table__cell-order-actions::before { display: none; }
}

/* ============================================================
 * 7. Footer legal grid (4 categorii)
 * ============================================================ */

/* Centrum prawne zajmuje własny (szeroki) tor siatki — bez span,
   dzięki czemu KONTAKT zostaje w tym samym rzędzie. */
.pp-footer__col--wide {
	grid-column: auto;
}
@media (max-width: 880px) {
	.pp-footer__col--wide {
		grid-column: 1 / -1;
	}
}

/* Płynące kolumny zamiast siatki 2x2: grupy mają różną liczbę pozycji
   (Sprzedaż 5, Pozycjonowanie 3), więc w gridzie rzędy wyrównywały się do
   najwyższej grupy i powstawały puste dziury. Multi-column układa je strumieniem. */
.pp-footer__legal-grid {
	display: block;
	columns: 2;
	column-gap: 26px;
}
.pp-footer__legal-group {
	break-inside: avoid;
	-webkit-column-break-inside: avoid;
	margin: 0 0 20px;
}
.pp-footer__legal-group:last-child { margin-bottom: 0; }
@media (max-width: 480px) {
	.pp-footer__legal-grid { columns: 1; }
}
.pp-footer__legal-cat {
	font: 600 10.5px/1 var(--pp-mono, ui-monospace, monospace);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--pp-ink-3);
	margin: 0 0 8px;
}
.pp-footer__list--legal {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-size: 13px;
}
.pp-footer__list--legal a {
	color: var(--pp-ink-2);
	text-decoration: none;
	transition: color 120ms;
}
.pp-footer__list--legal a:hover {
	color: var(--pp-teal, #12747D);
}

/* ── InPost Paczkomat picker (checkout) ───────────────────── */
.pp-inpost-pick {
	margin: 10px 0 4px;
	padding: 12px 14px;
	background: var(--pp-paper-soft, #f7f7f5);
	border: 1px solid var(--pp-line, #e6e6e2);
	border-radius: 6px;
}
.pp-inpost-pick__btn {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 9px 16px;
	background: var(--pp-teal, #12747D); color: #fff;
	border: 0; border-radius: 4px;
	font: 600 13px/1 var(--pp-sans, system-ui);
	letter-spacing: 0.01em; cursor: pointer;
	transition: background 140ms ease;
}
.pp-inpost-pick__btn:hover { background: #0E5C63; }
.pp-inpost-pick__btn svg { display: block; }
.pp-inpost-pick__chosen {
	display: flex; flex-direction: column; gap: 2px;
	margin-top: 10px; padding: 10px 12px;
	background: #fff;
	border: 1px solid var(--pp-line, #e6e6e2);
	border-left: 3px solid var(--pp-teal, #12747D);
	border-radius: 4px;
}
.pp-inpost-pick__code {
	font: 700 13px/1.2 var(--pp-mono, ui-monospace, monospace);
	letter-spacing: 0.04em; color: var(--pp-ink, #1a1a1a);
}
.pp-inpost-pick__addr {
	font-size: 12px; color: var(--pp-ink-3, #6b6b6b);
}
.pp-inpost-pick__hint {
	margin: 8px 0 0; font-size: 12px;
	color: #b06a00;
}
.pp-inpost-confirm {
	margin-top: 8px; padding: 8px 12px;
	background: var(--pp-paper-soft, #f7f7f5);
	border-left: 3px solid var(--pp-teal, #12747D);
	font-size: 13px;
}
