/* ==========================================================
   BLENTREE — WooCommerce Blocks Cart page (block cart)
   Applies theme spacing, red primary, and card layout to the
   Gutenberg Cart block.
   ========================================================== */

:root {
	--bln-primary: #CF1D2C;
	--bln-primary-dark: #A81824;
	--bln-secondary: #F5A623;
	--bln-dark: #1A1A1A;
	--bln-body: #666666;
	--bln-light: #F8F8F8;
	--bln-border: #E5E5E5;
	--bln-radius-sm: 6px;
	--bln-radius-md: 10px;
	--bln-radius-lg: 16px;
	--bln-shadow-sm: 0 1px 3px rgba(0,0,0,0.06);
	--bln-shadow-md: 0 4px 14px rgba(0,0,0,0.08);
}

/* ---------- Overall wrapper ---------- */
.wp-block-woocommerce-cart,
.wc-block-cart {
	padding: 40px 0 80px;
	width: 100% !important;
	max-width: 1200px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box;
}

/* Force 2-column layout — WC Blocks default flex-basis is 33% for sidebar,
   which looks squished on wide pages. */
.wp-block-woocommerce-cart .wc-block-cart,
.wc-block-cart.wc-block-components-sidebar-layout,
.wc-block-cart.is-large {
	display: flex !important;
	flex-wrap: wrap;
	gap: 40px !important;
	align-items: flex-start;
}
.wp-block-woocommerce-cart .wc-block-cart > .wc-block-cart__main,
.wc-block-cart .wc-block-cart__main {
	flex: 1 1 0 !important;
	min-width: 0 !important;
	width: auto !important;
	max-width: none !important;
	padding: 0 !important;
}
.wp-block-woocommerce-cart .wc-block-cart > .wc-block-cart__sidebar,
.wc-block-cart .wc-block-cart__sidebar {
	flex: 0 0 380px !important;
	width: 380px !important;
	max-width: 380px !important;
	position: sticky;
	top: 120px;
	padding: 0 !important;
}

@media (max-width: 991px) {
	.wp-block-woocommerce-cart .wc-block-cart,
	.wc-block-cart.wc-block-components-sidebar-layout,
	.wc-block-cart.is-large {
		flex-direction: column;
	}
	.wp-block-woocommerce-cart .wc-block-cart > .wc-block-cart__sidebar,
	.wc-block-cart .wc-block-cart__sidebar {
		flex: 1 1 100% !important;
		width: 100% !important;
		max-width: 100% !important;
		position: static;
	}
}

/* ---------- Items table (left card) ---------- */
.wc-block-cart-items {
	width: 100%;
	background: #fff;
	border: 1px solid var(--bln-border);
	border-radius: var(--bln-radius-lg);
	box-shadow: var(--bln-shadow-sm);
	overflow: hidden;
	border-collapse: separate;
	border-spacing: 0;
}

/* Head row */
.wc-block-cart-items thead th,
.wc-block-cart-items .wc-block-cart-items__header th {
	background: var(--bln-light);
	color: var(--bln-dark);
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	padding: 14px 20px;
	text-align: left;
	border-bottom: 1px solid var(--bln-border);
}
.wc-block-cart-items thead th:last-child,
.wc-block-cart-items .wc-block-cart-items__header th:last-child {
	text-align: right;
}

/* Body rows */
.wc-block-cart-items__row {
	border-bottom: 1px solid var(--bln-border);
}
.wc-block-cart-items__row:last-child { border-bottom: 0; }
.wc-block-cart-items__row td {
	padding: 22px 20px;
	vertical-align: top;
	background: #fff;
}

/* Product image */
.wc-block-cart-item__image {
	width: 110px;
}
.wc-block-cart-item__image img {
	width: 90px;
	height: 90px;
	object-fit: contain;
	background: var(--bln-light);
	padding: 8px;
	border-radius: var(--bln-radius-md);
}

/* Product info column */
.wc-block-cart-item__product {
	padding-left: 4px;
}
.wc-block-cart-item__product .wc-block-components-product-name {
	color: var(--bln-dark) !important;
	font-weight: 600 !important;
	font-size: 15px !important;
	text-decoration: none;
	display: inline-block;
	margin-bottom: 6px;
	line-height: 1.4;
}
.wc-block-cart-item__product .wc-block-components-product-name:hover {
	color: var(--bln-primary) !important;
}

/* Prices under product name (per-unit) */
.wc-block-cart-item__product .wc-block-cart-item__prices,
.wc-block-cart-item__prices {
	margin-bottom: 12px;
}
.wc-block-cart-item__prices .wc-block-components-product-price__value {
	color: var(--bln-body) !important;
	font-size: 13px;
	font-weight: 500;
}

/* Product variations / meta */
.wc-block-cart-item__product .wc-block-components-product-metadata {
	font-size: 12px;
	color: var(--bln-body);
	margin: 6px 0;
}

/* Row total (right column) */
.wc-block-cart-item__total {
	text-align: right;
	vertical-align: top;
}
.wc-block-cart-item__total .wc-block-components-product-price__value,
.wc-block-cart-item__total .wc-block-components-formatted-money-amount {
	color: var(--bln-primary) !important;
	font-weight: 700 !important;
	font-size: 15px;
}

/* Quantity selector */
.wc-block-cart-item__quantity {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-top: 8px;
	flex-wrap: wrap;
}
.wc-block-components-quantity-selector {
	display: inline-flex !important;
	align-items: center;
	border: 1px solid var(--bln-border) !important;
	border-radius: 999px !important;
	overflow: hidden;
	background: #fff;
	padding: 0 !important;
	height: 38px;
	min-width: 110px !important;
	max-width: 130px !important;
	position: relative;
}
.wc-block-components-quantity-selector::after {
	display: none !important;
}
.wc-block-components-quantity-selector__button {
	background: transparent !important;
	border: 0 !important;
	width: 34px !important;
	height: 100%;
	font-size: 18px !important;
	font-weight: 500 !important;
	color: var(--bln-dark) !important;
	padding: 0 !important;
	cursor: pointer;
	line-height: 1;
	transition: color 0.2s ease;
}
.wc-block-components-quantity-selector__button:hover:not(:disabled) {
	color: var(--bln-primary) !important;
}
.wc-block-components-quantity-selector__button:disabled {
	opacity: 0.35;
	cursor: not-allowed;
}
.wc-block-components-quantity-selector__input {
	background: transparent !important;
	border: 0 !important;
	text-align: center !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	color: var(--bln-dark) !important;
	width: 42px !important;
	padding: 0 !important;
	outline: none !important;
	box-shadow: none !important;
	min-width: 0 !important;
}

/* Remove link */
.wc-block-cart-item__remove-link {
	color: var(--bln-body) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	text-decoration: none !important;
	background: transparent !important;
	border: 0 !important;
	padding: 6px 10px !important;
	border-radius: 4px;
	transition: color 0.2s ease, background 0.2s ease;
	cursor: pointer;
}
.wc-block-cart-item__remove-link:hover {
	color: var(--bln-primary) !important;
	background: rgba(207, 29, 44, 0.08) !important;
}

/* ---------- Sidebar / Cart Totals (right card) ---------- */
.wp-block-woocommerce-cart-order-summary-block,
.wc-block-cart__sidebar .wc-block-components-sidebar {
	background: #fff;
	border: 1px solid var(--bln-border);
	border-radius: var(--bln-radius-lg);
	padding: 24px;
	box-shadow: var(--bln-shadow-sm);
}

.wp-block-woocommerce-cart-order-summary-heading-block,
.wc-block-cart__sidebar > h2,
.wc-block-cart__sidebar .wc-block-cart__totals-title {
	font-size: 12px !important;
	font-weight: 800 !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
	color: var(--bln-dark) !important;
	padding-bottom: 14px !important;
	margin: 0 0 14px !important;
	border-bottom: 1px solid var(--bln-border);
}

/* Individual totals rows (Subtotal, Shipping, Discount, Fees, Tax) */
.wc-block-components-totals-item {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	padding: 12px 0 !important;
	border-bottom: 1px dashed var(--bln-border);
	font-size: 14px;
}
.wc-block-components-totals-item:last-of-type { border-bottom: 0; }
.wc-block-components-totals-item__label {
	color: var(--bln-body) !important;
	font-weight: 500 !important;
	margin: 0 !important;
}
.wc-block-components-totals-item__value {
	color: var(--bln-dark) !important;
	font-weight: 600 !important;
	margin: 0 !important;
}
.wc-block-components-totals-item__description {
	flex-basis: 100%;
	font-size: 12px;
	color: var(--bln-body);
	margin-top: 4px;
}

/* Coupon panel */
.wc-block-components-totals-coupon,
.wp-block-woocommerce-cart-order-summary-coupon-form-block {
	padding: 8px 0;
	border-bottom: 1px dashed var(--bln-border);
}
.wc-block-components-panel__button {
	color: var(--bln-primary) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	background: transparent !important;
	padding: 8px 0 !important;
}
.wc-block-components-panel__button svg { fill: currentColor; }
.wc-block-components-totals-coupon__form {
	display: flex;
	gap: 8px;
	margin-top: 10px;
}
.wc-block-components-totals-coupon__input {
	flex: 1;
}
.wc-block-components-totals-coupon__input input {
	border: 1px solid var(--bln-border) !important;
	border-radius: 999px !important;
	padding: 10px 16px !important;
	font-size: 13px !important;
	background: #fff !important;
}
.wc-block-components-totals-coupon__button {
	background: var(--bln-dark) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 999px !important;
	padding: 10px 20px !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
}
.wc-block-components-totals-coupon__button:hover { background: #000 !important; }

/* Applied coupon chip */
.wc-block-components-chip {
	background: rgba(40, 167, 69, 0.1) !important;
	color: #28a745 !important;
	border-radius: 999px !important;
	padding: 4px 12px !important;
	font-weight: 600 !important;
	font-size: 12px !important;
}

/* Grand total row (footer) */
.wc-block-components-totals-footer-item {
	padding: 18px 0 4px !important;
	margin-top: 8px !important;
	border-top: 2px solid var(--bln-border) !important;
	border-bottom: 0 !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	color: var(--bln-dark) !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item-tax-value {
	color: var(--bln-primary) !important;
	font-size: 22px !important;
	font-weight: 800 !important;
}

/* Proceed to Checkout button */
.wp-block-woocommerce-proceed-to-checkout-block,
.wc-block-cart__submit,
.wc-block-cart__submit-container {
	margin-top: 20px !important;
	padding: 0 !important;
}
.wc-block-cart__submit-button,
a.wc-block-cart__submit-button,
button.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100% !important;
	background: var(--bln-primary) !important;
	color: #fff !important;
	border: 0 !important;
	padding: 16px 24px !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.8px !important;
	border-radius: var(--bln-radius-sm) !important;
	text-decoration: none !important;
	box-shadow: 0 4px 14px rgba(207, 29, 44, 0.3) !important;
	transition: all 0.25s ease;
}
.wc-block-cart__submit-button::after {
	content: "\2192";
	font-size: 16px;
	font-weight: 400;
}
.wc-block-cart__submit-button:hover {
	background: var(--bln-primary-dark) !important;
	transform: translateY(-1px);
	box-shadow: 0 6px 20px rgba(207, 29, 44, 0.4) !important;
}

/* ---------- Empty cart state ---------- */
.wp-block-woocommerce-empty-cart-block,
.wc-block-cart__empty-cart__title {
	text-align: center;
	padding: 40px 20px;
}
.wc-block-cart__empty-cart__title {
	font-size: 20px !important;
	font-weight: 700 !important;
	color: var(--bln-dark) !important;
	margin-bottom: 20px !important;
}

/* ---------- Errors + notices ---------- */
.wc-block-components-notice-banner {
	border-radius: var(--bln-radius-md) !important;
	padding: 12px 18px !important;
	font-size: 14px !important;
	margin-bottom: 20px !important;
}
.wc-block-components-notice-banner.is-error {
	background: #fff2f3 !important;
	border-left: 4px solid var(--bln-primary) !important;
	color: var(--bln-dark) !important;
}
.wc-block-components-notice-banner.is-success {
	background: rgba(40, 167, 69, 0.08) !important;
	border-left: 4px solid #28a745 !important;
}

/* ==========================================================
   MOBILE — Tablet (up to 991px)
   ========================================================== */
@media (max-width: 991px) {
	.wp-block-woocommerce-cart,
	.wc-block-cart {
		padding: 30px 16px 60px !important;
		max-width: 100% !important;
	}
	.wp-block-woocommerce-cart .wc-block-cart,
	.wc-block-cart.wc-block-components-sidebar-layout,
	.wc-block-cart.is-large {
		display: flex !important;
		flex-direction: column !important;
		gap: 24px !important;
	}
	.wp-block-woocommerce-cart .wc-block-cart > .wc-block-cart__main,
	.wp-block-woocommerce-cart .wc-block-cart > .wc-block-cart__sidebar,
	.wc-block-cart .wc-block-cart__main,
	.wc-block-cart .wc-block-cart__sidebar {
		flex: 1 1 100% !important;
		width: 100% !important;
		max-width: 100% !important;
		position: static !important;
	}
}

/* ==========================================================
   MOBILE — Phone (up to 767px)
   ========================================================== */
@media (max-width: 767px) {
	.wp-block-woocommerce-cart,
	.wc-block-cart {
		padding: 20px 12px 50px !important;
	}

	/* Items table becomes stacked cards */
	.wc-block-cart-items {
		border: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		border-radius: 0 !important;
	}
	.wc-block-cart-items thead,
	.wc-block-cart-items .wc-block-cart-items__header {
		display: none !important;
	}
	.wc-block-cart-items tbody { display: block; width: 100%; }
	.wc-block-cart-items__row {
		display: grid !important;
		grid-template-columns: 88px 1fr;
		grid-template-areas:
			"img product"
			"img total";
		gap: 8px 14px !important;
		padding: 14px !important;
		background: #fff !important;
		border: 1px solid var(--bln-border) !important;
		border-radius: var(--bln-radius-md) !important;
		box-shadow: var(--bln-shadow-sm) !important;
		margin-bottom: 12px !important;
		width: 100%;
		box-sizing: border-box;
	}
	.wc-block-cart-items__row td {
		padding: 0 !important;
		background: transparent !important;
		border: 0 !important;
		display: block;
	}
	.wc-block-cart-item__image {
		grid-area: img;
		width: 88px !important;
		padding: 0 !important;
	}
	.wc-block-cart-item__image img {
		width: 88px !important;
		height: 88px !important;
		padding: 6px !important;
	}
	.wc-block-cart-item__product { grid-area: product; padding: 0 !important; }
	.wc-block-cart-item__product .wc-block-components-product-name {
		font-size: 14px !important;
		margin-bottom: 4px !important;
	}
	.wc-block-cart-item__total {
		grid-area: total;
		text-align: right !important;
		align-self: center;
		padding: 0 !important;
	}
	.wc-block-cart-item__total .wc-block-components-product-price__value {
		font-size: 15px !important;
	}
	.wc-block-cart-item__prices { margin-bottom: 8px !important; }

	/* Quantity + remove row — flow horizontally */
	.wc-block-cart-item__quantity {
		display: flex !important;
		align-items: center !important;
		gap: 12px !important;
		margin-top: 6px !important;
	}
	.wc-block-components-quantity-selector {
		height: 34px !important;
		min-width: 100px !important;
		max-width: 120px !important;
	}
	.wc-block-components-quantity-selector__button {
		width: 30px !important;
		font-size: 16px !important;
	}
	.wc-block-components-quantity-selector__input {
		width: 36px !important;
		font-size: 13px !important;
	}
	.wc-block-cart-item__remove-link {
		font-size: 11px !important;
		padding: 4px 6px !important;
	}

	/* Sidebar full width — normal card */
	.wp-block-woocommerce-cart-order-summary-block,
	.wc-block-cart__sidebar .wc-block-components-sidebar {
		padding: 20px !important;
		border-radius: var(--bln-radius-md) !important;
	}
	.wc-block-components-totals-item { padding: 10px 0 !important; font-size: 13px; }
	.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
	.wc-block-components-totals-footer-item-tax-value {
		font-size: 18px !important;
	}
	.wc-block-cart__submit-button {
		padding: 14px 20px !important;
		font-size: 13px !important;
		letter-spacing: 0.5px !important;
	}

	/* Coupon form stacks */
	.wc-block-components-totals-coupon__form {
		flex-direction: column !important;
	}
	.wc-block-components-totals-coupon__input input,
	.wc-block-components-totals-coupon__button {
		width: 100% !important;
	}
}

/* ==========================================================
   Small phone (up to 480px) — tighten further
   ========================================================== */
@media (max-width: 480px) {
	.wp-block-woocommerce-cart,
	.wc-block-cart {
		padding: 16px 10px 40px !important;
	}
	.wc-block-cart-items__row {
		grid-template-columns: 72px 1fr !important;
		padding: 12px !important;
	}
	.wc-block-cart-item__image,
	.wc-block-cart-item__image img {
		width: 72px !important;
		height: 72px !important;
	}
	.wc-block-cart-item__product .wc-block-components-product-name {
		font-size: 13px !important;
	}
	.wc-block-cart-item__quantity {
		flex-wrap: wrap !important;
		gap: 8px !important;
	}
}
