/**
 * MakeAdera WooCommerce Cart & Checkout Stylesheet
 *
 * Institutional Laboratory / Biotech E-Commerce Aesthetic
 * Matching MakeAdera Design System & Design Tokens
 *
 * /cart/ and /checkout/ are built from WooCommerce Blocks, which render
 * client-side into .wc-block-* markup — sections 4-8 style those and are what
 * the live pages actually use. Sections 2 & 3 keep the classic
 * [woocommerce_cart] / [woocommerce_checkout] shortcode markup styled in case a
 * page is ever switched back to it.
 *
 * @package MakeAdera
 * @author aderaDev
 */

/* --------------------------------------------------------------------------
   Page shell
   The hero is printed full-bleed above .content-wrap, so every wrapper between
   the header ticker bar and the hero is collapsed. The breathing room the cart
   needs is re-applied on .entry-content-wrap, below the hero. Kadence's boxed
   white "content-bg" card is dropped as well so the cart owns its own cards
   against the soft page background.
   -------------------------------------------------------------------------- */
.woocommerce-cart #content,
.woocommerce-checkout #content,
.woocommerce-cart .site-main,
.woocommerce-checkout .site-main,
.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content,
.woocommerce-cart .content-container,
.woocommerce-checkout .content-container,
.woocommerce-cart #primary,
.woocommerce-checkout #primary,
.woocommerce-cart .single-content,
.woocommerce-checkout .single-content {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

.woocommerce-cart .entry.content-bg,
.woocommerce-checkout .entry.content-bg {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

/* Side gutters already come from .content-container.site-container */
.woocommerce-cart .entry-content-wrap,
.woocommerce-checkout .entry-content-wrap {
	margin-top: 0 !important;
	padding: 56px 0 96px !important;
}

@media (max-width: 767px) {
	.woocommerce-cart .entry-content-wrap,
	.woocommerce-checkout .entry-content-wrap {
		padding: 36px 0 64px !important;
	}
}

/* Full-width End-to-End Screen Hero Banner on Cart & Checkout */
.ma-cart-checkout-hero {
	width: 100vw !important;
	position: relative !important;
	left: 50% !important;
	right: 50% !important;
	margin-left: -50vw !important;
	margin-right: -50vw !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	box-sizing: border-box !important;
}

.ma-cart-checkout-hero .ma-shop-hero-description {
	font-family: var(--makeadera-font-primary, 'Inter', sans-serif) !important;
	font-size: 15px !important;
	color: #64748B !important;
	margin-top: 12px !important;
	max-width: 620px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce {
	max-width: 1240px;
	margin: 0 auto;
	padding: 56px 24px 80px 24px !important;
	font-family: var(--makeadera-font-primary, 'Inter', sans-serif);
	color: var(--makeadera-color-charcoal, #262234);
}

/* When ma-shop-hero is present on cart & checkout pages, hide unstyled default inner titles */
.woocommerce-cart .entry-header,
.woocommerce-checkout .entry-header,
.woocommerce-cart .woocommerce > h1.page-title,
.woocommerce-checkout .woocommerce > h1.page-title,
.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title {
	display: none !important;
}

/* WooCommerce Notices (Success, Alert, Info) */
.woocommerce-notices-wrapper {
	width: 100%;
	margin-bottom: 30px;
}

.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
	padding: 16px 22px;
	border-radius: 12px;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.5;
	list-style: none;
	margin-bottom: 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.woocommerce-message {
	background-color: #F0FDF4;
	border: 1px solid #BBF7D0;
	color: #166534;
}

.woocommerce-error {
	background-color: #FEF2F2;
	border: 1px solid #FECACA;
	color: #991B1B;
}

.woocommerce-info {
	background-color: #FAEDEC;
	border: 1px solid #F0D2D0;
	color: var(--makeadera-color-accent-deep, #9C1D17);
}

.woocommerce-message a.button,
.woocommerce-error a.button,
.woocommerce-info a.button {
	background-color: var(--makeadera-color-charcoal, #262234);
	color: #FFFFFF;
	font-family: var(--makeadera-font-primary, 'Inter', sans-serif);
	font-size: 13px;
	font-weight: 600;
	padding: 8px 16px;
	border-radius: 8px;
	text-decoration: none;
	transition: background-color 0.2s ease;
}

.woocommerce-message a.button:hover,
.woocommerce-error a.button:hover,
.woocommerce-info a.button:hover {
	background-color: var(--makeadera-color-accent, #C3241D);
}

/* ==========================================================================
   2. SHOPPING CART PAGE (/cart/) — classic [woocommerce_cart] shortcode
   Dormant while the page uses the Cart block; see section 5.
   ========================================================================== */
.woocommerce-cart .woocommerce-cart-form {
	flex: 1 1 65%;
}

.woocommerce-cart .cart-collaterals {
	flex: 1 1 32%;
}

/* Desktop 2-Column Cart Grid Layout */
@media (min-width: 992px) {
	.woocommerce-cart .woocommerce {
		display: flex;
		flex-wrap: wrap;
		gap: 40px;
		align-items: flex-start;
	}

	.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper {
		width: 100%;
		flex: 0 0 100%;
	}
}

/* Cart Table Styling */
table.shop_table.cart {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	background: #FFFFFF;
	border: 1px solid var(--makeadera-color-slate-light, #E9E6F0);
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.03);
	margin-bottom: 30px;
}

table.shop_table.cart th {
	background-color: #F8F7FA;
	padding: 16px 20px;
	font-family: var(--makeadera-font-mono, 'JetBrains Mono', monospace);
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.6px;
	color: #64748B;
	border-bottom: 1px solid var(--makeadera-color-slate-light, #E9E6F0);
	text-align: left;
}

table.shop_table.cart td {
	padding: 20px;
	border-bottom: 1px solid var(--makeadera-color-slate-light, #E9E6F0);
	vertical-align: middle;
}

table.shop_table.cart tr:last-child td {
	border-bottom: none;
}

/* Product Thumbnail & Details */
table.shop_table.cart .product-thumbnail img {
	width: 64px;
	height: 64px;
	object-fit: cover;
	border-radius: 10px;
	border: 1px solid #E2E8F0;
}

table.shop_table.cart .product-name a {
	font-family: var(--makeadera-font-primary, 'Inter', sans-serif);
	font-size: 15px;
	font-weight: 700;
	color: var(--makeadera-color-charcoal, #262234);
	text-decoration: none;
	transition: color 0.2s ease;
}

table.shop_table.cart .product-name a:hover {
	color: var(--makeadera-color-accent, #C3241D);
}

table.shop_table.cart .product-price,
table.shop_table.cart .product-subtotal {
	font-family: var(--makeadera-font-mono, 'JetBrains Mono', monospace);
	font-size: 15px;
	font-weight: 600;
	color: var(--makeadera-color-charcoal, #262234);
}

/* Product Remove Icon */
table.shop_table.cart .product-remove a.remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	color: #94A3B8;
	font-size: 18px;
	font-weight: 400;
	text-decoration: none;
	transition: all 0.2s ease;
	background: #F1F5F9;
}

table.shop_table.cart .product-remove a.remove:hover {
	background-color: #FEE2E2;
	color: #DC2626;
}

/* Quantity Input */
.quantity input.qty {
	width: 60px;
	height: 40px;
	padding: 0 8px;
	border: 1px solid #CBD5E1;
	border-radius: 8px;
	text-align: center;
	font-family: var(--makeadera-font-mono, 'JetBrains Mono', monospace);
	font-size: 14px;
	font-weight: 600;
	color: var(--makeadera-color-charcoal, #262234);
	outline: none;
	transition: border-color 0.2s ease;
}

.quantity input.qty:focus {
	border-color: var(--makeadera-color-accent, #C3241D);
	box-shadow: 0 0 0 3px rgba(195, 36, 29, 0.12);
}

/* Actions Row: Coupon & Update Cart */
table.shop_table.cart td.actions {
	padding: 20px;
	background-color: #FAF9FC;
}

.coupon {
	display: flex;
	align-items: center;
	gap: 10px;
	float: left;
}

.coupon input#coupon_code {
	height: 44px;
	padding: 0 16px;
	border: 1px solid #CBD5E1;
	border-radius: 10px;
	font-family: var(--makeadera-font-primary, 'Inter', sans-serif);
	font-size: 14px;
	outline: none;
	width: 180px;
	transition: border-color 0.2s ease;
}

.coupon input#coupon_code:focus {
	border-color: var(--makeadera-color-accent, #C3241D);
}

.coupon button.button,
button[name="update_cart"] {
	height: 44px;
	padding: 0 20px;
	background-color: var(--makeadera-color-charcoal, #262234);
	color: #FFFFFF;
	font-family: var(--makeadera-font-primary, 'Inter', sans-serif);
	font-size: 14px;
	font-weight: 600;
	border: none;
	border-radius: 10px;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.coupon button.button:hover,
button[name="update_cart"]:hover {
	background-color: var(--makeadera-color-accent, #C3241D);
}

/* Cart Summary Card (Totals Box) */
.cart-collaterals .cart_totals {
	background: #FFFFFF;
	border: 1px solid var(--makeadera-color-slate-light, #E9E6F0);
	border-radius: 16px;
	padding: 28px;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.03);
}

.cart_totals h2 {
	font-family: var(--makeadera-font-primary, 'Inter', sans-serif);
	font-size: 20px;
	font-weight: 800;
	margin-bottom: 20px;
	color: var(--makeadera-color-charcoal, #262234);
}

.cart_totals table.shop_table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 24px;
}

.cart_totals table.shop_table th,
.cart_totals table.shop_table td {
	padding: 14px 0;
	border-bottom: 1px solid #E2E8F0;
	font-size: 14px;
}

.cart_totals table.shop_table th {
	font-weight: 600;
	color: #64748B;
	text-align: left;
}

.cart_totals table.shop_table td {
	font-family: var(--makeadera-font-mono, 'JetBrains Mono', monospace);
	font-weight: 600;
	color: var(--makeadera-color-charcoal, #262234);
	text-align: right;
}

.cart_totals table.shop_table tr.order-total th,
.cart_totals table.shop_table tr.order-total td {
	font-size: 18px;
	font-weight: 700;
	color: var(--makeadera-color-charcoal, #262234);
	border-bottom: none;
	padding-top: 18px;
}

/* Proceed to Checkout Button */
.wc-proceed-to-checkout a.checkout-button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 52px;
	background-color: var(--makeadera-color-accent, #C3241D);
	color: #FFFFFF;
	font-family: var(--makeadera-font-primary, 'Inter', sans-serif);
	font-size: 16px;
	font-weight: 700;
	border-radius: 12px;
	text-decoration: none;
	transition: all 0.25s ease;
	box-shadow: 0 4px 14px rgba(195, 36, 29, 0.3);
}

.wc-proceed-to-checkout a.checkout-button:hover {
	background-color: var(--makeadera-color-accent-deep, #9C1D17);
	transform: translateY(-1px);
	box-shadow: 0 6px 18px rgba(195, 36, 29, 0.4);
}

/* ==========================================================================
   3. CHECKOUT PAGE (/checkout/) — classic [woocommerce_checkout] shortcode
   Dormant while the page uses the Checkout block; see section 6.
   ========================================================================== */
@media (min-width: 992px) {
	form.checkout {
		display: flex;
		flex-wrap: wrap;
		gap: 40px;
		align-items: flex-start;
	}

	#customer_details {
		flex: 1 1 58%;
	}

	#order_review_heading,
	#order_review {
		flex: 1 1 38%;
	}

	#order_review_heading {
		width: 38%;
		margin-bottom: -20px;
	}
}

/* Form Fields Styling */
.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
#order_review_heading {
	font-family: var(--makeadera-font-primary, 'Inter', sans-serif);
	font-size: 20px;
	font-weight: 800;
	color: var(--makeadera-color-charcoal, #262234);
	margin-bottom: 20px;
}

.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}

.form-row {
	display: flex;
	flex-direction: column;
	width: 100%;
	margin-bottom: 16px;
}

.form-row-first,
.form-row-last {
	width: calc(50% - 8px);
}

@media (max-width: 767px) {
	.form-row-first,
	.form-row-last {
		width: 100%;
	}
}

.form-row label {
	font-size: 13px;
	font-weight: 600;
	color: #475569;
	margin-bottom: 6px;
}

.form-row label .required {
	color: #DC2626;
	text-decoration: none;
}

.form-row input.input-text,
.form-row textarea,
.form-row select,
.select2-container--default .select2-selection--single {
	width: 100%;
	height: 46px;
	padding: 0 14px;
	border: 1px solid #CBD5E1;
	border-radius: 10px;
	font-family: var(--makeadera-font-primary, 'Inter', sans-serif);
	font-size: 14px;
	color: var(--makeadera-color-charcoal, #262234);
	background-color: #FFFFFF;
	outline: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	box-sizing: border-box;
}

.form-row textarea {
	height: 100px;
	padding: 12px 14px;
	resize: vertical;
}

.form-row input.input-text:focus,
.form-row textarea:focus,
.form-row select:focus {
	border-color: var(--makeadera-color-accent, #C3241D);
	box-shadow: 0 0 0 3px rgba(195, 36, 29, 0.12);
}

/* Order Review Box */
#order_review {
	background: #FFFFFF;
	border: 1px solid var(--makeadera-color-slate-light, #E9E6F0);
	border-radius: 16px;
	padding: 28px;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.03);
}

table.shop_table.woocommerce-checkout-review-order-table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 24px;
}

table.shop_table.woocommerce-checkout-review-order-table th,
table.shop_table.woocommerce-checkout-review-order-table td {
	padding: 12px 0;
	border-bottom: 1px solid #E2E8F0;
	font-size: 14px;
}

table.shop_table.woocommerce-checkout-review-order-table th {
	font-weight: 600;
	color: #64748B;
	text-align: left;
}

table.shop_table.woocommerce-checkout-review-order-table td {
	font-family: var(--makeadera-font-mono, 'JetBrains Mono', monospace);
	font-weight: 600;
	color: var(--makeadera-color-charcoal, #262234);
	text-align: right;
}

table.shop_table.woocommerce-checkout-review-order-table .product-name {
	font-family: var(--makeadera-font-primary, 'Inter', sans-serif);
	font-weight: 600;
	color: var(--makeadera-color-charcoal, #262234);
}

table.shop_table.woocommerce-checkout-review-order-table .order-total th,
table.shop_table.woocommerce-checkout-review-order-table .order-total td {
	font-size: 18px;
	font-weight: 700;
	padding-top: 16px;
	border-bottom: none;
}

/* Payment Gateways Accordion */
#payment {
	background-color: #FAF9FC;
	border-radius: 12px;
	padding: 20px;
	margin-top: 20px;
}

#payment ul.payment_methods {
	list-style: none;
	padding: 0;
	margin: 0 0 20px 0;
}

#payment ul.payment_methods li {
	margin-bottom: 12px;
	padding-bottom: 12px;
	border-bottom: 1px solid #E2E8F0;
}

#payment ul.payment_methods li:last-child {
	border-bottom: none;
	margin-bottom: 0;
}

#payment ul.payment_methods label {
	font-weight: 700;
	font-size: 15px;
	cursor: pointer;
	margin-left: 8px;
}

#payment div.payment_box {
	background-color: #FFFFFF;
	border: 1px solid #E2E8F0;
	border-radius: 8px;
	padding: 14px;
	margin-top: 10px;
	font-size: 13px;
	color: #64748B;
	line-height: 1.5;
}

/* Place Order Button */
#payment #place_order,
button#place_order {
	width: 100%;
	height: 52px;
	background-color: var(--makeadera-color-accent, #C3241D);
	color: #FFFFFF;
	font-family: var(--makeadera-font-primary, 'Inter', sans-serif);
	font-size: 16px;
	font-weight: 700;
	border: none;
	border-radius: 12px;
	cursor: pointer;
	transition: all 0.25s ease;
	box-shadow: 0 4px 14px rgba(195, 36, 29, 0.3);
}

#payment #place_order:hover,
button#place_order:hover {
	background-color: var(--makeadera-color-accent-deep, #9C1D17);
	transform: translateY(-1px);
	box-shadow: 0 6px 18px rgba(195, 36, 29, 0.4);
}

/* ==========================================================================
   4. CART & CHECKOUT BLOCKS — shared shell
   /cart/ and /checkout/ are built from WooCommerce Blocks, which render
   client-side into .wc-block-* markup. This is what those pages actually use;
   sections 2 & 3 above only cover the classic shortcodes.

   WooCommerce sizes both blocks with container queries against
   .wp-block-woocommerce-cart / -checkout (container-type: inline-size,
   breakpoint 699px), so the responsive rules here use @container too and stay
   in step with it rather than guessing a viewport width. This stylesheet is
   enqueued after every wc-blocks-* stylesheet, so equal-specificity rules win
   on order.

   Card, eyebrow and spec-row treatments follow the catalog design system:
   white on #ECEDEE at 16px radius, mono uppercase labels, mono numerals.
   ========================================================================== */

.woocommerce-cart .wp-block-woocommerce-cart,
.woocommerce-checkout .wp-block-woocommerce-checkout {
	font-family: var(--makeadera-font-primary, 'Inter', sans-serif);
	color: var(--makeadera-color-charcoal, #262234);
}

.wc-block-cart,
.wc-block-checkout {
	margin-bottom: 0;
	padding-top: 0;
}

.wc-block-cart.wc-block-components-sidebar-layout,
.wc-block-checkout.wc-block-components-sidebar-layout {
	align-items: flex-start;
	gap: 28px;
	margin: 0;
}

.wc-block-cart .wc-block-components-main,
.wc-block-checkout .wc-block-components-main {
	flex: 1 1 0;
	width: auto;
	min-width: 0;
	padding-right: 0;
}

.wc-block-cart .wc-block-components-sidebar,
.wc-block-checkout .wc-block-components-sidebar {
	flex: 0 0 372px;
	width: 372px;
	margin: 0;
	padding-left: 0;
}

/* Summary rail trails a long item list / form */
@container (min-width: 700px) {
	.wc-block-cart .wc-block-components-sidebar,
	.wc-block-checkout .wc-block-components-sidebar {
		position: sticky;
		top: 24px;
	}
}

/* Panel shell shared by every column on both pages */
.wc-block-cart .wc-block-cart__main,
.wc-block-cart .wc-block-cart__sidebar,
.wc-block-checkout .wc-block-checkout__main,
.wc-block-checkout .wc-block-checkout__sidebar {
	box-sizing: border-box;
	overflow: hidden;
	background: var(--makeadera-color-white, #FFFFFF);
	border: 1px solid #ECEDEE;
	border-radius: 16px;
	box-shadow: 0 2px 10px rgba(23, 20, 31, 0.03);
}

.wc-block-cart .wc-block-cart__main,
.wc-block-cart .wc-block-cart__sidebar,
.wc-block-checkout .wc-block-checkout__sidebar {
	padding: 0;
}

.wc-block-checkout .wc-block-checkout__main {
	padding: 4px 28px 28px;
}

/* --------------------------------------------------------------------------
   4.1 Frame — toolbar above, assurance strip below (see inc/woocommerce.php)
   -------------------------------------------------------------------------- */
.ma-cart-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 24px;
	margin: 0 0 20px;
}

/* :focus / :active included — Kadence's global a:focus, a:active rule
   (specificity 0,1,1) outranks a single class and would recolour the label. */
.ma-cart-back,
.ma-cart-back:link,
.ma-cart-back:visited {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	font-family: var(--makeadera-font-mono, 'JetBrains Mono', monospace);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--makeadera-color-accent, #C3241D);
	text-decoration: none;
	transition: color 0.2s ease;
}

.ma-cart-back:hover,
.ma-cart-back:focus,
.ma-cart-back:active {
	color: var(--makeadera-color-accent-deep, #9C1D17);
	text-decoration: none;
}

.ma-cart-back svg {
	flex-shrink: 0;
	transition: transform 0.2s ease;
}

.ma-cart-back:hover svg {
	transform: translateX(-3px);
}

.ma-cart-back:focus-visible {
	outline: 2px solid var(--makeadera-color-black, #17141F);
	outline-offset: 3px;
}

.ma-cart-toolbar-note {
	font-family: var(--makeadera-font-mono, 'JetBrains Mono', monospace);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--makeadera-color-gray-mid, #86828F);
}

.ma-cart-assurance {
	margin: 26px 0 0;
	padding: 26px 28px;
	background-color: var(--makeadera-color-white, #FFFFFF);
	border: 1px solid #ECEDEE;
	border-radius: 16px;
	box-shadow: 0 2px 10px rgba(23, 20, 31, 0.03);
}

.ma-cart-assurance-list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 22px 28px;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Square by house rule: anything carrying a border-left accent keeps radius 0 */
.ma-cart-assurance-item {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0;
	padding-left: 14px;
	border-left: 2px solid var(--makeadera-color-accent-soft, #F0D2D0);
	border-radius: 0;
}

.ma-cart-assurance-label {
	font-family: var(--makeadera-font-mono, 'JetBrains Mono', monospace);
	font-size: 11px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--makeadera-color-charcoal, #262234);
}

.ma-cart-assurance-note {
	font-size: 13px;
	line-height: 1.5;
	color: var(--makeadera-color-gray-mid, #86828F);
}

/* An emptied cart / checkout keeps neither piece */
.woocommerce-cart .entry-content:has(.wc-block-cart__empty-cart__title) .ma-cart-toolbar,
.woocommerce-cart .entry-content:has(.wc-block-cart__empty-cart__title) .ma-cart-assurance,
.woocommerce-checkout .entry-content:has(.wc-block-checkout-empty) .ma-cart-toolbar,
.woocommerce-checkout .entry-content:has(.wc-block-checkout-empty) .ma-cart-assurance {
	display: none;
}

@media (max-width: 900px) {
	.ma-cart-assurance-list {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 560px) {
	.ma-cart-assurance {
		padding: 22px 18px;
	}

	.ma-cart-assurance-list {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================================
   5. SHOPPING CART — WooCommerce Cart Block (wp:woocommerce/cart)
   ========================================================================== */

/* --------------------------------------------------------------------------
   5.1 Item table — tinted column head, edge-to-edge rows
   -------------------------------------------------------------------------- */
.wc-block-cart .wc-block-cart__main .wc-block-cart-items {
	width: 100%;
	margin: 0;
	border-bottom: 0;
	border-spacing: 0;
}

/* The tint sits on the row: WooCommerce forces background:none on th/td */
.wc-block-cart .wc-block-cart-items .wc-block-cart-items__header {
	background-color: var(--makeadera-color-bg-soft, #F7F6FA);
}

.wc-block-cart .wc-block-cart__main .wc-block-cart-items th {
	padding: 15px 0 14px;
	border-bottom: 1px solid #ECEDEE;
	font-family: var(--makeadera-font-mono, 'JetBrains Mono', monospace);
	font-size: 11px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--makeadera-color-slate-dark, #4A4655);
	text-align: left;
}

.wc-block-cart .wc-block-cart__main .wc-block-cart-items th.wc-block-cart-items__header-image {
	width: 132px;
}

.wc-block-cart .wc-block-cart__main .wc-block-cart-items th.wc-block-cart-items__header-total {
	width: 148px;
	text-align: right;
}

.wc-block-cart .wc-block-cart__main .wc-block-cart-items td {
	padding: 26px 0;
	border-top: 1px solid #ECEDEE;
	vertical-align: top;
}

/* The tinted head already draws the rule above the first row */
.wc-block-cart .wc-block-cart__main .wc-block-cart-items tbody tr:first-child td {
	border-top: 0;
}

.wc-block-cart .wc-block-cart__main .wc-block-cart-items th:first-child,
.wc-block-cart .wc-block-cart__main .wc-block-cart-items td:first-child {
	padding-left: 28px;
}

.wc-block-cart .wc-block-cart__main .wc-block-cart-items th:last-child,
.wc-block-cart .wc-block-cart__main .wc-block-cart-items td:last-child {
	padding-right: 28px;
}

.wc-block-cart .wc-block-cart-items .wc-block-cart-items__row {
	transition: background-color 0.18s ease;
}

.wc-block-cart .wc-block-cart-items .wc-block-cart-items__row:hover {
	background-color: #FCFBFD;
}

/* --------------------------------------------------------------------------
   5.2 Line item
   -------------------------------------------------------------------------- */
.wc-block-cart .wc-block-cart__main .wc-block-cart-items .wc-block-cart-item__image {
	width: 132px;
	padding-right: 16px;
}

/* Dark well behind the render, as on the catalog cards.
   Held to 1:1 by aspect-ratio rather than a fixed height: the width can be
   clamped (img{max-width:100%}), and a fixed height would letterbox when it
   is, so the ratio drives the height and a narrow cell just scales it down. */
.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image img {
	display: block;
	width: 100%;
	max-width: 88px;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border: 1px solid #ECEDEE;
	border-radius: 12px;
	background-color: #0B0E14;
}

.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__wrap {
	gap: 7px;
}

.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name {
	font-family: var(--makeadera-font-primary, 'Inter', sans-serif);
	font-size: 17px;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: -0.01em;
	color: var(--makeadera-color-black, #17141F);
	text-decoration: none;
	transition: color 0.18s ease;
}

.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row a.wc-block-components-product-name:hover {
	color: var(--makeadera-color-accent, #C3241D);
	text-decoration: none;
}

.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__prices {
	font-family: var(--makeadera-font-mono, 'JetBrains Mono', monospace);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.03em;
	color: var(--makeadera-color-gray-mid, #86828F);
}

/* Labels the per-unit figure so it cannot be read as the line total */
.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__prices::before {
	content: "Unit";
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--makeadera-color-accent, #C3241D);
}

.wc-block-cart .wc-block-components-product-metadata {
	font-size: 13px;
	line-height: 1.5;
	color: var(--makeadera-color-gray-mid, #86828F);
}

.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total {
	font-family: var(--makeadera-font-mono, 'JetBrains Mono', monospace);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: -0.01em;
	color: var(--makeadera-color-black, #17141F);
	text-align: right;
	white-space: nowrap;
}

.wc-block-cart .wc-block-components-product-badge {
	padding: 3px 10px;
	border-color: var(--makeadera-color-accent-soft, #F0D2D0);
	border-radius: 999px;
	background: var(--makeadera-color-accent-tint, #FAEDEC);
	font-family: var(--makeadera-font-mono, 'JetBrains Mono', monospace);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--makeadera-color-accent-deep, #9C1D17);
}

/* --------------------------------------------------------------------------
   5.3 Quantity stepper + remove control
   -------------------------------------------------------------------------- */
.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity {
	gap: 10px;
	margin-top: 14px;
}

.wc-block-cart .wc-block-components-quantity-selector {
	width: 112px;
	height: 38px;
	overflow: hidden;
	border: 1px solid var(--makeadera-color-border-light, #DEDBE5);
	border-radius: 10px;
	background: var(--makeadera-color-white, #FFFFFF);
}

.wc-block-cart .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
	min-width: 34px;
	padding: 0;
	font-family: var(--makeadera-font-mono, 'JetBrains Mono', monospace);
	font-size: 14px;
	font-weight: 600;
	color: var(--makeadera-color-charcoal, #262234);
}

.wc-block-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
	min-width: 34px;
	border-radius: 0;
	font-size: 17px;
	font-weight: 500;
	line-height: 1;
	color: var(--makeadera-color-slate-dark, #4A4655);
	opacity: 1;
	transition: background-color 0.18s ease, color 0.18s ease;
}

.wc-block-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover:not(:disabled) {
	background-color: var(--makeadera-color-accent-tint, #FAEDEC);
	color: var(--makeadera-color-accent-deep, #9C1D17);
}

.wc-block-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:disabled {
	opacity: 0.35;
}

.wc-block-cart .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input:focus,
.wc-block-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:focus {
	outline: 2px solid var(--makeadera-color-accent-soft, #F0D2D0);
	outline-offset: -2px;
	box-shadow: none;
}

.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border: 1px solid transparent;
	border-radius: 10px;
	background: var(--makeadera-color-bg-soft, #F7F6FA);
	color: var(--makeadera-color-gray-mid, #86828F);
	text-decoration: none;
	transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}

.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link:hover {
	border-color: var(--makeadera-color-error-border, #F3C2C8);
	background-color: var(--makeadera-color-error-bg, #FDECEE);
	color: var(--makeadera-color-error, #B3261E);
}

.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link svg {
	width: 17px;
	height: 17px;
}

/* --------------------------------------------------------------------------
   5.4 Cart summary rail
   -------------------------------------------------------------------------- */
/* Charcoal head strip, kept at every container width — WooCommerce hides this
   title below 699px, but here it is the panel's masthead. */
.wc-block-cart .wc-block-components-sidebar .wc-block-cart__totals-title {
	display: block;
	margin: 0;
	padding: 16px 24px;
	border-bottom: 0;
	background-color: var(--makeadera-color-charcoal, #262234);
	font-family: var(--makeadera-font-mono, 'JetBrains Mono', monospace);
	font-size: 11px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--makeadera-color-white, #FFFFFF);
	text-align: left;
}

.wc-block-cart .wp-block-woocommerce-cart-order-summary-block {
	margin-bottom: 0;
	padding: 0;
	border-bottom: 0;
	font-size: 14px;
	line-height: 1.5;
}

/* The coupon row leads the summary, so it needs no rule above it */
.wc-block-cart .wc-block-cart__sidebar .wc-block-components-totals-wrapper:has(> .wc-block-components-totals-coupon) {
	border-top: 0;
}

.wc-block-cart .wc-block-components-totals-coupon .wc-block-components-panel__button {
	font-family: var(--makeadera-font-primary, 'Inter', sans-serif);
	font-size: 13px;
	font-weight: 600;
	color: var(--makeadera-color-accent-deep, #9C1D17);
}

.wc-block-cart .wc-block-components-panel__button-icon {
	fill: currentColor;
}

.wc-block-cart .wc-block-components-totals-coupon__form {
	gap: 10px;
}

/* --------------------------------------------------------------------------
   5.5 Proceed to checkout
   -------------------------------------------------------------------------- */
.wc-block-cart .wc-block-cart__submit-container:not(.wc-block-cart__submit-container--sticky) {
	margin: 0;
	padding: 18px 24px 24px;
	border-top: 0;
}

.wc-block-cart .wc-block-cart__submit {
	margin: 0;
}

.wc-block-cart .wc-block-cart__payment-options {
	padding: 0 24px 20px;
}

/* --------------------------------------------------------------------------
   5.6 Empty cart
   -------------------------------------------------------------------------- */
.woocommerce-cart .wp-block-woocommerce-empty-cart-block {
	padding: 56px 32px 48px;
	background: var(--makeadera-color-white, #FFFFFF);
	border: 1px solid #ECEDEE;
	border-radius: 16px;
	box-shadow: 0 2px 10px rgba(23, 20, 31, 0.03);
}

.woocommerce-cart .wc-block-cart__empty-cart__title {
	font-family: var(--makeadera-font-primary, 'Inter', sans-serif);
	font-size: clamp(22px, 2.4vw, 30px);
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--makeadera-color-black, #17141F);
}

/* ==========================================================================
   6. CHECKOUT — WooCommerce Checkout Block (wp:woocommerce/checkout)
   ========================================================================== */

/* --------------------------------------------------------------------------
   6.1 Form steps
   -------------------------------------------------------------------------- */
.wc-block-checkout .wc-block-components-checkout-step {
	padding: 24px 0;
	border-top: 1px solid #ECEDEE;
}

.wc-block-checkout .wc-block-components-checkout-step:first-child {
	border-top: 0;
}

.wc-block-checkout .wc-block-components-checkout-step__heading {
	margin: 0 0 4px;
}

.wc-block-checkout .wc-block-components-checkout-step__title {
	font-family: var(--makeadera-font-primary, 'Inter', sans-serif);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: -0.01em;
	color: var(--makeadera-color-black, #17141F);
	text-transform: none;
}

.wc-block-checkout .wc-block-components-checkout-step__description {
	margin: 0 0 14px;
	font-size: 13px;
	line-height: 1.5;
	color: var(--makeadera-color-gray-mid, #86828F);
}

/* --------------------------------------------------------------------------
   6.2 Form controls
   -------------------------------------------------------------------------- */
.wc-block-checkout .wc-block-components-text-input input[type="text"],
.wc-block-checkout .wc-block-components-text-input input[type="email"],
.wc-block-checkout .wc-block-components-text-input input[type="tel"],
.wc-block-checkout .wc-block-components-text-input input[type="number"],
.wc-block-checkout .wc-block-components-text-input input[type="password"],
.wc-block-checkout .wc-block-components-text-input input[type="url"],
.wc-block-cart .wc-block-components-totals-coupon__form .wc-block-components-text-input input[type="text"] {
	border: 1px solid var(--makeadera-color-border-light, #DEDBE5);
	border-radius: 10px;
	font-family: var(--makeadera-font-primary, 'Inter', sans-serif);
	color: var(--makeadera-color-charcoal, #262234);
}

.wc-block-checkout .wc-block-components-text-input input[type="text"]:focus,
.wc-block-checkout .wc-block-components-text-input input[type="email"]:focus,
.wc-block-checkout .wc-block-components-text-input input[type="tel"]:focus,
.wc-block-checkout .wc-block-components-text-input input[type="number"]:focus,
.wc-block-checkout .wc-block-components-text-input input[type="password"]:focus,
.wc-block-checkout .wc-block-components-text-input input[type="url"]:focus,
.wc-block-cart .wc-block-components-totals-coupon__form .wc-block-components-text-input input[type="text"]:focus {
	border: 1.5px solid var(--makeadera-color-accent, #C3241D);
	box-shadow: 0 0 0 3px rgba(195, 36, 29, 0.12);
}

.wc-block-checkout .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,
.wc-block-checkout .wc-block-components-form select,
.wc-block-checkout .wc-block-components-textarea {
	border: 1px solid var(--makeadera-color-border-light, #DEDBE5);
	border-radius: 10px;
	font-family: var(--makeadera-font-primary, 'Inter', sans-serif);
	color: var(--makeadera-color-charcoal, #262234);
}

.wc-block-checkout .wc-block-components-checkbox__mark {
	fill: var(--makeadera-color-white, #FFFFFF);
}

.wc-block-checkout .wc-block-components-checkbox__input:checked {
	background-color: var(--makeadera-color-accent, #C3241D);
	border-color: var(--makeadera-color-accent, #C3241D);
}

/* Shipping / payment option cards */
.wc-block-checkout .wc-block-components-radio-control__option {
	border-radius: 10px;
}

.wc-block-checkout .wc-block-components-radio-control__option-checked,
.wc-block-checkout .wc-block-components-radio-control__option--checked-option-highlighted {
	background-color: var(--makeadera-color-accent-tint, #FAEDEC);
}

.wc-block-checkout .wc-block-components-radio-control__label {
	font-weight: 600;
	color: var(--makeadera-color-charcoal, #262234);
}

.wc-block-checkout .wc-block-components-radio-control__secondary-label {
	font-family: var(--makeadera-font-mono, 'JetBrains Mono', monospace);
	font-weight: 600;
	color: var(--makeadera-color-charcoal, #262234);
}

.wc-block-checkout .wc-block-checkout__terms {
	font-size: 13px;
	line-height: 1.6;
	color: var(--makeadera-color-gray-mid, #86828F);
}

.wc-block-checkout .wc-block-checkout__actions {
	padding-top: 4px;
}

/* --------------------------------------------------------------------------
   6.3 Order summary rail
   -------------------------------------------------------------------------- */
.wc-block-checkout .wc-block-components-checkout-order-summary__title {
	margin: 0;
	padding: 16px 24px;
	border: 0;
	background-color: var(--makeadera-color-charcoal, #262234);
	font-family: var(--makeadera-font-mono, 'JetBrains Mono', monospace);
	font-size: 11px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--makeadera-color-white, #FFFFFF);
	text-align: left;
}

/* WooCommerce sizes the inner span at (0,3,0), so match its depth to inherit */
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title .wc-block-components-checkout-order-summary__title-text,
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title .wc-block-components-checkout-order-summary__title-price,
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title .wc-block-components-checkout-order-summary__title-open-close {
	margin: 0;
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	letter-spacing: inherit;
	text-transform: inherit;
	color: inherit;
}

.wc-block-checkout .wc-block-components-checkout-order-summary__title-icon {
	fill: currentColor;
}

.wc-block-checkout .wc-block-components-order-summary__content {
	padding: 4px 24px;
}

.wc-block-checkout .wc-block-components-order-summary-item__image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border: 1px solid #ECEDEE;
	border-radius: 8px;
	background-color: #0B0E14;
}

.wc-block-checkout .wc-block-components-order-summary-item .wc-block-components-product-name {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--makeadera-color-black, #17141F);
}

.wc-block-checkout .wc-block-components-order-summary-item__total-price,
.wc-block-checkout .wc-block-components-order-summary-item__individual-prices {
	font-family: var(--makeadera-font-mono, 'JetBrains Mono', monospace);
	font-weight: 600;
	color: var(--makeadera-color-charcoal, #262234);
}

.wc-block-checkout .wc-block-components-order-summary-item__quantity {
	border-color: #ECEDEE;
	background-color: var(--makeadera-color-charcoal, #262234);
	color: var(--makeadera-color-white, #FFFFFF);
	font-family: var(--makeadera-font-mono, 'JetBrains Mono', monospace);
	font-weight: 600;
}

/* ==========================================================================
   7. SUMMARY SPEC ROWS & PRIMARY BUTTONS — shared by both rails
   ========================================================================== */

/* Each row pads itself so the tinted total block can span the panel edge to edge */
.wc-block-cart .wc-block-components-sidebar .wc-block-components-totals-item,
.wc-block-cart .wc-block-components-sidebar .wc-block-components-totals-coupon,
.wc-block-cart .wc-block-components-sidebar .wc-block-components-panel,
.wc-block-checkout .wc-block-components-sidebar .wc-block-components-totals-item,
.wc-block-checkout .wc-block-components-sidebar .wc-block-components-totals-coupon,
.wc-block-checkout .wc-block-components-sidebar .wc-block-components-panel {
	padding-left: 24px;
	padding-right: 24px;
}

.wc-block-cart .wc-block-components-sidebar .wc-block-components-panel .wc-block-components-totals-item,
.wc-block-checkout .wc-block-components-sidebar .wc-block-components-panel .wc-block-components-totals-item {
	padding-left: 0;
	padding-right: 0;
}

.wc-block-cart .wc-block-components-totals-wrapper,
.wc-block-checkout .wc-block-components-totals-wrapper {
	padding: 14px 0;
	border-top-color: #ECEDEE;
}

/* The padding above outranks WooCommerce's own collapse rule, so an unused
   row (no shipping, no tax) would otherwise leave a gap in the rail. */
.wc-block-cart .wc-block-components-totals-wrapper:empty,
.wc-block-cart .wc-block-components-totals-wrapper:has(> :only-child:empty),
.wc-block-checkout .wc-block-components-totals-wrapper:empty,
.wc-block-checkout .wc-block-components-totals-wrapper:has(> :only-child:empty) {
	padding: 0;
	border-width: 0;
}

/* Spec row: quiet label, mono value — the catalog card idiom */
.wc-block-cart .wc-block-components-totals-item__label,
.wc-block-checkout .wc-block-components-totals-item__label {
	font-size: 13px;
	font-weight: 400;
	color: var(--makeadera-color-gray-mid, #86828F);
}

.wc-block-cart .wc-block-components-totals-item__value,
.wc-block-checkout .wc-block-components-totals-item__value {
	font-family: var(--makeadera-font-mono, 'JetBrains Mono', monospace);
	font-size: 12px;
	font-weight: 500;
	color: var(--makeadera-color-charcoal, #262234);
}

.wc-block-cart .wc-block-components-totals-item__description,
.wc-block-checkout .wc-block-components-totals-item__description {
	font-size: 12px;
	color: var(--makeadera-color-gray-mid, #86828F);
}

/* Total block: tinted band, mono label over an oversized figure */
.wc-block-cart .wc-block-components-totals-wrapper:has(> .wc-block-components-totals-footer-item),
.wc-block-checkout .wc-block-components-totals-wrapper:has(> .wc-block-components-totals-footer-item) {
	padding: 0;
	border-top-color: #ECEDEE;
}

.wc-block-cart .wc-block-components-totals-footer-item,
.wc-block-checkout .wc-block-components-totals-footer-item {
	margin: 0;
	padding: 18px 24px;
	background-color: var(--makeadera-color-bg-soft, #F7F6FA);
}

.wc-block-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	font-family: var(--makeadera-font-mono, 'JetBrains Mono', monospace);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--makeadera-color-slate-dark, #4A4655);
}

.wc-block-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-family: var(--makeadera-font-mono, 'JetBrains Mono', monospace);
	font-size: 24px;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--makeadera-color-black, #17141F);
}

/* Primary action on both pages */
.wc-block-cart .wc-block-cart__submit-button,
.wc-block-checkout .wc-block-components-checkout-place-order-button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 54px;
	padding: 14px 24px;
	border: 0;
	border-radius: 12px;
	background-color: var(--makeadera-color-accent, #C3241D);
	font-family: var(--makeadera-font-primary, 'Inter', sans-serif);
	font-size: 16px;
	font-weight: 700;
	letter-spacing: -0.01em;
	color: var(--makeadera-color-white, #FFFFFF);
	text-decoration: none;
	box-shadow: 0 6px 16px rgba(195, 36, 29, 0.28);
	transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.wc-block-cart .wc-block-cart__submit-button:hover,
.wc-block-cart .wc-block-cart__submit-button:focus,
.wc-block-checkout .wc-block-components-checkout-place-order-button:hover,
.wc-block-checkout .wc-block-components-checkout-place-order-button:focus {
	background-color: var(--makeadera-color-accent-deep, #9C1D17);
	color: var(--makeadera-color-white, #FFFFFF);
	transform: translateY(-1px);
	box-shadow: 0 10px 22px rgba(195, 36, 29, 0.34);
}

/* Secondary / coupon-apply button */
.wc-block-cart .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button {
	height: 50px;
	border: 0;
	border-radius: 10px;
	background-color: var(--makeadera-color-charcoal, #262234);
	font-family: var(--makeadera-font-primary, 'Inter', sans-serif);
	font-size: 14px;
	font-weight: 600;
	color: var(--makeadera-color-white, #FFFFFF);
	transition: background-color 0.2s ease;
}

.wc-block-cart .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button:hover {
	background-color: var(--makeadera-color-accent, #C3241D);
	color: var(--makeadera-color-white, #FFFFFF);
}

/* Block notices */
.woocommerce-cart .wc-block-components-notice-banner,
.woocommerce-checkout .wc-block-components-notice-banner {
	border-radius: 12px;
	font-family: var(--makeadera-font-primary, 'Inter', sans-serif);
	font-size: 14px;
}

/* ==========================================================================
   8. NARROW CONTAINER — WooCommerce stacks the rail under the main column
   ========================================================================== */
@container (max-width: 699px) {
	.wc-block-cart.wc-block-components-sidebar-layout,
	.wc-block-checkout.wc-block-components-sidebar-layout {
		gap: 18px;
	}

	.wc-block-cart .wc-block-components-main,
	.wc-block-cart .wc-block-components-sidebar,
	.wc-block-checkout .wc-block-components-main,
	.wc-block-checkout .wc-block-components-sidebar {
		position: static;
		flex: 1 1 auto;
		width: 100%;
	}

	.wc-block-checkout .wc-block-checkout__main {
		padding: 4px 18px 20px;
	}

	.wc-block-cart .wc-block-components-sidebar .wc-block-cart__totals-title,
	.wc-block-checkout .wc-block-components-checkout-order-summary__title {
		padding: 14px 18px;
	}

	.wc-block-cart .wc-block-components-sidebar .wc-block-components-totals-item,
	.wc-block-cart .wc-block-components-sidebar .wc-block-components-totals-coupon,
	.wc-block-cart .wc-block-components-sidebar .wc-block-components-panel,
	.wc-block-checkout .wc-block-components-sidebar .wc-block-components-totals-item,
	.wc-block-checkout .wc-block-components-sidebar .wc-block-components-totals-coupon,
	.wc-block-checkout .wc-block-components-sidebar .wc-block-components-panel {
		padding-left: 18px;
		padding-right: 18px;
	}

	.wc-block-cart .wc-block-components-totals-footer-item,
	.wc-block-checkout .wc-block-components-totals-footer-item {
		padding: 16px 18px;
	}

	.wc-block-checkout .wc-block-components-order-summary__content {
		padding: 4px 18px;
	}

	.wc-block-cart .wc-block-cart__submit-container:not(.wc-block-cart__submit-container--sticky) {
		padding: 16px 18px 18px;
	}

	.wc-block-cart .wc-block-cart__payment-options {
		padding: 0 18px 16px;
	}

	/* Thumbnail spans both rows; name/price then line total stack beside it */
	.wc-block-cart .wc-block-cart__main .wc-block-cart-items td {
		padding: 0;
		border-top: 0;
	}

	/* The row pads itself once it is a grid; the edge-cell padding above would
	   otherwise eat 28px of the 88px thumbnail track and squash the image. */
	.wc-block-cart .wc-block-cart__main .wc-block-cart-items th:first-child,
	.wc-block-cart .wc-block-cart__main .wc-block-cart-items td:first-child,
	.wc-block-cart .wc-block-cart__main .wc-block-cart-items th:last-child,
	.wc-block-cart .wc-block-cart__main .wc-block-cart-items td:last-child {
		padding-left: 0;
		padding-right: 0;
	}

	.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row {
		grid-template-columns: 88px minmax(0, 1fr);
		column-gap: 16px;
		padding: 20px 18px;
		border-top: 1px solid #ECEDEE;
		border-bottom: 0;
	}

	.wc-block-cart table.wc-block-cart-items tbody tr.wc-block-cart-items__row:first-child {
		border-top: 0;
	}

	.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image {
		grid-column: 1;
		grid-row: 1 / span 2;
		width: auto;
		padding-right: 0;
	}

	.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product {
		grid-column: 2;
		grid-row: 1;
	}

	.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total {
		grid-column: 2;
		grid-row: 2;
		justify-content: flex-start;
		padding-top: 12px;
		text-align: left;
	}
}

/* Fixed bottom checkout bar WooCommerce switches on below 782px */
@media (max-width: 782px) {
	.wc-block-cart .wc-block-cart__submit-container--sticky {
		padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
		background: var(--makeadera-color-white, #FFFFFF);
		border-top: 1px solid #ECEDEE;
	}

	.wc-block-cart .wc-block-cart__submit-container--sticky:before {
		content: none;
	}
}
