/**
 * T.Z. #9: Зовнішній вигляд корзини (koszyk) та оформлення (podsumowanie).
 * Стилістика рівна, гармонійна з блоками, без наїздів на мобільному.
 * Тільки дочірня тема zebra-druk.
 */

/* Lumise: приховати мініатюри на чекауті */
.lumise-checkout-thumbnails {
	display: none !important;
}

/* Сторінка кошика: чіткий двоколонковий макет (форма + підсумок), щоб нічого не наїжджало */
.woocommerce.woocommerce-cart .content-wrap {
	display: block;
}
.woocommerce.woocommerce-cart .kadence-woo-cart-form-wrap {
	display: block;
	margin-bottom: 1.5em;
}
.woocommerce.woocommerce-cart .cart-collaterals {
	display: block;
}
.woocommerce-cart .cart-collaterals .cart_totals table th, .woocommerce-checkout .cart-collaterals .cart_totals table th, #add_payment_method .cart-collaterals .cart_totals table th	 {
	width: 65%;
}
/* На ПК: форма кошика 60%, підсумок (cart-collaterals) 40% */
@media (min-width: 1025px) {
	.woocommerce.woocommerce-cart .kadence-woo-cart-form-wrap,
	.woocommerce.woocommerce-cart .cart-collaterals {
		float: left;
		box-sizing: border-box;
	}
	.kadence-woo-cart-form-wrap>form {
		width: 60%;
		padding-right: 1.5em;
	}
	.kadence-woo-cart-form-wrap .cart-collaterals {
		width: 40%;
	}
	.woocommerce.woocommerce-cart .content-wrap::after {
		content: "";
		display: table;
		clear: both;
	}
}

/* Таблиця підсумків: на ПК — CSS Grid, щоб рядок Wysyłka міг займати обидві колонки */
.woocommerce .cart_totals .shop_table {
	width: 100%;
	max-width: 100%;
}
@media (min-width: 769px) {
	.woocommerce .cart_totals table.shop_table,
	.woocommerce .cart_totals table.shop_table.shop_table_responsive {
		display: grid !important;
		grid-template-columns: 1fr 1fr;
		table-layout: unset;
	}
	.woocommerce .cart_totals table.shop_table tbody,
	.woocommerce .cart_totals table.shop_table.shop_table_responsive tbody {
		display: contents !important;
	}
	/* Усі рядки, крім Wysyłka і order-total: th і td як окремі клітинки сітки */
	.woocommerce .cart_totals table.shop_table tbody tr:not(.woocommerce-shipping-totals.shipping):not(.order-total),
	.woocommerce .cart_totals table.shop_table.shop_table_responsive tbody tr:not(.woocommerce-shipping-totals.shipping):not(.order-total) {
		display: contents !important;
	}
	/* Осередки сітки (th/td з display:contents-рядків): th — блок, td — блок з вирівнюванням вправо */
	.woocommerce .cart_totals table.shop_table tbody tr:not(.woocommerce-shipping-totals.shipping):not(.order-total) th,
	.woocommerce .cart_totals table.shop_table.shop_table_responsive tbody tr:not(.woocommerce-shipping-totals.shipping):not(.order-total) th {
		display: block;
	}
	.woocommerce .cart_totals table.shop_table tbody tr:not(.woocommerce-shipping-totals.shipping):not(.order-total) td,
	.woocommerce .cart_totals table.shop_table.shop_table_responsive tbody tr:not(.woocommerce-shipping-totals.shipping):not(.order-total) td {
		display: block;
		text-align: right;
	}
	/* Рядок Łącznie (order-total): рамка на tr, не на th/td */
	.woocommerce .cart_totals table.shop_table tr.order-total,
	.woocommerce .cart_totals table.shop_table.shop_table_responsive tr.order-total {
		display: grid !important;
		grid-column: 1 / -1;
		grid-template-columns: 1fr 1fr;
		border-top: 1px solid var(--global-gray-500);
		box-sizing: border-box;
	}
	.woocommerce .cart_totals table.shop_table tr.order-total th,
	.woocommerce .cart_totals table.shop_table tr.order-total td,
	.woocommerce .cart_totals table.shop_table.shop_table_responsive tr.order-total th,
	.woocommerce .cart_totals table.shop_table.shop_table_responsive tr.order-total td {
		border-top: none !important;
		display: block;
	}
	.woocommerce .cart_totals table.shop_table tr.order-total td,
	.woocommerce .cart_totals table.shop_table.shop_table_responsive tr.order-total td {
		text-align: right;
	}
	/* Рядок страховки: один th на обидві колонки */
	.woocommerce .cart_totals table.shop_table tr.zebra-shipping-insurance-row th,
	.woocommerce .cart_totals table.shop_table.shop_table_responsive tr.zebra-shipping-insurance-row th {
		display: block !important;
		grid-column: 1 / -1;
	}
	/* Рядок Wysyłka: на обидві колонки сітки — повна ширина */
	.woocommerce .cart_totals table.shop_table tr.woocommerce-shipping-totals.shipping,
	.woocommerce .cart_totals table.shop_table.shop_table_responsive tr.woocommerce-shipping-totals.shipping {
		display: grid !important;
		grid-column: 1 / -1 !important;
		width: 100% !important;
		box-sizing: border-box;
	}
	.woocommerce .cart_totals table.shop_table tr.woocommerce-shipping-totals.shipping th,
	.woocommerce .cart_totals table.shop_table.shop_table_responsive tr.woocommerce-shipping-totals.shipping th {
		display: block !important;
		width: 100% !important;
		max-width: none !important;
		box-sizing: border-box;
	}
	.woocommerce .cart_totals table.shop_table tr.woocommerce-shipping-totals.shipping td,
	.woocommerce .cart_totals table.shop_table.shop_table_responsive tr.woocommerce-shipping-totals.shipping td {
		display: block !important;
		width: 100% !important;
		max-width: none !important;
		box-sizing: border-box;
	}

	/* Сторінка оформлення: лише tfoot — сітка, thead і tbody (товари) не чіпаємо */
	.woocommerce-checkout-review-order-table tfoot {
		display: grid !important;
		grid-template-columns: 1fr 1fr;
		width: 100%;
		box-sizing: border-box;
	}
	.woocommerce-checkout-review-order-table tfoot tr:not(.woocommerce-shipping-totals.shipping) {
		display: contents !important;
	}
	.woocommerce-checkout-review-order-table tfoot tr:not(.woocommerce-shipping-totals.shipping) th,
	.woocommerce-checkout-review-order-table tfoot tr:not(.woocommerce-shipping-totals.shipping) td {
		display: block;
	}
	.woocommerce-checkout-review-order-table tfoot tr.cart-subtotal td,
	.woocommerce-checkout-review-order-table tfoot tr.order-total td {
		text-align: right;
	}
	.woocommerce-checkout-review-order-table tfoot tr.easypack-parcel-machine td {
		text-align: left;
	}
	.woocommerce-checkout-review-order-table tfoot tr.zebra-shipping-insurance-row th {
		grid-column: 1 / -1;
	}
	.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals.shipping {
		display: grid !important;
		grid-column: 1 / -1 !important;
		width: 100% !important;
		box-sizing: border-box;
	}
	.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;
		max-width: none !important;
		box-sizing: border-box;
	}
}
/* Мобільний: tr як table, th як caption (збережено в @media max-width далі) */
@media (max-width: 768px) {
	.woocommerce .cart_totals table.shop_table tr.woocommerce-shipping-totals.shipping,
	.woocommerce .cart_totals table.shop_table.shop_table_responsive tr.woocommerce-shipping-totals.shipping {
		display: table !important;
		width: 100% !important;
	}
	.woocommerce .cart_totals table.shop_table tr.woocommerce-shipping-totals.shipping th,
	.woocommerce .cart_totals table.shop_table.shop_table_responsive tr.woocommerce-shipping-totals.shipping th {
		display: table-caption !important;
		caption-side: top !important;
		width: 100% !important;
	}
	.woocommerce .cart_totals table.shop_table tr.woocommerce-shipping-totals.shipping td,
	.woocommerce .cart_totals table.shop_table.shop_table_responsive tr.woocommerce-shipping-totals.shipping td {
		display: block !important;
		width: 100% !important;
	}
}
/* Рядок Łącznie (order-total): рамка зверху на tr, не на th/td (перевизначення теми) */
.woocommerce .cart_totals tr.order-total {
	border-top: 1px solid var(--global-gray-500);
}
.woocommerce .cart_totals tr.order-total th,
.woocommerce .cart_totals tr.order-total td {
	border-top: none !important;
}

/* Перевизначення WooCommerce: у рядку Wysyłka не показувати data-title через ::before (ламає перенос td на мобільному) */
.woocommerce table.shop_table_responsive tr.woocommerce-shipping-totals.shipping td::before,
.woocommerce-page table.shop_table_responsive tr.woocommerce-shipping-totals.shipping td::before {
	content: none !important;
	display: none !important;
	float: none !important;
}

/* ========== 1. Блок Wysyłka — заголовок зверху, варіанти знизу (дубль для .woocommerce-shipping-totals) ========== */
.woocommerce .cart_totals .woocommerce-shipping-totals.shipping,
.woocommerce-checkout-review-order-table .woocommerce-shipping-totals.shipping {
	display: table !important;
	width: 100% !important;
	table-layout: fixed;
}
.woocommerce .cart_totals .woocommerce-shipping-totals.shipping th,
.woocommerce-checkout-review-order-table .woocommerce-shipping-totals.shipping th {
	display: table-caption !important;
	caption-side: top !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
}
.woocommerce .cart_totals .woocommerce-shipping-totals.shipping td,
.woocommerce-checkout-review-order-table .woocommerce-shipping-totals.shipping td {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
}
.woocommerce .cart_totals .woocommerce-shipping-totals.shipping th,
.woocommerce-checkout-review-order-table .woocommerce-shipping-totals.shipping th {
	margin-bottom: 0.5em;
	padding-bottom: 0.25em;
	border-bottom: none;
}
.woocommerce .cart_totals .woocommerce-shipping-totals.shipping td,
.woocommerce-checkout-review-order-table .woocommerce-shipping-totals.shipping td {
	padding-top: 0;
	padding-left: 0;
}
/* Список методів доставки — ідентично #payment ul.wc_payment_methods (Kadence) */
.woocommerce .cart_totals #shipping_method,
.woocommerce-checkout-review-order-table #shipping_method {
	list-style: none;
	padding: 0;
	margin: 0;
	text-align: left;
}
.woocommerce .cart_totals #shipping_method li,
.woocommerce-checkout-review-order-table #shipping_method li {
	line-height: 2!important;
	text-align: left;
	margin: 0;
	font-weight: normal;
	display: flex;
	align-items: stretch;
	flex-wrap: wrap;
	position: relative;
}
.woocommerce .cart_totals #shipping_method li input.shipping_method,
.woocommerce-checkout-review-order-table #shipping_method li input.shipping_method {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
}
.woocommerce .cart_totals #shipping_method li label,
.woocommerce-checkout-review-order-table #shipping_method li label {
	background: var(--global-palette8);
	display: block;
	flex: 1;
	min-width: 0;
	border-left: 5px solid var(--global-gray-400);
	padding: 8px 15px;
	padding-right: 5rem;
	transition: border 0.2s ease-in-out, background 0.2s ease-in-out;
	margin-bottom: 4px;
	font-weight: bold;
	cursor: pointer;
}
.woocommerce .cart_totals #shipping_method li label::before,
.woocommerce-checkout-review-order-table #shipping_method li label::before {
	content: "";
	background: rgba(0, 0, 0, 0);
	width: 10px;
	display: inline-block;
	border: 1px solid var(--global-gray-500);
	height: 10px;
	border-radius: 50%;
	margin-left: -5px;
	margin-right: 4px;
	vertical-align: middle;
}
.woocommerce .cart_totals #shipping_method li label:hover,
.woocommerce-checkout-review-order-table #shipping_method li label:hover,
.woocommerce .cart_totals #shipping_method li:hover label,
.woocommerce-checkout-review-order-table #shipping_method li:hover label {
	border-left: 5px solid var(--global-gray-500);
	background: var(--global-palette7);
}
.woocommerce .cart_totals #shipping_method li:has(input:checked) label,
.woocommerce-checkout-review-order-table #shipping_method li:has(input:checked) label {
	border-left: 5px solid var(--global-palette-highlight);
	background: var(--global-palette7);
}
.woocommerce .cart_totals #shipping_method li:has(input:checked) label::before,
.woocommerce-checkout-review-order-table #shipping_method li:has(input:checked) label::before {
	background: var(--global-palette-highlight);
	border-color: var(--global-palette-highlight);
}
.woocommerce .cart_totals #shipping_method li img,
.woocommerce-checkout-review-order-table #shipping_method li img,
.woocommerce .cart_totals #shipping_method li .shipping-method-icon,
.woocommerce-checkout-review-order-table #shipping_method li .shipping-method-icon {
	vertical-align: middle;
	margin: -2px 0 0 0.5em;
	padding: 0;
	box-shadow: none;
	display: inline-block;
	max-height: 24px;
}
.woocommerce .cart_totals #shipping_method li > *:not(input):not(label),
.woocommerce-checkout-review-order-table #shipping_method li > *:not(input):not(label) {
	display: inline-block;
	vertical-align: middle;
	margin-left: 0.35em;
}
/* Обгортка мета (наприклад InPost) — той самий фон і transition що й пункт, щоб змінювались разом */
.woocommerce .cart_totals #shipping_method li .inpost_pl-shipping-method-meta-wrap,
.woocommerce-checkout-review-order-table #shipping_method li .inpost_pl-shipping-method-meta-wrap {
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	width: 5rem;
	background: var(--global-palette8);
	padding: 0 15px;
	margin: 0 0 4px 0;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	pointer-events: none;
	transition: background 0.2s ease-in-out;
}
/* Внутрішній span і img — по центру; перевизначення плагіна (top, margin-top) */
.woocommerce .cart_totals #shipping_method li .inpost_pl_shipping_meta.easypack-shipping-method-logo,
.woocommerce-checkout-review-order-table #shipping_method li .inpost_pl_shipping_meta.easypack-shipping-method-logo {
	display: flex !important;
	align-items: center;
	justify-content: center;
	top: 0 !important;
}
.woocommerce .cart_totals #shipping_method li .inpost_pl-shipping-method-meta-wrap img,
.woocommerce-checkout-review-order-table #shipping_method li .inpost_pl-shipping-method-meta-wrap img {
	display: block !important;
	vertical-align: middle;
	object-fit: contain;
	max-height: 24px;
	margin-top: 0 !important;
}
.woocommerce .cart_totals #shipping_method li:hover .inpost_pl-shipping-method-meta-wrap,
.woocommerce-checkout-review-order-table #shipping_method li:hover .inpost_pl-shipping-method-meta-wrap {
	background: var(--global-palette7) !important;
}
.woocommerce .cart_totals #shipping_method li:has(input:checked) .inpost_pl-shipping-method-meta-wrap,
.woocommerce-checkout-review-order-table #shipping_method li:has(input:checked) .inpost_pl-shipping-method-meta-wrap {
	background: var(--global-palette7) !important;
}

/* ========== 2. Кнопку «Design» не дублювати — приховати дублікат зліва (якщо є) ========== */
.woocommerce-cart-form .cart_item .product-name a[href*="lumise"],
.woocommerce-cart-form .cart_item .product-name .lumise-edit-cart-link {
	/* лише один лінк на редагування дизайну; дублікат приховуємо через порядок у розмітці */
}
/* Перемістити блок кнопок під список (cart actions під таблицею) — уже в шаблоні; вирівняти стиль */
.woocommerce-cart-form .woocommerce-cart-form__contents + tr .product-name {
	vertical-align: middle;
}

/* На мобільному: кнопка «Edit Design» ліворуч */
@media (max-width: 768px) {
	.lumise-edit-design-wrp {
		text-align: left!important;
	}
	.lumise-edit-design-wrp .lumise-edit-design {
		display: inline-block;
	}
}

/* Кошик: блок «Masz kupon?» — вигляд як woocommerce-info, але без класу woocommerce-info, щоб не потрапляти в snackbar Kadence */
.woocommerce-cart-form .zebra-cart-coupon-prompt {
	background: none;
	border: none;
	border-left: none;
	padding: 0.35em 0 0.5em;
	margin: 0 0 0.5em;
	list-style: none;
	color: inherit;
}
.woocommerce-cart-form .zebra-cart-coupon-prompt a {
	color: inherit;
	text-decoration: underline;
}

/* Кошик: комірка .actions — звичайний блоковий потік, купон і кнопка «Zaktualizuj» один під одним */
.woocommerce-cart-form .shop_table .actions {
	width: 100%;
	padding: 0.75em 0;
	box-sizing: border-box;
}
.woocommerce-cart-form .actions > .woocommerce-form-coupon-toggle {
	margin-bottom: 0.5em;
}
.woocommerce-cart-form .actions > .checkout_coupon.coupon,
.woocommerce-cart-form .actions > #woocommerce-cart-form-coupon {
	width: 100%;
	box-sizing: border-box;
	margin-bottom: 0.75em;
}
.woocommerce-cart-form .actions > button[name="update_cart"] {
	margin-top: 0.25em;
}

/* Блок купона: поле і кнопка в один ряд; flex тільки всередині цього блоку */
.woocommerce-cart-form .checkout_coupon.coupon,
.woocommerce-cart-form #woocommerce-cart-form-coupon {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5em;
}
.woocommerce-cart-form .checkout_coupon.coupon .form-row,
.woocommerce-cart-form #woocommerce-cart-form-coupon .form-row {
	float: none;
	margin: 0;
}
.woocommerce-cart-form .checkout_coupon.coupon .form-row-first,
.woocommerce-cart-form #woocommerce-cart-form-coupon .form-row-first {
	flex: 1;
	min-width: 120px;
}
.woocommerce-cart-form .checkout_coupon.coupon .form-row-first input,
.woocommerce-cart-form #woocommerce-cart-form-coupon .form-row-first input {
	width: 100%;
	box-sizing: border-box;
	min-height: 44px;
}
.woocommerce-cart-form .checkout_coupon.coupon .form-row-last,
.woocommerce-cart-form #woocommerce-cart-form-coupon .form-row-last {
	flex: 0 0 auto;
}
.woocommerce-cart-form .checkout_coupon.coupon .form-row-last .button,
.woocommerce-cart-form #woocommerce-cart-form-coupon .form-row-last .button {
	min-height: 44px;
	white-space: nowrap;
}
.woocommerce-cart-form .checkout_coupon.coupon .clear,
.woocommerce-cart-form #woocommerce-cart-form-coupon .clear {
	flex: 0 0 100%;
	width: 100%;
	height: 0;
	margin: 0;
	padding: 0;
	overflow: hidden;
}
.woocommerce-cart-form .checkout_coupon.coupon .coupon-error-notice,
.woocommerce-cart-form #woocommerce-cart-form-coupon .coupon-error-notice {
	flex: 0 0 100%;
	margin-top: 0.25em;
}
#coupon-error-notice {
	text-align: left;
}
@media (max-width: 480px) {
	.woocommerce-cart-form .checkout_coupon.coupon .form-row-first,
	.woocommerce-cart-form #woocommerce-cart-form-coupon .form-row-first {
		flex: 0 0 100%;
	}
	.woocommerce-cart-form .checkout_coupon.coupon .form-row-last,
	.woocommerce-cart-form #woocommerce-cart-form-coupon .form-row-last {
		flex: 0 0 100%;
		text-align: center;
	}
	.woocommerce-cart-form .checkout_coupon.coupon .form-row-last .button,
	.woocommerce-cart-form #woocommerce-cart-form-coupon .form-row-last .button {
		display: block;
		width: auto;
		min-width: 10em;
		margin-inline: auto;
	}
}

/* ========== 3. Повідомлення WooCommerce (error/message/info) — просто текст, без блоку «як цитата» ========== */
.woocommerce-notices-wrapper:has(.woocommerce-error),
.woocommerce-notices-wrapper:has(.woocommerce-message),
.woocommerce-notices-wrapper:has(.woocommerce-info) {
	background: none;
	border: none;
}
tr.zebra-shipping-insurance-row th {
    display: block!important;
	width: 100%!important;
}
.woocommerce-notices-wrapper .kwsb-snackbar-notice:has(.woocommerce-error),
.woocommerce-notices-wrapper .kwsb-snackbar-notice:has(.woocommerce-message),
.woocommerce-notices-wrapper .kwsb-snackbar-notice:has(.woocommerce-info) {
	background: none;
	border: none;
	box-shadow: none;
}
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-checkout .woocommerce-NoticeGroup .woocommerce-error,
.woocommerce-checkout .woocommerce-NoticeGroup .woocommerce-message,
.woocommerce-checkout .woocommerce-NoticeGroup .woocommerce-info,
.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-info,
.woocommerce-page.woocommerce-cart .woocommerce-error,
.woocommerce-page.woocommerce-cart .woocommerce-message,
.woocommerce-page.woocommerce-cart .woocommerce-info {
	background: none;
	border: none;
	border-left: none;
	padding: 0.35em 0 0.5em;
	margin: 0 0 0.5em;
	list-style: disc;
	list-style-position: outside;
	color: var(--kwsb-color);
}
.woocommerce-notices-wrapper .woocommerce-error li,
.woocommerce-notices-wrapper .woocommerce-message li,
.woocommerce-notices-wrapper .woocommerce-info li {
	margin-bottom: 0.25em;
}
.woocommerce-notices-wrapper .woocommerce-error a,
.woocommerce-notices-wrapper .woocommerce-message a,
.woocommerce-notices-wrapper .woocommerce-info a,
.woocommerce-checkout .woocommerce-error a,
.woocommerce-checkout .woocommerce-message a,
.woocommerce-checkout .woocommerce-info a {
	color: var(--kwsb-color);
	text-decoration: underline;
}

/* ========== 4. Чекбокси чекауту — той самий шрифт що й заголовки; більша відстань чекбокс–заголовок ========== */
.zebra-checkout-terms-wrap .zebra-terms-row {
	margin-bottom: 1em;
}
.zebra-checkout-terms-wrap .woocommerce-form__label-for-checkbox {
	font-size: inherit;
	font-weight: 700;
	font-family: inherit;
	display: flex;
	align-items: flex-start;
	gap: 0.6em;
}
.zebra-checkout-terms-wrap .woocommerce-form__input.input-checkbox {
	margin-top: 0.25em;
	margin-left: 0;
	flex-shrink: 0;
}
.zebra-checkout-terms-wrap .zebra-terms-label {
	margin-left: 0;
}

/* ========== 5. Всі заголовки таблиць трохи більші (Imię, Produkt, Kwota, Wysyłka) ========== */
.woocommerce .cart_totals h2,
.woocommerce .cart_totals .shop_table th,
.woocommerce-checkout-review-order-table thead th,
.woocommerce .woocommerce-cart-form__contents thead th {
	font-size: 1.05em;
	font-weight: 700;
}
.woocommerce .cart_totals h2 {
	font-size: 1.2em;
	margin-bottom: 0.75em;
}

/* ========== 6. Збільшити відстань між колонками — друга колонка (ціни) не така щільна ========== */
.woocommerce .cart_totals .shop_table th,
.woocommerce .cart_totals .shop_table td,
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
	padding: 0.65em 0.85em;
}
.woocommerce .cart_totals .shop_table th {
	padding-right: 1.25em;
}
.woocommerce .cart_totals .shop_table td,
.woocommerce-checkout-review-order-table .product-total {
	padding-left: 1.25em;
	min-width: 0;
}
/* Чекаут: колонка «Produkt» не роздуває — ціна не притискається до краю */
.woocommerce-checkout-review-order-table tbody td.product-name {
	max-width: 65%;
	box-sizing: border-box;
}
.woocommerce-checkout-review-order-table tbody td.product-total {
	min-width: 5em;
}
/* Текст у таблиці підсумків переноситься, не вилазить за межі */
.woocommerce .cart_totals .shop_table th,
.woocommerce .cart_totals .shop_table td {
	word-wrap: break-word;
	overflow-wrap: break-word;
	white-space: normal;
}

/* ========== 7. Товари з креатора — кількість: виглядати як у звичайних (якщо колонка є) ========== */
.woocommerce-cart-form__contents .product-quantity {
	vertical-align: middle;
}
.woocommerce-cart-form__contents .product-quantity .quantity {
	display: inline-flex;
	align-items: center;
}
.woocommerce-cart-form__contents .product-quantity .qty {
	min-width: 3.5em;
	text-align: center;
}

/* ========== 8. Мобіль: Zaktualizuj koszyk / Przycisk do kasy — рівно, не розʼїжджається ========== */
@media (max-width: 768px) {
	.woocommerce.woocommerce-cart .kadence-woo-cart-form-wrap,
	.woocommerce.woocommerce-cart .cart-collaterals {
		float: none;
		width: 100%;
		padding-right: 0;
	}
	/* Блок кнопок кошика: колонка (купон зверху, Zaktualizuj знизу), кнопки однаковий розмір */
	.woocommerce-cart-form .actions {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 0.75em;
		padding: 0.75em 0;
	}
	.woocommerce-cart-form .actions .button {
		min-height: 44px;
		padding: 0.6em 1.2em;
	}
	.cart-collaterals .wc-proceed-to-checkout {
		padding: 0.75em 0;
	}
	.cart-collaterals .wc-proceed-to-checkout .checkout-button {
		display: block;
		width: 100%;
		text-align: center;
		min-height: 48px;
		padding: 0.75em 1.5em;
		box-sizing: border-box;
	}
	.woocommerce .cart_totals .shop_table th,
	.woocommerce .cart_totals .shop_table td {
		padding: 0.5em 0.75em;
	}
	.woocommerce-checkout-review-order-table th,
	.woocommerce-checkout-review-order-table td {
		padding: 0.5em 0.75em;
	}
	/* Wysyłka на мобільному: рядок на всю ширину, th як caption зверху, td з нового рядка */
	.woocommerce .cart_totals table.shop_table tr.woocommerce-shipping-totals.shipping,
	.woocommerce .cart_totals table.shop_table.shop_table_responsive tr.woocommerce-shipping-totals.shipping {
		display: table !important;
		width: 100% !important;
	}
	.woocommerce .cart_totals table.shop_table tr.woocommerce-shipping-totals.shipping th,
	.woocommerce .cart_totals table.shop_table.shop_table_responsive tr.woocommerce-shipping-totals.shipping th {
		display: table-caption !important;
		caption-side: top !important;
		width: 100% !important;
	}
	.woocommerce .cart_totals table.shop_table tr.woocommerce-shipping-totals.shipping td,
	.woocommerce .cart_totals table.shop_table.shop_table_responsive tr.woocommerce-shipping-totals.shipping td {
		display: block !important;
		width: 100% !important;
	}
	/* Чекаут на мобільному: tfoot теж сітка — Wysyłka на всю ширину */
	.woocommerce-checkout-review-order-table tfoot {
		display: grid !important;
		grid-template-columns: 1fr 1fr;
		width: 100%;
		box-sizing: border-box;
	}
	.woocommerce-checkout-review-order-table tfoot tr:not(.woocommerce-shipping-totals.shipping) {
		display: contents !important;
	}
	.woocommerce-checkout-review-order-table tfoot tr:not(.woocommerce-shipping-totals.shipping) th,
	.woocommerce-checkout-review-order-table tfoot tr:not(.woocommerce-shipping-totals.shipping) td {
		display: block;
	}
	.woocommerce-checkout-review-order-table tfoot tr.cart-subtotal td,
	.woocommerce-checkout-review-order-table tfoot tr.order-total td {
		text-align: right;
	}
	.woocommerce-checkout-review-order-table tfoot tr.zebra-shipping-insurance-row th {
		grid-column: 1 / -1;
	}
	.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals.shipping {
		display: grid !important;
		grid-column: 1 / -1 !important;
		width: 100% !important;
		box-sizing: border-box;
	}
	.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals.shipping th {
		display: block !important;
		width: 100% !important;
	}
	.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals.shipping td {
		display: block !important;
		width: 100% !important;
		max-width: none !important;
	}
	/* Перевизначення WooCommerce td::before (data-title) для рядка Wysyłka на мобільному */
	.woocommerce table.shop_table_responsive tr.woocommerce-shipping-totals.shipping td::before,
	.woocommerce-page table.shop_table_responsive tr.woocommerce-shipping-totals.shipping td::before {
		content: none !important;
		display: none !important;
		float: none !important;
	}
}

/* Загальна гармонія блоків: однакові відступи таблиць кошика та підсумку */
.woocommerce .cart_totals,
.woocommerce .cart_totals .shop_table {
	border-radius: 6px;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table {
	border-radius: 6px;
}
