/**
 * Dark Editorial Commerce – reskin strony koszyka ([woocommerce_cart]).
 *
 * Ładowany TYLKO na is_cart() (patrz inc/enqueue.php). Realna strona
 * koszyka to <table> WooCommerce (shop_table_responsive), nie grid/flex
 * jak w statycznym prototypie ../../prototyp-koszyk.html – tu celowo
 * tylko przemalowujemy kolory/fonty/spacing/przyciski istniejącej
 * struktury, bez zmiany układu tabeli na grid. Zmiana struktury tabeli
 * ryzykowałaby złamanie mobilnego stackowania (shop_table_responsive)
 * i AJAX-owej aktualizacji ilości/kuponu, które WooCommerce spina po
 * tych właśnie klasach – ta sama zasada "reskin, nie przebudowa", co
 * ustalona wcześniej dla checkoutu.
 *
 * Elementy .kde-cart-testimonial i .kde-payment-badges renderują się
 * przez hooki kde_render_cart_testimonial()/kde_render_cart_payment_badges()
 * w inc/woocommerce.php – to nie są standardowe klasy WooCommerce.
 */

/* ── TABELA POZYCJI ── */
.woocommerce-cart-form,
.cart_totals,
.kde-cart-testimonial,
.kde-payment-badges {
	font-family: 'Inter', sans-serif;
}

.woocommerce-cart-form table.cart {
	border: none;
	border-collapse: collapse;
	width: 100%;
}
.woocommerce-cart-form table.cart thead th {
	font-family: 'Inter', sans-serif !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #6b6558 !important;
	border: none;
	border-bottom: 1px solid rgba(28, 26, 23, 0.22);
	padding: 12px 8px;
	text-align: left;
}
.woocommerce-cart-form table.cart tbody tr.cart_item {
	border-bottom: 1px solid rgba(28, 26, 23, 0.14);
}
.woocommerce-cart-form table.cart td {
	border: none;
	padding: 16px 8px;
	vertical-align: middle;
}
.woocommerce-cart-form table.cart td.product-thumbnail img {
	border-radius: 4px;
	max-width: 64px;
}
.woocommerce-cart-form table.cart td.product-name a {
	font-family: 'Fraunces', serif !important;
	font-weight: 540 !important;
	font-size: 17px !important;
	color: #1c1a17 !important;
	text-decoration: none !important;
}
.woocommerce-cart-form table.cart td.product-name a:hover {
	color: #c9a15a !important;
}
.woocommerce-cart-form table.cart td.product-price,
.woocommerce-cart-form table.cart td.product-subtotal {
	font-weight: 600 !important;
	color: #1c1a17 !important;
}
.woocommerce-cart-form table.cart td.product-price .woocommerce-Price-amount,
.woocommerce-cart-form table.cart td.product-subtotal .woocommerce-Price-amount {
	font-family: 'Inter', sans-serif;
}
.woocommerce-cart-form table.cart td.product-remove a.remove {
	color: #6b6558 !important;
	background: transparent !important;
	font-size: 20px;
	border-radius: 3px;
}
.woocommerce-cart-form table.cart td.product-remove a.remove:hover {
	color: #b3492f !important;
	background: transparent !important;
}

/* Stepper ilości */
.woocommerce-cart-form .quantity .qty {
	font-family: 'Inter', sans-serif;
	font-size: 15px;
	border: 1px solid rgba(28, 26, 23, 0.22);
	border-radius: 4px;
	padding: 8px 6px;
	width: 56px;
	text-align: center;
}
.woocommerce-cart-form .quantity .qty:focus {
	outline: none;
	border-color: #c9a15a;
	box-shadow: 0 0 0 3px rgba(201, 161, 90, 0.18);
}

/* Kupon + aktualizacja koszyka */
.woocommerce-cart-form #coupon_code {
	font-family: 'Inter', sans-serif;
	font-size: 15px;
	border: 1px solid rgba(28, 26, 23, 0.22);
	border-radius: 4px 0 0 4px;
	border-right: none;
	padding: 12px 14px;
}
.woocommerce-cart-form #coupon_code:focus {
	outline: none;
	border-color: #c9a15a;
}
.woocommerce-cart-form .coupon .button,
.woocommerce-cart-form button[name='update_cart'] {
	background: transparent !important;
	color: #1c1a17 !important;
	border: 1.5px solid rgba(28, 26, 23, 0.22) !important;
	border-radius: 4px;
	font-family: 'Inter', sans-serif;
	font-weight: 600;
	font-size: 14px;
	letter-spacing: 0.02em;
	padding: 12px 20px;
	cursor: pointer;
	transition: border-color 0.2s ease;
}
.woocommerce-cart-form .coupon .button {
	border-radius: 0 4px 4px 0 !important;
	border-left: none !important;
}
.woocommerce-cart-form .coupon .button:hover,
.woocommerce-cart-form button[name='update_cart']:hover {
	border-color: #1c1a17 !important;
}

/* ── PODSUMOWANIE (cart_totals) ── */
.cart_totals {
	background: #ffffff;
	border: 1px solid rgba(28, 26, 23, 0.14);
	border-radius: 4px;
	padding: 28px;
}
@media (max-width: 480px) {
	.cart_totals {
		padding: 20px;
	}
}
.cart_totals h2 {
	font-family: 'Fraunces', serif !important;
	font-optical-sizing: auto;
	font-weight: 540 !important;
	font-size: 20px !important;
	letter-spacing: -0.01em;
	color: #1c1a17 !important;
	margin: 0 0 20px;
}
.cart_totals table.shop_table {
	border: none;
	width: 100%;
}
.cart_totals table.shop_table th,
.cart_totals table.shop_table td {
	border: none;
	padding: 8px 0;
	font-size: 14px !important;
	font-weight: 400 !important;
	color: #6b6558 !important;
}
.cart_totals table.shop_table tr.order-total th,
.cart_totals table.shop_table tr.order-total td {
	border-top: 1px solid rgba(28, 26, 23, 0.22);
	padding-top: 16px;
	margin-top: 8px;
	font-size: 18px !important;
	font-weight: 700 !important;
	color: #1c1a17 !important;
}
.cart_totals table.shop_table tr.order-total .woocommerce-Price-amount {
	font-family: 'Inter', sans-serif !important;
	font-size: 24px !important;
}

.wc-proceed-to-checkout a.checkout-button {
	display: block;
	width: 100%;
	padding: 18px 32px;
	background: #c9a15a !important;
	color: #121212 !important;
	border-radius: 4px;
	font-family: 'Inter', sans-serif;
	font-weight: 600;
	font-size: 16px;
	letter-spacing: 0.02em;
	text-align: center;
	text-decoration: none;
	transition: background 0.2s ease;
}
.wc-proceed-to-checkout a.checkout-button:hover {
	background: #a9813f !important;
}

/* ── ORDER BUMP (kde_render_cart_order_bump) ──
 * Wygląd 1:1 z ../../prototyp-koszyk.html (.order-bump), tylko z prefiksem
 * .kde- – zgodnie z konwencją reszty tego pliku dla elementów renderowanych
 * przez hooki PHP, nie natywne klasy WooCommerce.
 */
.kde-order-bump {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin-top: 20px;
	padding: 16px;
	border: 1px solid #c9a15a;
	border-radius: 4px;
	background: rgba(201, 161, 90, 0.06);
	cursor: pointer;
}
.kde-order-bump__checkbox {
	accent-color: #c9a15a;
	width: 18px;
	height: 18px;
	margin-top: 2px;
	flex-shrink: 0;
}
.kde-order-bump__checkbox:disabled {
	opacity: 0.5;
	cursor: wait;
}
.kde-order-bump__info {
	flex: 1;
}
.kde-order-bump__eyebrow {
	display: block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #a9813f;
	margin-bottom: 4px;
}
.kde-order-bump__name {
	display: block;
	font-size: 15px;
	font-weight: 600;
	color: #1c1a17;
}
.kde-order-bump__desc {
	display: block;
	font-size: 13px;
	color: #6b6558;
	margin-top: 2px;
}
.kde-order-bump__price {
	font-family: 'Inter', sans-serif;
	font-size: 15px;
	font-weight: 700;
	white-space: nowrap;
	align-self: center;
	color: #1c1a17;
}

/* ── OPINIA OGÓLNA (kde_render_cart_testimonial) ── */
.kde-cart-testimonial {
	margin-top: 28px;
	padding: 24px;
	border: 1px solid rgba(28, 26, 23, 0.14);
	border-radius: 4px;
	background: #ffffff;
}
.kde-cart-testimonial__quote {
	font-family: 'Fraunces', serif;
	font-optical-sizing: auto;
	font-style: italic;
	font-weight: 460;
	font-size: 17px;
	line-height: 1.55;
	color: #1c1a17;
	margin: 0;
}
.kde-cart-testimonial__quote::before {
	content: '\201E';
}
.kde-cart-testimonial__quote::after {
	content: '\201D';
}
.kde-cart-testimonial__author {
	margin: 12px 0 0;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.02em;
	color: #a9813f;
}

/* ── ODZNAKI METOD PŁATNOŚCI (kde_render_cart_payment_badges) ── */
.kde-payment-badges {
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px solid rgba(28, 26, 23, 0.14);
	text-align: center;
}
.kde-payment-badges__label {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #6b6558;
	margin-bottom: 10px;
}
.kde-payment-badges__list {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}
.kde-payment-badges__item {
	display: inline-flex;
	align-items: center;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.03em;
	color: #6b6558;
	border: 1px solid rgba(28, 26, 23, 0.22);
	border-radius: 3px;
	padding: 4px 9px;
}
.kde-payment-badges__item img {
	display: block;
	height: 14px;
	width: auto;
}
.kde-payment-badges__note {
	margin-top: 10px;
	font-size: 12px;
	color: #6b6558;
}
