body.kouruset.woocommerce-cart .woocommerce-cart-form,
body.kouruset.woocommerce-cart .cart-collaterals { min-width: 0; }
body.kouruset.woocommerce-cart .shop_table .variation,
body.kouruset.woocommerce-cart .shop_table .wc-item-meta { margin: 8px 0 0; font-size: 13px; line-height: 1.35; }
body.kouruset.woocommerce-cart .shop_table .variation dt,
body.kouruset.woocommerce-cart .shop_table .variation dd { display: inline; float: none; margin: 0 4px 0 0; }
body.kouruset.woocommerce-cart .shop_table .variation dd::after { content: ''; display: block; }
.kouruset-remove { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: #f2f2f2; color: #111 !important; font-size: 22px; text-decoration: none; }
.kouruset-continue-shopping { margin: 0 0 16px; }
.kouruset-clear-cart-form { display: inline-block; margin-left: 10px; }

@media (max-width: 767px) {
	body.kouruset.woocommerce-cart table.shop_table,
	body.kouruset.woocommerce-cart table.shop_table tbody { display: block; width: 100%; }
	body.kouruset.woocommerce-cart table.shop_table thead { display: none; }
	body.kouruset.woocommerce-cart table.shop_table tr.cart_item {
		display: grid;
		grid-template-columns: 72px minmax(0,1fr) auto;
		gap: 8px 12px;
		width: 100%;
		padding: 16px 0;
		border-bottom: 1px solid var(--kouruset-line);
	}
	body.kouruset.woocommerce-cart table.shop_table tr.cart_item > td { display: block; width: auto; padding: 0; border: 0; text-align: left !important; }
	body.kouruset.woocommerce-cart td.product-thumbnail { grid-column: 1; grid-row: 1 / span 3; }
	body.kouruset.woocommerce-cart td.product-thumbnail img { width: 72px; height: auto; }
	body.kouruset.woocommerce-cart td.product-name { grid-column: 2; min-width: 0; font-weight: 700; overflow-wrap: break-word; }
	body.kouruset.woocommerce-cart td.product-remove { grid-column: 3; grid-row: 1; }
	body.kouruset.woocommerce-cart td.product-price { grid-column: 2; display: block !important; }
	body.kouruset.woocommerce-cart td.product-quantity { grid-column: 2; min-width: 0; }
	body.kouruset.woocommerce-cart td.product-subtotal { grid-column: 3; align-self: end; white-space: nowrap; font-weight: 700; }
	body.kouruset.woocommerce-cart .quantity { display: inline-flex; max-width: 150px; }
	body.kouruset.woocommerce-cart .cart_totals { float: none; width: 100%; max-width: 100%; }
	body.kouruset.woocommerce-cart .actions { display: flex !important; flex-wrap: wrap; gap: 10px; }
	body.kouruset.woocommerce-cart .coupon { display: grid !important; grid-template-columns: minmax(0,1fr) auto; width: 100%; gap: 8px; }
	body.kouruset.woocommerce-cart .coupon input { width: 100% !important; min-width: 0; }
}

/* desktop action row: keep coupon/update/clear/checkout controls in one
 * stable row and let them wrap only when the viewport requires it. */
body.kouruset.woocommerce-cart .woocommerce-cart-form table.shop_table td.actions {
	display: flex !important;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px 12px;
	width: 100%;
}
body.kouruset.woocommerce-cart .woocommerce-cart-form table.shop_table td.actions .coupon {
	display: flex !important;
	align-items: center;
	gap: 10px;
	margin-right: auto;
	min-width: 300px;
}
body.kouruset.woocommerce-cart .woocommerce-cart-form table.shop_table td.actions .coupon input.input-text {
	width: min(260px, 40vw) !important;
	min-width: 170px;
}
body.kouruset.woocommerce-cart .kouruset-clear-cart-form {
	margin: 0;
}
body.kouruset.woocommerce-cart .woocommerce-cart-form .button,
body.kouruset.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
	min-height: 42px;
	height: auto;
	line-height: 1.2;
	padding: 11px 18px;
	white-space: normal;
	text-align: center;
}

/* desktop cart: Bridge's table header has four labels while Woo rows have
 * six cells (remove, thumbnail, product, price, qty, subtotal). Use an explicit
 * six-column grid so the remove cell can never consume half the table. */
@media (min-width: 768px) {
	body.kouruset.woocommerce-cart .woocommerce-cart-form table.shop_table {
		display: block;
		width: 100%;
		table-layout: auto !important;
	}
	body.kouruset.woocommerce-cart .woocommerce-cart-form table.shop_table > thead,
	body.kouruset.woocommerce-cart .woocommerce-cart-form table.shop_table > tbody {
		display: block;
		width: 100%;
	}
	body.kouruset.woocommerce-cart .woocommerce-cart-form table.shop_table > thead > tr,
	body.kouruset.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item {
		display: grid;
		grid-template-columns: 42px 88px minmax(260px, 1fr) 110px 96px 120px;
		align-items: center;
		column-gap: 14px;
		width: 100%;
	}
	body.kouruset.woocommerce-cart .woocommerce-cart-form table.shop_table > thead > tr > th {
		display: block;
		width: auto !important;
		padding: 12px 0 !important;
		border: 0 !important;
		text-align: left !important;
	}
	body.kouruset.woocommerce-cart .woocommerce-cart-form table.shop_table > thead > tr > th.product-name { grid-column: 3; }
	body.kouruset.woocommerce-cart .woocommerce-cart-form table.shop_table > thead > tr > th.product-price { grid-column: 4; }
	body.kouruset.woocommerce-cart .woocommerce-cart-form table.shop_table > thead > tr > th.product-quantity { grid-column: 5; text-align: center !important; }
	body.kouruset.woocommerce-cart .woocommerce-cart-form table.shop_table > thead > tr > th.product-subtotal { grid-column: 6; text-align: right !important; }
	body.kouruset.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item {
		padding: 16px 0;
		border-top: 1px solid var(--kouruset-line);
	}
	body.kouruset.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item > td {
		display: block !important;
		width: auto !important;
		min-width: 0;
		padding: 0 !important;
		border: 0 !important;
		text-align: left !important;
	}
	body.kouruset.woocommerce-cart td.product-remove { grid-column: 1; justify-self: center; }
	body.kouruset.woocommerce-cart td.product-thumbnail { grid-column: 2; }
	body.kouruset.woocommerce-cart td.product-thumbnail img {
		display: block;
		width: 78px !important;
		max-width: 78px !important;
		height: auto !important;
		margin: 0 auto;
	}
	body.kouruset.woocommerce-cart td.product-name { grid-column: 3; overflow-wrap: break-word; }
	body.kouruset.woocommerce-cart td.product-price { grid-column: 4; display: block !important; white-space: nowrap; }
	body.kouruset.woocommerce-cart td.product-quantity { grid-column: 5; justify-self: center; }
	body.kouruset.woocommerce-cart td.product-subtotal { grid-column: 6; justify-self: end; white-space: nowrap; }
	body.kouruset.woocommerce-cart .woocommerce-cart-form table.shop_table tr:not(.cart_item) > td.actions {
		display: flex !important;
		width: 100% !important;
	}
}

@media (min-width: 768px) and (max-width: 1100px) {
	body.kouruset.woocommerce-cart .woocommerce-cart-form table.shop_table > thead > tr,
	body.kouruset.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item {
		grid-template-columns: 36px 70px minmax(190px, 1fr) 90px 84px 100px;
		column-gap: 10px;
	}
	body.kouruset.woocommerce-cart td.product-thumbnail img {
		width: 64px !important;
		max-width: 64px !important;
	}
}

/* separate destructive cart action and widen the mobile content rail. */
body.kouruset.woocommerce-cart .kouruset-clear-cart-wrap {
	order: 99;
	display: flex;
	flex: 1 0 100%;
	justify-content: flex-start;
	margin-top: 4px;
}
body.kouruset.woocommerce-cart .kouruset-clear-cart {
	background: #fff !important;
	color: var(--kouruset-red) !important;
	border: 1px solid var(--kouruset-red) !important;
	box-shadow: none !important;
}
body.kouruset.woocommerce-cart .kouruset-clear-cart:hover,
body.kouruset.woocommerce-cart .kouruset-clear-cart:focus-visible {
	background: #fff2f2 !important;
	color: var(--kouruset-red-dark) !important;
	border-color: var(--kouruset-red-dark) !important;
}
body.kouruset.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item > td {
	padding-left: 2px !important;
	padding-right: 2px !important;
}
body.kouruset.woocommerce-cart .shop_table .variation,
body.kouruset.woocommerce-cart .shop_table .wc-item-meta { padding-right: 6px; }
@media (max-width: 767px) {
	body.kouruset.woocommerce-cart .content .container_inner,
	body.kouruset.woocommerce-cart .content .default_template_holder,
	body.kouruset.woocommerce-cart .content .page_container_inner {
		width: calc(100% - 28px) !important;
		max-width: calc(100% - 28px) !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}
	body.kouruset.woocommerce-cart .woocommerce-cart-form,
	body.kouruset.woocommerce-cart .woocommerce-cart-form table.shop_table,
	body.kouruset.woocommerce-cart .woocommerce-cart-form table.shop_table tbody,
	body.kouruset.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item {
		width: 100% !important;
		max-width: 100% !important;
	}
	body.kouruset.woocommerce-cart table.shop_table tr.cart_item {
		grid-template-columns: 64px minmax(0, 1fr) 34px !important;
		gap: 8px 10px !important;
		padding: 14px 8px !important;
	}
	body.kouruset.woocommerce-cart td.product-thumbnail img { width: 60px !important; max-width: 60px !important; }
	body.kouruset.woocommerce-cart td.product-name,
	body.kouruset.woocommerce-cart td.product-price,
	body.kouruset.woocommerce-cart td.product-quantity { padding-right: 4px !important; }
	body.kouruset.woocommerce-cart .woocommerce-cart-form table.shop_table td.actions { align-items: stretch; }
	body.kouruset.woocommerce-cart .woocommerce-cart-form table.shop_table td.actions .coupon {
		min-width: 0;
		width: 100%;
		margin-right: 0;
	}
	body.kouruset.woocommerce-cart .woocommerce-cart-form .button,
	body.kouruset.woocommerce-cart .wc-proceed-to-checkout .checkout-button { width: 100%; }
}


/* floating cart remains a red action on hover/focus. */
body.kouruset .kouruset-sticky-cart:hover,
body.kouruset .kouruset-sticky-cart:focus,
body.kouruset .kouruset-sticky-cart:focus-visible {
	background: var(--kouruset-red-dark) !important;
	color: #fff !important;
	border-color: var(--kouruset-red-dark) !important;
	text-decoration: none !important;
}
body.kouruset .kouruset-sticky-cart:hover *,
body.kouruset .kouruset-sticky-cart:focus-visible * { color: #fff !important; }

/* On narrow carts, keep remove in the small right cell but give price and
 * subtotal the readable product-content column. */
@media (max-width: 767px) {
	body.kouruset.woocommerce-cart table.shop_table tr.cart_item {
		grid-template-columns: 64px minmax(0, 1fr) 34px !important;
		align-items: start !important;
	}
	body.kouruset.woocommerce-cart td.product-thumbnail {
		grid-column: 1 !important;
		grid-row: 1 / span 4 !important;
	}
	body.kouruset.woocommerce-cart td.product-name {
		grid-column: 2 !important;
		grid-row: 1 !important;
	}
	body.kouruset.woocommerce-cart td.product-remove {
		grid-column: 3 !important;
		grid-row: 1 !important;
		justify-self: end !important;
	}
	body.kouruset.woocommerce-cart td.product-price {
		grid-column: 2 !important;
		grid-row: 2 !important;
		min-width: 0 !important;
		white-space: normal !important;
	}
	body.kouruset.woocommerce-cart td.product-quantity {
		grid-column: 2 !important;
		grid-row: 3 !important;
		justify-self: start !important;
	}
	body.kouruset.woocommerce-cart td.product-subtotal {
		grid-column: 2 !important;
		grid-row: 4 !important;
		justify-self: stretch !important;
		min-width: 0 !important;
		width: 100% !important;
		white-space: nowrap !important;
		text-align: right !important;
		font-weight: 700 !important;
		padding-right: 4px !important;
		box-sizing: border-box !important;
	}
}
