/* M13B Cart presentation. Scoped strictly to the canonical cart page. */
body.woocommerce-cart .entry-header { display: none; }
body.woocommerce-cart .rakata-cart-shell { width: min(100% - 2rem, 75rem); margin: 0 auto; color: var(--rk-ink-900); }
body.woocommerce-cart .rakata-cart-intro { max-width: 44rem; margin: 0 0 clamp(1.25rem, 2.5vw, 2rem); }
body.woocommerce-cart .rakata-cart-intro__title { margin: 0; font-family: var(--rk-font-display); font-size: clamp(2rem, 4vw, 3.25rem); line-height: 1.05; }
body.woocommerce-cart .rakata-cart-intro__description { display: none; }
body.woocommerce-cart .rakata-cart-shell .wc-block-components-sidebar-layout { grid-template-columns: minmax(0, 1.8fr) minmax(20rem, 1fr); gap: clamp(1rem, 2.5vw, 2rem); align-items: start; }
body.woocommerce-cart .rakata-cart-shell .wc-block-cart__main, body.woocommerce-cart .rakata-cart-shell .wc-block-components-sidebar { padding: clamp(1rem, 2vw, 1.5rem); border: 1px solid rgba(92, 54, 32, 0.16); border-radius: 1.25rem; background: rgba(255, 250, 241, 0.94); box-shadow: 0 0.75rem 2rem rgba(99, 63, 34, 0.08); }
body.woocommerce-cart .rakata-cart-shell .wc-block-components-sidebar { position: sticky; top: 1.25rem; }
body.woocommerce-cart .rakata-cart-shell .wc-block-cart__main, body.woocommerce-cart .rakata-cart-shell .wc-block-cart-items, body.woocommerce-cart .rakata-cart-shell .wc-block-cart-items tbody { display: block; width: 100%; height: auto !important; max-height: none !important; overflow: visible !important; overflow-y: visible !important; }
body.woocommerce-cart .rakata-cart-shell .wc-block-cart-items thead { display: none; }
body.woocommerce-cart .rakata-cart-shell .wc-block-cart-items tbody { display: grid; gap: 0.375rem; }
body.woocommerce-cart .rakata-cart-shell .wc-block-cart-items__row { display: grid; grid-template-columns: 6.25rem minmax(0, 1fr) auto; grid-template-areas: "image product total"; gap: 1rem; align-items: start; padding: 0.5rem 0; border: 0; border-bottom: 1px solid rgba(92, 54, 32, 0.13); background: transparent; }
body.woocommerce-cart .rakata-cart-shell .wc-block-cart-items__row:last-child { border-bottom: 0; }
/* The Cart Block table cells are presentation-only here; remove their nested frame lines. */
body.woocommerce-cart .rakata-cart-shell .wc-block-cart-items__row > td, body.woocommerce-cart .rakata-cart-shell .wc-block-cart-item__image, body.woocommerce-cart .rakata-cart-shell .wc-block-cart-item__product, body.woocommerce-cart .rakata-cart-shell .wc-block-cart-item__total { padding: 0 !important; border: 0 !important; outline: 0; box-shadow: none; background: transparent; }
body.woocommerce-cart .rakata-cart-shell .wc-block-cart-item__image > a, body.woocommerce-cart .rakata-cart-shell .wc-block-cart-item__product > *, body.woocommerce-cart .rakata-cart-shell .wc-block-cart-item__total > * { border-color: transparent; }
body.woocommerce-cart .rakata-cart-shell .wc-block-cart-item__image { grid-area: image; inline-size: 6.25rem; max-inline-size: 6.25rem; overflow: hidden; transform: translateY(20px); }
body.woocommerce-cart .rakata-cart-shell .wc-block-cart-item__image > a { display: block; inline-size: 100%; block-size: 6.25rem; padding: 0 !important; margin: 0; overflow: hidden; border-radius: .875rem; background: transparent !important; }
body.woocommerce-cart .rakata-cart-shell .wc-block-cart-item__image img { display: block; width: 6.25rem; height: 6.25rem; object-fit: contain; border-radius: 0.875rem; background: #f4e8da; }
body.woocommerce-cart .rakata-cart-shell .wc-block-cart-item__product { grid-area: product; box-sizing: border-box; inline-size: calc(100% - 20px); min-width: 0; padding-inline-start: .875rem !important; transform: translateX(20px); }
body.woocommerce-cart .rakata-cart-shell .wc-block-components-product-name { margin: 0; font-family: var(--rk-font-display); font-size: 1.15rem; line-height: 1.25; }
body.woocommerce-cart .rakata-cart-shell .wc-block-cart-item__prices { margin: 0.25rem 0 0.5rem; color: var(--rk-ink-600); }
body.woocommerce-cart .rakata-cart-shell .wc-block-cart-item__quantity { display: flex; flex-wrap: nowrap; gap: .5rem; align-items: center; min-height: 2.75rem; }
body.woocommerce-cart .rakata-cart-shell .wc-block-components-quantity-selector { display: inline-flex; flex: 0 0 auto; width: 6.75rem; max-width: none; min-width: 0; margin: 0; overflow: hidden; border-radius: .75rem; }
body.woocommerce-cart .rakata-cart-shell .wc-block-components-quantity-selector button { flex: 0 0 2.25rem; width: 2.25rem; min-width: 2.25rem; min-height: 2.75rem; padding: 0; }
body.woocommerce-cart .rakata-cart-shell .wc-block-components-quantity-selector input { flex: 1 1 auto; width: 2.25rem; min-width: 0; min-height: 2.75rem; padding-inline: .25rem; text-align: center; }
body.woocommerce-cart .rakata-cart-shell .wc-block-cart-item__remove-link { display: inline-flex; flex: 0 0 2.75rem; width: 2.75rem; min-width: 2.75rem; min-height: 2.75rem; align-items: center; justify-content: center; padding: 0; margin: 0; }
body.woocommerce-cart .rakata-cart-shell .rakata-cart-item--removing { opacity: .62; pointer-events: none; }
body.woocommerce-cart .rakata-cart-shell .wc-block-cart-item__total { grid-area: total; align-self: start; min-width: 7rem; text-align: right; }
body.woocommerce-cart .rakata-cart-shell .wc-block-components-totals-heading, body.woocommerce-cart .rakata-cart-shell .wc-block-components-order-summary__title { font-family: var(--rk-font-display); font-size: 1.5rem; }
body.woocommerce-cart .rakata-cart-shell .wc-block-components-totals-coupon-link { color: var(--rk-red-700); font-weight: 700; }
body.woocommerce-cart .rakata-cart-shell .wc-block-components-totals-coupon-link, body.woocommerce-cart .rakata-cart-shell .wc-block-components-totals-heading, body.woocommerce-cart .rakata-cart-shell .wc-block-components-order-summary__title, body.woocommerce-cart .rakata-cart-shell .wc-block-cart__submit-button { font-size: 0; }
body.woocommerce-cart .rakata-cart-shell .wc-block-components-totals-coupon-link::after { content: "Punya kode kupon?"; font-size: 0.9375rem; }
body.woocommerce-cart .rakata-cart-shell .wc-block-components-totals-heading::after, body.woocommerce-cart .rakata-cart-shell .wc-block-components-order-summary__title::after { content: "Ringkasan Belanja"; font-size: 1.5rem; }
body.woocommerce-cart .rakata-cart-shell .wc-block-cart__submit-button::after { content: "Lanjutkan ke Checkout"; font-size: 1rem; }
body.woocommerce-cart .rakata-cart-shell .wc-block-cart-item__quantity::before { content: none; }
body.woocommerce-cart .rakata-cart-shell .wc-block-cart__submit-button { min-height: 3.25rem; border-radius: 0.75rem; background: var(--rk-red-700); }
body.woocommerce-cart .rakata-cart-shell .rakata-cart-continue { display: none; align-items: center; justify-content: center; min-height: 2.75rem; margin-top: 1rem; padding: 0.5rem 1rem; border: 1px solid rgba(128, 42, 29, 0.35); border-radius: 0.75rem; color: var(--rk-red-700); font-weight: 700; text-decoration: none; }
body.woocommerce-cart .rakata-cart-shell:has(.wc-block-cart-items__row) > .rakata-cart-continue { display: inline-flex; }
body.woocommerce-cart .rakata-cart-shell .wc-block-woocommerce-empty-cart-block { max-width: 38rem; margin: 0 auto; padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid rgba(92, 54, 32, 0.16); border-radius: 1.25rem; background: rgba(255, 250, 241, 0.94); text-align: center; }
body.woocommerce-cart .rakata-cart-empty__description { margin: 0.75rem auto 1.25rem; color: var(--rk-ink-600); }
body.woocommerce-cart .rakata-cart-empty__link { display: inline-flex; align-items: center; justify-content: center; min-height: 2.75rem; padding: 0.5rem 1rem; border-radius: 0.75rem; background: var(--rk-red-700); color: #fff; font-weight: 700; text-decoration: none; }
body.woocommerce-cart .rakata-cart-shell .wp-block-woocommerce-empty-cart-block > hr, body.woocommerce-cart .rakata-cart-shell .wp-block-woocommerce-empty-cart-block > h2:not(.wc-block-cart__empty-cart__title), body.woocommerce-cart .rakata-cart-shell .wp-block-woocommerce-empty-cart-block > .wc-block-grid { display: none; }
@media (max-width: 47.99rem) { body.woocommerce-cart .rakata-cart-shell { width: min(100% - 1.25rem, 38rem); } body.woocommerce-cart .rakata-cart-shell .wc-block-components-sidebar-layout { display: grid; grid-template-columns: minmax(0, 1fr); } body.woocommerce-cart .rakata-cart-shell .wc-block-components-sidebar { position: static; } body.woocommerce-cart .rakata-cart-shell .wc-block-cart-items__row { grid-template-columns: 5rem minmax(0, 1fr); grid-template-areas: "image product" "total total"; gap: 0.75rem; } body.woocommerce-cart .rakata-cart-shell .wc-block-cart-item__image, body.woocommerce-cart .rakata-cart-shell .wc-block-cart-item__image img { width: 5rem; height: 5rem; } body.woocommerce-cart .rakata-cart-shell .wc-block-cart-item__total { padding-top: 0.75rem; border-top: 1px solid rgba(92, 54, 32, 0.13); } }

/* M14A-Q1: stable mobile cart card contract; no translated content columns. */
@media (max-width: 47.99rem) {
	body.woocommerce-cart .rakata-cart-shell .wc-block-cart-items__row { grid-template-columns: 5rem minmax(0, 1fr); grid-template-areas: "image product" "total total"; gap: .875rem 1rem; align-items: start; padding: 1rem 0; }
	body.woocommerce-cart .rakata-cart-shell .wc-block-cart-item__image { inline-size: 5rem; max-inline-size: 5rem; transform: none; }
	body.woocommerce-cart .rakata-cart-shell .wc-block-cart-item__image > a, body.woocommerce-cart .rakata-cart-shell .wc-block-cart-item__image img { inline-size: 5rem; block-size: 5rem; }
	body.woocommerce-cart .rakata-cart-shell .wc-block-cart-item__product { inline-size: auto; min-width: 0; padding-inline-start: 0 !important; transform: none; }
	body.woocommerce-cart .rakata-cart-shell .wc-block-cart-item__product > *, body.woocommerce-cart .rakata-cart-shell .wc-block-components-product-name, body.woocommerce-cart .rakata-cart-shell .wc-block-cart-item__prices { min-width: 0; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
	body.woocommerce-cart .rakata-cart-shell .wc-block-components-product-name { display: block; line-height: 1.25; }
	body.woocommerce-cart .rakata-cart-shell .wc-block-cart-item__prices { display: flex; flex-wrap: wrap; gap: .2rem .45rem; margin-block: .4rem .65rem; }
	body.woocommerce-cart .rakata-cart-shell .wc-block-cart-item__quantity { flex-wrap: wrap; gap: .5rem; min-width: 0; }
	body.woocommerce-cart .rakata-cart-shell .wc-block-cart-item__total { grid-area: total; display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .4rem .75rem; inline-size: 100%; min-width: 0; padding-top: .75rem; border-top: 1px solid rgba(92, 54, 32, .13) !important; text-align: left; }
	body.woocommerce-cart .rakata-cart-shell .wc-block-cart-item__total > * { min-width: 0; max-width: 100%; margin-inline-start: 0; white-space: normal; overflow-wrap: anywhere; }
	body.woocommerce-cart .rakata-cart-shell .wc-block-cart-item__total .wc-block-components-product-price { margin-inline-start: auto; text-align: right; }
}


/* M14A-Q1: remove cart block pseudo labels that duplicate item content. */
@media (max-width: 47.99rem) {
 body.woocommerce-cart .rakata-cart-shell .wc-block-cart-item__product::before,
 body.woocommerce-cart .rakata-cart-shell .wc-block-cart-item__product::after,
 body.woocommerce-cart .rakata-cart-shell .wc-block-cart-item__total::before,
 body.woocommerce-cart .rakata-cart-shell .wc-block-cart-item__total::after,
body.woocommerce-cart .rakata-cart-shell .wc-block-cart-item__total .wc-block-components-product-price::before,
body.woocommerce-cart .rakata-cart-shell .wc-block-cart-item__total .wc-block-components-product-price::after { content: none !important; display: none !important; }
}

/* Final mobile card contract: keep the product copy above a stable bottom action row. */
@media (max-width: 47.99rem) {
	body.woocommerce-cart .rakata-cart-shell table.wc-block-cart-items tr.wc-block-cart-items__row {
		grid-template-columns: 5rem minmax(0, 1fr);
		grid-template-areas: "image product" "image total";
		align-items: stretch;
	}
	body.woocommerce-cart .rakata-cart-shell table.wc-block-cart-items .wc-block-cart-item__product {
		display: flex;
		flex-direction: column;
		min-height: 7.25rem;
	}
	body.woocommerce-cart .rakata-cart-shell table.wc-block-cart-items .wc-block-cart-item__quantity { margin-top: auto; }
	body.woocommerce-cart .rakata-cart-shell table.wc-block-cart-items .wc-block-cart-item__total {
		align-self: end;
		justify-content: flex-end;
		inline-size: 100%;
		min-width: 0;
		padding: 0;
		border: 0 !important;
		text-align: right;
	}
	body.woocommerce-cart .rakata-cart-shell table.wc-block-cart-items .wc-block-cart-item__total > * {
		margin: 0;
		max-width: 100%;
		white-space: nowrap;
	}
}

/* Owner UAT: keep the native quantity/remove controls beneath the image on mobile. */
@media (max-width: 47.99rem) {
	body.woocommerce-cart .rakata-cart-shell table.wc-block-cart-items tr.wc-block-cart-items__row {
		grid-template-areas: "image product" "image total";
	}

	body.woocommerce-cart .rakata-cart-shell table.wc-block-cart-items .wc-block-cart-item__product {
		min-height: 8.5rem;
	}

	body.woocommerce-cart .rakata-cart-shell table.wc-block-cart-items .wc-block-cart-item__quantity {
		flex-wrap: nowrap;
		width: max-content;
		margin-top: auto;
		transform: translateX(calc(-5rem - 1rem));
	}

	body.woocommerce-cart .rakata-cart-shell table.wc-block-cart-items .wc-block-cart-item__total {
		justify-content: flex-end;
		white-space: nowrap;
		transform: translateY(-1rem);
	}
}
