/*
 * Cart page: the live Porto "cart v2" layout, values measured on the live
 * copy 2026-09-23 (Open Sans throughout, 2:1 columns, borderless table,
 * pill quantity, bordered totals card). Spec §2.
 */
.mm-progress {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px 0;
	list-style: none;
	margin: 36px 0 40px;
	padding: 0;
	font-family: "Poppins", "Open Sans", sans-serif;
	font-size: 20px;
	font-weight: 700;
	color: #777;
}

.mm-progress li + li::before {
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	margin: 0 24px 2px;
	border-right: 2px solid #b5b5b5;
	border-top: 2px solid #b5b5b5;
	transform: rotate(45deg);
}

.mm-progress a {
	color: inherit;
	text-decoration: none;
}

.mm-progress__current {
	color: #589f3c;
}

.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info,
.woocommerce-cart .woocommerce-error {
	list-style: none;
	margin: 0 0 12px;
	padding: 15px;
	border: 1px solid #cbe6cb;
	border-radius: 0;
	background: #daedda;
	color: #255525;
	font: 500 16px/22px "Open Sans", sans-serif;
}

.woocommerce-cart .woocommerce-message::before {
	content: "\2713";
	margin-right: 12px;
	color: #589f3c;
	font-weight: 700;
}

.woocommerce-cart .woocommerce-error {
	background: #fdecec;
	border-color: #f5c6c6;
	color: #a30000;
}

.woocommerce-cart .woocommerce-message .button,
.woocommerce-cart .woocommerce-message .wc-forward {
	float: right;
	margin-left: 12px;
	padding: 8px 18px;
	border-radius: 25px;
	background: #589f3c;
	color: #fff;
	text-decoration: none;
	font-size: 13px;
}

/* Loyalty (Points & Rewards) notices */
.woocommerce-cart .wc_points_rewards_earn_points,
.woocommerce-cart .woocommerce-info.wc_points_redeem_earn_points {
	display: block;
	margin: 0 0 8px;
	padding: 10px 12px;
	border: 0;
	border-radius: 5px;
	background: #e9f6e4;
	color: #000 !important;
	font: 400 14px/22px "Open Sans", sans-serif;
}

.woocommerce-cart .wc_points_rewards_earn_points span,
.woocommerce-cart .woocommerce-info.wc_points_redeem_earn_points span {
	color: #000 !important;
	font-family: "Open Sans", sans-serif !important;
}

.woocommerce-cart .wc_points_rewards_earn_points::before,
.woocommerce-cart .woocommerce-info.wc_points_redeem_earn_points::before {
	display: none;
}

.woocommerce-cart .wc_points_rewards_earn_points img,
.woocommerce-cart .loyalty-icon {
	display: inline-block;
	width: 15px !important;
	height: 15px !important;
	min-width: 15px;
	flex: 0 0 auto;
	vertical-align: middle;
	margin: 0 4px 0 0 !important;
}

.woocommerce-cart form.wc_points_rewards_apply_discount {
	display: inline;
	margin: 0 0 0 8px;
}

.woocommerce-cart input.button.wc_points_rewards_apply_discount,
.woocommerce-cart .wc_points_rewards_apply_discount .button {
	display: inline-block;
	vertical-align: middle;
	float: none;
	margin: 0;
	padding: 6px 12px;
	border: 0;
	border-radius: 5px;
	background: #589f3c !important;
	color: #fff !important;
	font: 400 13px/1.2 "Open Sans", sans-serif;
	cursor: pointer;
}

.woocommerce-cart input.button.wc_points_rewards_apply_discount:hover {
	background: #4a8a31 !important;
}

/* Loyalty notice: no inner notice box inside the green wrapper. */
.woocommerce-cart .wc_points_rewards_earn_points .woocommerce-info,
.woocommerce-cart .wc_points_rewards_earn_points .wc-block-components-notice-banner {
	display: block;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: #000 !important;
	box-shadow: none;
	font: inherit;
}

.woocommerce-cart .wc_points_rewards_earn_points .woocommerce-info::before,
.woocommerce-cart .wc_points_rewards_earn_points .wc-block-components-notice-banner > svg,
.woocommerce-cart .woocommerce-info.wc_points_redeem_earn_points > svg {
	display: none !important;
}

/* Two columns, 2:1 as live */
.mm-cart {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
	gap: 32px;
	align-items: start;
	margin: 0 0 48px;
	font-family: "Open Sans", sans-serif;
}

/* WooCommerce's layout stylesheet floats and sizes these; the grid does it here. */
.woocommerce-cart .mm-cart .cart-collaterals,
.woocommerce-cart .mm-cart .cart-collaterals .cart_totals,
.woocommerce-cart .mm-cart .woocommerce-cart-form {
	float: none;
	width: auto;
}

.woocommerce-cart .mm-cart .cart-collaterals::after,
.woocommerce-cart .mm-cart .cart-collaterals::before {
	display: none;
}

/* Table: no outer border, Open Sans 16px */
.woocommerce-cart .mm-cart table.shop_table.mm-cart__table {
	width: 100%;
	margin: 0;
	border: 0;
	border-radius: 0;
	border-collapse: collapse;
	font-family: "Open Sans", sans-serif;
	font-size: 16px;
	color: #222529;
}

.woocommerce-cart .mm-cart table.mm-cart__table thead th {
	padding: 10px;
	border: 0;
	border-bottom: 1px solid #e7e7e7;
	font-size: 16px;
	font-weight: 700;
	line-height: 22px;
	text-transform: uppercase;
	text-align: left;
	color: #222529;
}

.woocommerce-cart .mm-cart table.mm-cart__table thead th.product-subtotal,
.woocommerce-cart .mm-cart table.mm-cart__table td.product-subtotal {
	text-align: right;
}

.woocommerce-cart .mm-cart table.mm-cart__table td {
	padding: 20px 10px;
	border: 0;
	border-bottom: 1px solid #e7e7e7;
	vertical-align: middle;
	line-height: 22px;
}

.woocommerce-cart .mm-cart table.mm-cart__table td.product-thumbnail {
	width: 110px;
	padding-left: 10px;
}

.woocommerce-cart .mm-cart table.mm-cart__table td.product-name {
	padding-right: 40px;
}

.woocommerce-cart .mm-cart table.mm-cart__table th.product-price,
.woocommerce-cart .mm-cart table.mm-cart__table td.product-price {
	width: 16%;
	padding-left: 16px;
}

.woocommerce-cart .mm-cart table.mm-cart__table th.product-quantity,
.woocommerce-cart .mm-cart table.mm-cart__table td.product-quantity {
	width: 26%;
	text-align: center;
}

.woocommerce-cart .mm-cart table.mm-cart__table th.product-subtotal,
.woocommerce-cart .mm-cart table.mm-cart__table td.product-subtotal {
	width: 15%;
}

.mm-cart__thumb {
	position: relative;
	width: 80px;
}

.woocommerce-cart .mm-cart table.cart img,
.mm-cart__thumb img {
	display: block;
	width: 80px;
	height: 80px;
	object-fit: contain;
}

/* Remove control: small white circle top-right of the image, green on hover */
.woocommerce-cart .mm-cart .mm-cart__thumb a.remove,
.mm-cart__remove {
	position: absolute;
	top: -10px;
	right: -10px;
	left: auto;
	width: 21px;
	height: 21px;
	border: 0;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);
	color: #475157 !important;
	font-size: 11px;
	font-weight: 400;
	line-height: 21px;
	text-align: center;
	text-decoration: none !important;
	box-sizing: border-box;
	transition: color .15s ease;
}

.woocommerce-cart .mm-cart .mm-cart__thumb a.remove:hover,
.mm-cart__remove:hover {
	background: #fff;
	color: #589f3c !important;
}

.woocommerce-cart .mm-cart table.mm-cart__table td.product-name,
.woocommerce-cart .mm-cart table.mm-cart__table td.product-name a {
	font-size: 18px;
	font-weight: 500;
	color: #222529;
	text-decoration: none;
}

.woocommerce-cart .mm-cart table.mm-cart__table td.product-name a:hover {
	color: #589f3c;
}

.woocommerce-cart .mm-cart table.mm-cart__table td.product-price,
.woocommerce-cart .mm-cart table.mm-cart__table td.product-price .amount {
	font-size: 18px;
	font-weight: 300;
	color: #7b858a;
}

.woocommerce-cart .mm-cart table.mm-cart__table td.product-subtotal,
.woocommerce-cart .mm-cart table.mm-cart__table td.product-subtotal .amount {
	font-size: 18px;
	font-weight: 600;
	color: #222529;
}

/* Quantity pill: 184x54, radius 77, Roboto 19.2px bold */
.woocommerce-cart .mm-cart table.mm-cart__table .quantity {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	width: 184px;
	height: 54px;
	padding: 3px 10px;
	border-radius: 77px;
	background: #f5f6f6;
	box-sizing: border-box;
}

.woocommerce-cart .mm-cart table.mm-cart__table .quantity input.qty {
	width: 44px;
	height: 48px;
	border: 0;
	background: transparent;
	text-align: center;
	font: 700 19.2px/14px "Roboto", sans-serif;
	color: #222529;
	-moz-appearance: textfield;
}

.woocommerce-cart .mm-cart table.mm-cart__table .quantity input.qty::-webkit-outer-spin-button,
.woocommerce-cart .mm-cart table.mm-cart__table .quantity input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.woocommerce-cart .mm-cart table.mm-cart__table .medimart-qty-btn {
	width: 30px;
	height: 48px;
	border: 0;
	background: transparent;
	font: 400 18px/1 "Open Sans", sans-serif;
	color: #222529;
	cursor: pointer;
}

/* Actions row: no borders, grey flat buttons */
.woocommerce-cart .mm-cart table.mm-cart__table td.actions {
	padding: 20px 8px;
	border: 0;
}

.mm-cart__actions::after {
	content: "";
	display: table;
	clear: both;
}

.mm-cart__coupon {
	float: left;
	display: flex;
	gap: 8px;
}

.woocommerce-cart .mm-cart table.cart td.actions .coupon .input-text,
.mm-cart__coupon input.input-text {
	box-sizing: border-box;
	width: 177px;
	height: 43px;
	padding: 11px 12px;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 0;
	background: #fff;
	font: 400 13.6px/1.4 "Open Sans", sans-serif;
	color: #777;
}

.mm-cart .mm-btn {
	display: inline-block;
	box-sizing: border-box;
	height: 43px;
	padding: 12px 24px;
	white-space: nowrap;
	border: 0;
	border-radius: 0;
	font: 700 13px/19px "Open Sans", sans-serif;
	letter-spacing: -0.2px;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
}

.mm-cart .mm-btn--secondary {
	background: #f4f4f4;
	color: #222529;
	opacity: 1;
}

.mm-cart .mm-btn--secondary:hover {
	background: #e7e7e7;
	color: #222529;
}

.mm-cart .mm-btn--secondary:disabled {
	opacity: .6;
	cursor: default;
}

.mm-cart__update {
	float: right;
}

/* Totals card */
.mm-cart-totals {
	padding: 15px;
	border: 1px solid rgba(0, 0, 0, 0.125);
	border-radius: 4px;
	background: #fff;
	font-family: "Open Sans", sans-serif;
}

.mm-cart-totals__title {
	margin: 0 0 20px;
	padding: 0 0 4px;
	border: 0;
	font: 700 16px/19px "Open Sans", sans-serif;
	text-transform: uppercase;
	color: #2bb436;
}

.mm-cart-totals__row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	padding: 10px;
	border: 0;
	font-size: 16px;
	line-height: 22.4px;
	color: #444;
}

.mm-cart-totals__label {
	font-size: 14px;
	font-weight: 600;
	line-height: 19px;
	color: #2bb436;
}

.mm-cart-totals__row .mm-cart-totals__value,
.mm-cart-totals__row .mm-cart-totals__value .amount {
	font-size: 16px;
	font-weight: 400;
	color: #444;
	text-align: right;
}

.mm-cart-totals__row.order-total {
	border-top: 1px solid #e7e7e7;
}

.mm-cart-totals__row.order-total .mm-cart-totals__label {
	font-size: 16px;
}

.mm-cart-totals__row.order-total .mm-cart-totals__value,
.mm-cart-totals__row.order-total .mm-cart-totals__value .amount {
	font-size: 22px;
	font-weight: 700;
	line-height: 30.8px;
	color: #222529;
}

.mm-cart-totals__row.order-total .mm-cart-totals__value small,
.mm-cart-totals__row.order-total .mm-cart-totals__value small .amount {
	font-size: 12px;
	font-weight: 400;
	line-height: 1.4;
	color: #777;
}

.mm-cart-totals .fs-bar,
.mm-cart-totals .smms-bar {
	margin: 10px 0 !important;
}

/* Afterpay instalments line: one line, right-aligned, light */
.mm-cart-totals .afterpay-paragraph,
.mm-cart-totals p[class*="afterpay"],
.mm-cart-totals .afterpay-cart-totals {
	display: flex !important;
	justify-content: flex-end;
	align-items: center;
	flex-wrap: nowrap;
	gap: 6px;
	margin: 14px 0 0;
	padding: 0 10px;
	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1.4;
	color: #444;
	white-space: nowrap;
	text-align: right;
}

.mm-cart-totals .afterpay-paragraph img,
.mm-cart-totals .afterpay-paragraph .afterpay-logo,
.mm-cart-totals p[class*="afterpay"] img {
	height: 22px !important;
	width: auto !important;
	vertical-align: middle;
}

.mm-cart-totals__proceed {
	margin-top: 30px;
}

/* The button sat 46px above the totals box's bottom border: WooCommerce's
 * 1em button margin plus its 1em wrapper padding on top of the box's own
 * 15px. Now only the box's padding, as on its other edges (2026-10-15). */
.woocommerce-cart .mm-cart .wc-proceed-to-checkout.mm-cart-totals__proceed {
	padding-bottom: 0;
}

.woocommerce-cart .mm-cart .mm-cart-totals__proceed a.checkout-button.button.alt {
	margin-bottom: 0;
}

.woocommerce-cart .mm-cart a.checkout-button.button.alt,
.mm-cart .mm-btn--dark.mm-btn--block {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	width: 100%;
	height: auto;
	padding: 16px 15px;
	border: 0;
	border-radius: 4px;
	background: #222529;
	color: #fff;
	font: 800 15px/1.4 "Open Sans", sans-serif;
	letter-spacing: -0.2px;
	text-transform: uppercase;
	text-align: center;
	text-decoration: none;
	box-sizing: border-box;
}

.woocommerce-cart .mm-cart a.checkout-button.button.alt:hover,
.mm-cart .mm-btn--dark.mm-btn--block:hover {
	background: #589f3c;
	color: #fff;
}

.mm-btn__arrow {
	display: inline-block;
	flex: 0 0 auto;
	width: 16px;
	height: 14px;
	margin: 0;
	font-size: 0;
	color: inherit;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'><path d='M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z'/></svg>") center / contain no-repeat;
	mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'><path d='M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z'/></svg>") center / contain no-repeat;
}

/* Recommendations: six products on one row, archive card styling */
.mm-cart__recommendations {
	margin: 0 0 48px;
}

.mm-cart__recommendations .cross-sells > h2 {
	margin: 0 0 20px;
	font: 700 20px/1.3 "Open Sans", sans-serif;
	color: #222529;
}

.mm-cart__recommendations .woocommerce ul.products,
.mm-cart__recommendations ul.products {
	display: grid !important;
	grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
	gap: 10px;
	list-style: none;
	margin: 0;
	padding: 0;
}

/* Seven fit the desktop row; the eighth is fetched for the even two-up mobile grid. */
.mm-cart__recommendations ul.products li.product:nth-child(8) {
	display: none;
}

/* WooCommerce's float-era clearfix pseudo-elements become real grid items
   and swallow the first cell -- the "invisible first product". */
.mm-cart__recommendations ul.products::before,
.mm-cart__recommendations ul.products::after {
	display: none !important;
	content: none !important;
}

.mm-cart__sticky {
	display: none;
}

.mm-cart-empty__return {
	text-align: center;
	margin: 30px 0 60px;
}

.mm-cart-empty__return .mm-btn {
	display: inline-block;
	padding: 14px 30px;
	border-radius: 4px;
	background: #222529;
	color: #fff;
	font: 700 13px/1 "Open Sans", sans-serif;
	letter-spacing: -0.2px;
	text-transform: uppercase;
	text-decoration: none;
}

.woocommerce-cart .cart-empty {
	text-align: center;
	margin: 20px 0;
	color: #555;
	font-family: "Open Sans", sans-serif;
}

@media (max-width: 1399px) {
	.mm-cart__recommendations ul.products {
		grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 1199px) {
	.mm-cart__recommendations ul.products {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 991px) {
	.mm-cart {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 767px) {
	.mm-progress {
		font-size: 16px;
	}

	.mm-progress li + li::before {
		margin: 0 12px 2px;
	}

	.mm-cart__recommendations ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.woocommerce-cart .mm-cart .woocommerce-cart-form {
		border: 1px solid #e7e7e7;
		border-top: 3px solid #589f3c;
		padding: 0 12px 12px;
		box-sizing: border-box;
	}

	.woocommerce-cart .mm-cart table.mm-cart__table thead {
		display: none;
	}

	.woocommerce-cart .mm-cart table.mm-cart__table,
	.woocommerce-cart .mm-cart table.mm-cart__table tbody {
		display: block;
		width: 100%;
	}

	.woocommerce-cart .mm-cart table.mm-cart__table tr.cart_item {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 10px;
		padding: 18px 0;
		border-bottom: 1px solid #e7e7e7;
		text-align: center;
	}

	.woocommerce-cart .mm-cart table.mm-cart__table tr.cart_item td {
		display: block;
		width: auto !important;
		padding: 0;
		border: 0;
		background: transparent;
		text-align: center;
	}

	/*
	 * WooCommerce's woocommerce-smallscreen.css turns each cell into a
	 * labelled row: a bold "Product:" / "Quantity:" / "Subtotal:" label
	 * from data-title (just ":" on the image cell, the "two dots" over the
	 * thumbnail) and a grey background on every second item. The stacked
	 * card layout above needs neither (user, 2026-10-13).
	 */
	.woocommerce-cart .mm-cart table.mm-cart__table tr.cart_item td::before {
		content: none;
		display: none;
	}

	/* Quantity pill: smaller on phones than desktop's 184x54. */
	.woocommerce-cart .mm-cart table.mm-cart__table .quantity {
		width: 120px;
		height: 40px;
		padding: 2px 6px;
	}

	.woocommerce-cart .mm-cart table.mm-cart__table .quantity input.qty {
		width: 36px;
		height: 36px;
		font-size: 16px;
	}

	.woocommerce-cart .mm-cart table.mm-cart__table .medimart-qty-btn {
		width: 26px;
		height: 36px;
		font-size: 16px;
	}

	/* Total: the "(includes $X GST)" line sits under the amount, both
	   flush right, so the total lines up under the subtotal. */
	.mm-cart-totals__row.order-total .mm-cart-totals__value {
		display: flex;
		flex-direction: column;
		align-items: flex-end;
	}

	.mm-cart-totals__row.order-total .mm-cart-totals__value small {
		display: block;
		text-align: right;
	}

	.woocommerce-cart .mm-cart table.mm-cart__table td.product-thumbnail {
		padding: 0;
	}

	.mm-cart__thumb {
		margin: 0 auto;
	}

	.woocommerce-cart .mm-cart table.mm-cart__table td.product-name {
		padding: 0;
		font-size: 16px;
		line-height: 1.35;
	}

	.woocommerce-cart .mm-cart table.mm-cart__table td.product-name a {
		font-size: 16px;
	}

	.woocommerce-cart .mm-cart table.mm-cart__table td.product-price,
	.woocommerce-cart .mm-cart table.mm-cart__table td.product-price .amount {
		font-size: 16px;
	}

	.woocommerce-cart .mm-cart table.mm-cart__table td.product-subtotal,
	.woocommerce-cart .mm-cart table.mm-cart__table td.product-subtotal .amount {
		font-size: 17px;
	}

	.woocommerce-cart .mm-cart table.mm-cart__table tr:not(.cart_item) {
		display: block;
	}

	.woocommerce-cart .mm-cart table.mm-cart__table td.actions {
		display: block;
		padding: 16px 0 0;
	}

	.mm-cart__sticky {
		display: block;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 900;
		padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
		background: #fff;
		box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.08);
	}

	.mm-cart__sticky .mm-btn {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 12px;
		width: 100%;
		height: auto;
		padding: 14px 15px;
		border-radius: 4px;
		background: #222529;
		color: #fff;
		font: 800 15px/1.4 "Open Sans", sans-serif;
		letter-spacing: -0.2px;
		text-transform: uppercase;
		/* The static button gets antialiased smoothing from the shared
		   .button rules; without it this one drew heavier on Mac and iOS
		   at the same weight (user, 2026-10-14). */
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}

	body.woocommerce-cart {
		padding-bottom: 80px;
	}

	.mm-cart__recommendations ul.products li.product:nth-child(8) {
		display: block;
	}

	.mm-cart__coupon {
		float: none;
		margin-bottom: 12px;
	}

	.woocommerce-cart .mm-cart table.cart td.actions .coupon .input-text,
	.mm-cart__coupon input.input-text {
		flex: 1 1 auto;
		width: auto;
	}

	.mm-cart__update {
		float: none;
		width: 100%;
	}
}


/* Afterpay's instalment line: its <tr> wrapper is dropped by the parser
   inside our div totals, leaving the placement element itself. Right-align
   it under the price column. */
.mm-cart-totals__rows > afterpay-placement,
.mm-cart-totals__rows > square-placement,
.mm-cart-totals__rows > [data-page-type],
.mm-cart-totals__rows > .afterpay-paragraph,
.mm-cart-totals__rows > p[class*="afterpay"],
.mm-cart-totals afterpay-placement,
.mm-cart-totals square-placement {
	display: flex !important;
	justify-content: flex-end;
	align-items: center;
	width: 100%;
	margin: 12px 0 0 !important;
	padding: 0 10px !important;
	box-sizing: border-box;
	text-align: right;
	font-size: 13px !important;
}

/* "Coupon has been removed." and other WooCommerce notices above the cart:
   the tick sits 24px from the left, so the default 15px padding ran the
   text into it (same fix as checkout.css, user 2026-10-14). The points
   notices are .woocommerce-info with their own icon and spacing. */
.woocommerce-cart .woocommerce-notices-wrapper > .woocommerce-message,
.woocommerce-cart .woocommerce-notices-wrapper > .woocommerce-error {
	padding-left: 48px !important;
}
