/* CP Kasa — kolory i styl wg dane/brand.md */
:root {
	--cpk-red: #C62828;
	--cpk-red-dark: #8E0000;
	--cpk-red-bg: #FFF5F5;
	--cpk-red-border: #FFCDD2;
	--cpk-green: #2E7D32;
	--cpk-text: #333;
	--cpk-muted: #666;
	--cpk-line: #EEE;
	--cpk-input: #DDD;
	--cpk-bg: #F5F5F5;
}
body.cpk-body {
	margin: 0;
	background: var(--cpk-bg);
	color: var(--cpk-text);
	font: 16px/1.5 -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
.cpk-body *, .cpk-body *::before, .cpk-body *::after { box-sizing: border-box; }
.cpk-wrap { max-width: 1080px; margin: 0 auto; padding: 0 16px; }

/* Układ: logo po lewej (przesuwa się przy przewijaniu), obok formularz i zamówienie */
.cpk-uklad { max-width: 1240px; display: grid; grid-template-columns: 128px minmax(0, 1fr); gap: 24px; align-items: start; padding-top: 20px; padding-bottom: 32px; }
.cpk-logo-kolumna { position: sticky; top: 16px; }
.cpk-logo-karta { display: block; background: #fff; border-radius: 16px; padding: 10px; box-shadow: 0 6px 14px rgba(0,0,0,.08); }
.cpk-logo { display: block; width: 100%; height: auto; }


.cpk-grid { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 24px; align-items: start; }
.cpk-prawa { position: sticky; top: 16px; }

.cpk-karta { background: #fff; border: 1px solid var(--cpk-line); border-radius: 12px; padding: 24px; margin-bottom: 20px; }
.cpk-karta h2 { margin: 0 0 16px; font-size: 1.2rem; color: var(--cpk-text); }

/* Pola formularza */
.cpk-form .form-row { margin: 0 0 14px; padding: 0; }
.cpk-form .form-row-first, .cpk-form .form-row-last { width: calc(50% - 6px); float: left; }
.cpk-form .form-row-last { margin-left: 12px; }
.cpk-form .form-row-wide, .cpk-form .cpk-faktura-przelacznik { clear: both; }
.cpk-form .woocommerce-billing-fields__field-wrapper::after { content: ''; display: table; clear: both; }
.cpk-form label { display: block; font-size: 0.9rem; font-weight: 600; margin-bottom: 4px; }
.cpk-form .required { color: var(--cpk-red); text-decoration: none; border: 0; }
.cpk-form .optional { display: none; }
.cpk-form input.input-text, .cpk-form select, .cpk-form .select2-container .select2-selection--single {
	width: 100%; min-height: 46px; padding: 10px 12px; font-size: 16px; color: var(--cpk-text);
	border: 2px solid var(--cpk-input); border-radius: 8px; background: #fff; box-shadow: none;
}
.cpk-form .select2-container .select2-selection--single { padding: 6px 4px; }
.cpk-form .select2-container .select2-selection__arrow { top: 9px; }
.cpk-form input.input-text:focus, .cpk-form select:focus { outline: none; border-color: var(--cpk-red); }
.cpk-form .woocommerce-invalid input.input-text { border-color: var(--cpk-red); }
.cpk-form .description { display: block; font-size: 0.8rem; color: var(--cpk-muted); margin-top: 4px; }
.cpk-form label.checkbox, .cpk-form .woocommerce-form__label-for-checkbox { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; cursor: pointer; }
.cpk-form input[type=checkbox] { width: 20px; height: 20px; margin: 2px 0 0; flex: 0 0 auto; accent-color: var(--cpk-red); }
.cpk-faktura-przelacznik { margin-top: 4px !important; }
.cpk-grupa { border-top: 1px dashed var(--cpk-input); padding-top: 14px; margin-top: 6px; }
.cpk-grupa[hidden], .cpk-tubapay-info[hidden] { display: none; }
.cpk-grupa::after { content: ''; display: table; clear: both; }
.cpk-tubapay-info { clear: both; margin: 8px 0 0; padding: 10px 12px; background: var(--cpk-red-bg); border: 1px solid var(--cpk-red-border); border-radius: 8px; font-size: 0.85rem; color: var(--cpk-red-dark); }

/* Bumpy */
.cpk-bumpy { margin-bottom: 20px; }
.cpk-czekaj { pointer-events: none; opacity: .7; }
.cpk-bump { display: block; background: #fff; border: 2px dashed var(--cpk-red); border-radius: 12px; overflow: hidden; cursor: pointer; margin: 0 0 16px; transition: background .15s; }
.cpk-bump--on { border-style: solid; background: var(--cpk-red-bg); }
.cpk-bump-naglowek { display: block; background: var(--cpk-red); color: #fff; font-weight: 700; letter-spacing: .02em; padding: 8px 16px; font-size: 0.95rem; }
.cpk-bump-tresc { display: flex; gap: 16px; padding: 16px; align-items: flex-start; }
.cpk-bump-obrazek { width: 96px; height: auto; border-radius: 6px; flex: 0 0 auto; }
.cpk-bump-opis { font-size: 0.9rem; color: var(--cpk-text); }
.cpk-bump-akcja { display: flex; gap: 10px; align-items: flex-start; padding: 12px 16px; border-top: 1px solid var(--cpk-red-border); background: #FFFDE7; font-weight: 600; font-size: 0.95rem; }
.cpk-bump-akcja input { width: 22px; height: 22px; margin: 1px 0 0; accent-color: var(--cpk-red); flex: 0 0 auto; }
.cpk-bump-akcja strong { color: var(--cpk-red); white-space: nowrap; }
.cpk-bump-stara { color: #777; font-weight: 600; white-space: nowrap; }

/* Zgody (regulamin + polityka prywatności, jedna pod drugą) */
.cpk-zgoda .form-row { margin: 0 0 12px; }
.cpk-zgoda label, .cpk-platnosc .woocommerce-terms-and-conditions-wrapper label { font-weight: 400; font-size: 0.9rem; }

/* Płatność (szablon WooCommerce) */
.cpk-platnosc #payment { background: none; border-radius: 0; }
.cpk-platnosc #payment ul.payment_methods { list-style: none; margin: 0 0 16px; padding: 0; border: 1px solid var(--cpk-line); border-radius: 10px; overflow: hidden; }
.cpk-platnosc #payment ul.payment_methods li { padding: 14px 16px; border-bottom: 1px solid var(--cpk-line); margin: 0; }
.cpk-platnosc #payment ul.payment_methods li:last-child { border-bottom: 0; }
.cpk-platnosc #payment ul.payment_methods li > label { display: inline; font-weight: 600; cursor: pointer; }
.cpk-platnosc #payment ul.payment_methods li > input { margin-right: 8px; accent-color: var(--cpk-red); }
.cpk-platnosc #payment ul.payment_methods li img { max-height: 24px; width: auto; vertical-align: middle; margin-left: 8px; float: right; }
.cpk-platnosc #payment div.payment_box { background: var(--cpk-bg); border-radius: 8px; margin: 10px 0 0; padding: 12px; font-size: 0.85rem; }
.cpk-platnosc #payment div.payment_box::before { display: none; }
.cpk-platnosc .woocommerce-privacy-policy-text { font-size: 0.78rem; color: var(--cpk-muted); }
.cpk-platnosc .woocommerce-privacy-policy-text p { margin: 0 0 10px; }
.cpk-platnosc .woocommerce-terms-and-conditions-wrapper { margin-bottom: 12px; font-size: 0.9rem; }
.cpk-platnosc #place_order {
	display: block; width: 100%; padding: 16px 20px; border: 0; border-radius: 50px; cursor: pointer;
	background: var(--cpk-red); color: #fff; font-size: 1.1rem; font-weight: 700; float: none;
}
.cpk-platnosc #place_order:hover { background: var(--cpk-red-dark); }
.cpk-przycisk-dol { display: none; width: 100%; margin: 16px 0 0; padding: 16px 20px; border: 0; border-radius: 50px; cursor: pointer; background: var(--cpk-red); color: #fff; font-size: 1.1rem; font-weight: 700; font-family: inherit; }
.cpk-przycisk-dol:hover { background: var(--cpk-red-dark); }

/* Podsumowanie */
.cpk-podsumowanie table.shop_table { width: 100%; border-collapse: collapse; border: 0; margin: 0 0 12px; font-size: 0.92rem; }
.cpk-podsumowanie table.shop_table thead { display: none; }
.cpk-podsumowanie table.shop_table td, .cpk-podsumowanie table.shop_table th { padding: 10px 0; border: 0; border-bottom: 1px solid var(--cpk-line); vertical-align: middle; text-align: left; background: none; }
.cpk-podsumowanie table.shop_table td.product-total, .cpk-podsumowanie table.shop_table tfoot td { text-align: right; white-space: nowrap; }
.cpk-podsumowanie td.product-name { display: flex; align-items: center; gap: 10px; }
.cpk-podsumowanie .product-quantity { display: none; }
.cpk-miniatura { width: 48px; height: 48px; object-fit: cover; border-radius: 6px; flex: 0 0 auto; }
.cpk-gratis { color: var(--cpk-green); font-weight: 700; text-transform: uppercase; font-size: 0.8rem; }
.cpk-podsumowanie tfoot .order-total th, .cpk-podsumowanie tfoot .order-total td { font-size: 1.2rem; font-weight: 700; border-bottom: 0; }
.cpk-podsumowanie tfoot .order-total td { color: var(--cpk-red); }
.cpk-podsumowanie .includes_tax { display: block; font-size: 0.75rem; font-weight: 400; color: var(--cpk-muted); }

/* Komunikaty */
.cpk-body .woocommerce-error, .cpk-body .woocommerce-message, .cpk-body .woocommerce-info {
	list-style: none; margin: 0 0 16px; padding: 12px 16px; border-radius: 8px; background: var(--cpk-red-bg); border: 1px solid var(--cpk-red-border); color: var(--cpk-red-dark);
}
.cpk-body .woocommerce-NoticeGroup-checkout { grid-column: 1 / -1; }

.cpk-stopka { max-width: 1240px; display: flex; flex-wrap: wrap; gap: 8px 20px; padding-top: 16px; padding-bottom: 32px; font-size: 0.8rem; color: var(--cpk-muted); border-top: 1px solid var(--cpk-line); }
.cpk-stopka a { color: var(--cpk-muted); }

@media (max-width: 860px) {
	.cpk-uklad { grid-template-columns: 1fr; gap: 0; padding-top: 12px; }
	.cpk-logo-kolumna { position: static; margin-bottom: 12px; }
	.cpk-logo-karta { width: 84px; padding: 6px; border-radius: 12px; }
	.cpk-grid { grid-template-columns: 1fr; gap: 0; }
	/* Telefon: zamówienie → formularz → ramki (produkty cyfrowe, gwarancja, bezpieczeństwo) i certyfikat */
	.cpk-prawa { display: contents; }
	.cpk-podsumowanie { order: -1; }
	.cpk-pod-zamowieniem { order: 1; }
	.cpk-przycisk-dol { display: block; }
	.cpk-karta { padding: 18px 16px; }
	.cpk-bump-obrazek { width: 72px; }
}
@media (max-width: 420px) {
	.cpk-form .form-row-first, .cpk-form .form-row-last { width: 100%; float: none; margin-left: 0; }
}

/* Poprawki po pierwszym teście: widoczne kółka wyboru płatności, nic nie wystaje poza kartę */
.cpk-platnosc #payment ul.payment_methods li > input.input-radio {
	-webkit-appearance: radio; appearance: auto; position: static !important; display: inline-block;
	clip: auto !important; clip-path: none !important; width: 18px; height: 18px; margin: 0 8px 0 0; vertical-align: -3px; opacity: 1;
}
.cpk-platnosc #payment ul.payment_methods li > label::before, .cpk-platnosc #payment ul.payment_methods li > label::after { display: none; }
.cpk-platnosc #payment, .cpk-platnosc #payment .form-row, .cpk-platnosc #payment .place-order { margin-left: 0 !important; margin-right: 0 !important; width: auto !important; max-width: 100%; }
.cpk-platnosc #payment ul.payment_methods li { display: flow-root; }
.cpk-platnosc #payment ul.payment_methods li > label { padding: 0 !important; margin: 0 !important; }
.cpk-platnosc #payment ul.payment_methods li > label img { margin-top: -2px; }
.cpk-body .checkout-inline-error-message { color: var(--cpk-red); font-size: 0.8rem; margin: 4px 0 0 30px; }
.cpk-platnosc .woocommerce-terms-and-conditions-wrapper .form-row { margin-bottom: 10px; }
.cpk-zgoda { margin-top: -2px; }

/* Ramki pod zamówieniem (produkty cyfrowe, gwarancja, bezpieczeństwo) — jednakowe */
.cpk-ramka { display: flex; gap: 12px; align-items: flex-start; margin: 0 0 12px; padding: 14px; border: 2px solid #C8E6C9; background: #F1F8E9; border-radius: 10px; }
.cpk-ramka svg { color: var(--cpk-green); flex: 0 0 auto; margin-top: 1px; }
.cpk-ramka strong { display: block; color: var(--cpk-green); font-size: 0.95rem; margin-bottom: 4px; line-height: 1.35; }
.cpk-ramka p { margin: 0; font-size: 0.85rem; line-height: 1.5; color: var(--cpk-text); }
.cpk-ramka a { color: var(--cpk-green); font-weight: 600; }
.cpk-certyfikat { display: block; width: 190px; margin: 4px auto 0; }
.cpk-certyfikat img { display: block; width: 190px; height: auto; }
/* Stempel jest już w prawej kolumnie — bez powtórki w stopce strony kasy */
.cpk-body #cp-certyfikat { display: none; }
/* Ramka motywu Blocksy wokół zamówienia — bez obramowania i wcięć */
.cpk-podsumowanie .ct-order-review { border: 0 !important; padding: 0 !important; margin: 0 !important; background: none !important; box-shadow: none !important; }

/* TubaPay: krótkie podświetlenie pól, do których przewija kasa */
.cpk-grupa { transition: background .4s; border-radius: 8px; }
.cpk-podswietl { background: #FFF8E1; }
