/* ============================================================
   MARCH — Cart Block CSS
   Targets WooCommerce Cart Block (wp:woocommerce/cart) classes
   ============================================================ */

/* ── Reset: site-main no interfiera con el carrito ───────── */
body.woocommerce-cart .site-main,
body.woocommerce-cart #main,
body.woocommerce-cart #content {
	max-width: none !important;
	padding: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

/* ── Outer Block Wrapper ──────────────────────────────────── */
.wp-block-woocommerce-cart {
	font-family: var(--font-primary) !important;
	max-width: var(--container-max);
	margin: 0 auto;
	padding: clamp(32px, 5vw, 48px) var(--container-px) clamp(64px, 8vw, 120px);
}

/* ── Cart Page Header (Title) ─────────────────────────────── */
/* NOTA: el heading se inyecta FUERA del .wp-block-woocommerce-cart,
   por lo que necesita sus propios valores de padding/max-width */
.march-cart-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
	/* Padding superior para limpiar el header fijo (topbar ~40px + nav ~60px) */
	padding: clamp(60px, 7vw, 72px) var(--container-px) 20px;
	max-width: var(--container-max);
	margin: 0 auto;
	border-bottom: 2px solid var(--color-black);
	box-sizing: border-box;
}

.march-cart-heading h1 {
	font-family: var(--font-primary);
	font-size: clamp(28px, 5vw, 48px);
	font-weight: var(--fw-black);
	text-transform: uppercase;
	letter-spacing: -0.03em;
	margin: 0;
	line-height: 1;
}

.march-cart-heading a {
	font-family: var(--font-primary);
	font-size: 12px;
	font-weight: var(--fw-medium);
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--color-gray-400);
	text-decoration: none;
	transition: color 0.2s;
	white-space: nowrap;
}

.march-cart-heading a:hover {
	color: var(--color-black);
}

/* ── 2-Column Sidebar Layout ──────────────────────────────── */
.wc-block-components-sidebar-layout {
	display: flex !important;
	align-items: flex-start !important;
	padding-top: clamp(24px, 3vw, 40px) !important;
	gap: clamp(40px, 6vw, 72px) !important;
}

.wc-block-components-main {
	flex: 1 1 0% !important;
	min-width: 0 !important;
}

.wc-block-components-sidebar,
.wc-block-cart__sidebar {
	flex: 0 0 340px !important;
	width: 340px !important;
	position: sticky !important;
	top: 120px !important;
}

@media (max-width: 900px) {
	.wc-block-components-sidebar-layout {
		flex-direction: column !important;
	}

	.wc-block-components-sidebar,
	.wc-block-cart__sidebar {
		flex: 1 1 100% !important;
		width: 100% !important;
		position: static !important;
	}
}

/* ── Cart Items Table Header ──────────────────────────────── */
.wc-block-cart-items__header {
	border-bottom: 1px solid var(--color-gray-200) !important;
}

.wc-block-cart-items__header th {
	font-family: var(--font-primary) !important;
	font-size: 13px !important;
	font-weight: var(--fw-bold) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.18em !important;
	color: var(--color-gray-400) !important;
	padding: 0 0 16px 0 !important;
	border: none !important;
	background: transparent !important;
}

.wc-block-cart-items__header-total {
	text-align: right !important;
}

/* ── Cart Item Row ────────────────────────────────────────── */
.wc-block-cart-items__row {
	border-bottom: 1px solid var(--color-gray-200) !important;
}

.wc-block-cart-items__row td {
	padding: 28px 0 !important;
	border: none !important;
	vertical-align: middle !important;
	background: transparent !important;
}

/* Thumbnail */
.wc-block-cart-item__image {
	width: 80px !important;
	padding-right: 16px !important;
}

.wc-block-cart-item__image img,
.wc-block-cart-item__image a img {
	width: 72px !important;
	height: 72px !important;
	object-fit: cover !important;
	display: block !important;
	background: var(--color-gray-100) !important;
}

/* Product Info Column */
.wc-block-cart-item__product {
	padding-right: 16px !important;
}

/* Product Name */
.wc-block-components-product-name,
.wc-block-cart-item__product .wc-block-components-product-name a {
	font-family: var(--font-primary) !important;
	font-size: 24px !important;
	font-weight: var(--fw-black) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.02em !important;
	color: var(--color-black) !important;
	text-decoration: none !important;
	line-height: 1.2 !important;
}

.wc-block-cart-item__product .wc-block-components-product-name a:hover {
	text-decoration: underline !important;
}

/* Descripción corta / metadata del producto */
.wc-block-cart-item__product p,
.wc-block-cart-item__product .wc-block-components-product-metadata,
.wc-block-cart-item__product .wc-block-components-product-metadata__description,
.wc-block-cart-item__product > p,
.wc-block-cart-item__product span:not(.wc-block-components-product-name):not([class*="price"]) {
	font-family: var(--font-primary) !important;
	font-size: 16px !important;
	font-weight: var(--fw-regular) !important;
	color: var(--color-gray-400) !important;
	line-height: 1.5 !important;
	margin-top: 6px !important;
}

/* Product Price (below name) */
.wc-block-cart-item__prices .wc-block-components-product-price,
.wc-block-cart-item__prices .wc-block-components-product-price__value {
	font-family: var(--font-primary) !important;
	font-size: 20px !important;
	font-weight: var(--fw-medium) !important;
	color: var(--color-gray-700) !important;
}

.wc-block-cart-item__prices .wc-block-components-product-price .woocommerce-Price-amount {
	font-size: 20px !important;
	font-size: 22px !important;
	font-weight: var(--fw-medium) !important;
}

/* Sale badge */
.wc-block-components-product-badge,
.wp-block-woocommerce-product-sale-badge {
	background: var(--color-black) !important;
	color: var(--color-white) !important;
	font-family: var(--font-primary) !important;
	font-size: 11px !important;
	font-weight: var(--fw-bold) !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	border-radius: 0 !important;
	padding: 4px 8px !important;
}

/* ── Quantity Selector ────────────────────────────────────── */
.wc-block-cart-item__quantity {
	margin-top: 14px !important;
}

.wc-block-components-quantity-selector {
	display: flex !important;
	align-items: center !important;
	border: 1.5px solid var(--color-gray-200) !important;
	width: fit-content !important;
	background: transparent !important;
	border-radius: 0 !important;
}

.wc-block-components-quantity-selector input {
	width: 52px !important;
	height: 44px !important;
	border: none !important;
	text-align: center !important;
	font-family: var(--font-primary) !important;
	font-size: 18px !important;
	font-weight: var(--fw-bold) !important;
	background: transparent !important;
	color: var(--color-black) !important;
	box-shadow: none !important;
	outline: none !important;
}

.wc-block-components-quantity-selector button {
	width: 36px !important;
	height: 44px !important;
	border: none !important;
	background: transparent !important;
	font-size: 20px !important;
	color: var(--color-black) !important;
	cursor: pointer !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0 !important;
	transition: background 0.2s !important;
}

.wc-block-components-quantity-selector button:hover {
	background: var(--color-gray-100) !important;
}

/* Remove link */
.wc-block-cart-item__remove-link {
	font-family: var(--font-primary) !important;
	font-size: 13px !important;
	font-weight: var(--fw-medium) !important;
	color: var(--color-gray-400) !important;
	text-decoration: underline !important;
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
	background: none !important;
	border: none !important;
	padding: 0 !important;
	cursor: pointer !important;
	margin-top: 8px !important;
	display: block !important;
	transition: color 0.2s !important;
}

.wc-block-cart-item__remove-link:hover {
	color: var(--color-black) !important;
}

/* Total column */
.wc-block-cart-item__total {
	text-align: right !important;
}

.wc-block-cart-item__total .wc-block-components-product-price,
.wc-block-cart-item__total .woocommerce-Price-amount {
	font-family: var(--font-primary) !important;
	font-size: 24px !important;
	font-weight: var(--fw-bold) !important;
	color: var(--color-black) !important;
}

/* ── Cart Sidebar / Totals ────────────────────────────────── */
.wc-block-cart__sidebar {
	background: var(--color-gray-100);
	padding: 28px !important;
}

.wc-block-cart__totals-title {
	font-family: var(--font-primary) !important;
	font-size: 13px !important;
	font-weight: var(--fw-bold) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.2em !important;
	color: var(--color-gray-400) !important;
	margin: 0 0 16px !important;
	padding-bottom: 14px !important;
	border-bottom: 1px solid var(--color-gray-200) !important;
}

/* Totals Wrapper */
.wc-block-components-totals-wrapper {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	box-shadow: none !important;
}

/* Each total row */
.wc-block-components-totals-item {
	display: flex !important;
	justify-content: space-between !important;
	align-items: baseline !important;
	padding: 10px 0 !important;
	border: none !important;
	border-bottom: none !important;
}

.wc-block-components-totals-item__label {
	font-family: var(--font-primary) !important;
	font-size: 18px !important;
	font-weight: var(--fw-medium) !important;
	color: var(--color-gray-700) !important;
}

.wc-block-components-totals-item__value,
.wc-block-components-totals-item .wc-block-components-formatted-money-amount {
	font-family: var(--font-primary) !important;
	font-size: 18px !important;
	font-weight: var(--fw-medium) !important;
	color: var(--color-black) !important;
}

/* Order Total row (Estimated total / Total) */
.wc-block-components-totals-footer-item {
	border-top: 2px solid var(--color-black) !important;
	margin-top: 8px !important;
	padding-top: 16px !important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	font-size: 24px !important;
	font-weight: var(--fw-black) !important;
	color: var(--color-black) !important;
}

.wc-block-components-totals-footer-item .wc-block-components-formatted-money-amount,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-size: 24px !important;
	font-weight: var(--fw-black) !important;
	color: var(--color-black) !important;
}

/* ── Coupon Panel ─────────────────────────────────────────── */
.wc-block-components-panel {
	border: none !important;
	background: transparent !important;
	margin: 0 !important;
	padding: 0 !important;
}

.wc-block-components-panel__button {
	font-family: var(--font-primary) !important;
	font-size: 11px !important;
	font-weight: var(--fw-medium) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.1em !important;
	color: var(--color-gray-400) !important;
	background: none !important;
	border: none !important;
	padding: 10px 0 !important;
	cursor: pointer !important;
	width: 100% !important;
	text-align: left !important;
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	border-top: 1px solid var(--color-gray-200) !important;
	border-bottom: 1px solid var(--color-gray-200) !important;
	margin-bottom: 8px !important;
	transition: color 0.2s !important;
}

.wc-block-components-panel__button:hover {
	color: var(--color-black) !important;
}

.wc-block-components-panel__button-icon svg {
	fill: currentColor !important;
}

.wc-block-components-totals-coupon__form {
	display: flex !important;
	gap: 8px !important;
	align-items: stretch !important;
	margin-bottom: 12px !important;
}

.wc-block-components-totals-coupon__input {
	flex: 1 !important;
}

.wc-block-components-totals-coupon__input input {
	height: 42px !important;
	border: 1.5px solid var(--color-gray-200) !important;
	padding: 0 12px !important;
	font-family: var(--font-primary) !important;
	font-size: 13px !important;
	background: transparent !important;
	border-radius: 0 !important;
	outline: none !important;
	transition: border-color 0.2s !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.wc-block-components-totals-coupon__input input:focus {
	border-color: var(--color-black) !important;
}

.wc-block-components-totals-coupon__button {
	display: flex !important;
	align-items: center !important;
	height: 42px !important;
	padding: 0 16px !important;
	background: transparent !important;
	border: 1.5px solid var(--color-black) !important;
	color: var(--color-black) !important;
	font-family: var(--font-primary) !important;
	font-size: 10px !important;
	font-weight: var(--fw-bold) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.12em !important;
	cursor: pointer !important;
	border-radius: 0 !important;
	transition: var(--ease-base) !important;
	white-space: nowrap !important;
}

.wc-block-components-totals-coupon__button:hover {
	background: var(--color-black) !important;
	color: var(--color-white) !important;
}

/* Coupon link (show coupon form toggle) */
.wc-block-components-totals-coupon-link {
	font-family: var(--font-primary) !important;
	font-size: 11px !important;
	font-weight: var(--fw-medium) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.1em !important;
	color: var(--color-gray-400) !important;
	text-decoration: underline !important;
	cursor: pointer !important;
	background: none !important;
	border: none !important;
	padding: 0 !important;
	margin: 10px 0 !important;
	display: inline-block !important;
}

/* ── Checkout Button ──────────────────────────────────────── */
.wc-block-cart__submit-container {
	margin-top: 16px !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
}

.wc-block-cart__submit-button,
.wp-block-woocommerce-proceed-to-checkout-block a,
.wc-block-cart__submit-container a {
	display: block !important;
	width: 100% !important;
	box-sizing: border-box !important;
	padding: 17px 24px !important;
	background: var(--color-black) !important;
	color: var(--color-white) !important;
	font-family: var(--font-primary) !important;
	font-size: 11px !important;
	font-weight: var(--fw-bold) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.16em !important;
	text-align: center !important;
	text-decoration: none !important;
	border: 2px solid var(--color-black) !important;
	border-radius: 0 !important;
	cursor: pointer !important;
	transition: var(--ease-base) !important;
	line-height: 1 !important;
}

.wc-block-cart__submit-button:hover,
.wp-block-woocommerce-proceed-to-checkout-block a:hover,
.wc-block-cart__submit-container a:hover {
	background: transparent !important;
	color: var(--color-black) !important;
}

/* ── Payment Method Icons ─────────────────────────────────── */
.wc-block-cart__payment-options {
	display: none !important;
}

/* ── WC Notices on Cart ───────────────────────────────────── */
.woocommerce-cart .wc-block-components-notice-banner,
.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info {
	font-family: var(--font-primary) !important;
	font-size: 13px !important;
	background: var(--color-gray-100) !important;
	border: none !important;
	border-left: 3px solid var(--color-black) !important;
	border-radius: 0 !important;
	margin-bottom: 20px !important;
}

/* ── Empty Cart State ─────────────────────────────────────── */
.wp-block-woocommerce-empty-cart-block {
	text-align: center !important;
	padding: clamp(48px, 8vw, 100px) 0 !important;
}

.wc-block-cart__empty-cart__title {
	font-family: var(--font-primary) !important;
	font-size: var(--text-xl) !important;
	font-weight: var(--fw-black) !important;
	text-transform: uppercase !important;
	letter-spacing: -0.02em !important;
	color: var(--color-black) !important;
}

/* Empty cart button (Return to shop) */
.wp-block-woocommerce-empty-cart-block .wc-block-components-button,
.wp-block-woocommerce-empty-cart-block .wp-block-button__link {
	display: inline-flex !important;
	align-items: center !important;
	padding: 15px 36px !important;
	background: var(--color-black) !important;
	color: var(--color-white) !important;
	font-family: var(--font-primary) !important;
	font-size: 11px !important;
	font-weight: var(--fw-bold) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.15em !important;
	text-decoration: none !important;
	border: 2px solid var(--color-black) !important;
	border-radius: 0 !important;
	transition: var(--ease-base) !important;
}

.wp-block-woocommerce-empty-cart-block .wc-block-components-button:hover,
.wp-block-woocommerce-empty-cart-block .wp-block-button__link:hover {
	background: transparent !important;
	color: var(--color-black) !important;
}

/* ── Mobile ───────────────────────────────────────────────── */
@media (max-width: 768px) {
	.wc-block-cart-items__header {
		display: none !important;
	}

	.wc-block-cart-items__row td {
		padding: 12px 0 !important;
	}

	.wc-block-cart__sidebar {
		padding: 20px !important;
	}
}
