/**
 * Koszyk + checkout (WooCommerce Blocks + fallback klasyczny shortcode).
 * Ten sam język wizualny co karty produktów i strona pojedynczego produktu.
 */

.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout,
.woocommerce-cart,
.woocommerce-checkout {
	--twd-cc-bg: #ffffff;
	--twd-cc-ink: #0f172a;
	--twd-cc-muted: #64748b;
	--twd-cc-line: rgba(226, 232, 240, 0.95);
	--twd-cc-radius: 16px;
	--twd-cc-radius-sm: 12px;
	--twd-cc-btn: #111827;
	--twd-cc-btn-hover: #020617;
	--twd-cc-price: #020617;
	--twd-cc-sale: #dc2626;
	--twd-cc-success: #15803d;
	--twd-cc-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
}

/* === OGÓLNE: typografia cen i kwot === */
.wp-block-woocommerce-cart .wc-block-components-product-price,
.wp-block-woocommerce-cart .wc-block-components-formatted-money-amount,
.wp-block-woocommerce-cart .wc-block-components-totals-item__value,
.wp-block-woocommerce-checkout .wc-block-components-product-price,
.wp-block-woocommerce-checkout .wc-block-components-formatted-money-amount,
.wp-block-woocommerce-checkout .wc-block-components-totals-item__value,
.woocommerce-cart .product-subtotal .amount,
.woocommerce-cart .order-total .amount,
.woocommerce-checkout-review-order-table .amount {
	color: var(--twd-cc-price) !important;
	font-weight: 800;
	font-variant-numeric: tabular-nums;
}

.wp-block-woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wp-block-woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-size: 1.15rem;
	letter-spacing: -0.03em;
}

/* === KOSZYK (Blocks) === */
.wp-block-woocommerce-cart.wc-block-cart {
	margin: 0 auto;
	max-width: 1180px;
}

.wp-block-woocommerce-cart .wc-block-cart__main,
.wp-block-woocommerce-cart .wc-block-cart__sidebar {
	gap: 1.25rem;
}

.wp-block-woocommerce-cart .wc-block-cart-items,
.wp-block-woocommerce-cart .wc-block-cart__sidebar .wc-block-components-sidebar {
	background: var(--twd-cc-bg);
	border: 1px solid var(--twd-cc-line);
	border-radius: var(--twd-cc-radius);
	box-shadow: var(--twd-cc-shadow);
}

.wp-block-woocommerce-cart .wc-block-cart-items {
	padding: 0.35rem 0;
	overflow: hidden;
}

.wp-block-woocommerce-cart .wc-block-cart-items__header {
	padding: 0.85rem 1.15rem;
	border-bottom: 1px solid var(--twd-cc-line);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--twd-cc-muted);
}

.wp-block-woocommerce-cart .wc-block-cart-items__row {
	padding: 1rem 1.15rem;
	border-bottom: 1px solid #f1f5f9;
	align-items: center;
}

.wp-block-woocommerce-cart .wc-block-cart-items__row:last-child {
	border-bottom: none;
}

.wp-block-woocommerce-cart .wc-block-components-product-name {
	font-weight: 700;
	font-size: 0.95rem;
	line-height: 1.35;
	color: var(--twd-cc-ink);
	letter-spacing: -0.02em;
}

.wp-block-woocommerce-cart .wc-block-components-product-name a {
	color: inherit;
	text-decoration: none;
}

.wp-block-woocommerce-cart .wc-block-components-product-name a:hover {
	color: #1d4ed8;
}

.wp-block-woocommerce-cart .wc-block-components-product-metadata {
	color: var(--twd-cc-muted);
	font-size: 0.78rem;
}

/* Bez opisu produktu — koszyk i checkout (nazwa zostaje) */
:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-product-metadata__description,
:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-cart-item__description,
:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-order-summary-item .wc-block-components-product-metadata__description,
.woocommerce-cart .product-name .description,
.woocommerce-checkout .product-name .description {
	display: none !important;
}

/* Koszyk — bez dostawy (metoda i koszt wybierane dopiero przy kasie) */
.woocommerce-cart .wp-block-woocommerce-cart-order-summary-shipping-block,
.woocommerce-cart .wc-block-components-totals-shipping,
.woocommerce-cart .wc-block-components-shipping-rates-control,
.woocommerce-cart .wc-block-components-shipping-calculator,
.woocommerce-cart .shipping-calculator-form,
.woocommerce-cart table.shop_table tr.shipping {
	display: none !important;
}

/* === CHECKOUT === */
/* Bez długich opisów pod nagłówkami kroków */
.woocommerce-checkout .wc-block-components-checkout-step__description {
	display: none !important;
}

/* Sekcje, które tylko „puchną” formularz */
.woocommerce-checkout .wp-block-woocommerce-checkout-order-note-block,
.woocommerce-checkout .wp-block-woocommerce-checkout-additional-information-block,
.woocommerce-checkout .wp-block-woocommerce-checkout-express-payment-block,
.woocommerce-checkout .wp-block-woocommerce-checkout-pickup-options-block,
.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-address-block,
.woocommerce-checkout .wc-block-components-checkbox.wc-block-checkout__use-address-for-billing {
	display: none !important;
}

/* Kupon w podsumowaniu — mniej rzuca się w oczy (nadal dostępny po rozwinęciu panelu) */
.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-coupon-form-block .wc-block-components-panel__button {
	font-size: 0.82rem;
	padding-top: 0.35rem;
	padding-bottom: 0.35rem;
}

/* Kroki jak jeden formularz, nie cztery osobne „karty urzędu” */
.woocommerce-checkout .wc-block-components-checkout-step {
	margin-bottom: 0;
	padding: 0.75rem 0;
	border: none;
	border-radius: 0;
	box-shadow: none;
	background: transparent;
}

.woocommerce-checkout .wc-block-components-checkout-step + .wc-block-components-checkout-step {
	margin-top: 0.15rem;
	padding-top: 0.95rem;
	border-top: 1px solid var(--twd-cc-line);
}

.woocommerce-checkout .wc-block-components-checkout-step__title {
	margin-bottom: 0.55rem;
	font-size: 0.92rem;
	font-weight: 750;
	letter-spacing: -0.01em;
}

.woocommerce-checkout .wc-block-components-text-input,
.woocommerce-checkout .wc-block-components-combobox {
	margin-top: 0 !important;
	margin-bottom: 0.65rem;
}

.woocommerce-checkout .wc-block-components-text-input input,
.woocommerce-checkout .wc-block-components-combobox input {
	min-height: 2.65rem;
}

/* Kompaktowy układ adresu: imię/nazwisko i miasto/kod w jednej linii */
.woocommerce-checkout .wc-block-components-address-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 0.75rem;
	row-gap: 0;
}

.woocommerce-checkout .wc-block-components-address-form .wc-block-components-text-input,
.woocommerce-checkout .wc-block-components-address-form .wc-block-components-country-input,
.woocommerce-checkout .wc-block-components-address-form .wc-block-components-state-input {
	margin-bottom: 0.65rem;
}

.woocommerce-checkout #billing-first_name,
.woocommerce-checkout #shipping-first_name,
.woocommerce-checkout .wc-block-components-address-form__first_name {
	grid-column: 1;
}

.woocommerce-checkout #billing-last_name,
.woocommerce-checkout #shipping-last_name,
.woocommerce-checkout .wc-block-components-address-form__last_name {
	grid-column: 2;
}

.woocommerce-checkout #billing-city,
.woocommerce-checkout #shipping-city,
.woocommerce-checkout .wc-block-components-address-form__city {
	grid-column: 1;
}

.woocommerce-checkout #billing-postcode,
.woocommerce-checkout #shipping-postcode,
.woocommerce-checkout .wc-block-components-address-form__postcode {
	grid-column: 2;
}

.woocommerce-checkout #email,
.woocommerce-checkout #billing-email,
.woocommerce-checkout #billing-address_1,
.woocommerce-checkout #shipping-address_1,
.woocommerce-checkout #billing-phone,
.woocommerce-checkout #shipping-phone,
.woocommerce-checkout #billing-country,
.woocommerce-checkout #shipping-country,
.woocommerce-checkout .wc-block-components-address-form__address_1,
.woocommerce-checkout .wc-block-components-address-form__phone,
.woocommerce-checkout .wc-block-components-address-form__country,
.woocommerce-checkout .wc-block-components-address-form .wc-block-components-country-input,
.woocommerce-checkout .wc-block-components-address-form .wc-block-components-state-input {
	grid-column: 1 / -1;
}

/* Metody dostawy / płatności — mniej „biurokracji” */
.woocommerce-checkout .wc-block-components-radio-control__option,
.woocommerce-checkout .wc-block-components-radio-control-accordion-option {
	padding: 0.65rem 0.75rem;
}

.woocommerce-checkout .wc-block-components-radio-control__label-group,
.woocommerce-checkout .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__label-group {
	font-size: 0.9rem;
}

/* Klasyczny checkout (shortcode) — te same uproszczenia wizualne */
.woocommerce-checkout form.checkout .form-row-first,
.woocommerce-checkout form.checkout .form-row-last {
	width: 49%;
}

.woocommerce-checkout form.checkout .form-row-wide {
	clear: both;
}

.woocommerce-checkout form.checkout .form-row {
	margin-bottom: 0.65rem;
}

.woocommerce-checkout #order_comments_field {
	display: none !important;
}

.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout #ship-to-different-address,
.woocommerce-checkout .shipping_address {
	display: none !important;
}

@media (max-width: 640px) {
	.woocommerce-checkout .wc-block-components-address-form {
		grid-template-columns: 1fr;
	}

	.woocommerce-checkout #billing-first_name,
	.woocommerce-checkout #billing-last_name,
	.woocommerce-checkout #billing-city,
	.woocommerce-checkout #billing-postcode,
	.woocommerce-checkout .wc-block-components-address-form__first_name,
	.woocommerce-checkout .wc-block-components-address-form__last_name,
	.woocommerce-checkout .wc-block-components-address-form__city,
	.woocommerce-checkout .wc-block-components-address-form__postcode {
		grid-column: 1 / -1;
	}
}

/* Stepper ilości w koszyku */
.wp-block-woocommerce-cart .wc-block-components-quantity-selector {
	border: 1px solid var(--twd-cc-line);
	border-radius: var(--twd-cc-radius-sm);
	overflow: hidden;
	background: #fff;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.wp-block-woocommerce-cart .wc-block-components-quantity-selector__input {
	font-weight: 750;
	color: var(--twd-cc-ink);
}

.wp-block-woocommerce-cart .wc-block-components-quantity-selector__button {
	background: #f8fafc !important;
	color: var(--twd-cc-ink) !important;
}

.wp-block-woocommerce-cart .wc-block-components-quantity-selector__button:hover {
	background: var(--twd-cc-btn) !important;
	color: #fff !important;
}

/* Panel podsumowania */
.wp-block-woocommerce-cart .wc-block-cart__sidebar .wc-block-components-sidebar {
	padding: 1.1rem 1.15rem 1.2rem;
}

.wp-block-woocommerce-cart .wc-block-components-totals-item {
	padding: 0.35rem 0;
	color: var(--twd-cc-ink);
}

.wp-block-woocommerce-cart .wc-block-components-totals-item__label {
	color: var(--twd-cc-muted);
	font-weight: 600;
}

.wp-block-woocommerce-cart .wc-block-components-panel__button,
.wp-block-woocommerce-checkout .wc-block-components-panel__button {
	border-radius: var(--twd-cc-radius-sm);
	border-color: var(--twd-cc-line);
	font-weight: 650;
}

/* Przycisk „Przejdź do płatności" */
.wp-block-woocommerce-cart .wc-block-cart__submit-button,
.wp-block-woocommerce-cart .wc-block-components-button:not(.is-link),
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button,
.wp-block-woocommerce-checkout .wc-block-components-button:not(.is-link) {
	min-height: 3rem !important;
	border-radius: var(--twd-cc-radius-sm) !important;
	font-weight: 750 !important;
	letter-spacing: -0.01em !important;
	background: linear-gradient(180deg, var(--twd-cc-btn) 0%, #0b1220 100%) !important;
	color: #fff !important;
	border: 1px solid rgba(255, 255, 255, 0.06) !important;
	box-shadow:
		0 4px 14px rgba(15, 23, 42, 0.22),
		inset 0 1px 0 rgba(255, 255, 255, 0.07) !important;
	transition:
		background 0.2s ease,
		transform 0.15s ease,
		box-shadow 0.2s ease !important;
}

.wp-block-woocommerce-cart .wc-block-cart__submit-button:hover,
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button:hover {
	background: linear-gradient(180deg, var(--twd-cc-btn-hover) 0%, #020617 100%) !important;
	transform: translateY(-1px);
	box-shadow:
		0 8px 20px rgba(15, 23, 42, 0.28),
		inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
}

/* Kupon */
.wp-block-woocommerce-cart .wc-block-components-totals-coupon,
.wp-block-woocommerce-checkout .wc-block-components-totals-coupon {
	margin-top: 0.5rem;
}

.wp-block-woocommerce-cart .wc-block-components-totals-coupon__input,
.wp-block-woocommerce-checkout .wc-block-components-text-input input,
.wp-block-woocommerce-checkout .wc-block-components-combobox input {
	border-radius: var(--twd-cc-radius-sm) !important;
	border-color: var(--twd-cc-line) !important;
	min-height: 2.75rem;
}

/* Pusty koszyk */
.wp-block-woocommerce-empty-cart-block {
	padding: 2rem 1rem 2.5rem;
}

.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title {
	color: var(--twd-cc-ink);
	font-weight: 800;
	letter-spacing: -0.03em;
}

.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title {
	font-weight: 700;
	color: var(--twd-cc-ink);
}

/* === CHECKOUT (Blocks) === */
.wp-block-woocommerce-checkout.wc-block-checkout {
	margin: 0 auto;
	max-width: 1180px;
}

.wp-block-woocommerce-checkout .wc-block-checkout__main,
.wp-block-woocommerce-checkout .wc-block-checkout__sidebar {
	gap: 1.25rem;
}

.wp-block-woocommerce-checkout .wc-block-components-checkout-step {
	background: var(--twd-cc-bg);
	border: 1px solid var(--twd-cc-line);
	border-radius: var(--twd-cc-radius);
	box-shadow: var(--twd-cc-shadow);
	padding: 1.15rem 1.2rem 1.25rem;
	margin-bottom: 1rem;
}

.wp-block-woocommerce-checkout .wc-block-components-checkout-step__title {
	font-size: 1rem;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--twd-cc-ink);
	margin-bottom: 0.85rem;
}

.wp-block-woocommerce-checkout .wc-block-components-checkout-step__description {
	color: var(--twd-cc-muted);
	font-size: 0.88rem;
	line-height: 1.5;
}

.wp-block-woocommerce-checkout .wc-block-components-text-input label,
.wp-block-woocommerce-checkout .wc-block-components-combobox label {
	color: var(--twd-cc-muted);
	font-size: 0.78rem;
	font-weight: 650;
}

.wp-block-woocommerce-checkout .wc-block-components-text-input input:focus,
.wp-block-woocommerce-checkout .wc-block-components-combobox input:focus {
	border-color: #94a3b8 !important;
	box-shadow: 0 0 0 3px rgba(148, 163, 184, 0.25) !important;
}

.wp-block-woocommerce-checkout .wc-block-components-radio-control__option,
.wp-block-woocommerce-checkout .wc-block-components-checkbox {
	border-color: var(--twd-cc-line);
}

.wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-sidebar {
	background: var(--twd-cc-bg);
	border: 1px solid var(--twd-cc-line);
	border-radius: var(--twd-cc-radius);
	box-shadow: var(--twd-cc-shadow);
	padding: 1.1rem 1.15rem 1.2rem;
}

.wp-block-woocommerce-checkout .wc-block-components-order-summary-item {
	padding: 0.65rem 0;
	border-bottom: 1px solid #f1f5f9;
}

.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__product-name {
	font-weight: 650;
	color: var(--twd-cc-ink);
}

/* Płatności */
.wp-block-woocommerce-checkout .wc-block-components-payment-method-label {
	font-weight: 650;
	color: var(--twd-cc-ink);
}

.wp-block-woocommerce-checkout .wc-block-components-radio-control-accordion-option {
	border: 1px solid var(--twd-cc-line);
	border-radius: var(--twd-cc-radius-sm);
	margin-bottom: 0.5rem;
	overflow: hidden;
}

/* === KLASYCZNY KOSZYK / CHECKOUT (shortcode fallback) === */
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce {
	max-width: 1180px;
	margin: 0 auto;
}

.woocommerce-cart table.shop_table,
.woocommerce-checkout .woocommerce-checkout-review-order-table,
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2,
.woocommerce-checkout #order_review {
	background: var(--twd-cc-bg);
	border: 1px solid var(--twd-cc-line) !important;
	border-radius: var(--twd-cc-radius);
	box-shadow: var(--twd-cc-shadow);
	overflow: hidden;
}

.woocommerce-cart table.shop_table th,
.woocommerce-checkout .woocommerce-checkout-review-order-table th {
	background: #f8fafc;
	color: var(--twd-cc-muted);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.woocommerce-cart table.shop_table td,
.woocommerce-checkout .woocommerce-checkout-review-order-table td {
	color: var(--twd-cc-ink);
	border-color: #f1f5f9 !important;
}

.woocommerce-cart .product-name a {
	font-weight: 700;
	color: var(--twd-cc-ink);
	text-decoration: none;
}

.woocommerce-cart .product-name a:hover {
	color: #1d4ed8;
}

.woocommerce-cart .quantity .qty {
	border-radius: var(--twd-cc-radius-sm);
	border-color: var(--twd-cc-line);
	font-weight: 750;
}

.woocommerce-cart .actions .coupon .input-text {
	border-radius: var(--twd-cc-radius-sm);
	border-color: var(--twd-cc-line);
	min-height: 2.75rem;
}

.woocommerce-cart .actions .button,
.woocommerce-checkout #place_order,
.woocommerce-checkout .button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	min-height: 3rem !important;
	border-radius: var(--twd-cc-radius-sm) !important;
	font-weight: 750 !important;
	background: linear-gradient(180deg, var(--twd-cc-btn) 0%, #0b1220 100%) !important;
	color: #fff !important;
	border: none !important;
	box-shadow: 0 4px 14px rgba(15, 23, 42, 0.22) !important;
}

.woocommerce-cart .actions .button:hover,
.woocommerce-checkout #place_order:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
	background: linear-gradient(180deg, var(--twd-cc-btn-hover) 0%, #020617 100%) !important;
}

.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .select2-container .select2-selection--single {
	border-radius: var(--twd-cc-radius-sm) !important;
	border-color: var(--twd-cc-line) !important;
	min-height: 2.75rem;
}

.woocommerce-checkout .form-row label {
	color: var(--twd-cc-muted);
	font-weight: 650;
	font-size: 0.82rem;
}

.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
	border-radius: var(--twd-cc-radius-sm);
	border-top: none !important;
	box-shadow: var(--twd-cc-shadow);
}

.woocommerce-message {
	border-left: 4px solid var(--twd-cc-success) !important;
	background: #f0fdf4 !important;
	color: #14532d !important;
}

.woocommerce-error {
	border-left: 4px solid var(--twd-cc-sale) !important;
}

/* === MOBILE === */
@media (max-width: 767px) {
	.wp-block-woocommerce-cart .wc-block-cart-items__header {
		display: none;
	}

	.wp-block-woocommerce-cart .wc-block-cart-items__row {
		grid-template-columns: 64px 1fr;
		padding: 0.85rem 0.9rem;
	}

	.wp-block-woocommerce-cart .wc-block-cart__sidebar .wc-block-components-sidebar,
	.wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-sidebar {
		padding: 1rem;
	}

	.wp-block-woocommerce-checkout .wc-block-components-checkout-step {
		padding: 1rem;
	}

	.woocommerce-cart table.shop_table {
		font-size: 0.88rem;
	}
}
