body.woocommerce-cart .tmm-empty-cart-menu { text-align: center; }
/* Basket-shopping is shopping-basket in the theme's existing Font Awesome 5 Free. */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .with-empty-cart-icon::before {
	content: '\f291' / '';
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	font-style: normal;
	font-size: 5em;
	line-height: 1;
	width: 1em;
	height: 1em;
	margin: 0 auto .4em;
	background: transparent;
	-webkit-mask-image: none;
	mask-image: none;
}
/* Hide native duplicate rows only after the Store API-backed summary is ready. */
.wp-block-woocommerce-cart .tmm-cart-summary-ready > .wc-block-components-totals-wrapper:has(> .wc-block-components-totals-footer-item),
.wp-block-woocommerce-cart .tmm-cart-summary-ready .wp-block-woocommerce-cart-order-summary-subtotal-block,
.wp-block-woocommerce-cart .tmm-cart-summary-ready .wp-block-woocommerce-cart-order-summary-shipping-block { display: none; }
.wp-block-woocommerce-cart .tmm-cart-summary-row { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 18px 0; border-bottom: 1px solid #e4e4e4; }
.wp-block-woocommerce-cart .tmm-cart-summary-value { text-align: right; font-variant-numeric: tabular-nums; }
.wp-block-woocommerce-cart .tmm-cart-summary-shipping .tmm-cart-summary-value { max-width: 180px; }
.wp-block-woocommerce-cart .tmm-cart-summary-help { margin: 10px 0 18px; font-size: 13px; }
.wp-block-woocommerce-cart .tmm-cart-summary-total { font-size: 1.4em; }
.wp-block-woocommerce-cart .tmm-cart-summary-row[hidden],
.wp-block-woocommerce-cart .tmm-cart-summary-help[hidden] { display: none; }
.wp-block-woocommerce-cart .tmm-cart-summary-ready [aria-busy="true"] .tmm-cart-summary-value { opacity: .5; }
body.woocommerce-cart .tmm-empty-cart-menu a,
body.woocommerce-cart .return-to-shop a.wc-backward { margin-top: 18px; }
/* Pizzaro-style checkout CTA, scoped to the cart (Blocks and classic). */
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	min-height: 50px;
	padding: 15px 2.433em;
	border: 0;
	border-radius: 50px;
	background: #9a1523;
	color: #fff;
	font-family: inherit;
	font-size: 15px;
	font-weight: 700;
	line-height: 20px;
	text-align: center;
	text-decoration: none;
	box-shadow: none;
}
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit-button:focus,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:focus { box-shadow: none !important; }
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit-button:focus:not(:focus-visible),
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:focus:not(:focus-visible) { outline: none !important; }
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit-button:focus-visible,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:focus-visible {
	outline: 2px solid #9a1523 !important;
	outline-offset: 3px;
}
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit-button:active,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:active { background: #7f111d; color: #fff; }
@media (hover: hover) and (pointer: fine) {
	body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit-button:hover,
	body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover { background: #7f111d; color: #fff; }
}
.tmm-cart-clear-actions { margin: 8px 0 24px; text-align: left; }
body .tmm-cart-clear {
	padding: .733em 2em;
	border: 0;
	border-radius: 50px;
	background: #f5f5f5;
	color: #2b2b2b;
	font-family: inherit;
	font-size: 14px;
	font-weight: 700;
	box-shadow: none;
}
body .tmm-cart-clear::before, body .tmm-cart-clear::after { content: none; }
body .tmm-cart-clear:focus-visible { outline: 2px solid #c00a27; outline-offset: 3px; }
.tmm-cart-clear-dialog {
	position: fixed;
	inset: 0;
	box-sizing: border-box;
	width: min(440px, calc(100% - 32px));
	max-height: calc(100% - 32px);
	margin: auto;
	padding: 24px;
	border: 0;
	border-radius: 16px;
	background: #fff;
	color: #2d2b2d;
}
.tmm-cart-clear-dialog::backdrop { background: rgba(23,32,39,.68); }
.tmm-cart-clear-dialog h2 { margin: 0 0 12px; font-size: 22px; }
.tmm-cart-clear-dialog p { margin: 0 0 20px; }
.tmm-cart-clear-dialog [data-tmm-clear-error]:empty { display: none; }
.tmm-cart-clear-dialog [data-tmm-clear-error] { color: #c00a27; }
.tmm-cart-clear-dialog__actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 12px; }
body .tmm-cart-clear-dialog__actions .button { padding: .733em 1.4em; font-size: 14px; }
@media (hover: hover) and (pointer: fine) {
	body .tmm-cart-clear:hover { background: #e9e9e9; color: #2b2b2b; }
}

.woocommerce-cart-form .tmm-cart-edit,
.wp-block-woocommerce-cart .tmm-cart-edit {
	display: inline-block;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: inherit;
	font: inherit;
	text-align: left;
	cursor: pointer;
}
.woocommerce-cart-form .tmm-cart-edit::before,
.woocommerce-cart-form .tmm-cart-edit::after,
.wp-block-woocommerce-cart .tmm-cart-edit::before,
.wp-block-woocommerce-cart .tmm-cart-edit::after { content: none; }
.woocommerce-cart-form .tmm-cart-edit:focus-visible,
.wp-block-woocommerce-cart .tmm-cart-edit:focus-visible { outline: 2px solid #c00a27; outline-offset: 4px; }
.woocommerce-cart-form .tmm-cart-edit--image { display: block; width: 100%; }
.woocommerce-cart-form .tmm-cart-edit--image img { margin: 0; }
.woocommerce-cart-form .tmm-cart-edit-action { margin: 6px 0; }
.woocommerce-cart-form .tmm-cart-edit--action,
.wp-block-woocommerce-cart .tmm-cart-edit--action { display: inline-block; margin: 0 12px 0 0; color: #71706c; font-size: 14px; font-weight: 400; text-decoration: none; }
.wp-block-woocommerce-cart .wc-block-components-quantity-selector {
	align-items: center;
	gap: 8px;
	width: auto;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}
.wp-block-woocommerce-cart .wc-block-components-quantity-selector::after { display: none; }
.wp-block-woocommerce-cart .wc-block-components-quantity-selector button {
	display: grid;
	flex: 0 0 44px;
	width: 44px;
	height: 44px;
	min-width: 44px;
	padding: 0;
	border: 1px solid #ccc;
	border-radius: 50%;
	background: #fff;
	color: #2d2b2d;
	box-shadow: none;
	place-items: center;
	font-family: inherit;
	font-size: 25px;
	font-weight: 400;
	line-height: 1;
}

.wp-block-woocommerce-cart .wc-block-components-quantity-selector button:disabled { opacity: .4; cursor: not-allowed; }
.wp-block-woocommerce-cart .wc-block-components-quantity-selector input {
	flex: 0 0 32px;
	width: 32px;
	min-width: 32px;
	padding: 0;
	border: 0;
	background: transparent;
	color: #2d2b2d;
	font-size: 18px;
	text-align: center;
}

.wp-block-woocommerce-cart .wc-block-cart-item__quantity .tmm-cart-edit--action { margin-top: 0; }
.tmm-product-modal--editing .tmm-product-modal__selection-preview {
	margin: 0 0 16px;
	color: #71706c;
	font-size: 13px;
	line-height: 1.5;
}
@media (hover: hover) and (pointer: fine) {
	.woocommerce-cart-form .tmm-cart-edit:hover,
	.wp-block-woocommerce-cart .tmm-cart-edit:hover { color: #c00a27; background: transparent; }
	.woocommerce-cart-form .tmm-cart-edit--action:hover,
	.wp-block-woocommerce-cart .tmm-cart-edit--action:hover { color: #c00a27; }
}
@media (max-width: 991px) {
	/* Prevent the mobile table and its implicit total column from widening the page. */
	.wp-block-woocommerce-cart .wc-block-cart table.wc-block-cart-items { display: block; width: 100%; }
	.wp-block-woocommerce-cart .wc-block-cart table.wc-block-cart-items tbody { display: block; width: 100%; }
	.wp-block-woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row {
		grid-template-columns: 56px minmax(0, 1fr) max-content;
		column-gap: 12px;
		width: 100%;
		box-sizing: border-box;
	}
	.wp-block-woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__image { padding-right: 0; }
	.wp-block-woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__product { grid-column: 2 / 4; min-width: 0; }
	.wp-block-woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__total { grid-column: 3; grid-row: 1; justify-content: flex-end; }
	.wp-block-woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-components-product-name { max-width: calc(100% - 100px); overflow-wrap: anywhere; }
	.wp-block-woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__quantity { flex-wrap: wrap; gap: 8px; padding-right: 0; }
	.wp-block-woocommerce-cart .wc-block-cart-item__wrap { min-width: 0; overflow-wrap: anywhere; }
	.wp-block-woocommerce-cart .wc-block-components-quantity-selector { gap: 2px; }
	.wp-block-woocommerce-cart .wc-block-components-quantity-selector button { flex-basis: 36px; width: 36px; height: 36px; min-width: 36px; }
	.wp-block-woocommerce-cart .wc-block-components-quantity-selector input { flex-basis: 20px; width: 20px; min-width: 20px; }
}
