/* ==========================================================================
   Cart page presentation (oye-crunch/cart-intro + native WooCommerce cart)

   Styles WooCommerce's own markup only. Never hides or reorders totals,
   coupon, shipping, tax, quantity, remove or checkout controls, and never
   hides product metadata (where variation and combo details appear).
   Covers both the Cart block and the classic [woocommerce_cart] shortcode.
   Restrained: cream + aubergine, lime only for the primary action.
   ========================================================================== */

.oye-cart-main {
	--oye-cart-line: color-mix(in srgb, var(--oye-aubergine, #210D35) 16%, transparent);
	color: var(--oye-aubergine, #210D35);
	font-family: var(--oye-font-body, system-ui, sans-serif);
	padding-bottom: clamp(2.64rem, 5.95vw, 4.4rem);
}

/* --------------------------------------------------------------------------
   Intro
   -------------------------------------------------------------------------- */

.oye-cart-intro {
	padding-block: clamp(1.75rem, 4.25vw, 3.08rem) 1rem;
}

.oye-cart-intro__inner {
	display: grid;
	gap: 1rem;
	grid-template-columns: minmax(0, 1fr);
}

.oye-cart-intro__head {
	align-items: end;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 2rem;
	justify-content: space-between;
}

.oye-cart-intro__title {
	font-family: var(--oye-font-display, Georgia, serif);
	font-size: clamp(2.024rem, 5.355vw, 3.564rem);
	font-weight: 800;
	letter-spacing: -0.035em;
	line-height: 0.95;
	margin: 0;
}

.oye-cart-intro__back {
	align-items: center;
	color: inherit;
	display: inline-flex;
	font-weight: 600;
	gap: 0.25rem;
	min-height: 2.75rem;
	text-decoration: underline;
	text-underline-offset: 0.25em;
}

.oye-cart-intro__back .oye-icon {
	height: 1.125rem;
	width: 1.125rem;
}

.oye-cart-intro__support {
	border-inline-start: 3px solid var(--oye-lilac, #E6D6F3);
	line-height: 1.5;
	margin: 0;
	max-width: 60ch;
	padding-inline-start: 0.875rem;
}

.oye-cart-intro__support a {
	color: inherit;
	font-weight: 600;
	margin-inline-start: 0.375rem;
	text-underline-offset: 0.2em;
}

.oye-cart-intro__empty {
	background-color: var(--oye-white, #FFFFFF);
	box-shadow: 5px 7px 0 color-mix(in srgb, var(--oye-aubergine, #210D35) 12%, transparent);
	display: grid;
	gap: 0.875rem;
	justify-items: start;
	margin-top: 0.5rem;
	max-width: 34rem;
	padding: clamp(1.25rem, 4vw, 2rem);
	transform: rotate(-1deg);
}

.oye-cart-intro__empty-title {
	font-family: var(--oye-font-display, Georgia, serif);
	font-size: clamp(1.5rem, 4vw, 2rem);
	font-weight: 750;
	line-height: 1.1;
	margin: 0;
}

.oye-cart-intro__empty-text {
	line-height: 1.55;
	margin: 0;
}

[data-oye-cart-when][hidden] {
	display: none !important;
}

/* --------------------------------------------------------------------------
   Shared: native buttons and inputs inside the cart
   -------------------------------------------------------------------------- */

.oye-cart-content {
	--oye-focus-color: var(--oye-aubergine, #210D35);
}

/* Primary action: proceed to checkout (block + classic). Lime, clear. */
.oye-cart-main .wc-block-cart__submit-button,
.oye-cart-main .wc-proceed-to-checkout .checkout-button {
	background-color: var(--oye-lime, #D7F75B) !important;
	border: 2px solid var(--oye-aubergine, #210D35) !important;
	border-radius: var(--oye-btn-radius, 0.625rem) !important;
	box-shadow: 3px 4px 0 var(--oye-aubergine, #210D35);
	color: var(--oye-aubergine, #210D35) !important;
	font-family: var(--oye-font-body, system-ui, sans-serif);
	font-size: 1.0625rem !important;
	font-weight: 700 !important;
	min-height: 3.25rem;
	text-decoration: none !important;
}

.oye-cart-main .wc-block-cart__submit-button:hover,
.oye-cart-main .wc-proceed-to-checkout .checkout-button:hover {
	box-shadow: 1px 2px 0 var(--oye-aubergine, #210D35);
	transform: translate(2px, 2px);
}

/* Secondary buttons (apply coupon, update cart, calculate shipping): the
   shared raised shape in cream. */
.oye-cart-main .wc-block-components-totals-coupon__button,
.oye-cart-main .woocommerce-cart-form button[name="apply_coupon"],
.oye-cart-main .woocommerce-cart-form button[name="update_cart"],
.oye-cart-main .shipping-calculator-form button,
.oye-cart-main .return-to-shop .button {
	background-color: #FFFDF8 !important;
	border: 2px solid var(--oye-aubergine, #210D35) !important;
	border-radius: var(--oye-btn-radius, 0.625rem) !important;
	box-shadow: 3px 4px 0 var(--oye-aubergine, #210D35);
	color: var(--oye-aubergine, #210D35) !important;
	font-weight: 700;
	min-height: 2.75rem;
	padding-inline: 1rem;
}

.oye-cart-main .woocommerce-cart-form button[name="update_cart"]:disabled {
	opacity: 0.5;
}

/* Inputs (coupon, quantity, shipping calculator). */
.oye-cart-main .wc-block-components-text-input input,
.oye-cart-main .woocommerce-cart-form input.input-text,
.oye-cart-main .woocommerce-cart-form .qty,
.oye-cart-main .shipping-calculator-form input,
.oye-cart-main .shipping-calculator-form select {
	border: 2px solid var(--oye-aubergine, #210D35) !important;
	border-radius: var(--oye-radius-md, 0.375rem) !important;
	color: var(--oye-aubergine, #210D35);
	font-size: 1rem;
	min-height: 2.75rem;
}

/* Notices: out-of-stock / changed items, coupon results. */
.oye-cart-main .wc-block-components-notice-banner,
.oye-cart-main .woocommerce-error,
.oye-cart-main .woocommerce-message,
.oye-cart-main .woocommerce-info {
	background-color: var(--oye-white, #FFFFFF);
	border: 0;
	border-inline-start: 4px solid var(--oye-aubergine, #210D35);
	border-radius: 0;
	color: var(--oye-aubergine, #210D35);
	list-style: none;
	padding: 0.875rem 1rem;
}

.oye-cart-main .wc-block-components-notice-banner.is-error,
.oye-cart-main .woocommerce-error {
	border-inline-start-color: #B3261E;
}

.oye-cart-main .wc-block-components-notice-banner.is-success,
.oye-cart-main .woocommerce-message {
	border-inline-start-color: var(--oye-lime, #D7F75B);
}

/* --------------------------------------------------------------------------
   Cart block
   -------------------------------------------------------------------------- */

.oye-cart-main .wc-block-cart {
	gap: clamp(1.5rem, 4vw, 3rem);
}

.oye-cart-main .wc-block-cart-items {
	border-collapse: collapse;
}

.oye-cart-main .wc-block-cart-items__header {
	border-bottom: 2px solid var(--oye-aubergine, #210D35);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.02em;
}

.oye-cart-main .wc-block-cart-items__row {
	border-bottom: 1px solid var(--oye-cart-line);
}

.oye-cart-main .wc-block-cart-item__image img {
	background-color: var(--oye-lilac, #E6D6F3);
	object-fit: contain;
	padding: 0.25rem;
}

.oye-cart-main .wc-block-components-product-name {
	color: inherit;
	font-family: var(--oye-font-display, Georgia, serif);
	font-size: 1.1875rem;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
}

.oye-cart-main .wc-block-components-product-name:hover {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.oye-cart-main .wc-block-components-product-metadata,
.oye-cart-main .wc-block-components-product-details {
	color: var(--oye-aubergine-soft, #5B4A6E);
	font-size: 0.875rem;
	line-height: 1.45;
}

.oye-cart-main .wc-block-components-product-badge {
	background-color: var(--oye-cream, #FFF7EA);
	border: 1.5px solid var(--oye-aubergine, #210D35);
	border-radius: var(--oye-radius-sm, 0.25rem);
	color: var(--oye-aubergine, #210D35);
	font-size: 0.75rem;
	font-weight: 700;
}

.oye-cart-main .wc-block-components-quantity-selector {
	border: 2px solid var(--oye-aubergine, #210D35);
	border-radius: var(--oye-radius-md, 0.375rem);
}

.oye-cart-main .wc-block-components-quantity-selector::after {
	border: 0 !important;
}

.oye-cart-main .wc-block-components-quantity-selector__button {
	color: var(--oye-aubergine, #210D35);
	min-width: 2.5rem;
}

.oye-cart-main .wc-block-cart-item__remove-link {
	background: none !important;
	border: 0 !important;
	color: inherit !important;
	padding: 0 !important;
	font-size: 0.875rem !important;
	min-height: 2.75rem;
	text-decoration: underline !important;
	text-underline-offset: 0.2em;
}

/* Sidebar: totals card, quieter than the product list. */
.oye-cart-main .wc-block-cart__sidebar,
.oye-cart-main .wp-block-woocommerce-cart-totals-block {
	background-color: var(--oye-white, #FFFFFF);
	box-shadow: 0 0 0 2px var(--oye-aubergine, #210D35);
	padding: clamp(1rem, 3vw, 1.5rem) !important;
}

.oye-cart-main .wc-block-cart__totals-title {
	font-family: var(--oye-font-display, Georgia, serif) !important;
	font-size: 1.5rem !important;
	font-weight: 750 !important;
	text-transform: none !important;
}

.oye-cart-main .wc-block-components-totals-wrapper {
	border-color: var(--oye-cart-line) !important;
}

.oye-cart-main .wc-block-components-totals-footer-item {
	font-size: 1.1875rem;
}

.oye-cart-main .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-family: var(--oye-font-display, Georgia, serif);
	font-weight: 800;
}

.oye-cart-main .wc-block-components-panel__button {
	color: inherit;
	font-weight: 600;
	min-height: 2.75rem;
}

/* Cart block's own mobile sticky checkout container: keep it, make it clear,
   and respect the home-indicator area. The theme adds no other bottom bar on
   this page, so nothing overlaps it. */
.oye-cart-main .wc-block-cart__submit-container--sticky {
	background-color: var(--oye-cream, #FFF7EA) !important;
	border-top: 2px solid var(--oye-aubergine, #210D35);
	padding-bottom: max(1rem, env(safe-area-inset-bottom)) !important;
}

.oye-cart-main .wc-block-cart__submit-container--sticky::before {
	box-shadow: none !important;
}

/* Native empty-cart block content. */
.oye-cart-main .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title {
	font-family: var(--oye-font-display, Georgia, serif);
	font-weight: 750;
}

/* --------------------------------------------------------------------------
   Combo / bundle line items (rendered by the combo plugin)
   The container row keeps full styling; child rows are indented with a
   hand-drawn guide so selections read as part of the combo. Selectors cover
   common bundle plugins' documented classes; unknown plugins still render
   their own markup untouched.
   -------------------------------------------------------------------------- */

.oye-cart-main .wc-block-cart-items__row.is-bundle-container,
.oye-cart-main .wc-block-cart-items__row.is-composite-container,
.oye-cart-main tr.bundle_table_item,
.oye-cart-main tr.woosb-cart-parent {
	background-color: color-mix(in srgb, var(--oye-lilac, #E6D6F3) 22%, transparent);
}

.oye-cart-main .wc-block-cart-items__row.is-bundled-item,
.oye-cart-main .wc-block-cart-items__row.is-composited-item,
.oye-cart-main tr.bundled_table_item,
.oye-cart-main tr.woosb-cart-child {
	background-color: color-mix(in srgb, var(--oye-lilac, #E6D6F3) 10%, transparent);
	border-bottom-style: dashed;
}

.oye-cart-main .wc-block-cart-items__row.is-bundled-item .wc-block-cart-item__product,
.oye-cart-main .wc-block-cart-items__row.is-composited-item .wc-block-cart-item__product,
.oye-cart-main tr.bundled_table_item td.product-name,
.oye-cart-main tr.woosb-cart-child td.product-name {
	border-inline-start: 2px dashed var(--oye-aubergine, #210D35);
	padding-inline-start: 1rem !important;
}

.oye-cart-main .wc-block-cart-items__row.is-bundled-item .wc-block-components-product-name,
.oye-cart-main tr.bundled_table_item td.product-name a,
.oye-cart-main tr.woosb-cart-child td.product-name a {
	font-size: 1rem;
}

/* --------------------------------------------------------------------------
   Classic cart ([woocommerce_cart])
   -------------------------------------------------------------------------- */

.oye-cart-main table.shop_table.cart {
	border: 0;
	border-collapse: collapse;
	width: 100%;
}

.oye-cart-main table.shop_table.cart thead th {
	border-bottom: 2px solid var(--oye-aubergine, #210D35);
	font-size: 0.8125rem;
	font-weight: 700;
	padding: 0.75rem 0.5rem;
	text-align: start;
}

.oye-cart-main table.shop_table.cart td {
	border-bottom: 1px solid var(--oye-cart-line);
	padding: 1rem 0.5rem;
	vertical-align: middle;
}

.oye-cart-main table.shop_table.cart td.product-name a {
	color: inherit;
	font-family: var(--oye-font-display, Georgia, serif);
	font-size: 1.1875rem;
	font-weight: 700;
	text-decoration: none;
}

.oye-cart-main table.shop_table.cart td.product-name dl.variation {
	color: var(--oye-aubergine-soft, #5B4A6E);
	font-size: 0.875rem;
	margin: 0.375rem 0 0;
}

.oye-cart-main table.shop_table.cart .qty {
	box-sizing: border-box;
	text-align: center;
	width: 4.5rem;
}

.oye-cart-main table.shop_table.cart td.product-thumbnail img {
	background-color: var(--oye-lilac, #E6D6F3);
	height: auto;
	padding: 0.25rem;
	width: 4.5rem;
}

.oye-cart-main table.shop_table.cart a.remove {
	align-items: center;
	border: 1.5px solid currentColor;
	border-radius: 50%;
	color: var(--oye-aubergine, #210D35) !important;
	display: inline-flex;
	font-size: 1.25rem;
	height: 2.75rem;
	justify-content: center;
	text-decoration: none;
	width: 2.75rem;
}

.oye-cart-main table.shop_table.cart a.remove:hover {
	background-color: var(--oye-aubergine, #210D35);
	color: var(--oye-cream, #FFF7EA) !important;
}

.oye-cart-main table.shop_table.cart td.actions .coupon {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.oye-cart-main .cart-collaterals .cart_totals {
	background-color: var(--oye-white, #FFFFFF);
	box-shadow: 0 0 0 2px var(--oye-aubergine, #210D35);
	margin-top: 2rem;
	padding: clamp(1rem, 3vw, 1.5rem);
}

.oye-cart-main .cart_totals h2 {
	font-family: var(--oye-font-display, Georgia, serif);
	font-size: 1.5rem;
	font-weight: 750;
	margin: 0 0 1rem;
}

.oye-cart-main .cart_totals table {
	border-collapse: collapse;
	width: 100%;
}

.oye-cart-main .cart_totals th,
.oye-cart-main .cart_totals td {
	border-bottom: 1px solid var(--oye-cart-line);
	padding: 0.75rem 0;
	text-align: start;
	vertical-align: top;
}

.oye-cart-main .cart_totals td {
	text-align: end;
}

.oye-cart-main .cart_totals .order-total td {
	font-family: var(--oye-font-display, Georgia, serif);
	font-size: 1.25rem;
	font-weight: 800;
}

.oye-cart-main .wc-proceed-to-checkout {
	padding-top: 1rem;
}

.oye-cart-main .wc-proceed-to-checkout .checkout-button {
	align-items: center;
	display: flex;
	justify-content: center;
	width: 100%;
}

.oye-cart-main .cart-empty {
	font-family: var(--oye-font-display, Georgia, serif);
	font-size: 1.5rem;
}

/* Classic cart on phones: WooCommerce's responsive table stacks rows with
   data-title labels; keep them readable and tappable. */
@media (max-width: 47.99em) {
	.oye-cart-main table.shop_table_responsive.cart,
	.oye-cart-main table.shop_table_responsive.cart tbody {
		display: block;
		width: 100%;
	}

	.oye-cart-main table.shop_table_responsive.cart thead {
		display: none;
	}

	.oye-cart-main table.shop_table_responsive.cart td > * {
		min-width: 0;
		overflow-wrap: anywhere;
	}

	.oye-cart-main table.shop_table_responsive.cart td.actions .coupon {
		display: flex;
	}

	.oye-cart-main table.shop_table_responsive.cart td.actions .coupon .input-text {
		flex: 1 1 8rem;
		min-width: 0;
	}

	.oye-cart-main table.shop_table_responsive.cart tr {
		border-bottom: 1px solid var(--oye-cart-line);
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		padding-block: 0.75rem;
	}

	.oye-cart-main table.shop_table_responsive.cart td {
		border: 0;
		display: flex;
		justify-content: space-between;
		padding: 0.375rem 0;
		text-align: end;
	}

	.oye-cart-main table.shop_table_responsive.cart td::before {
		content: attr(data-title);
		font-weight: 600;
		margin-inline-end: 1rem;
		text-align: start;
	}

	.oye-cart-main table.shop_table_responsive.cart td.product-remove::before,
	.oye-cart-main table.shop_table_responsive.cart td.product-thumbnail::before,
	.oye-cart-main table.shop_table_responsive.cart td.actions::before {
		content: none;
	}

	.oye-cart-main table.shop_table_responsive.cart td.actions {
		display: grid;
		gap: 0.75rem;
	}

	/* Variation / combo details wrap under the product name. */
	.oye-cart-main table.shop_table_responsive.cart td.product-name {
		flex-wrap: wrap;
	}

	.oye-cart-main table.shop_table_responsive.cart td.product-name dl.variation,
	.oye-cart-main table.shop_table_responsive.cart td.product-name > p,
	.oye-cart-main table.shop_table_responsive.cart td.product-name > div {
		flex-basis: 100%;
	}
}

@media (forced-colors: active) {
	.oye-cart-main .wc-block-cart__submit-button,
	.oye-cart-main .wc-proceed-to-checkout .checkout-button {
		border: 2px solid ButtonText !important;
	}
}

/* ==========================================================================
   Phase 3: progress steps, empty state + recommendations, card-style rows,
   sticky summary. Native Cart block markup only restyled.
   ========================================================================== */

/* Empty state ------------------------------------------------------------------ */

.oye-cart-empty {
	display: grid;
	gap: clamp(2rem, 5vw, 3rem);
	margin-top: 0.5rem;
}

.oye-cart-empty[hidden] {
	display: none;
}

.oye-cart-empty__note {
	align-items: center;
	background-color: #FFFDF8;
	border: 2px solid var(--oye-aubergine, #210D35);
	border-radius: 1.25rem;
	box-shadow: 5px 6px 0 var(--oye-aubergine, #210D35);
	display: flex;
	gap: 1rem 1.5rem;
	max-width: 40rem;
	padding: clamp(1.25rem, 4vw, 2rem);
}

.oye-cart-empty__mascot {
	flex: none;
	height: auto;
	transform: rotate(-6deg);
	width: clamp(5.5rem, 18vw, 8rem);
}

.oye-cart-empty__title {
	font-family: var(--oye-font-display, Georgia, serif);
	font-size: clamp(1.5rem, 4vw, 2.125rem);
	font-weight: 800;
	line-height: 1.1;
	margin: 0 0 0.5rem;
}

.oye-cart-empty__text {
	line-height: 1.55;
	margin: 0 0 1rem;
}

/* The Cart block's own empty-cart content is replaced by the state above. */
.oye-cart-main .wp-block-woocommerce-empty-cart-block {
	display: none;
}

/* Recommendations: carousel on tablet/desktop, 2 x 2 grid on phones. */
.oye-cart-recs.oye-shop {
	overflow: visible;
	padding-bottom: 0;
}

.oye-cart-recs__head {
	align-items: end;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	margin-bottom: 1.25rem;
}

.oye-cart-recs__title {
	font-family: var(--oye-font-display, Georgia, serif);
	font-size: clamp(1.5rem, 3.5vw, 2.25rem);
	font-weight: 800;
	line-height: 1.05;
	margin: 0;
}

.oye-cart-recs__nav {
	display: flex;
	gap: 0.5rem;
}

.oye-cart-recs__nav[hidden] {
	display: none;
}

.oye-carousel-btn {
	align-items: center;
	background-color: #FFFDF8;
	border: 2px solid var(--oye-aubergine, #210D35);
	border-radius: 50%;
	box-shadow: 2px 3px 0 var(--oye-aubergine, #210D35);
	color: var(--oye-aubergine, #210D35);
	cursor: pointer;
	display: inline-flex;
	height: 2.75rem;
	justify-content: center;
	padding: 0;
	width: 2.75rem;
}

.oye-carousel-btn span {
	border-block-start: 2.5px solid currentColor;
	border-inline-end: 2.5px solid currentColor;
	height: 0.5625rem;
	transform: translateX(2px) rotate(-135deg);
	width: 0.5625rem;
}

.oye-carousel-btn--next span {
	transform: translateX(-2px) rotate(45deg);
}

.oye-carousel-btn:active {
	box-shadow: none;
	transform: translate(2px, 3px);
}

.oye-carousel-btn:disabled {
	box-shadow: none;
	cursor: default;
	opacity: 0.4;
}

.oye-cart-recs__track.oye-shop-grid {
	gap: 1.5rem 1rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.oye-cart-recs__track .oye-shop-card:nth-child(n) {
	transform: none;
}

/* Compact cards so about 2 x 2 fit on a phone screen. */
.oye-cart-recs__track .oye-shop-card__img {
	aspect-ratio: 1;
}

.oye-cart-recs__track .oye-shop-card__note,
.oye-cart-recs__track .oye-shop-card__options {
	display: none;
}

@media (max-width: 47.99em) {
	.oye-cart-recs__track .oye-shop-card__title {
		font-size: 1rem;
	}

	.oye-cart-recs__track .oye-shop-card__body {
		gap: 0.25rem;
		padding-top: 0.5rem;
	}
}

@media (min-width: 48em) {
	.oye-cart-recs__track.oye-shop-grid {
		display: flex;
		gap: 1.5rem;
		overflow-x: auto;
		padding: 0.5rem 0.25rem 1rem;
		scroll-snap-type: x mandatory;
		scrollbar-width: thin;
	}

	.oye-cart-recs__track .oye-shop-card {
		flex: 0 0 calc((100% - 3 * 1.5rem) / 4);
		scroll-snap-align: start;
	}
}

@media (min-width: 48em) and (max-width: 63.99em) {
	.oye-cart-recs__track .oye-shop-card {
		flex-basis: calc((100% - 2 * 1.5rem) / 3);
	}
}

/* Cart block: card-style rows, rounded quantity, sticky summary ------------- */

.oye-cart-main .wc-block-cart-items {
	border-collapse: separate;
	border-spacing: 0 0.75rem;
}

.oye-cart-main .wc-block-cart-items__header {
	border-bottom: 0;
}

.oye-cart-main .wc-block-cart-items__row > td {
	background-color: #FFFDF8;
	border-block: 2px solid color-mix(in srgb, var(--oye-aubergine, #210D35) 16%, transparent);
}

.oye-cart-main .wc-block-cart-items__row > td:first-child {
	border-end-start-radius: 1rem;
	border-inline-start: 2px solid color-mix(in srgb, var(--oye-aubergine, #210D35) 16%, transparent);
	border-start-start-radius: 1rem;
	padding-inline-start: 0.875rem;
}

.oye-cart-main .wc-block-cart-items__row > td:last-child {
	border-end-end-radius: 1rem;
	border-inline-end: 2px solid color-mix(in srgb, var(--oye-aubergine, #210D35) 16%, transparent);
	border-start-end-radius: 1rem;
	padding-inline-end: 0.875rem;
}

/* Narrow Cart block layouts (WooCommerce sets is-small / is-mobile). */
.oye-cart-main .is-mobile .wc-block-cart-items__row,
.oye-cart-main .is-small .wc-block-cart-items__row {
	background-color: #FFFDF8;
	border: 2px solid color-mix(in srgb, var(--oye-aubergine, #210D35) 16%, transparent);
	border-radius: 1rem;
	padding: 0.875rem !important;
}

.oye-cart-main .is-mobile .wc-block-cart-items__row > td,
.oye-cart-main .is-small .wc-block-cart-items__row > td {
	background: transparent;
	border: 0 !important;
	border-radius: 0 !important;
}

.oye-cart-main .wc-block-components-quantity-selector {
	border-radius: 0.75rem;
	overflow: hidden;
}

.oye-cart-main .wc-block-components-quantity-selector__button:hover {
	background-color: var(--oye-lilac, #E6D6F3);
}

.oye-cart-main .wc-block-cart-item__total .wc-block-components-product-price {
	font-family: var(--oye-font-display, Georgia, serif);
	font-size: 1.125rem;
	font-weight: 800;
}

.oye-cart-main .wc-block-cart__sidebar,
.oye-cart-main .wp-block-woocommerce-cart-totals-block {
	border-radius: 1.25rem;
	box-shadow: 0 0 0 2px var(--oye-aubergine, #210D35), 5px 6px 0 2px var(--oye-aubergine, #210D35);
}

@media (min-width: 64em) {
	.oye-cart-main .is-large .wc-block-cart__sidebar {
		align-self: start;
		position: sticky;
		top: 1.5rem;
	}
}

.oye-cart-main .wc-block-components-totals-coupon .wc-block-components-panel__button {
	font-weight: 800;
}

.oye-cart-main .wc-block-components-totals-footer-item {
	border-top: 2px dashed color-mix(in srgb, var(--oye-aubergine, #210D35) 25%, transparent);
	padding-top: 0.875rem;
}

/* Keep wide scrolling content (recommendations track) inside the page. */
.oye-cart-intro__inner,
.oye-cart-empty,
.oye-cart-recs {
	min-width: 0;
}

.oye-cart-intro__inner > *,
.oye-cart-empty > * {
	min-width: 0;
	max-width: 100%;
}

/* ==========================================================================
   Cart design pass (matches the approved mockup)
   ========================================================================== */

.oye-cart-intro__title {
	font-family: var(--oye-font-display, Georgia, serif);
	font-size: clamp(2.07rem, 4.95vw, 3.6rem);
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1;
	margin: 0;
	text-wrap: balance;
}

.oye-cart-intro__sub {
	font-size: clamp(1rem, 1.6vw, 1.125rem);
	margin: 0.5rem 0 0;
}

.oye-cart-intro__sub[hidden] {
	display: none;
}

.oye-cart-intro .oye-steps {
	margin-top: 1.25rem;
}

/* Items: clean rows with dividers rather than heavy cards. */
.oye-cart-main .wc-block-cart-items {
	border-collapse: collapse;
}

.oye-cart-main .wc-block-cart-items__header {
	border-bottom: 1.5px solid color-mix(in srgb, var(--oye-aubergine, #210D35) 25%, transparent);
	font-size: 0.8125rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.oye-cart-main .wc-block-cart-items__row,
.oye-cart-main .wc-block-cart-items__row > td {
	background: transparent !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

.oye-cart-main .wc-block-cart-items__row > td {
	border: 0 !important;
	border-bottom: 1.5px solid color-mix(in srgb, var(--oye-aubergine, #210D35) 15%, transparent) !important;
	padding-block: 1.25rem !important;
}

.oye-cart-main .is-mobile .wc-block-cart-items__row,
.oye-cart-main .is-small .wc-block-cart-items__row {
	border: 0 !important;
	border-bottom: 1.5px solid color-mix(in srgb, var(--oye-aubergine, #210D35) 15%, transparent) !important;
	padding-block: 1.25rem !important;
}

.oye-cart-main .is-mobile .wc-block-cart-items__row > td,
.oye-cart-main .is-small .wc-block-cart-items__row > td {
	border-bottom: 0 !important;
	padding-block: 0 !important;
}

.oye-cart-main .wc-block-cart-item__image img {
	background-color: color-mix(in srgb, var(--oye-lilac, #E6D6F3) 60%, var(--oye-cream, #FFF7EA));
	border-radius: 0.75rem;
	object-fit: contain;
}

.oye-cart-main .wc-block-components-product-name {
	color: inherit;
	font-family: var(--oye-font-display, Georgia, serif);
	font-size: 1.125rem;
	font-weight: 700;
	text-decoration: none;
}

.oye-cart-main .wc-block-cart-item__total .wc-block-components-product-price__value {
	font-family: var(--oye-font-display, Georgia, serif);
	font-size: 1.25rem;
	font-weight: 800;
}

.oye-cart-main .wc-block-components-quantity-selector {
	background-color: #FFFDF8;
	border: 2px solid var(--oye-aubergine, #210D35) !important;
	border-radius: 0.625rem !important;
	min-height: 2.5rem;
}

.oye-cart-main .wc-block-components-quantity-selector::after {
	border: 0 !important;
}

.oye-cart-main .wc-block-components-quantity-selector__button {
	color: var(--oye-aubergine, #210D35) !important;
	font-size: 1.125rem;
	min-width: 2.5rem;
}

.oye-cart-main .wc-block-components-quantity-selector__input {
	font-weight: 800;
}

.oye-cart-main .wc-block-cart-item__remove-link {
	align-items: center;
	color: inherit !important;
	display: inline-flex !important;
	font-size: 0.875rem !important;
	gap: 0.375rem;
	text-decoration: none !important;
}

.oye-cart-main .wc-block-cart-item__remove-link::before {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16M9 7V4h6v3M6 7l1 13h10l1-13'/%3E%3C/svg%3E") center / contain no-repeat;
	background-color: currentColor;
	content: "";
	height: 1rem;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16M9 7V4h6v3M6 7l1 13h10l1-13'/%3E%3C/svg%3E") center / contain no-repeat;
	width: 1rem;
}

.oye-cart-main .wc-block-cart-item__remove-link:hover {
	text-decoration: underline !important;
}

/* "Your snack tally": raised summary card. */
.oye-cart-main .wc-block-cart__sidebar > .wp-block-woocommerce-cart-totals-block,
.oye-cart-main .wc-block-cart__sidebar .wc-block-components-sidebar,
.oye-cart-main .cart-collaterals .cart_totals {
	background-color: #FFFDF8;
	border: 2px solid var(--oye-aubergine, #210D35);
	border-radius: 1.25rem;
	box-shadow: 6px 7px 0 var(--oye-aubergine, #210D35);
	box-sizing: border-box;
	padding: clamp(1.25rem, 3vw, 1.75rem) !important;
}

.oye-cart-main .wc-block-cart__totals-title,
.oye-cart-main .cart_totals > h2 {
	font-family: var(--oye-font-display, Georgia, serif) !important;
	font-size: clamp(1.5rem, 3vw, 2rem) !important;
	font-weight: 800 !important;
	letter-spacing: -0.02em;
	margin: 0 0 0.75rem !important;
	padding: 0 !important;
	text-align: start !important;
	text-transform: none !important;
}

.oye-cart-main .wc-block-components-totals-item__label,
.oye-cart-main .wc-block-components-totals-item__value {
	font-weight: 700;
}

.oye-cart-main .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.oye-cart-main .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-family: var(--oye-font-display, Georgia, serif);
	font-size: 1.375rem;
	font-weight: 800;
}

.oye-cart-main .wc-block-components-panel__button {
	font-weight: 700;
}

.oye-cart-main .wc-block-cart__submit-button {
	font-size: 1.125rem !important;
	min-height: 3.25rem;
	width: 100%;
}

@media (min-width: 64em) {
	.oye-cart-intro__head {
		align-items: end;
	}
}

/* ==========================================================================
   Fix: products left, summary right on desktop. The Cart block chooses its
   layout from its own width; give it the full container (never the narrow
   content width) and set the two columns explicitly from 64em.
   ========================================================================== */

.oye-cart-main .wp-block-woocommerce-cart,
.oye-cart-main .wp-block-post-content > *,
.oye-cart-main .wp-block-woocommerce-page-content-wrapper > * {
	margin-inline: 0 !important;
	max-width: none !important;
	width: 100%;
}

@media (min-width: 64em) {
	.oye-cart-main .wc-block-cart.wc-block-components-sidebar-layout {
		align-items: start;
		display: grid !important;
		gap: 2.5rem;
		grid-template-columns: minmax(0, 1fr) minmax(19rem, 24rem);
	}

	.oye-cart-main .wc-block-cart.wc-block-components-sidebar-layout > * {
		grid-column: 1 / -1;
	}

	.oye-cart-main .wc-block-cart.wc-block-components-sidebar-layout > .wc-block-components-main {
		grid-column: 1 !important;
		padding: 0 !important;
		width: auto !important;
	}

	.oye-cart-main .wc-block-cart.wc-block-components-sidebar-layout > .wc-block-components-sidebar {
		grid-column: 2 !important;
		margin: 0 !important;
		position: sticky;
		top: 1.5rem;
		width: auto !important;
	}
}
