/**
 * Cart shell and line items (T11.2).
 *
 * Loaded only on is_cart(). Styles classic table + Cart Block
 * stable wrappers. No wash. No JS-driven layout.
 */

.po-cart.po-main,
main.po-cart {
	padding-block-start: var(--po-space-inset, 2.5rem);
}

.po-cart__intro {
	display: grid;
	gap: 0.75rem;
	margin-block-end: var(--po-space-inset, 2.5rem);
	min-width: 0;
}

.po-cart__chip {
	margin: 0;
	color: var(--po-color-cyan);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.po-cart__title {
	margin: 0;
	max-width: 100%;
	color: var(--po-color-text);
	font-size: clamp(2rem, 6vw, 3.5rem);
	line-height: 1.05;
	overflow-wrap: anywhere;
}

.po-cart__count {
	margin: 0;
	color: var(--po-color-muted);
}

.po-cart__lead {
	margin: 0;
	max-width: 40rem;
	color: var(--po-color-muted);
	overflow-wrap: anywhere;
}

.po-cart__steps {
	min-width: 0;
}

.po-cart__steps-list {
	display: flex;
	flex-wrap: nowrap;
	gap: 1rem;
	margin: 0;
	padding: 0.25rem 0 0;
	list-style: none;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-padding-inline: 0.25rem 0.75rem;
	touch-action: pan-x pan-y;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
}

.po-cart__step {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	flex: 0 0 auto;
	color: var(--po-color-muted);
	white-space: nowrap;
}

.po-cart__step--current {
	color: var(--po-color-text);
}

.po-cart__step-index {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.75rem;
	height: 1.75rem;
	border-radius: 999px;
	background: var(--po-color-surface);
	font-size: 0.75rem;
	font-weight: 700;
}

.po-cart__step--current .po-cart__step-index {
	background: var(--po-color-purple);
	color: var(--po-color-text);
}

.po-cart__content,
.po-cart .woocommerce {
	min-width: 0;
}

.po-cart__notices {
	min-width: 0;
	margin-block-end: 1rem;
}

.po-cart__notices:not(:has(.woocommerce-error, .woocommerce-message, .woocommerce-info, .woocommerce-notices-wrapper:not(:empty), .wc-block-components-notices:not(:empty), .wc-block-components-notice-banner)) {
	display: none;
}

.po-cart__notices:focus {
	outline: 3px solid var(--po-color-cyan);
	outline-offset: 3px;
}

.po-cart .woocommerce-notices-wrapper,
.po-cart .woocommerce-message,
.po-cart .woocommerce-info,
.po-cart .woocommerce-error,
.po-cart .wc-block-components-notice-banner,
.po-cart .po-cart__notices .woocommerce-notices-wrapper {
	background: var(--po-color-surface);
	border-color: var(--po-color-border);
	color: var(--po-color-text);
}

.po-cart .woocommerce-error,
.po-cart .woocommerce-message,
.po-cart .woocommerce-info,
.po-cart .wc-block-components-notice-banner {
	overflow-wrap: anywhere;
}

.po-cart .woocommerce-error,
.po-cart .wc-block-components-notice-banner.is-error {
	border-color: var(--po-color-error);
	color: var(--po-color-error);
}

.po-cart .woocommerce-message,
.po-cart .wc-block-components-notice-banner.is-success {
	border-color: var(--po-color-success);
}

/* Classic two columns: items + totals. Coupon stays in the Woo form. */
@media (min-width: 961px) {
	.po-cart .woocommerce {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(16rem, 22rem);
		gap: var(--po-space-inset, 2.5rem);
		align-items: start;
	}

	.po-cart__notices,
	.po-cart .woocommerce-notices-wrapper,
	.po-cart .woocommerce-info,
	.po-cart .woocommerce-message,
	.po-cart .woocommerce-error,
	.po-cart .return-to-shop {
		grid-column: 1 / -1;
	}

	.po-cart .woocommerce-cart-form,
	.po-cart .wp-block-woocommerce-cart .wc-block-cart__main {
		grid-column: 1;
		min-width: 0;
	}

	.po-cart .cart-collaterals,
	.po-cart .wp-block-woocommerce-cart .wc-block-cart__sidebar {
		grid-column: 2;
		grid-row: 1;
		min-width: 0;
	}
}

.po-cart__list-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-block-end: 1rem;
	color: var(--po-color-muted);
}

.po-cart table.shop_table.cart {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0 0.75rem;
	margin: 0;
}

.po-cart table.shop_table.cart thead th {
	padding: 0 0.75rem 0.5rem;
	border: 0;
	color: var(--po-color-muted);
	font-size: 0.8rem;
	font-weight: 600;
	text-align: start;
}

.po-cart table.shop_table.cart td {
	padding: 1rem 0.75rem;
	border: 0;
	border-top: 1px solid var(--po-color-border);
	border-bottom: 1px solid var(--po-color-border);
	background: var(--po-color-surface);
	vertical-align: middle;
}

.po-cart table.shop_table.cart td:first-child {
	border-inline-start: 1px solid var(--po-color-border);
	border-start-start-radius: var(--po-radius-medium);
	border-end-start-radius: var(--po-radius-medium);
}

.po-cart table.shop_table.cart td:last-child {
	border-inline-end: 1px solid var(--po-color-border);
	border-start-end-radius: var(--po-radius-medium);
	border-end-end-radius: var(--po-radius-medium);
}

.po-cart .po-cart-item__image,
.po-cart .product-thumbnail img,
.po-cart .wc-block-cart-item__image img {
	display: block;
	width: 5.5rem;
	height: 5.5rem;
	object-fit: cover;
	border-radius: var(--po-radius-small);
	background: var(--po-color-surface-alt);
}

/*
 * Cart Block keeps the line-items <table> as display:block, so thead/tbody
 * shrink-wrap and the cover / qty / total fall out of column. Rebuild the
 * row as V4: 110px cover | copy | qty | price, vertically centered.
 */
.po-cart table.wc-block-cart-items,
.po-cart table.wc-block-cart-items thead,
.po-cart table.wc-block-cart-items tbody {
	display: block;
	width: 100%;
}

.po-cart .wc-block-cart-items__header,
.po-cart .wc-block-cart-items__row {
	display: grid;
	grid-template-columns: 6.875rem minmax(0, 1fr) 8.75rem;
	gap: 1.25rem;
	align-items: center;
	width: 100%;
	box-sizing: border-box;
}

.po-cart .wc-block-cart-items__header {
	padding: 0 0.95rem 0.65rem;
	border: 0;
	color: var(--po-color-muted);
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.po-cart .wc-block-cart-items__header-image,
.po-cart .wc-block-cart-items__header-product,
.po-cart .wc-block-cart-items__header-total {
	display: block;
	padding: 0;
	border: 0;
	width: auto;
}

.po-cart .wc-block-cart-items__header-image {
	grid-column: 1 / span 2;
}

.po-cart .wc-block-cart-items__header-total {
	grid-column: 3;
	text-align: end;
}

.po-cart .wc-block-cart-items__row {
	margin-block-end: 0.75rem;
	padding: 0.95rem;
	border: 1px solid var(--po-color-border);
	border-radius: var(--po-radius-medium);
	background: var(--po-color-surface);
}

.po-cart table.wc-block-cart-items,
.po-cart table.wc-block-cart-items .wc-block-cart-items__row > td {
	border: 0;
	box-shadow: none;
}

.po-cart .wc-block-cart-item__image,
.po-cart .wc-block-cart-item__product,
.po-cart .wc-block-cart-item__total {
	display: block;
	width: auto;
	padding: 0;
	border: 0;
	background: transparent;
	vertical-align: middle;
}

.po-cart .wc-block-cart-item__image {
	grid-column: 1;
}

.po-cart .wc-block-cart-item__image a {
	display: block;
	width: 6.875rem;
	height: 6.875rem;
}

.po-cart .wc-block-cart-item__image img {
	width: 6.875rem;
	height: 6.875rem;
}

.po-cart .wc-block-cart-item__product {
	grid-column: 2;
	min-width: 0;
}

.po-cart table.wc-block-cart-items .wc-block-cart-item__wrap {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	column-gap: 1.25rem;
	row-gap: 0.25rem;
}

.po-cart .wc-block-components-product-name,
.po-cart .wc-block-cart-item__prices,
.po-cart .wc-block-components-product-metadata {
	grid-column: 1;
	min-width: 0;
}

.po-cart .wc-block-cart-item__product .wc-block-components-product-name {
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1.3;
}

.po-cart .wc-block-cart-item__prices {
	color: var(--po-color-muted);
	font-size: 0.85rem;
	font-weight: 600;
}

.po-cart .wc-block-cart-item__prices ins,
.po-cart .wc-block-cart-item__prices .wc-block-components-product-price__value {
	color: var(--po-color-yellow);
	font-weight: 700;
	text-decoration: none;
}

.po-cart .wc-block-components-product-metadata {
	color: var(--po-color-muted);
	font-size: 0.8rem;
}

.po-cart table.wc-block-cart-items .wc-block-cart-item__quantity {
	grid-column: 2;
	grid-row: 1 / span 8;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-end;
	gap: 0.5rem;
	align-self: center;
}

.po-cart .wc-block-components-quantity-selector {
	display: grid;
	grid-template-columns: 2.75rem 3.25rem 2.75rem;
	align-items: stretch;
	gap: 0;
	border: 1px solid var(--po-color-border);
	border-radius: var(--po-radius-small);
	overflow: hidden;
	background: var(--po-color-background);
}

.po-cart .wc-block-components-quantity-selector__button,
.po-cart .wc-block-components-quantity-selector__input {
	width: 100%;
	min-width: 0;
	min-height: 2.75rem;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--po-color-text);
	font-size: 1rem;
	text-align: center;
}

.po-cart .wc-block-cart-item__total {
	grid-column: 3;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: center;
	gap: 0.2rem;
	text-align: end;
	font-size: 1.15rem;
	line-height: 1.2;
}

.po-cart .wc-block-cart-item__total .wc-block-components-product-price__value,
.po-cart .wc-block-cart-item__total .wc-block-formatted-money-amount {
	color: var(--po-color-yellow);
}

.po-cart .wc-block-cart-item__total .wc-block-components-sale-badge,
.po-cart .wc-block-cart-item__total .wc-block-components-product-price__regular {
	font-size: 0.75rem;
	font-weight: 600;
}

.po-cart .po-cart-item__title,
.po-cart .product-name a,
.po-cart .wc-block-cart-item__product a {
	color: var(--po-color-text);
	font-weight: 700;
	text-decoration: none;
	overflow-wrap: anywhere;
}

.po-cart .po-cart-item__title:hover,
.po-cart .product-name a:hover {
	color: var(--po-color-cyan);
}

.po-cart .po-cart-item--unavailable .po-cart-item__title {
	color: var(--po-color-muted);
}

.po-cart .variation,
.po-cart .wc-block-components-product-details {
	margin: 0.35rem 0 0;
	color: var(--po-color-muted);
	font-size: 0.875rem;
	overflow-wrap: anywhere;
}

.po-cart .variation dt,
.po-cart .variation dd {
	display: inline;
	margin: 0;
}

.po-cart .variation dd {
	margin-inline-end: 0.75rem;
}

.po-cart-item__facts {
	display: grid;
	gap: 0.2rem;
	margin: 0.5rem 0 0;
	color: var(--po-color-muted);
	font-size: 0.875rem;
}

.po-cart-item__fact {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 0.5rem;
}

.po-cart-item__fact dt {
	margin: 0;
	font-weight: 600;
}

.po-cart-item__fact dt::after {
	content: ":";
}

.po-cart-item__fact dd {
	margin: 0;
	overflow-wrap: anywhere;
}

.po-cart-cell-label {
	display: none;
}

.po-cart .product-price,
.po-cart .product-subtotal,
.po-cart .wc-block-cart-item__total {
	color: var(--po-color-yellow);
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	overflow-wrap: anywhere;
}

.po-cart .product-price del,
.po-cart .product-subtotal del {
	color: var(--po-color-muted);
	font-weight: 500;
}

.po-cart .product-remove .remove,
.po-cart .wc-block-cart-item__remove-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.75rem;
	min-height: 2.75rem;
	color: var(--po-color-muted);
	text-decoration: none;
}

.po-cart .product-remove .remove:hover,
.po-cart .wc-block-cart-item__remove-link:hover {
	color: var(--po-color-danger);
}

.po-cart-qty,
.po-cart .quantity,
.po-cart .wc-block-components-quantity-selector {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
}

.po-cart-qty__field .quantity {
	margin: 0;
}

.po-cart-qty__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.75rem;
	min-height: 2.75rem;
	padding: 0;
	border: 1px solid var(--po-color-border);
	border-radius: var(--po-radius-small);
	background: var(--po-color-background);
	color: var(--po-color-text);
	font-size: 1.25rem;
	line-height: 1;
	cursor: pointer;
}

.po-cart-qty__btn:disabled {
	color: var(--po-color-muted);
	cursor: not-allowed;
}

.po-cart-qty__btn[hidden] {
	display: none;
}

.po-cart .quantity input.qty,
.po-cart .po-cart-qty__input,
.po-cart .wc-block-components-quantity-selector input {
	width: 3.25rem;
	min-width: 3.25rem;
	min-height: 2.75rem;
	font-size: 1rem;
	text-align: center;
	color: var(--po-color-text);
	background: var(--po-color-background);
	border: 1px solid var(--po-color-border);
	border-radius: var(--po-radius-small);
}

.po-cart [name="update_cart"] {
	min-height: 2.75rem;
	padding-inline: 1.1rem;
	border: 1px solid var(--po-color-border);
	border-radius: var(--po-radius-medium);
	background: var(--po-color-surface-alt);
	color: var(--po-color-text);
	font-weight: 700;
}

.po-cart [name="update_cart"]:disabled,
.po-cart [name="update_cart"][aria-disabled="true"] {
	opacity: 0.5;
	cursor: not-allowed;
}

.po-cart .woocommerce-cart-form[data-po-cart-busy="1"] {
	cursor: progress;
	opacity: 0.72;
}

.po-cart .woocommerce-cart-form[data-po-cart-busy="1"] a.remove,
.po-cart a.woocommerce-remove-coupon[aria-disabled="true"],
.po-cart [name="apply_coupon"][aria-disabled="true"] {
	pointer-events: none;
}

.po-cart .coupon,
.po-cart .wc-block-components-totals-coupon {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 0.75rem;
	margin: 1rem 0 0;
}

.po-cart .coupon label,
.po-cart .coupon .screen-reader-text,
.po-cart .wc-block-components-totals-coupon label {
	position: static !important;
	inset: auto;
	width: auto !important;
	height: auto !important;
	margin: 0;
	padding: 0;
	overflow: visible;
	clip: auto !important;
	clip-path: none !important;
	white-space: normal;
	flex: 1 0 100%;
	color: var(--po-color-text);
	font-size: 0.8rem;
	font-weight: 600;
}

.po-cart #coupon_code,
.po-cart .coupon .input-text,
.po-cart .wc-block-components-totals-coupon input {
	flex: 1 1 12rem;
	min-width: 0;
	min-height: 2.75rem;
	padding-inline: 0.85rem;
	border: 1px solid var(--po-color-border);
	border-radius: var(--po-radius-small);
	background: var(--po-color-background);
	color: var(--po-color-text);
	font-size: 1rem;
	overflow-wrap: anywhere;
}

.po-cart [name="apply_coupon"],
.po-cart .wc-block-components-totals-coupon button {
	min-height: 2.75rem;
	padding-inline: 1.1rem;
	border: 1px solid var(--po-color-border);
	border-radius: var(--po-radius-medium);
	background: var(--po-color-surface-alt);
	color: var(--po-color-text);
	font-weight: 700;
}

.po-cart .cart-discount th,
.po-cart .wc-block-components-totals-discount .wc-block-components-totals-item__label {
	color: var(--po-color-text);
	font-weight: 600;
	overflow-wrap: anywhere;
}

.po-cart .cart-discount .amount,
.po-cart .wc-block-components-totals-discount .wc-block-components-totals-item__value {
	color: var(--po-color-success);
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	overflow-wrap: anywhere;
}

.po-cart .woocommerce-remove-coupon,
.po-cart .wc-block-components-totals-discount a {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
	margin-inline-start: 0.35rem;
	color: var(--po-color-cyan);
}

.po-cart .woocommerce-message a:not(.button) {
	color: var(--po-color-cyan);
}

.po-cart .cart-collaterals,
.po-cart .po-cart__summary,
.po-cart .wc-block-cart__sidebar {
	padding: 1.25rem;
	border: 1px solid var(--po-color-border);
	border-radius: var(--po-radius-medium);
	background: var(--po-color-surface);
	min-width: 0;
}

.po-cart .cart-collaterals .po-cart__summary {
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
}

.po-cart .cart_totals h2,
.po-cart .wc-block-components-title {
	margin: 0 0 1rem;
	color: var(--po-color-text);
}

.po-cart .cart_totals table,
.po-cart .wc-block-components-totals-wrapper {
	width: 100%;
	border-collapse: collapse;
}

.po-cart .cart_totals th,
.po-cart .cart_totals td,
.po-cart .wc-block-components-totals-item__label,
.po-cart .wc-block-components-totals-item__value {
	padding: 0.65rem 0;
	border: 0;
	border-bottom: 1px solid var(--po-color-border);
	vertical-align: top;
	overflow-wrap: anywhere;
}

.po-cart .cart_totals th,
.po-cart .wc-block-components-totals-item__label {
	color: var(--po-color-muted);
	font-weight: 600;
	text-align: start;
}

.po-cart .cart_totals td,
.po-cart .wc-block-components-totals-item__value {
	color: var(--po-color-text);
	font-weight: 700;
	text-align: end;
	font-variant-numeric: tabular-nums;
}

.po-cart .cart_totals .cart-subtotal .amount,
.po-cart .cart_totals .fee .amount,
.po-cart .cart_totals .tax-rate .amount,
.po-cart .cart_totals .shipping .amount,
.po-cart .wc-block-components-totals-item__value .amount {
	color: var(--po-color-text);
}

.po-cart .cart_totals .cart-discount .amount,
.po-cart .wc-block-components-totals-discount .wc-block-components-totals-item__value {
	color: var(--po-color-success);
}

.po-cart .cart_totals .order-total th,
.po-cart .cart_totals .order-total td,
.po-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.po-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	border-bottom: 0;
	padding-block-start: 1rem;
	color: var(--po-color-text);
	font-size: 1.15rem;
	font-weight: 800;
}

.po-cart .cart_totals .order-total .amount,
.po-cart .wc-block-components-totals-footer-item .amount {
	color: var(--po-color-yellow);
	font-size: 1.25rem;
}

.po-cart .includes_tax,
.po-cart .woocommerce-shipping-destination,
.po-cart .woocommerce-privacy-policy-text,
.po-cart .woocommerce-terms-and-conditions-wrapper,
.po-cart .wc-cart-shipping-notice,
.po-cart .tax_label {
	display: block;
	margin: 0.75rem 0 0;
	color: var(--po-color-muted);
	font-size: 0.8rem;
	font-weight: 500;
	overflow-wrap: anywhere;
}

.po-cart .woocommerce-shipping-calculator,
.po-cart .shipping-calculator-form,
.po-cart .wc-block-components-totals-shipping {
	margin-block-start: 0.75rem;
}

.po-cart .shipping-calculator-button {
	color: var(--po-color-cyan);
}

.po-cart .wc-proceed-to-checkout {
	margin-block-start: 1.25rem;
}

.po-cart .wc-proceed-to-checkout .checkout-button,
.po-cart .po-cart__checkout,
.po-cart .wc-block-cart__submit-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 2.75rem;
	padding-inline: 1.1rem;
	background: var(--po-gradient-cta);
	color: var(--po-color-text);
	border: 0;
	border-radius: var(--po-radius-medium);
	font-weight: 700;
	text-decoration: none;
	text-align: center;
}

.po-cart .checkout-button.disabled,
.po-cart .checkout-button[aria-disabled="true"],
.po-cart .wc-block-cart__submit-button[disabled],
.po-cart .wc-block-cart__submit-button[aria-disabled="true"] {
	opacity: 0.5;
	pointer-events: none;
}

.po-cart__continue {
	margin: 1.5rem 0 0;
}

.po-cart__continue-link {
	color: var(--po-color-cyan);
	text-decoration: none;
	font-weight: var(--po-font-weight-ui-extrabold);
}

.po-cart__empty {
	display: grid;
	justify-items: center;
	gap: 0.75rem;
	padding: var(--po-space-inset, 2.5rem) var(--po-space-gap, 1rem);
	border: 1px dashed var(--po-color-border);
	border-radius: var(--po-radius-medium);
	background: var(--po-color-surface-alt);
	text-align: center;
}

.po-cart__empty-icon {
	display: grid;
	place-items: center;
	width: 4rem;
	height: 4rem;
	color: var(--po-color-muted);
}

.po-cart__empty-title {
	margin: 0;
	max-width: 100%;
	color: var(--po-color-text);
	font-size: 1.35rem;
	font-weight: 700;
	overflow-wrap: anywhere;
}

.po-cart__empty-text {
	margin: 0;
	max-width: 36rem;
	color: var(--po-color-muted);
	overflow-wrap: anywhere;
}

.po-cart__empty-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	margin: 0.5rem 0 0;
}

.po-cart__empty-link {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
	color: var(--po-color-cyan);
	font-weight: 700;
}

.po-cart:has(.po-cart__empty) .return-to-shop {
	display: none;
}

.po-cart .wc-block-cart__empty-cart,
.po-cart .wc-block-cart-empty-cart {
	text-align: center;
}

.po-cart .cross-sells {
	grid-column: 1 / -1;
	margin-block-start: var(--po-space-inset, 2.5rem);
	min-width: 0;
}

.po-cart .cross-sells:not(:has(.po-card)) {
	display: none;
}

.po-cart .cross-sells > h2 {
	margin: 0 0 1rem;
	color: var(--po-color-text);
}

.po-cart .cross-sells ul.products {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.po-cart :is(a, button, summary, [tabindex]:not([tabindex="-1"])):focus-visible {
	outline: 3px solid var(--po-color-cyan);
	outline-offset: 3px;
}

.po-cart :is(input, select, textarea):focus-visible {
	outline: 3px solid var(--po-color-focus);
	outline-offset: 2px;
}

@media (max-width: 960px) {
	.po-cart table.shop_table.cart,
	.po-cart table.shop_table.cart thead,
	.po-cart table.shop_table.cart tbody,
	.po-cart table.shop_table.cart tfoot,
	.po-cart table.shop_table.cart tr,
	.po-cart table.shop_table.cart th,
	.po-cart table.shop_table.cart td {
		display: block;
		width: 100%;
	}

	.po-cart table.shop_table.cart thead {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		clip-path: inset(50%);
		white-space: nowrap;
		border: 0;
	}

	.po-cart-cell-label {
		display: inline-block;
		min-width: 0;
		color: var(--po-color-muted);
		font-size: 0.8rem;
		font-weight: 600;
		overflow-wrap: anywhere;
	}

	.po-cart-qty {
		width: 100%;
		flex-wrap: wrap;
		justify-content: flex-end;
	}

	.po-cart-qty .po-cart-cell-label {
		flex: 1 1 auto;
		margin-inline-end: auto;
	}

	.po-cart table.shop_table.cart tr.po-cart-item,
	.po-cart table.shop_table.cart tr.cart_item {
		display: grid;
		grid-template-columns: 5.5rem minmax(0, 1fr);
		gap: 0.75rem 1rem;
		margin-block-end: 0.75rem;
		padding: 1rem;
		border: 1px solid var(--po-color-border);
		border-radius: var(--po-radius-medium);
		background: var(--po-color-surface);
	}

	.po-cart table.shop_table.cart td {
		padding: 0;
		border: 0;
		background: transparent;
		border-radius: 0;
	}

	.po-cart table.shop_table.cart td.product-remove {
		grid-column: 2;
		grid-row: 1;
		justify-self: end;
	}

	.po-cart table.shop_table.cart td.product-thumbnail {
		grid-column: 1;
		grid-row: 1 / span 3;
	}

	.po-cart table.shop_table.cart td.product-name {
		grid-column: 2;
	}

	.po-cart table.shop_table.cart td.product-price,
	.po-cart table.shop_table.cart td.product-quantity,
	.po-cart table.shop_table.cart td.product-subtotal {
		grid-column: 2;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		gap: 0.5rem;
	}

	.po-cart .wc-block-cart-items,
	.po-cart .wc-block-cart-items__header,
	.po-cart .wc-block-cart-items__row {
		min-width: 0;
	}

	.po-cart .cart-collaterals,
	.po-cart .po-cart__summary,
	.po-cart .wc-block-cart__sidebar,
	.po-cart .wc-proceed-to-checkout,
	.po-cart .wc-block-cart__submit {
		position: static;
	}
}

@media (max-width: 720px) {
	.po-cart .po-cart-item__image,
	.po-cart .product-thumbnail img,
	.po-cart .wc-block-cart-item__image a,
	.po-cart .wc-block-cart-item__image img {
		width: 4.5rem;
		height: 4.5rem;
	}

	.po-cart table.shop_table.cart tr.cart_item,
	.po-cart table.wc-block-cart-items .wc-block-cart-items__header,
	.po-cart table.wc-block-cart-items .wc-block-cart-items__row,
	.po-cart .wc-block-cart.is-mobile .wc-block-cart-items__row,
	.po-cart .wc-block-cart.is-small .wc-block-cart-items__row {
		grid-template-columns: 4.5rem minmax(0, 1fr);
	}

	.po-cart .wc-block-cart-items__header-image {
		grid-column: 1 / -1;
	}

	.po-cart .wc-block-cart-items__header-total {
		display: none;
	}

	.po-cart table.wc-block-cart-items .wc-block-cart-item__image,
	.po-cart .wc-block-cart.is-mobile table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image,
	.po-cart .wc-block-cart.is-small table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image {
		grid-column: 1;
		grid-row: 1 / span 2;
	}

	.po-cart table.wc-block-cart-items .wc-block-cart-item__product,
	.po-cart .wc-block-cart.is-mobile table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product,
	.po-cart .wc-block-cart.is-small table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product {
		grid-column: 2;
		grid-row: 1;
		min-width: 0;
	}

	.po-cart table.wc-block-cart-items .wc-block-cart-item__wrap {
		grid-template-columns: minmax(0, 1fr);
	}

	.po-cart table.wc-block-cart-items .wc-block-cart-item__quantity {
		grid-column: 1;
		grid-row: auto;
		justify-content: flex-start;
	}

	.po-cart table.wc-block-cart-items .wc-block-cart-item__total,
	.po-cart .wc-block-cart.is-mobile table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total,
	.po-cart .wc-block-cart.is-small table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total {
		grid-column: 2;
		grid-row: 2;
		align-items: flex-start;
		justify-content: flex-start;
		text-align: start;
	}

	.po-cart .cross-sells ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 961px) and (min-height: 720px) {
	.po-cart .cart-collaterals,
	.po-cart .wc-block-cart__sidebar {
		position: sticky;
		top: max(1rem, calc(env(safe-area-inset-top, 0px) + 8.75rem));
		z-index: var(--po-z-content, 2);
		max-height: calc(100vh - 10rem);
		max-height: calc(100dvh - 10rem);
		max-height: calc(100svh - 10rem);
		overflow: auto;
		overscroll-behavior: contain;
	}
}

@media (max-width: 400px) {
	.po-cart-qty__btn,
	.po-cart .product-remove .remove,
	.po-cart .woocommerce-remove-coupon {
		min-width: 2.75rem;
		min-height: 2.75rem;
	}

	.po-cart .cart-collaterals,
	.po-cart .wc-block-cart__sidebar {
		padding: 1rem;
	}

	.po-cart .cross-sells ul.products {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (prefers-reduced-motion: reduce) {
	.po-cart * {
		scroll-behavior: auto;
	}

	.po-cart .woocommerce-cart-form[data-po-cart-busy="1"] {
		opacity: 1;
	}

	.po-cart .cart-collaterals,
	.po-cart .wc-block-cart__sidebar {
		position: static;
	}
}

@media (forced-colors: active) {
	.po-cart table.shop_table.cart td,
	.po-cart .cart-collaterals,
	.po-cart .wc-block-cart__sidebar {
		border: 1px solid CanvasText;
	}

	.po-cart :is(a, button, input, select, textarea, [tabindex]:not([tabindex="-1"])):focus-visible {
		outline: 3px solid Highlight;
	}
}

body.po-payment-links .po-cart .wc-proceed-to-checkout,
body.po-payment-links .po-cart .checkout-button,
body.po-payment-links .po-cart .wc-block-cart__submit-button,
body.po-payment-links .po-cart .wc-block-cart__submit-container {
	display: none !important;
}

@media print {
	.po-cart__steps,
	.po-cart .product-remove,
	.po-cart .wc-proceed-to-checkout {
		display: none;
	}
}
