/**
Theme Name: Stroneo! Child Theme
Author: Two colours
Author URI: https://two-colours.com/
Description: Motyw Potomny Stroneo!
Version: 1.0.5
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: stroneo-child-theme
Template: astra
*/

/* Mini-cart (nagłówek) — wymuszony biały tekst na przyciskach */
.widget_shopping_cart .elementor-menu-cart__footer-buttons span,
.widget_shopping_cart .elementor-menu-cart__footer-buttons a:hover span,
.widget_shopping_cart .elementor-menu-cart__footer-buttons a:focus span,
.widget_shopping_cart .elementor-menu-cart__footer-buttons a:active span {
	color: #fff !important;
}

/* === KOSZYK — układ kolumn (jak com/de): tabela + upsell po lewej, podsumowanie po prawej === */
@media (min-width: 1205px) {
	.form-wrapper {
		float: left;
		margin-right: 30px;
		width: 64%;
	}
	.woocommerce .cart-collaterals {
		float: left;
		width: calc(36% - 30px);
	}
	.woocommerce-cart-form {
		float: none !important;
		margin-right: 0 !important;
		width: auto !important;
	}
	#cart .cart_totals {
		width: auto;
	}
}

/* Koszyk — stepper ilości: ukryj label dla czytników i placeholdery +/- z Astry */
.woocommerce-cart-form .quantity .screen-reader-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	clip-path: inset(50%) !important;
	border: 0 !important;
	white-space: nowrap !important;
}
.woocommerce-cart-form .quantity a.ast-qty-placeholder.minus,
.woocommerce-cart-form .quantity a.ast-qty-placeholder.plus {
	display: none !important;
}

/* ================================================================
   CART — UI CLEANUP
   ================================================================ */

.woocommerce-cart-form table.shop_table.cart {
	border: 0 !important;
	border-radius: 14px !important;
	overflow: hidden !important;
	background: #fff !important;
	box-shadow: 0 2px 16px rgba(0, 0, 0, 0.04) !important;
	margin-bottom: 28px !important;
}

.woocommerce-cart-form table.shop_table.cart thead th {
	background: #faf8ff !important;
	border: 0 !important;
	text-transform: uppercase !important;
	font-size: 12px !important;
	letter-spacing: 0.04em !important;
	color: #6b6b78 !important;
	padding: 14px !important;
	font-weight: 600 !important;
}

.woocommerce-cart-form table.shop_table.cart tbody tr.cart_item td {
	border-top: 1px solid #f1eff7 !important;
	border-bottom: 0 !important;
	padding: 18px 14px !important;
	vertical-align: middle !important;
}

.woocommerce-cart-form table.shop_table.cart .product-thumbnail {
	width: 110px !important;
}

.woocommerce-cart-form table.shop_table.cart .product-thumbnail img {
	width: 84px !important;
	height: 84px !important;
	object-fit: contain !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	display: block !important;
	box-shadow: none !important;
}

.woocommerce-cart-form table.shop_table.cart .product-name a {
	font-weight: 600 !important;
	color: #222 !important;
	text-decoration: none !important;
	font-size: 15px !important;
}

.woocommerce-cart-form table.shop_table.cart .product-name a:hover {
	color: #ff2ea6 !important;
}

.woocommerce-cart-form table.shop_table.cart .product-remove {
	width: 44px !important;
	text-align: center !important;
}

.woocommerce-cart-form table.shop_table.cart .product-remove .remove {
	width: 28px !important;
	height: 28px !important;
	border-radius: 50% !important;
	background: #f6f6fa !important;
	color: #6b6b78 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 18px !important;
	line-height: 1 !important;
	text-decoration: none !important;
	transition:
		background 0.15s ease,
		color 0.15s ease,
		transform 0.15s ease !important;
}

.woocommerce-cart-form table.shop_table.cart .product-remove .remove:hover {
	background: #ff2ea6 !important;
	color: #fff !important;
	transform: rotate(90deg) !important;
}

.woocommerce-cart-form table.shop_table.cart .product-remove .remove svg {
	width: 14px !important;
	height: 14px !important;
}

.woocommerce-cart-form .quantity {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0 !important;
	border: 1px solid #e2e2ea !important;
	border-radius: 999px !important;
	background: #fff !important;
	height: 40px !important;
	padding: 0 4px !important;
	box-sizing: border-box !important;
	line-height: 1 !important;
}

.woocommerce-cart-form .quantity button.plus,
.woocommerce-cart-form .quantity button.minus {
	width: 30px !important;
	min-width: 30px !important;
	height: 30px !important;
	border: 0 !important;
	outline: 0 !important;
	background: transparent !important;
	color: #222 !important;
	font-size: 18px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	cursor: pointer !important;
	border-radius: 50% !important;
	padding: 0 !important;
	margin: 0 !important;
	box-shadow: none !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	transition:
		background 0.15s ease,
		color 0.15s ease !important;
}

.woocommerce-cart-form .quantity button.plus:hover,
.woocommerce-cart-form .quantity button.minus:hover,
.woocommerce-cart-form .quantity button.plus:focus,
.woocommerce-cart-form .quantity button.minus:focus {
	background: #f6f6fa !important;
	color: #ff2ea6 !important;
}

.woocommerce-cart-form .quantity input.qty {
	width: 44px !important;
	min-width: 44px !important;
	height: 30px !important;
	border: 0 !important;
	outline: 0 !important;
	background: transparent !important;
	text-align: center !important;
	font-weight: 600 !important;
	font-size: 15px !important;
	margin: 0 !important;
	padding: 0 !important;
	box-shadow: none !important;
	-moz-appearance: textfield !important;
	appearance: textfield !important;
}

.woocommerce-cart-form .quantity input.qty::-webkit-outer-spin-button,
.woocommerce-cart-form .quantity input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none !important;
	margin: 0 !important;
}

.woocommerce-cart-form table.shop_table.cart .product-price,
.woocommerce-cart-form table.shop_table.cart .product-subtotal {
	font-weight: 600 !important;
	color: #222 !important;
}

.woocommerce-cart-form table.shop_table.cart tr td.actions {
	background: #faf8ff !important;
	border-top: 1px solid #f1eff7 !important;
	padding: 18px 14px !important;
}

.woocommerce-cart-form table.shop_table.cart tr td.actions::after {
	content: "";
	display: table;
	clear: both;
}

.woocommerce-cart-form .coupon {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	flex-wrap: wrap !important;
	float: left !important;
}

.woocommerce-cart-form .coupon label {
	display: none !important;
}

.woocommerce-cart-form .coupon input.input-text {
	height: 42px !important;
	padding: 0 16px !important;
	border-radius: 999px !important;
	border: 1px solid #e2e2ea !important;
	min-width: 200px !important;
	background: #fff !important;
	font-size: 14px !important;
	margin: 0 !important;
	box-shadow: none !important;
}

.woocommerce-cart-form .coupon input.input-text:focus {
	border-color: #ff2ea6 !important;
	outline: 0 !important;
}

.woocommerce-cart-form table.shop_table.cart tr td.actions button.button {
	height: 42px !important;
	padding: 0 22px !important;
	border-radius: 999px !important;
	background: #ff2ea6 !important;
	color: #fff !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	border: 0 !important;
	cursor: pointer !important;
	margin: 0 !important;
	transition:
		opacity 0.15s ease,
		transform 0.15s ease,
		box-shadow 0.15s ease !important;
	box-shadow: 0 2px 8px rgba(255, 46, 166, 0.2) !important;
	float: right !important;
}

.woocommerce-cart-form table.shop_table.cart tr td.actions .coupon button.button {
	float: none !important;
}

.woocommerce-cart-form table.shop_table.cart tr td.actions button.button:hover {
	opacity: 0.92 !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 4px 12px rgba(255, 46, 166, 0.3) !important;
}

.woocommerce-cart-form table.shop_table.cart tr td.actions button.button[disabled],
.woocommerce-cart-form table.shop_table.cart tr td.actions button.button:disabled {
	background: #d9d9e0 !important;
	box-shadow: none !important;
	cursor: not-allowed !important;
	transform: none !important;
	opacity: 1 !important;
}

.cart-collaterals .cart_totals {
	background: #fff !important;
	padding: 24px !important;
	border-radius: 14px !important;
	box-shadow: 0 2px 16px rgba(0, 0, 0, 0.04) !important;
}

.cart-collaterals .cart_totals h2 {
	margin: 0 0 16px 0 !important;
	font-size: 20px !important;
	font-weight: 700 !important;
}

.cart-collaterals .cart_totals table.shop_table {
	width: 100% !important;
	border: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
	margin: 0 !important;
}

/* TBODY jako blok — żeby shipping TR mogło opuścić siatkę kolumn tabeli */
.cart-collaterals .cart_totals table.shop_table tbody {
	display: block !important;
	width: 100% !important;
}

/* Pozostałe TR (subtotal, total) muszą zostać normalnymi wierszami tabeli */
.cart-collaterals .cart_totals table.shop_table tbody tr:not(.woocommerce-shipping-totals) {
	display: table-row !important;
}

.cart-collaterals .cart_totals table.shop_table th,
.cart-collaterals .cart_totals table.shop_table td {
	border: 0 !important;
	padding: 10px 0 !important;
	background: transparent !important;
	vertical-align: top !important;
}

.cart-collaterals .cart_totals table.shop_table th {
	padding-right: 18px !important;
	text-align: left !important;
	white-space: nowrap !important;
}

.cart-collaterals .cart_totals table.shop_table td {
	text-align: right !important;
}

.cart-collaterals .cart_totals tr.cart-subtotal th,
.cart-collaterals .cart_totals tr.cart-subtotal td {
	font-weight: 500 !important;
}

.cart-collaterals .cart_totals tr.order-total th,
.cart-collaterals .cart_totals tr.order-total td {
	border-top: 1px solid #f1eff7 !important;
	padding-top: 16px !important;
	font-size: 18px !important;
	font-weight: 700 !important;
}

/* Payment gateways (PayPal, Stripe / G Pay) injected under "Proceed to checkout" */
.cart-collaterals .wc-proceed-to-checkout .ppc-button-wrapper,
.cart-collaterals .wc-proceed-to-checkout #ppc-button-ppcp-gateway {
	margin-top: 12px !important;
}

.cart-collaterals .wc-stripe-cart-checkout-container {
	margin-top: 12px !important;
}

.cart-collaterals .wc-stripe-cart-checkout-container ul.wc_stripe_cart_payment_methods {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.cart-collaterals .wc-stripe-cart-checkout-container .wc-stripe-payment-method {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.cart-collaterals .wc-stripe-cart-checkout-container .wc-stripe-payment-method.or {
	margin: 8px 0 !important;
}

.cart-collaterals .wc-stripe-cart-checkout-container .wc-stripe-cart-or {
	text-align: center !important;
	color: #6b6b78 !important;
	font-size: 13px !important;
	margin: 0 !important;
}

/* Shipment — shipping methods as clickable cards.
   KEY: display:contents on TR "dissolves" the row — TH and TD become direct
   children of TBODY (which is block), so width:100% actually fills 100%
   of the container, independent of table column widths. */
.cart-collaterals .cart_totals tr.woocommerce-shipping-totals.shipping {
	display: contents !important;
}

.cart-collaterals .cart_totals tr.woocommerce-shipping-totals.shipping th,
.cart-collaterals .cart_totals tr.woocommerce-shipping-totals.shipping td {
	display: block !important;
	width: 100% !important;
	box-sizing: border-box !important;
	white-space: normal !important;
	text-align: left !important;
}

.cart-collaterals .cart_totals tr.woocommerce-shipping-totals.shipping th {
	padding: 14px 0 4px 0 !important;
	margin: 0 !important;
	border-top: 1px solid #f1eff7 !important;
	border-bottom: 0 !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	color: #222 !important;
}

.cart-collaterals .cart_totals tr.woocommerce-shipping-totals.shipping td {
	padding: 0 !important;
}

/* Hide the default "Shipment:" pseudo-label generated by WC's shop_table_responsive */
.cart-collaterals .cart_totals tr.woocommerce-shipping-totals.shipping td::before {
	display: none !important;
	content: none !important;
}

.cart-collaterals .cart_totals .woocommerce-shipping-methods {
	list-style: none !important;
	margin: 6px 0 10px !important;
	padding: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 8px !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.cart-collaterals .cart_totals .woocommerce-shipping-methods li {
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
	box-sizing: border-box !important;
	background: #faf8ff !important;
	border: 1px solid transparent !important;
	border-radius: 12px !important;
	transition:
		border-color 0.15s ease,
		background 0.15s ease,
		box-shadow 0.15s ease !important;
	position: relative !important;
}

.cart-collaterals .cart_totals .woocommerce-shipping-methods li:has(input[type="radio"]:checked) {
	background: #fff5fb !important;
	border-color: #ff2ea6 !important;
	box-shadow: 0 2px 8px rgba(255, 46, 166, 0.12) !important;
}

.cart-collaterals .cart_totals .woocommerce-shipping-methods li input[type="radio"] {
	position: absolute !important;
	top: 14px !important;
	left: 14px !important;
	margin: 0 !important;
	accent-color: #ff2ea6 !important;
	cursor: pointer !important;
}

.cart-collaterals .cart_totals .woocommerce-shipping-methods li label {
	display: block !important;
	padding: 12px 14px 12px 58px !important;
	font-weight: 500 !important;
	cursor: pointer !important;
	font-size: 14px !important;
	line-height: 1.4 !important;
	text-align: end !important;
}

.cart-collaterals .cart_totals .woocommerce-shipping-methods li label .woocommerce-Price-amount {
	font-weight: 700 !important;
	color: #ff2ea6 !important;
}

.cart-collaterals .woocommerce-shipping-destination {
	font-size: 13px !important;
	color: #6b6b78 !important;
	margin: 8px 0 !important;
	line-height: 1.45 !important;
}

.cart-collaterals .shipping-calculator-button {
	display: inline-block !important;
	margin-top: 6px !important;
	font-size: 13px !important;
	color: #ff2ea6 !important;
	font-weight: 500 !important;
	text-decoration: underline !important;
	text-underline-offset: 3px !important;
}

.cart-collaterals .shipping-calculator-button:hover {
	text-decoration: none !important;
}

.cart-collaterals .wc-proceed-to-checkout {
	padding: 18px 0 0 0 !important;
}

.cart-collaterals .wc-proceed-to-checkout a.checkout-button {
	display: block !important;
	width: 100% !important;
	text-align: center !important;
	padding: 14px 22px !important;
	border-radius: 999px !important;
	font-weight: 700 !important;
	font-size: 15px !important;
	background: #ff2ea6 !important;
	color: #fff !important;
	box-shadow: 0 4px 14px rgba(255, 46, 166, 0.35) !important;
	border: 0 !important;
	transition:
		opacity 0.15s ease,
		transform 0.15s ease !important;
}

.cart-collaterals .wc-proceed-to-checkout a.checkout-button:hover {
	opacity: 0.92 !important;
	transform: translateY(-1px) !important;
	color: #fff !important;
}

@media (max-width: 767px) {
	.woocommerce-cart-form table.shop_table.cart tr td.actions button.button,
	.woocommerce-cart-form .coupon {
		float: none !important;
		width: 100% !important;
	}

	.woocommerce-cart-form .coupon {
		margin-bottom: 12px !important;
	}

	.woocommerce-cart-form .coupon input.input-text {
		flex: 1 !important;
		min-width: 0 !important;
	}

	/* === Mobile cart — compact card layout === */
	.woocommerce-cart-form table.shop_table.cart {
		background: transparent !important;
		box-shadow: none !important;
		border-radius: 0 !important;
		margin-bottom: 16px !important;
	}

	.woocommerce-cart-form table.shop_table.cart thead {
		display: none !important;
	}

	.woocommerce-cart-form table.shop_table.cart tbody tr.cart_item {
		display: block !important;
		position: relative !important;
		background: #fff !important;
		border-radius: 14px !important;
		box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05) !important;
		padding: 48px 16px 16px !important;
		margin-bottom: 14px !important;
		border: 0 !important;
	}

	.woocommerce-cart-form table.shop_table.cart tbody tr.cart_item td {
		display: flex !important;
		justify-content: space-between !important;
		align-items: center !important;
		text-align: right !important;
		border: 0 !important;
		padding: 8px 0 !important;
		width: auto !important;
	}

	.woocommerce-cart-form table.shop_table.cart tbody tr.cart_item td::before {
		content: attr(data-title) !important;
		font-weight: 500 !important;
		color: #6b6b78 !important;
		font-size: 13px !important;
		text-transform: uppercase !important;
		letter-spacing: 0.03em !important;
		text-align: left !important;
		padding-right: 12px !important;
		flex: 0 0 auto !important;
	}

	/* X — top-right corner of the card */
	.woocommerce-cart-form table.shop_table.cart tbody tr.cart_item td.product-remove {
		position: absolute !important;
		top: 10px !important;
		right: 10px !important;
		padding: 0 !important;
		display: block !important;
		width: auto !important;
		background: transparent !important;
	}

	.woocommerce-cart-form table.shop_table.cart tbody tr.cart_item td.product-remove::before {
		display: none !important;
	}

	/* Thumbnail + name as the card header */
	.woocommerce-cart-form table.shop_table.cart tbody tr.cart_item td.product-thumbnail {
		display: flex !important;
		justify-content: center !important;
		padding: 0 0 4px 0 !important;
		width: auto !important;
	}

	.woocommerce-cart-form table.shop_table.cart tbody tr.cart_item td.product-thumbnail::before {
		display: none !important;
	}

	.woocommerce-cart-form table.shop_table.cart tbody tr.cart_item td.product-thumbnail img {
		width: 96px !important;
		height: 96px !important;
	}

	.woocommerce-cart-form table.shop_table.cart tbody tr.cart_item td.product-name {
		display: block !important;
		text-align: center !important;
		padding: 4px 0 14px 0 !important;
		border-bottom: 1px solid #f1eff7 !important;
		margin-bottom: 6px !important;
		font-size: 15px !important;
	}

	.woocommerce-cart-form table.shop_table.cart tbody tr.cart_item td.product-name::before {
		display: none !important;
	}

	.woocommerce-cart-form table.shop_table.cart tbody tr.cart_item td.product-quantity .quantity {
		margin: 0 !important;
	}

	.woocommerce-cart-form table.shop_table.cart tbody tr.cart_item td.product-subtotal {
		padding-top: 12px !important;
		margin-top: 6px !important;
		border-top: 1px solid #f1eff7 !important;
		font-size: 16px !important;
	}

	.woocommerce-cart-form table.shop_table.cart tbody tr.cart_item td.product-subtotal::before {
		font-weight: 700 !important;
		color: #222 !important;
	}

	.woocommerce-cart-form table.shop_table.cart tr td.actions {
		display: block !important;
		background: #fff !important;
		border-radius: 14px !important;
		padding: 16px !important;
		box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05) !important;
		border: 0 !important;
	}
}

/* ================================================================
   KOSZYK — UPSELL KOLORÓW (restylowane natywne cross-selle .cross-sells,
   przeniesione hookiem pod tabelę koszyka — wygląd jak .tc-cart-upsells z com/de)
   ================================================================ */

.cross-sells {
	clear: both !important;
	float: none !important;
	width: 100% !important;
	margin: 32px 0 28px;
	padding: 28px 28px 24px;
	background: linear-gradient(135deg, #faf8ff 0%, #fff5fb 100%);
	border-radius: 18px;
	border: 1px solid #f1eff7;
	box-sizing: border-box;
}

.cross-sells > h2 {
	margin: 0 0 20px 0 !important;
	font-size: 20px !important;
	font-weight: 700 !important;
	color: #222 !important;
	text-align: center !important;
	line-height: 1.3 !important;
}

.cross-sells ul.products {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 16px !important;
	justify-content: center !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.cross-sells ul.products::before,
.cross-sells ul.products::after {
	display: none !important;
	content: none !important;
}

.cross-sells ul.products li.product {
	flex: 0 1 220px !important;
	max-width: 240px !important;
	width: auto !important;
	margin: 0 !important;
	background: #fff;
	border-radius: 14px;
	padding: 16px;
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	text-align: center !important;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
	transition:
		transform 0.18s ease,
		box-shadow 0.18s ease;
}

.cross-sells ul.products li.product:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 22px rgba(0, 0, 0, 0.08);
}

/* miniatura */
.cross-sells ul.products li.product .astra-shop-thumbnail-wrap,
.cross-sells ul.products li.product a.woocommerce-LoopProduct-link {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	max-width: 160px !important;
	aspect-ratio: 1 / 1 !important;
	margin: 0 auto 12px auto !important;
	border-radius: 10px !important;
	overflow: hidden !important;
}

.cross-sells ul.products li.product img {
	max-width: 100% !important;
	max-height: 100% !important;
	width: auto !important;
	height: auto !important;
	object-fit: contain !important;
	display: block !important;
	margin: 0 auto !important;
}

.cross-sells ul.products li.product .astra-shop-summary-wrap {
	display: flex !important;
	flex-direction: column !important;
	flex: 1 1 auto !important;
	gap: 6px !important;
	padding: 0 !important;
}

/* ukryj kategorię nad tytułem */
.cross-sells ul.products li.product .ast-woo-product-category {
	display: none !important;
}

.cross-sells ul.products li.product a.ast-loop-product__link {
	text-decoration: none !important;
	display: block !important;
}

.cross-sells ul.products li.product .woocommerce-loop-product__title,
.cross-sells ul.products li.product h2 {
	font-weight: 600 !important;
	color: #222 !important;
	line-height: 1.3 !important;
	font-size: 15px !important;
	padding: 0 !important;
	margin: 0 !important;
}

.cross-sells ul.products li.product a.ast-loop-product__link:hover .woocommerce-loop-product__title {
	color: #ff2ea6 !important;
}

.cross-sells ul.products li.product .price {
	font-size: 17px !important;
	font-weight: 700 !important;
	color: #222 !important;
	margin: 4px 0 12px 0 !important;
	display: block !important;
}

.cross-sells ul.products li.product .price .woocommerce-Price-amount {
	color: #222 !important;
}

.cross-sells ul.products li.product .button,
.cross-sells ul.products li.product a.add_to_cart_button,
.cross-sells ul.products li.product a.added_to_cart {
	display: inline-block !important;
	width: 100% !important;
	padding: 11px 16px !important;
	border-radius: 999px !important;
	background: #ff2ea6 !important;
	color: #fff !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	text-align: center !important;
	border: 0 !important;
	cursor: pointer !important;
	font-size: 14px !important;
	margin-top: auto !important;
	box-shadow: 0 2px 8px rgba(255, 46, 166, 0.2) !important;
	transition:
		opacity 0.15s ease,
		transform 0.15s ease,
		box-shadow 0.15s ease !important;
}

.cross-sells ul.products li.product .button:hover,
.cross-sells ul.products li.product a.add_to_cart_button:hover,
.cross-sells ul.products li.product a.added_to_cart:hover {
	opacity: 0.92 !important;
	color: #fff !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 4px 14px rgba(255, 46, 166, 0.32) !important;
}

@media (max-width: 600px) {
	.cross-sells {
		padding: 20px 14px 18px;
	}

	.cross-sells ul.products {
		gap: 12px !important;
	}

	.cross-sells ul.products li.product {
		flex: 0 1 calc(50% - 6px) !important;
		max-width: none !important;
		padding: 12px;
	}

	.cross-sells ul.products li.product .woocommerce-loop-product__title {
		font-size: 13px !important;
	}

	.cross-sells ul.products li.product .price {
		font-size: 15px !important;
	}

	.cross-sells ul.products li.product .button,
	.cross-sells ul.products li.product a.add_to_cart_button {
		padding: 10px 12px !important;
		font-size: 13px !important;
	}
}

/* ================================================================
   CHECKOUT — UI CLEANUP (Phase 1)
   ================================================================ */

/* Centruj cały checkout w jednym focused column */
form.checkout.woocommerce-checkout {
	/* max-width: 720px !important; */
	margin: 0 auto !important;
}

/* Trust signals banner — wstrzykiwany na górze przez ::before */
form.checkout.woocommerce-checkout::before {
	content: "🔒  Bezpieczne zakupy  •  💳  BLIK, Przelewy24, PayPal  •  🔁  Zwrot 14 dni";
	display: block;
	text-align: center;
	background: linear-gradient(135deg, #faf8ff 0%, #fff5fb 100%);
	padding: 12px 20px;
	border-radius: 12px;
	font-size: 13px;
	color: #6b6b78;
	margin-bottom: 24px;
	letter-spacing: 0.02em;
	border: 1px solid #f1eff7;
}

/* Express checkout banner (Stripe — GPay/ApplePay na górze) */
.wc-stripe-banner-checkout {
	max-width: 100% !important;
	background: #fff !important;
	padding: 20px !important;
	border-radius: 14px !important;
	box-shadow: 0 2px 16px rgba(0, 0, 0, 0.04) !important;
	margin: 0 auto 24px auto !important;
	border: 0 !important;
}

.wc-stripe-banner-checkout fieldset {
	border: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
}

.wc-stripe-banner-checkout .banner-title {
	display: block !important;
	text-align: center !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
	color: #6b6b78 !important;
	margin: 0 0 12px 0 !important;
	padding: 0 !important;
	width: 100% !important;
}

.wc-stripe-banner-checkout .wc_stripe_checkout_banner_gateways {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 8px !important;
}

.wc-stripe-banner-checkout .wc-stripe-checkout-banner-gateway {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.wc-stripe-banner-checkout .gpay-button-fill,
.wc-stripe-banner-checkout .gpay-button-container {
	width: 100% !important;
	max-width: 100% !important;
}

.wc-stripe-banner-checkout .gpay-button {
	width: 100% !important;
	border-radius: 999px !important;
}

/* Separator "OR" / "ODER" — między Express-Kasse a formularzem */
.wc-stripe-banner-checkout .banner-divider {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 14px !important;
	margin: 18px 0 0 0 !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.12em !important;
	color: #9b9ba8 !important;
}

.wc-stripe-banner-checkout .banner-divider::before,
.wc-stripe-banner-checkout .banner-divider::after {
	content: "" !important;
	flex: 1 !important;
	height: 1px !important;
	background: #f1eff7 !important;
}

/* Section headings (Billing details, Ship to a different address, Order notes, etc.) */
.woocommerce-checkout h3 {
	font-size: 18px !important;
	font-weight: 700 !important;
	color: #222 !important;
	margin: 0 0 20px 0 !important;
	padding-bottom: 12px !important;
	border-bottom: 1px solid #f1eff7 !important;
}

/* Karty dla każdej sekcji formularza */
.woocommerce-billing-fields,
.woocommerce-shipping-fields,
.woocommerce-additional-fields {
	background: #fff !important;
	padding: 24px !important;
	border-radius: 14px !important;
	box-shadow: 0 2px 16px rgba(0, 0, 0, 0.04) !important;
	margin-bottom: 20px !important;
}

/* === Combined card: "Ship to different address" + "Order notes" pills === */

.tc-extras-card {
	background: #fff !important;
	padding: 20px !important;
	border-radius: 14px !important;
	box-shadow: 0 2px 16px rgba(0, 0, 0, 0.04) !important;
	margin-bottom: 20px !important;
}

.tc-extras-pills {
	display: flex !important;
	gap: 10px !important;
	flex-wrap: wrap !important;
}

.tc-extras-pill,
.tc-extras-pill:hover,
.tc-extras-pill:focus,
.tc-extras-pill:active {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	background: transparent !important;
	border: 1px dashed #e2e2ea !important;
	color: #ff2ea6 !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	padding: 12px 18px !important;
	border-radius: 999px !important;
	cursor: pointer !important;
	transition:
		border-color 0.15s ease,
		background 0.15s ease,
		color 0.15s ease !important;
	margin: 0 !important;
	text-decoration: none !important;
	box-shadow: none !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	line-height: 1.3 !important;
}

.tc-extras-pill:hover,
.tc-extras-pill:focus {
	border-color: #ff2ea6 !important;
	background: #fff5fb !important;
	color: #ff2ea6 !important;
	outline: 0 !important;
}

.tc-extras-pill.is-open,
.tc-extras-pill.is-open:hover,
.tc-extras-pill.is-open:focus {
	background: #fff5fb !important;
	border-style: solid !important;
	border-color: #ff2ea6 !important;
	color: #ff2ea6 !important;
}

.tc-extras-pill .tc-pill-icon {
	font-size: 18px !important;
	line-height: 1 !important;
	color: inherit !important;
	font-weight: 700 !important;
}

.tc-extras-pill .tc-pill-text {
	color: inherit !important;
}

.tc-extras-content {
	margin-top: 18px !important;
	padding-top: 18px !important;
	border-top: 1px solid #f1eff7 !important;
}

.tc-extras-content .shipping_address,
.tc-extras-content #order_comments_field {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

@media (max-width: 480px) {
	.tc-extras-pills {
		flex-direction: column !important;
	}

	.tc-extras-pill {
		width: 100% !important;
	}
}

/* Form rows */
.woocommerce-checkout .form-row {
	padding: 0 !important;
	margin: 0 0 14px 0 !important;
}

.woocommerce-checkout .form-row label {
	display: block !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	color: #4a4a55 !important;
	margin-bottom: 6px !important;
}

.woocommerce-checkout .form-row label .required {
	color: #ff2ea6 !important;
	text-decoration: none !important;
	margin-left: 2px !important;
}

.woocommerce-checkout .form-row label .optional {
	color: #9b9ba8 !important;
	font-weight: 400 !important;
	font-size: 12px !important;
}

/* Inputs — wspólny look */
.woocommerce-checkout .input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select {
	width: 100% !important;
	height: 46px !important;
	padding: 0 16px !important;
	border: 1px solid #e2e2ea !important;
	border-radius: 10px !important;
	background: #fff !important;
	font-size: 14px !important;
	color: #222 !important;
	box-shadow: none !important;
	transition:
		border-color 0.15s ease,
		box-shadow 0.15s ease !important;
	box-sizing: border-box !important;
}

.woocommerce-checkout textarea {
	height: auto !important;
	min-height: 90px !important;
	padding: 12px 16px !important;
	resize: vertical !important;
	line-height: 1.5 !important;
}

.woocommerce-checkout .input-text:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout select:focus {
	border-color: #ff2ea6 !important;
	box-shadow: 0 0 0 3px rgba(255, 46, 166, 0.12) !important;
	outline: 0 !important;
}

/* Validation error states */
.woocommerce-checkout .woocommerce-invalid .input-text,
.woocommerce-checkout .woocommerce-invalid input.input-text,
.woocommerce-checkout .woocommerce-invalid select {
	border-color: #e64949 !important;
	background: #fff8f8 !important;
}

/* Select2 (country dropdown) — dopasuj do reszty inputów */
.woocommerce-checkout .select2-container--default .select2-selection--single {
	height: 46px !important;
	min-height: 46px !important;
	display: flex !important;
	align-items: center !important;
	padding: 0 16px !important;
	border: 1px solid #e2e2ea !important;
	border-radius: 10px !important;
	background: #fff !important;
	box-sizing: border-box !important;
	transition:
		border-color 0.15s ease,
		box-shadow 0.15s ease !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
	display: block !important;
	width: 100% !important;
	line-height: 1.3 !important;
	padding: 0 24px 0 0 !important;
	color: #222 !important;
	margin: 0 !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 24px !important;
	width: 24px !important;
	top: 50% !important;
	right: 12px !important;
	transform: translateY(-50%) !important;
}

.woocommerce-checkout .select2-container--default.select2-container--focus .select2-selection--single,
.woocommerce-checkout .select2-container--default.select2-container--open .select2-selection--single {
	border-color: #ff2ea6 !important;
	box-shadow: 0 0 0 3px rgba(255, 46, 166, 0.12) !important;
}

/* "Ship to a different address?" — nagłówek z checkboxem */
.woocommerce-shipping-fields h3#ship-to-different-address {
	border-bottom: 0 !important;
	padding-bottom: 0 !important;
	margin: 0 !important;
	font-size: 15px !important;
}

.woocommerce-shipping-fields h3#ship-to-different-address label,
.woocommerce-shipping-fields h3#ship-to-different-address label:hover,
.woocommerce-shipping-fields h3#ship-to-different-address label:active,
.woocommerce-shipping-fields h3#ship-to-different-address label:focus,
.woocommerce-shipping-fields h3#ship-to-different-address label span,
.woocommerce-shipping-fields h3#ship-to-different-address label:hover span,
.woocommerce-shipping-fields h3#ship-to-different-address label:active span {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	cursor: pointer !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	color: #222 !important;
	background: transparent !important;
	margin: 0 !important;
	text-decoration: none !important;
}

.woocommerce-shipping-fields h3#ship-to-different-address input[type="checkbox"] {
	accent-color: #ff2ea6 !important;
	width: 18px !important;
	height: 18px !important;
	margin: 0 !important;
	cursor: pointer !important;
}

.shipping_address {
	margin-top: 20px !important;
	padding-top: 20px !important;
	border-top: 1px solid #f1eff7 !important;
}

/* === Order review === */

#order_review_heading {
	font-size: 22px !important;
	font-weight: 700 !important;
	color: #222 !important;
	margin: 32px 0 16px 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

#order_review {
	background: #fff !important;
	padding: 24px !important;
	border-radius: 14px !important;
	box-shadow: 0 2px 16px rgba(0, 0, 0, 0.04) !important;
}

.woocommerce-checkout-review-order-table {
	border: 0 !important;
	margin: 0 !important;
	width: 100% !important;
	background: transparent !important;
}

.woocommerce-checkout-review-order-table thead th {
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid #f1eff7 !important;
	text-transform: uppercase !important;
	font-size: 12px !important;
	letter-spacing: 0.04em !important;
	color: #6b6b78 !important;
	padding: 0 0 12px 0 !important;
	font-weight: 600 !important;
}

.woocommerce-checkout-review-order-table thead th.product-total {
	text-align: right !important;
}

.woocommerce-checkout-review-order-table tbody tr.cart_item td {
	border: 0 !important;
	padding: 14px 0 !important;
	vertical-align: middle !important;
	background: transparent !important;
}

.woocommerce-checkout-review-order-table tbody tr.cart_item td.product-name {
	font-weight: 500 !important;
	color: #222 !important;
}

.woocommerce-checkout-review-order-table tbody tr.cart_item .ast-product-name {
	display: inline !important;
}

.woocommerce-checkout-review-order-table tbody tr.cart_item .product-quantity {
	font-weight: 600 !important;
	color: #6b6b78 !important;
	margin-left: 6px !important;
}

.woocommerce-checkout-review-order-table tbody tr.cart_item td.product-total {
	text-align: right !important;
	font-weight: 600 !important;
	color: #222 !important;
}

/* Subtotal / Total / Shipping rows */
.woocommerce-checkout-review-order-table tfoot tr th,
.woocommerce-checkout-review-order-table tfoot tr td {
	border: 0 !important;
	padding: 10px 0 !important;
	background: transparent !important;
}

/* Subtotal / Total rows — flex zamiast table-row, żeby TH i TD miały odstęp */
.woocommerce-checkout-review-order-table tfoot tr:not(.woocommerce-shipping-totals) {
	display: flex !important;
	justify-content: space-between !important;
	align-items: baseline !important;
	gap: 16px !important;
}

.woocommerce-checkout-review-order-table tfoot tr:not(.woocommerce-shipping-totals) th,
.woocommerce-checkout-review-order-table tfoot tr:not(.woocommerce-shipping-totals) td {
	display: block !important;
	flex: 0 0 auto !important;
	width: auto !important;
}

.woocommerce-checkout-review-order-table tfoot tr.cart-subtotal th,
.woocommerce-checkout-review-order-table tfoot tr.cart-subtotal td {
	border-top: 1px solid #f1eff7 !important;
	padding-top: 14px !important;
	font-weight: 500 !important;
}

.woocommerce-checkout-review-order-table tfoot tr.order-total th,
.woocommerce-checkout-review-order-table tfoot tr.order-total td {
	border-top: 1px solid #f1eff7 !important;
	padding-top: 14px !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	color: #222 !important;
}

.woocommerce-checkout-review-order-table tfoot tr:not(.woocommerce-shipping-totals) td {
	text-align: right !important;
}

/* Cała tabela order review jako block — bez tego tfoot dziedziczy tylko
   szerokość pierwszej kolumny tabeli, a nie pełnych 100% */
.woocommerce-checkout-review-order-table,
.woocommerce-checkout-review-order-table thead,
.woocommerce-checkout-review-order-table tbody,
.woocommerce-checkout-review-order-table tfoot {
	display: block !important;
	width: 100% !important;
}

/* Thead: flex z space-between (Product | Subtotal) */
.woocommerce-checkout-review-order-table thead tr {
	display: flex !important;
	justify-content: space-between !important;
	width: 100% !important;
}

.woocommerce-checkout-review-order-table thead tr th.product-name,
.woocommerce-checkout-review-order-table tbody tr.cart_item td.product-name {
	flex: 1 !important;
}

.woocommerce-checkout-review-order-table thead tr th.product-total {
	flex: 0 0 auto !important;
	text-align: right !important;
}

/* Wiersze produktów (cart_item) — flex z label po lewej, kwota po prawej */
.woocommerce-checkout-review-order-table tbody tr.cart_item {
	display: flex !important;
	justify-content: space-between !important;
	width: 100% !important;
	gap: 16px !important;
}

.woocommerce-checkout-review-order-table tbody tr.cart_item td.product-total {
	flex: 0 0 auto !important;
}

/* Shipping row — display: contents (TR znika, TH/TD stają się dziećmi TBODY) */
.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals.shipping {
	display: contents !important;
}

.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals.shipping th,
.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals.shipping td {
	display: block !important;
	width: 100% !important;
	box-sizing: border-box !important;
	text-align: left !important;
	white-space: normal !important;
}

.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals.shipping th {
	padding: 14px 0 4px 0 !important;
	border-top: 1px solid #f1eff7 !important;
	border-bottom: 0 !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	color: #222 !important;
}

.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals.shipping td {
	padding: 0 !important;
}

.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals.shipping td::before {
	display: none !important;
	content: none !important;
}

/* Shipping methods (karty) */
.woocommerce-checkout-review-order-table ul#shipping_method,
.woocommerce-checkout-review-order-table ul.woocommerce-shipping-methods {
	list-style: none !important;
	margin: 6px 0 10px !important;
	padding: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 8px !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.woocommerce-checkout-review-order-table ul.woocommerce-shipping-methods li {
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
	box-sizing: border-box !important;
	background: #faf8ff !important;
	border: 1px solid transparent !important;
	border-radius: 12px !important;
	transition:
		border-color 0.15s ease,
		background 0.15s ease,
		box-shadow 0.15s ease !important;
	position: relative !important;
}

.woocommerce-checkout-review-order-table ul.woocommerce-shipping-methods li:has(> input[type="radio"]:checked) {
	background: #fff5fb !important;
	border-color: #ff2ea6 !important;
	box-shadow: 0 2px 8px rgba(255, 46, 166, 0.12) !important;
}

.woocommerce-checkout-review-order-table ul.woocommerce-shipping-methods li > input[type="radio"] {
	position: absolute !important;
	top: 14px !important;
	left: 14px !important;
	margin: 0 !important;
	accent-color: #ff2ea6 !important;
	cursor: pointer !important;
}

.woocommerce-checkout-review-order-table ul.woocommerce-shipping-methods li label {
	display: block !important;
	padding: 12px 14px 12px 58px !important;
	font-weight: 500 !important;
	cursor: pointer !important;
	font-size: 14px !important;
	line-height: 1.4 !important;
	text-align: end !important;
}

.woocommerce-checkout-review-order-table ul.woocommerce-shipping-methods li label .woocommerce-Price-amount {
	font-weight: 700 !important;
	color: #ff2ea6 !important;
}

/* === Sekcja płatności === */

#payment {
	background: transparent !important;
	margin-top: 24px !important;
	border-top: 1px solid #f1eff7 !important;
	padding-top: 24px !important;
}

#payment > .ppcp-messages {
	margin-bottom: 12px !important;
}

#payment ul.payment_methods {
	list-style: none !important;
	margin: 0 0 16px 0 !important;
	padding: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 8px !important;
	border: 0 !important;
}

#payment ul.payment_methods li.wc_payment_method {
	background: #faf8ff !important;
	border: 1px solid transparent !important;
	border-radius: 12px !important;
	padding: 0 !important;
	margin: 0 !important;
	list-style: none !important;
	transition:
		border-color 0.15s ease,
		background 0.15s ease,
		box-shadow 0.15s ease !important;
	position: relative !important;
}

#payment ul.payment_methods li.wc_payment_method:has(> input[type="radio"]:checked) {
	background: #fff5fb !important;
	border-color: #ff2ea6 !important;
	box-shadow: 0 2px 8px rgba(255, 46, 166, 0.12) !important;
}

#payment ul.payment_methods li.wc_payment_method > input[type="radio"] {
	position: absolute !important;
	top: 18px !important;
	left: 14px !important;
	margin: 0 !important;
	accent-color: #ff2ea6 !important;
	cursor: pointer !important;
}

#payment ul.payment_methods li.wc_payment_method > label {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	padding: 14px 14px 14px 44px !important;
	font-weight: 500 !important;
	cursor: pointer !important;
	font-size: 14px !important;
	line-height: 1.3 !important;
	margin: 0 !important;
	color: #222 !important;
}

#payment ul.payment_methods li.wc_payment_method > label img {
	height: 22px !important;
	width: auto !important;
	max-width: 56px !important;
	object-fit: contain !important;
	vertical-align: middle !important;
}

#payment ul.payment_methods li.wc_payment_method > label .wc-stripe-card-icons-container {
	display: inline-flex !important;
	gap: 4px !important;
	margin-left: auto !important;
	align-items: center !important;
}

#payment ul.payment_methods li.wc_payment_method > label .wc-stripe-card-icon {
	height: 22px !important;
	width: auto !important;
}

/* Pusty payment_box dla wallet-bramek (Google Pay, Apple Pay) — kontynuacja fixu z koszyka */
#payment ul.payment_methods li .payment_box:empty,
#payment ul.payment_methods li.payment_method_stripe_googlepay > .payment_box,
#payment ul.payment_methods li.payment_method_stripe_applepay > .payment_box {
	display: none !important;
}

/* Widoczny payment_box (opis bramki / form karty) */
#payment ul.payment_methods li .payment_box {
	background: rgba(255, 255, 255, 0.7) !important;
	margin: 0 0 12px 0 !important;
	padding: 14px !important;
	border-radius: 10px !important;
	font-size: 13px !important;
	color: #4a4a55 !important;
	border: 0 !important;
	line-height: 1.5 !important;
}

#payment ul.payment_methods li .payment_box::before {
	display: none !important;
	content: none !important;
}

#payment ul.payment_methods li .payment_box p {
	margin: 0 !important;
}

#payment ul.payment_methods li .payment_box p + p {
	margin-top: 8px !important;
}

/* === Terms & Conditions + checkbox === */

.woocommerce-terms-and-conditions-wrapper {
	margin-top: 20px !important;
	padding-top: 20px !important;
	border-top: 1px solid #f1eff7 !important;
}

.woocommerce-privacy-policy-text {
	font-size: 12px !important;
	color: #6b6b78 !important;
	line-height: 1.5 !important;
	margin: 0 0 12px 0 !important;
}

.woocommerce-privacy-policy-text a,
.woocommerce-terms-and-conditions-checkbox-text a {
	color: #ff2ea6 !important;
	font-weight: 500 !important;
}

.woocommerce-terms-and-conditions {
	background: #faf8ff !important;
	padding: 16px !important;
	border-radius: 10px !important;
	margin: 0 0 12px 0 !important;
	font-size: 12px !important;
	line-height: 1.5 !important;
	max-height: 200px !important;
	overflow-y: auto !important;
}

form.checkout .form-row.validate-required .woocommerce-form__label-for-checkbox {
	display: flex !important;
	align-items: flex-start !important;
	gap: 10px !important;
	cursor: pointer !important;
	padding: 12px 14px !important;
	background: #faf8ff !important;
	border: 1px solid #f1eff7 !important;
	border-radius: 10px !important;
	font-size: 13px !important;
	line-height: 1.4 !important;
	margin: 0 !important;
}

form.checkout .form-row.validate-required input.woocommerce-form__input-checkbox {
	accent-color: #ff2ea6 !important;
	margin: 2px 0 0 0 !important;
	width: 16px !important;
	height: 16px !important;
	flex-shrink: 0 !important;
}

/* === Place order button === */

.form-row.place-order {
	margin: 24px 0 0 0 !important;
	padding: 0 !important;
}

#place_order {
	display: block !important;
	width: 100% !important;
	text-align: center !important;
	padding: 16px 22px !important;
	border-radius: 999px !important;
	font-weight: 700 !important;
	font-size: 16px !important;
	background: #ff2ea6 !important;
	color: #fff !important;
	box-shadow: 0 4px 14px rgba(255, 46, 166, 0.35) !important;
	border: 0 !important;
	cursor: pointer !important;
	transition:
		opacity 0.15s ease,
		transform 0.15s ease,
		box-shadow 0.15s ease !important;
	text-transform: uppercase !important;
	letter-spacing: 0.04em !important;
}

#place_order:hover,
#place_order:focus,
#place_order:active {
	background: #ff2ea6 !important;
	color: #fff !important;
	opacity: 0.94 !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 6px 18px rgba(255, 46, 166, 0.4) !important;
}

#place_order:disabled {
	background: #d9d9e0 !important;
	box-shadow: none !important;
	cursor: not-allowed !important;
	transform: none !important;
	opacity: 1 !important;
}

/* === Loading state — spinner === */

form.checkout.processing {
	position: relative !important;
	pointer-events: none !important;
	opacity: 0.85 !important;
}

form.checkout.processing::after {
	content: "" !important;
	position: fixed !important;
	top: 50% !important;
	left: 50% !important;
	width: 48px !important;
	height: 48px !important;
	margin: -24px 0 0 -24px !important;
	border: 4px solid rgba(241, 239, 247, 0.6) !important;
	border-top-color: #ff2ea6 !important;
	border-radius: 50% !important;
	animation: tc-checkout-spin 0.8s linear infinite !important;
	z-index: 9999 !important;
	background: transparent !important;
}

@keyframes tc-checkout-spin {
	to {
		transform: rotate(360deg);
	}
}

/* === Notices (errors / messages) === */

/* NoticeGroup — przezroczysty wrapper, żeby nie tworzył podwójnej ramki wokół notice'a */
.woocommerce-NoticeGroup {
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
	margin: 0 0 20px 0 !important;
	list-style: none !important;
}

.woocommerce-error,
.woocommerce-message,
.woocommerce-info {
	list-style: none !important;
	background: #fff5fb !important;
	border: 1px solid #ff2ea6 !important;
	border-radius: 10px !important;
	padding: 14px 16px 14px 48px !important;
	margin: 0 0 20px 0 !important;
	font-size: 13px !important;
	line-height: 1.5 !important;
	color: #222 !important;
	position: relative !important;
}

.woocommerce-NoticeGroup .woocommerce-error,
.woocommerce-NoticeGroup .woocommerce-message,
.woocommerce-NoticeGroup .woocommerce-info {
	margin-bottom: 0 !important;
}

.woocommerce-error::before,
.woocommerce-message::before,
.woocommerce-info::before {
	left: 16px !important;
	top: 14px !important;
	color: #ff2ea6 !important;
}

.woocommerce-error li,
.woocommerce-message li {
	margin: 0 0 4px 0 !important;
	padding: 0 !important;
}

.woocommerce-error li:last-child,
.woocommerce-message li:last-child {
	margin-bottom: 0 !important;
}

/* === Mobile responsive === */

@media (max-width: 767px) {
	form.checkout.woocommerce-checkout {
		max-width: 100% !important;
	}

	.woocommerce-billing-fields,
	.woocommerce-shipping-fields,
	.woocommerce-additional-fields,
	#order_review {
		padding: 18px !important;
		border-radius: 12px !important;
	}

	form.checkout.woocommerce-checkout::before {
		font-size: 11px !important;
		padding: 10px 14px !important;
		letter-spacing: 0 !important;
		line-height: 1.5 !important;
	}

	.woocommerce-checkout .form-row-first,
	.woocommerce-checkout .form-row-last {
		width: 100% !important;
		float: none !important;
	}

	#place_order {
		font-size: 15px !important;
		padding: 14px 18px !important;
	}
}

/* ================================================================
   PL — WYSYŁKA: logotypy kurierów + punkt odbioru Orlen (KOSZYK + CHECKOUT)
   Uwaga: część markupu (mapa Orlen, paczkomat) renderuje się dynamicznie —
   te reguły to solidny pierwszy strzał, do dostrojenia na stagingu.
   ================================================================ */

/* Wiersz metody wysyłki jako rząd: radio | nazwa+cena | logo kuriera */
.cart-collaterals .cart_totals .woocommerce-shipping-methods li,
.woocommerce-checkout-review-order-table ul.woocommerce-shipping-methods li {
	display: flex !important;
	align-items: center !important;
	flex-wrap: wrap !important;
	padding-left: 44px !important;
}

.cart-collaterals .cart_totals .woocommerce-shipping-methods li > input[type="radio"],
.woocommerce-checkout-review-order-table ul.woocommerce-shipping-methods li > input[type="radio"] {
	top: 50% !important;
	transform: translateY(-50%) !important;
}

.cart-collaterals .cart_totals .woocommerce-shipping-methods li label,
.woocommerce-checkout-review-order-table ul.woocommerce-shipping-methods li label {
	flex: 1 1 auto !important;
	padding: 12px 8px 12px 0 !important;
	text-align: left !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 8px !important;
}

/* logo kuriera (Orlen / InPost / DPD / Pocztex / Poczta) po prawej stronie wiersza */
.woocommerce-shipping-methods li .shipping-method-description {
	flex: 0 0 auto !important;
	order: 3 !important;
	margin: 0 0 0 auto !important;
	padding: 0 !important;
}
.shipping-method-description img {
	height: 22px !important;
	width: auto !important;
	max-width: 64px !important;
	object-fit: contain !important;
	display: inline-block !important;
	vertical-align: middle !important;
}

/* Orlen — widget wyboru punktu odbioru (lista punktów + przycisk mapy) */
.fs-pickup-point {
	flex: 0 0 100% !important;
	width: 100% !important;
	margin: 6px 0 12px !important;
	padding: 12px !important;
	background: rgba(255, 255, 255, 0.7) !important;
	border-radius: 10px !important;
	box-sizing: border-box !important;
}
.fs-points-map-nearby-points-container {
	display: flex !important;
	flex-direction: column !important;
	gap: 6px !important;
	margin: 0 0 10px !important;
}
.fs-points-map-nearby-point label {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	font-size: 13px !important;
	color: #4a4a55 !important;
	cursor: pointer !important;
	padding: 0 !important;
	text-align: left !important;
}
.fs-points-point-details-open-map-button,
button.fs-points-point-details-open-map-button {
	display: inline-block !important;
	padding: 10px 18px !important;
	border-radius: 999px !important;
	background: #ff2ea6 !important;
	color: #fff !important;
	font-weight: 600 !important;
	font-size: 13px !important;
	border: 0 !important;
	cursor: pointer !important;
	box-shadow: 0 2px 8px rgba(255, 46, 166, 0.2) !important;
}
.fs-points-point-details-open-map-button:hover {
	opacity: 0.92 !important;
	color: #fff !important;
}

/* pusty wiersz-placeholder paczkomatu — nie twórz pustego odstępu */
.woocommerce-checkout-review-order-table tfoot tr.shipping.paczkomaty-shipping > td:empty,
.woocommerce-checkout-review-order-table tfoot tr.shipping.paczkomaty-shipping > th:empty {
	padding: 0 !important;
	border: 0 !important;
}

/* ================================================================
   PL — PŁATNOŚCI: paynow (BLIK, szybki przelew / banki), PayPo, PayPal
   ================================================================ */

/* BLIK — pole kodu */
#payment .paynow-blik-white-label {
	display: block !important;
}
#payment .paynow-blik-white-label input,
#payment input.paynow-blik-input {
	height: 46px !important;
	padding: 0 16px !important;
	border: 1px solid #e2e2ea !important;
	border-radius: 10px !important;
	background: #fff !important;
	font-size: 16px !important;
	letter-spacing: 0.18em !important;
	box-sizing: border-box !important;
	max-width: 220px !important;
}
#payment .paynow-blik-white-label input:focus {
	border-color: #ff2ea6 !important;
	box-shadow: 0 0 0 3px rgba(255, 46, 166, 0.12) !important;
	outline: 0 !important;
}

/* szybki przelew — siatka logotypów banków */
#payment .paynow-payment-option-pbls {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	margin: 10px 0 !important;
	padding: 0 !important;
	list-style: none !important;
}
#payment .paynow-payment-option-pbl {
	flex: 0 0 auto !important;
	width: 76px !important;
	min-height: 48px !important;
	margin: 0 !important;
	border: 1px solid #e2e2ea !important;
	border-radius: 10px !important;
	background: #fff !important;
	padding: 6px !important;
	cursor: pointer !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	position: relative !important;
	transition:
		border-color 0.15s ease,
		box-shadow 0.15s ease !important;
}
#payment .paynow-payment-option-pbl:hover,
#payment .paynow-payment-option-pbl.selected,
#payment .paynow-payment-option-pbl:has(input:checked) {
	border-color: #ff2ea6 !important;
	box-shadow: 0 2px 8px rgba(255, 46, 166, 0.12) !important;
}
#payment .paynow-payment-option-pbl img {
	max-width: 100% !important;
	max-height: 32px !important;
	width: auto !important;
	height: auto !important;
	object-fit: contain !important;
}
#payment .paynow-payment-option-pbl input[type="radio"] {
	position: absolute !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

/* paynow — informacja o przetwarzaniu danych (RODO) */
#payment .paynow-data-processing-info,
#payment .paynow-data-processing {
	font-size: 11px !important;
	color: #9b9ba8 !important;
	line-height: 1.5 !important;
	margin-top: 8px !important;
}

/* PayPal (PPCP) — przycisk pod "Kupuję i płacę" */
.ppc-button-wrapper,
#ppc-button-ppcp-gateway {
	margin-top: 12px !important;
}

/* ================================================================
   PL — PRZYCISK INPOST iZi (KOSZYK + CHECKOUT)
   ================================================================ */

.cart-collaterals .wc-proceed-to-checkout .izi-widget-placeholder.izi-widget-cart {
	margin-top: 12px !important;
	display: block !important;
}
.cart-collaterals .wc-proceed-to-checkout .izi-widget-placeholder.izi-widget-cart inpost-izi-button,
.inpost-btn-wrapper inpost-izi-button {
	display: block !important;
	width: 100% !important;
}
.inpost-btn-wrapper {
	margin-top: 12px !important;
}
.izi-widget-placeholder.izi-widget-checkout:empty {
	display: none !important;
}
