/**
 * Cart upsells (RAO + OBW): exact card fits, arrows always on, compact blocky cards.
 */

/* Kill the mid-width grid-row jump (OBW flying above the cart). */
@media (max-width: 1479px) {
	.woocommerce-cart .entry__content > .woocommerce > .cart-related-products,
	.woocommerce-page--cart .entry__content > .woocommerce > .cart-related-products,
	.woocommerce-cart .entry__content > .woocommerce > .woocommerce-cart-form,
	.woocommerce-page--cart .entry__content > .woocommerce > .woocommerce-cart-form,
	.woocommerce-cart .entry__content > .woocommerce > .cart-collaterals-shell,
	.woocommerce-page--cart .entry__content > .woocommerce > .cart-collaterals-shell {
		grid-column: 1 / -1 !important;
		grid-row: auto !important;
	}
}

/* Often bought — same panel blockiness as cart form */
.woocommerce-cart .cart-related-products,
.woocommerce-page--cart .cart-related-products {
	padding: 1.5rem !important;
	background: #fff !important;
	border: 1px solid #d9c9b0 !important;
	border-radius: 12px !important;
	box-shadow: 0 4px 20px rgb(92 61 46 / 8%) !important;
}

@media (min-width: 768px) {
	.woocommerce-cart .cart-related-products,
	.woocommerce-page--cart .cart-related-products {
		padding: 2rem !important;
	}
}

/* Shared cart carousel shell — arrows stay visible at all widths (RAO grid hides them ≥1200) */
.woocommerce-cart .cart-related-products__carousel.product-carousel--nav,
.woocommerce-page--cart .cart-related-products__carousel.product-carousel--nav,
.woocommerce-cart .mrz-merch--cart-addons .mrz-merch-carousel.product-carousel--nav,
.woocommerce-page--cart .mrz-merch--cart-addons .mrz-merch-carousel.product-carousel--nav {
	display: grid !important;
	grid-template-columns: auto minmax(0, 1fr) auto !important;
	align-items: center;
	gap: 0.5rem;
	width: 100%;
	min-width: 0;
	overflow: visible;
}

.woocommerce-cart .cart-related-products__carousel .product-carousel__btn,
.woocommerce-page--cart .cart-related-products__carousel .product-carousel__btn,
.woocommerce-cart .mrz-merch--cart-addons .product-carousel__btn,
.woocommerce-page--cart .mrz-merch--cart-addons .product-carousel__btn {
	display: inline-flex !important;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: 2px solid #5c3d2e;
	border-radius: 999px;
	background: #fff;
	color: #5c3d2e;
	font-size: 1.25rem;
	line-height: 1;
	cursor: pointer;
}

.woocommerce-cart .cart-related-products__carousel .product-carousel__btn:disabled,
.woocommerce-page--cart .cart-related-products__carousel .product-carousel__btn:disabled,
.woocommerce-cart .mrz-merch--cart-addons .product-carousel__btn:disabled,
.woocommerce-page--cart .mrz-merch--cart-addons .product-carousel__btn:disabled {
	opacity: 0.35;
	cursor: default;
}

.woocommerce-cart .cart-related-products__carousel .product-carousel__track,
.woocommerce-page--cart .cart-related-products__carousel .product-carousel__track,
.woocommerce-cart .mrz-merch--cart-addons .product-carousel__track,
.woocommerce-page--cart .mrz-merch--cart-addons .product-carousel__track {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	overflow-x: auto !important;
	overflow-y: hidden !important;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

/* RAO is nested in .woocommerce-cart-form (overflow-x: auto) — give the track
   a hair of padding so the right card border isn't clipped flush to the edge. */
.woocommerce-cart .mrz-merch--cart-addons .product-carousel__track,
.woocommerce-page--cart .mrz-merch--cart-addons .product-carousel__track {
	padding-inline: 2px;
	box-sizing: border-box;
}

.woocommerce-cart .cart-related-products__carousel .product-carousel__track::-webkit-scrollbar,
.woocommerce-page--cart .cart-related-products__carousel .product-carousel__track::-webkit-scrollbar,
.woocommerce-cart .mrz-merch--cart-addons .product-carousel__track::-webkit-scrollbar,
.woocommerce-page--cart .mrz-merch--cart-addons .product-carousel__track::-webkit-scrollbar {
	display: none;
}

.woocommerce-cart .cart-related-products__list,
.woocommerce-page--cart .cart-related-products__list,
.woocommerce-cart .mrz-merch--cart-addons .mrz-merch__products,
.woocommerce-page--cart .mrz-merch--cart-addons .mrz-merch__products {
	--mrz-merch-cols: unset !important;
	display: grid !important;
	grid-auto-flow: column !important;
	grid-template-columns: none !important;
	/* Exact 3-up fallback for RAO mid widths; JS overrides with px */
	grid-auto-columns: var(--carousel-slide-width, calc((100% - 1.5rem) / 3)) !important;
	align-items: stretch;
	gap: 0.75rem;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0.15rem 0 0.35rem !important;
	list-style: none !important;
}

@media (max-width: 799px) {
	.woocommerce-cart .cart-related-products__list,
	.woocommerce-page--cart .cart-related-products__list,
	.woocommerce-cart .mrz-merch--cart-addons .mrz-merch__products,
	.woocommerce-page--cart .mrz-merch--cart-addons .mrz-merch__products {
		grid-auto-columns: var(--carousel-slide-width, calc((100% - 0.75rem) / 2)) !important;
	}
}

@media (max-width: 420px) {
	.woocommerce-cart .cart-related-products__list,
	.woocommerce-page--cart .cart-related-products__list,
	.woocommerce-cart .mrz-merch--cart-addons .mrz-merch__products,
	.woocommerce-page--cart .mrz-merch--cart-addons .mrz-merch__products {
		grid-auto-columns: var(--carousel-slide-width, 100%) !important;
	}
}

/* Recommended Add-ons: no carousel on desktop — 3-col grid */
@media (min-width: 1200px) {
	.woocommerce-cart .mrz-merch--cart-addons .mrz-merch-carousel.product-carousel--nav,
	.woocommerce-page--cart .mrz-merch--cart-addons .mrz-merch-carousel.product-carousel--nav,
	.woocommerce-cart .mrz-merch--cart-addons .mrz-merch-carousel.is-cart-addons-grid,
	.woocommerce-page--cart .mrz-merch--cart-addons .mrz-merch-carousel.is-cart-addons-grid {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.woocommerce-cart .mrz-merch--cart-addons .product-carousel__btn,
	.woocommerce-page--cart .mrz-merch--cart-addons .product-carousel__btn {
		display: none !important;
	}

	.woocommerce-cart .mrz-merch--cart-addons .product-carousel__track,
	.woocommerce-page--cart .mrz-merch--cart-addons .product-carousel__track {
		overflow: visible !important;
		padding-inline: 0;
	}

	.woocommerce-cart .mrz-merch--cart-addons .mrz-merch__products,
	.woocommerce-page--cart .mrz-merch--cart-addons .mrz-merch__products {
		grid-auto-flow: row !important;
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		grid-auto-columns: unset !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.woocommerce-cart .mrz-merch--cart-addons .mrz-merch__products > .product-card-wrap,
	.woocommerce-cart .mrz-merch--cart-addons .mrz-merch__products > .mrz-merch-card-wrap,
	.woocommerce-page--cart .mrz-merch--cart-addons .mrz-merch__products > .product-card-wrap,
	.woocommerce-page--cart .mrz-merch--cart-addons .mrz-merch__products > .mrz-merch-card-wrap {
		width: auto !important;
		max-width: none !important;
	}
}

.woocommerce-cart .cart-related-products__list > .product-card-wrap,
.woocommerce-page--cart .cart-related-products__list > .product-card-wrap,
.woocommerce-cart .mrz-merch--cart-addons .mrz-merch__products > .product-card-wrap,
.woocommerce-cart .mrz-merch--cart-addons .mrz-merch__products > .mrz-merch-card-wrap,
.woocommerce-page--cart .mrz-merch--cart-addons .mrz-merch__products > .product-card-wrap,
.woocommerce-page--cart .mrz-merch--cart-addons .mrz-merch__products > .mrz-merch-card-wrap {
	display: flex !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
	float: none !important;
	scroll-snap-align: start;
	height: 100%;
}

/* Compact blocky product cards in both upsell sections */
.woocommerce-cart .cart-related-products .product-card,
.woocommerce-page--cart .cart-related-products .product-card,
.woocommerce-cart .mrz-merch--cart-addons .product-card,
.woocommerce-page--cart .mrz-merch--cart-addons .product-card {
	border: 1px solid #d9c9b0 !important;
	border-radius: 12px !important;
	box-shadow: 0 4px 20px rgb(92 61 46 / 8%) !important;
}

.woocommerce-cart .cart-related-products .product-card__body,
.woocommerce-page--cart .cart-related-products .product-card__body,
.woocommerce-cart .mrz-merch--cart-addons .product-card__body,
.woocommerce-page--cart .mrz-merch--cart-addons .product-card__body {
	gap: 0.25rem !important;
	padding: 0.65rem 0.45rem 0.75rem !important;
	grid-template-rows: 2.2em 1.1rem 1.2rem 1fr auto auto !important;
}

.woocommerce-cart .cart-related-products .product-card__title,
.woocommerce-page--cart .cart-related-products .product-card__title,
.woocommerce-cart .mrz-merch--cart-addons .product-card__title,
.woocommerce-page--cart .mrz-merch--cart-addons .product-card__title {
	height: 2.2em !important;
	max-height: 2.2em !important;
	font-size: 0.6rem !important;
}

.woocommerce-cart .cart-related-products .product-card__button,
.woocommerce-page--cart .cart-related-products .product-card__button,
.woocommerce-cart .mrz-merch--cart-addons .product-card__button,
.woocommerce-page--cart .mrz-merch--cart-addons .product-card__button {
	padding: 0.4rem 0.85rem !important;
	font-size: 0.62rem !important;
}
