/* =========================================================
   Saidah Collections — Cart & Checkout (dedicated stylesheet)
   Loaded ONLY on the cart and checkout pages (see inc/enqueue.php),
   after main.css. Reuses the same design tokens (--saidah-*) defined
   in main.css so colours/fonts/radius always stay in sync — nothing
   here is redefined or hard-coded, so it can never drift/mismatch.
   ========================================================= */

/* ---------- Progress steps (Bag / Checkout / Order Complete) ---------- */
.saidah-progress-steps {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	list-style: none;
	margin: 0 0 32px;
	padding: 0;
}
.progress-step {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: var(--saidah-font-body);
	font-size: .82rem;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--saidah-muted);
}
.progress-step-marker {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	border: 1.5px solid var(--saidah-border);
	background: var(--saidah-white);
	font-size: .78rem;
	font-weight: 600;
	color: var(--saidah-muted);
	transition: all .2s ease;
}
.progress-step.is-current .progress-step-marker {
	border-color: var(--saidah-primary);
	background: var(--saidah-primary);
	color: var(--saidah-white);
}
.progress-step.is-current .progress-step-label { color: var(--saidah-primary); font-weight: 600; }
.progress-step.is-done .progress-step-marker {
	border-color: var(--saidah-secondary);
	background: var(--saidah-secondary);
	color: var(--saidah-primary);
}
.progress-step.is-done .progress-step-marker svg { width: 13px; height: 13px; }
.progress-step.is-done .progress-step-label { color: var(--saidah-text); }
.progress-step:not(:last-child)::after {
	content: '';
	width: 36px;
	height: 1px;
	background: var(--saidah-border);
	margin-left: 8px;
}
.progress-step.is-done:not(:last-child)::after { background: var(--saidah-secondary); }

/* ---------- Cart page head ---------- */
.cart-page-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 8px;
	border-bottom: 1px solid var(--saidah-border);
	padding-bottom: 16px;
	margin-bottom: 8px;
}
.cart-page-head .page-title { margin: 0; }
.cart-item-count {
	font-size: .85rem;
	color: var(--saidah-muted);
	font-family: var(--saidah-font-body);
}

/* ---------- Cart table ---------- */
.cart-layout { align-items: start; }
table.cart.shop_table thead th {
	font-family: var(--saidah-font-body);
	font-size: .74rem;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--saidah-muted);
	border-bottom: 2px solid var(--saidah-border);
}
table.cart.shop_table { border-radius: var(--saidah-radius); overflow: hidden; box-shadow: var(--saidah-shadow); }
table.cart.shop_table tbody tr.cart_item { transition: background-color .15s ease; }
table.cart.shop_table tbody tr.cart_item:hover { background: var(--saidah-bg); }
table.cart.shop_table td.product-thumbnail img {
	width: 84px;
	height: 84px;
	object-fit: cover;
	border: 1px solid var(--saidah-border);
	border-radius: var(--saidah-radius);
}
.product-name a {
	font-family: var(--saidah-font-heading);
	font-weight: 600;
	color: var(--saidah-text);
	display: inline-block;
	margin-bottom: 4px;
}
.product-name a:hover { color: var(--saidah-primary); }
.product-name dl.variation { font-size: .78rem; color: var(--saidah-muted); margin: 4px 0 0; }
.cart-item-stock {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: .74rem;
	margin-top: 6px;
	font-weight: 600;
}
.cart-item-stock.in-stock { color: #1e7e34; }
.cart-item-stock.in-stock::before {
	content: '';
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #1e7e34;
}
.cart-item-remove-mobile { display: none; }
.product-remove a.remove {
	transition: background .15s ease, color .15s ease;
}
.product-remove a.remove:hover { background: var(--saidah-primary); color: #fff; }

/* Quantity stepper: style WooCommerce's native +/- input as a pill stepper */
.saidah-qty-stepper .quantity {
	display: inline-flex;
	align-items: stretch;
	border: 1px solid var(--saidah-border);
	border-radius: 999px;
	overflow: hidden;
	background: #fff;
	width: fit-content;
}
.saidah-qty-stepper .qty {
	width: 44px;
	border: none;
	text-align: center;
	padding: 8px 0;
	font-family: var(--saidah-font-body);
	font-weight: 600;
	background: transparent;
	-moz-appearance: textfield;
}
.saidah-qty-stepper .qty::-webkit-outer-spin-button,
.saidah-qty-stepper .qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.saidah-qty-btn {
	width: 32px;
	border: none;
	background: var(--saidah-bg);
	color: var(--saidah-primary);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	transition: background .15s ease;
}
.saidah-qty-btn:hover { background: var(--saidah-surface); }
.saidah-qty-btn:active { background: var(--saidah-primary); color: #fff; }

/* Cart actions row */
.cart-actions-row td { border-bottom: none !important; padding-top: 20px !important; }
.actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
}
.cart-continue-shopping {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: .86rem;
	font-weight: 600;
	color: var(--saidah-primary);
}
.cart-continue-shopping:hover { color: var(--saidah-secondary); }
.cart-actions-right { display: flex; align-items: center; gap: 12px; }
.btn.btn-outline {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: transparent;
	border: 1.5px solid var(--saidah-primary);
	color: var(--saidah-primary);
	padding: 11px 20px;
	border-radius: var(--saidah-radius);
	font-size: .8rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .04em;
	cursor: pointer;
	transition: all .2s ease;
}
.btn.btn-outline:hover { background: var(--saidah-primary); color: #fff; }
.btn.btn-outline:disabled {
	border-color: var(--saidah-border);
	color: var(--saidah-muted);
	cursor: not-allowed;
	opacity: .6;
}
.btn.btn-outline:disabled:hover { background: transparent; color: var(--saidah-muted); }

/* ---------- Cart summary / sticky sidebar ---------- */
.cart-summary-sticky, .checkout-order-review-sticky { position: sticky; top: 24px; display: flex; flex-direction: column; gap: 20px; }

/* Coupon card */
.coupon-card {
	background: #fff;
	border: 1px solid var(--saidah-border);
	border-radius: var(--saidah-radius);
	overflow: hidden;
}
.coupon-toggle {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 8px;
	background: var(--saidah-bg);
	border: none;
	padding: 14px 18px;
	font-family: var(--saidah-font-body);
	font-size: .86rem;
	font-weight: 600;
	color: var(--saidah-text);
	cursor: pointer;
}
.coupon-toggle svg:last-child { margin-left: auto; transition: transform .2s ease; }
.coupon-card.is-open .coupon-toggle svg:last-child { transform: rotate(180deg); }
.coupon-fields {
	display: flex;
	gap: 8px;
	padding: 0 18px;
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	transition: max-height .25s ease, opacity .2s ease, padding .25s ease;
}
.coupon-card.is-open .coupon-fields { max-height: 80px; opacity: 1; padding: 16px 18px; }
.coupon-fields input { flex: 1; padding: 11px 12px; border: 1px solid var(--saidah-border); border-radius: var(--saidah-radius); }
.coupon-fields .btn { white-space: nowrap; }
.coupon-card .woocommerce-error, .coupon-card .woocommerce-message { margin: 0; border-radius: 0; }

/* Cart totals card */
.cart_totals, .checkout-order-review-sticky #order_review {
	background: #fff;
	border: 1px solid var(--saidah-border);
	border-radius: var(--saidah-radius);
	padding: 24px;
	box-shadow: var(--saidah-shadow);
}
.cart_totals h2 {
	font-family: var(--saidah-font-heading);
	font-size: 1.15rem;
	margin: 0 0 14px;
}
.cart_totals table, .checkout-order-review-sticky table.shop_table { border: none; }
.cart_totals table th, .cart_totals table td,
.checkout-order-review-sticky table.shop_table th, .checkout-order-review-sticky table.shop_table td {
	padding: 12px 0;
	border-bottom: 1px solid var(--saidah-border);
	font-family: var(--saidah-font-body);
	font-size: .9rem;
}
.cart_totals .order-total th, .cart_totals .order-total td,
.checkout-order-review-sticky .order-total th, .checkout-order-review-sticky .order-total td {
	border-bottom: none;
	padding-top: 16px;
	font-size: 1.05rem;
}
.cart_totals .order-total .amount, .checkout-order-review-sticky .order-total .amount {
	color: var(--saidah-primary);
	font-weight: 700;
	font-family: var(--saidah-font-heading);
}
.wc-proceed-to-checkout { margin-top: 4px; }
.wc-proceed-to-checkout a.checkout-button {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	text-align: center;
	padding: 15px;
	background: var(--saidah-primary);
	color: #fff !important;
	border-radius: var(--saidah-radius);
	text-transform: uppercase;
	letter-spacing: .06em;
	font-weight: 600;
	font-size: .86rem;
	transition: background .2s ease, transform .15s ease;
}
.wc-proceed-to-checkout a.checkout-button:hover { background: var(--saidah-secondary); color: var(--saidah-primary) !important; transform: translateY(-1px); }

/* Trust badges strip */
.saidah-trust-strip {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.saidah-trust-strip li {
	display: flex;
	align-items: center;
	gap: 8px;
	background: var(--saidah-bg);
	border: 1px solid var(--saidah-border);
	border-radius: var(--saidah-radius);
	padding: 12px 10px;
	font-size: .72rem;
	line-height: 1.25;
	color: var(--saidah-text);
}
.saidah-trust-strip svg { flex-shrink: 0; color: var(--saidah-primary); }

/* ---------- Empty cart state ---------- */
.cart-page--empty { display: flex; justify-content: center; padding-top: 40px; }
.cart-empty-state {
	max-width: 440px;
	text-align: center;
	padding: 56px 32px;
	background: #fff;
	border: 1px solid var(--saidah-border);
	border-radius: var(--saidah-radius);
	box-shadow: var(--saidah-shadow);
}
.cart-empty-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 84px;
	height: 84px;
	border-radius: 50%;
	background: var(--saidah-surface);
	color: var(--saidah-primary);
	margin-bottom: 20px;
}
.cart-empty-state p { color: var(--saidah-muted); margin-bottom: 24px; }
.cart-empty-state .btn-primary {
	display: inline-block;
	padding: 14px 32px;
	background: var(--saidah-primary);
	color: #fff;
	border-radius: var(--saidah-radius);
	text-transform: uppercase;
	letter-spacing: .05em;
	font-weight: 600;
	font-size: .85rem;
	transition: background .2s ease;
}
.cart-empty-state .btn-primary:hover { background: var(--saidah-secondary); color: var(--saidah-primary); }

/* ---------- Checkout ---------- */
.checkout-layout { grid-template-columns: 1.3fr 1fr; }
.checkout-details {
	background: transparent;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

/* Each field section (Billing / Shipping / Additional info) becomes its
   own numbered card, echoing the circular emblem/step motif used site-wide. */
.checkout-details #customer_details { display: contents; }
.checkout-details .col-1, .checkout-details .col-2 { float: none; width: 100%; }

.woocommerce-billing-fields,
.woocommerce-shipping-fields,
.woocommerce-additional-fields {
	background: #fff;
	border: 1px solid var(--saidah-border);
	border-radius: var(--saidah-radius);
	padding: 26px 28px;
	box-shadow: var(--saidah-shadow);
	counter-increment: saidah-checkout-section;
}
.checkout-details { counter-reset: saidah-checkout-section; }

.woocommerce-billing-fields > h3,
.woocommerce-shipping-fields > h3,
.woocommerce-additional-fields > h3 {
	display: flex;
	align-items: center;
	gap: 12px;
	font-family: var(--saidah-font-heading);
	font-size: 1.1rem;
	margin: 0 0 20px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--saidah-border);
}
.woocommerce-billing-fields > h3::before,
.woocommerce-shipping-fields > h3::before,
.woocommerce-additional-fields > h3::before {
	content: counter(saidah-checkout-section);
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--saidah-primary);
	color: #fff;
	font-family: var(--saidah-font-body);
	font-size: .82rem;
	font-weight: 700;
}
/* The shipping section's h3 doubles as the "ship to different address" toggle label */
.woocommerce-shipping-fields > h3 {
	cursor: pointer;
	user-select: none;
}
.woocommerce-shipping-fields > h3 label {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	margin: 0;
	font-weight: inherit;
	font-size: inherit;
	cursor: pointer;
}
.woocommerce-shipping-fields > h3 label span:first-child { flex-shrink: 0; }
#ship-to-different-address-checkbox {
	appearance: none;
	-webkit-appearance: none;
	width: 42px;
	height: 24px;
	border-radius: 999px;
	background: var(--saidah-border);
	position: relative;
	margin-left: auto;
	cursor: pointer;
	transition: background .2s ease;
	flex-shrink: 0;
}
#ship-to-different-address-checkbox::after {
	content: '';
	position: absolute;
	top: 3px;
	left: 3px;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: #fff;
	transition: transform .2s ease;
	box-shadow: 0 1px 3px rgba(0,0,0,.25);
}
#ship-to-different-address-checkbox:checked { background: var(--saidah-primary); }
#ship-to-different-address-checkbox:checked::after { transform: translateX(18px); }

.checkout-details .form-row { margin-bottom: 16px; }
.checkout-details label {
	display: block;
	font-size: .8rem;
	font-weight: 600;
	margin-bottom: 6px;
	color: var(--saidah-text);
}
.checkout-details label .required { color: #c0392b; text-decoration: none; }
.checkout-details input.input-text,
.checkout-details select,
.checkout-details textarea {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid var(--saidah-border);
	border-radius: var(--saidah-radius);
	background: #fff;
	font-family: var(--saidah-font-body);
	font-size: .92rem;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.checkout-details input.input-text:focus,
.checkout-details select:focus,
.checkout-details textarea:focus {
	outline: none;
	border-color: var(--saidah-primary);
	box-shadow: 0 0 0 3px rgba(61, 26, 84, .1);
}
.checkout-details .select2-container--default .select2-selection--single {
	height: auto;
	padding: 11px 14px;
	border: 1px solid var(--saidah-border);
	border-radius: var(--saidah-radius);
}

/* Contextual field icons — WooCommerce's core field IDs are stable, so this
   is pure CSS with no template overrides (nothing to fall out of sync). */
#billing_first_name, #billing_last_name, #shipping_first_name, #shipping_last_name { background-repeat: no-repeat; background-position: 14px center; background-size: 15px; padding-left: 40px !important; }
#billing_first_name, #shipping_first_name { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%238A7C90' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'%3E%3C/circle%3E%3Cpath d='M4 21c0-4.4 3.6-7 8-7s8 2.6 8 7'%3E%3C/path%3E%3C/svg%3E"); }
#billing_email { background-repeat: no-repeat; background-position: 14px center; background-size: 15px; padding-left: 40px !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%238A7C90' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'%3E%3C/rect%3E%3Cpath d='m22 6-10 7L2 6'%3E%3C/path%3E%3C/svg%3E"); }
#billing_phone { background-repeat: no-repeat; background-position: 14px center; background-size: 15px; padding-left: 40px !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%238A7C90' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .3 2 .7 3a2 2 0 0 1-.4 2.1L8 10.2a16 16 0 0 0 6 6l1.4-1.4a2 2 0 0 1 2.1-.4c1 .4 2 .6 3 .7a2 2 0 0 1 1.5 2.8z'%3E%3C/path%3E%3C/svg%3E"); }
#billing_address_1, #shipping_address_1 { background-repeat: no-repeat; background-position: 14px center; background-size: 15px; padding-left: 40px !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%238A7C90' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0z'%3E%3C/path%3E%3Ccircle cx='12' cy='10' r='3'%3E%3C/circle%3E%3C/svg%3E"); }

.woocommerce-billing-fields__field-wrapper .form-row,
.woocommerce-shipping-fields__field-wrapper .form-row,
.woocommerce-additional-fields .form-row {
	display: block;
}
@media (min-width: 640px) {
	.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 0 16px;
	}
	.woocommerce-billing-fields__field-wrapper .form-row-wide,
	.woocommerce-shipping-fields__field-wrapper .form-row-wide { grid-column: 1 / -1; }
}
.woocommerce-shipping-fields .shipping_address {
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	transition: max-height .3s ease, opacity .25s ease, margin-top .3s ease;
}
.woocommerce-shipping-fields.is-open .shipping_address {
	max-height: 1200px;
	opacity: 1;
	margin-top: 20px;
}
.woocommerce-account-fields { margin-bottom: 20px; }
.create-account label { display: flex; align-items: center; gap: 8px; font-weight: 600; cursor: pointer; }

/* Order notes / additional info textarea */
#order_comments_field textarea { min-height: 100px; resize: vertical; }

/* Shipping methods -- selectable cards */
.woocommerce-shipping-methods { list-style: none; margin: 0; padding: 0; }
.woocommerce-shipping-methods li {
	position: relative;
	border: 1.5px solid var(--saidah-border);
	border-radius: var(--saidah-radius);
	padding: 12px 14px 12px 40px;
	margin-bottom: 8px;
	transition: border-color .15s ease, background .15s ease;
}
.woocommerce-shipping-methods li input[type="radio"] { position: absolute; left: 14px; top: 15px; margin: 0; }
.woocommerce-shipping-methods li:has(input:checked) { border-color: var(--saidah-primary); background: var(--saidah-bg); }
.woocommerce-shipping-methods li.saidah-selected { border-color: var(--saidah-primary); background: var(--saidah-bg); }
.woocommerce-shipping-methods label { font-size: .88rem; font-weight: 600; cursor: pointer; margin: 0; }

/* Order review table inside checkout sidebar */
.checkout-order-review-sticky h3#order_review_heading {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: var(--saidah-font-heading);
	font-size: 1.1rem;
	margin: 0;
}
#order_review table.shop_table thead { display: none; }
#order_review table.shop_table td.product-name { font-family: var(--saidah-font-body); font-size: .88rem; }
#order_review table.shop_table td.product-name .product-quantity { color: var(--saidah-muted); font-weight: 600; }
#order_review table.shop_table td.product-total { text-align: right; font-weight: 600; }

/* Payment methods -- selectable cards */
#payment { background: transparent; border-radius: var(--saidah-radius); padding: 0; margin-top: 0; }
#payment ul.payment_methods {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
#payment ul.payment_methods li {
	position: relative;
	border: 1.5px solid var(--saidah-border);
	border-radius: var(--saidah-radius);
	padding: 14px 16px 14px 42px;
	background: var(--saidah-bg);
	transition: border-color .15s ease, background .15s ease;
}
#payment ul.payment_methods li input[type="radio"] { position: absolute; left: 16px; top: 17px; margin: 0; accent-color: var(--saidah-primary); }
#payment ul.payment_methods li:has(input:checked) { border-color: var(--saidah-primary); background: #fff; box-shadow: var(--saidah-shadow); }
#payment ul.payment_methods li.saidah-selected { border-color: var(--saidah-primary); background: #fff; box-shadow: var(--saidah-shadow); }
#payment ul.payment_methods li label { font-weight: 600; font-size: .9rem; cursor: pointer; margin: 0; }
#payment ul.payment_methods li img { max-height: 20px; margin-left: 8px; vertical-align: middle; }
#payment .payment_box {
	padding: 14px 16px;
	margin: 12px 0 0;
	font-size: .85rem;
	color: var(--saidah-muted);
	background: var(--saidah-surface);
	border-radius: var(--saidah-radius);
	border: none;
}
#payment .payment_box::before { display: none; }
#payment .form-row.place-order { padding: 0; margin-top: 18px; }
.woocommerce-privacy-policy-text { font-size: .78rem; color: var(--saidah-muted); margin-top: 10px; }
#place_order {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 16px;
	background: var(--saidah-primary);
	color: #fff;
	border: none;
	border-radius: var(--saidah-radius);
	text-transform: uppercase;
	letter-spacing: .06em;
	font-weight: 700;
	font-size: .88rem;
	cursor: pointer;
	transition: background .2s ease, transform .15s ease;
}
#place_order:hover { background: var(--saidah-secondary); color: var(--saidah-primary); transform: translateY(-1px); }
.woocommerce-terms-and-conditions-wrapper { margin-top: 14px; font-size: .82rem; color: var(--saidah-muted); }

/* Field validation states */
.woocommerce-invalid input.input-text, .woocommerce-invalid select {
	border-color: #c0392b !important;
	box-shadow: 0 0 0 3px rgba(192, 57, 43, .08) !important;
}
.woocommerce-validated input.input-text { border-color: #1e7e34 !important; }
.woocommerce-error, .woocommerce-message, .woocommerce-info {
	background: #fff;
	border-radius: var(--saidah-radius);
	border-left: 4px solid var(--saidah-primary);
	padding: 14px 18px;
	list-style: none;
	font-size: .88rem;
	box-shadow: var(--saidah-shadow);
	margin-bottom: 20px;
}
.woocommerce-error { border-left-color: #c0392b; }
.woocommerce-message { border-left-color: #1e7e34; }

/* Loading / blockUI overlay tint to match brand */
.checkout-order-review-sticky.processing, .cart-summary.processing { position: relative; }
.blockUI.blockOverlay { border-radius: var(--saidah-radius); }

/* ---------- Responsive ---------- */
@media (max-width: 991px) {
	.checkout-layout { grid-template-columns: 1fr; }
	.checkout-order-review-col { order: -1; }
	.cart-summary-sticky, .checkout-order-review-sticky { position: static; }
	.saidah-trust-strip { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 767px) {
	.saidah-progress-steps { gap: 4px; }
	.progress-step-label { display: none; }
	.progress-step:not(:last-child)::after { width: 20px; }

	table.cart.shop_table thead { display: none; }
	table.cart.shop_table tr.cart_item {
		display: grid;
		grid-template-columns: 64px 1fr;
		gap: 0 14px;
		padding: 16px;
		border-bottom: 1px solid var(--saidah-border);
	}
	table.cart.shop_table td { display: block; border-bottom: none; padding: 2px 0; }
	table.cart.shop_table td.product-thumbnail { grid-row: 1 / span 4; }
	table.cart.shop_table td.product-thumbnail img { width: 100%; height: 100%; aspect-ratio: 1; }
	table.cart.shop_table td.product-price { color: var(--saidah-muted); font-size: .84rem; }
	table.cart.shop_table td.product-quantity { margin: 8px 0; }
	table.cart.shop_table td.product-subtotal { font-weight: 700; color: var(--saidah-primary); }
	table.cart.shop_table td.product-remove { display: none; }
	.cart-item-remove-mobile {
		display: inline-flex;
		align-items: center;
		gap: 4px;
		margin-top: 8px;
		font-size: .76rem;
		font-weight: 600;
		color: #c0392b;
	}
	.actions { flex-direction: column; align-items: stretch; }
	.cart-actions-right { flex-direction: column; }
	.cart-actions-right .btn { width: 100%; justify-content: center; }
	.cart-continue-shopping { order: 2; justify-content: center; }
}
