/* ==========================================================================
   Healthcare DME — Cart & Checkout
   --------------------------------------------------------------------------
   These two pages are deliberately NOT template takeovers.

   The checkout carries fields from two ThemeHigh plugins, a prescription/
   document upload, seven payment gateways (Stripe card, Apple Pay, Google Pay,
   PayPal, Affirm, Bill My Insurance, CareCredit) and an inline captcha. Every
   one of those attaches to specific markup and hook positions. Rewriting the
   template to make it look different would put a working checkout at risk for a
   visual gain — and a broken checkout costs real orders.

   So the markup stays exactly as WooCommerce and those plugins emit it, and the
   layout is rebuilt here instead.
   ========================================================================== */

/* ==========================================================================
   Shared page frame
   ========================================================================== */

.woocommerce-cart .post-content,
.woocommerce-checkout .post-content {
	max-width: var(--hdme-container);
	margin-inline: auto;
}

.hdme-scope .hdme-page-title {
	margin-bottom: var(--hdme-space-6);
	font-size: var(--hdme-text-2xl);
	font-weight: var(--hdme-weight-bold);
	color: var(--hdme-grey-900);
}

/* ==========================================================================
   Cart
   ========================================================================== */

/* Two columns on desktop: line items beside the totals panel. */
@media (min-width: 1000px) {
	.hdme-scope .woocommerce-cart-form {
		float: none;
		width: 100%;
	}
	.hdme-scope .woocommerce-cart .woocommerce > .woocommerce-notices-wrapper + form,
	.hdme-scope .woocommerce-cart .woocommerce {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 360px;
		gap: var(--hdme-space-6);
		align-items: start;
	}
	.hdme-scope .woocommerce-cart .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
	.hdme-scope .woocommerce-cart-form { grid-column: 1; }
	.hdme-scope .cart-collaterals { grid-column: 2; width: 100%; margin: 0; }
	.hdme-scope .cart-collaterals .cart_totals { width: 100%; float: none; position: sticky; top: var(--hdme-space-5); }
}

.hdme-scope .woocommerce-cart-form table.shop_table {
	width: 100%;
	background: var(--hdme-surface);
	border: 1px solid var(--hdme-border);
	border-radius: var(--hdme-radius-lg);
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
}
.hdme-scope .woocommerce-cart-form table.shop_table th {
	background: var(--hdme-grey-50);
	font-size: var(--hdme-text-sm);
	font-weight: var(--hdme-weight-semi);
	color: var(--hdme-grey-600);
	letter-spacing: 0.02em;
	text-transform: uppercase;
	padding: var(--hdme-space-3) var(--hdme-space-4);
}
.hdme-scope .woocommerce-cart-form table.shop_table td {
	padding: var(--hdme-space-4);
	border-bottom: 1px solid var(--hdme-border);
	vertical-align: middle;
}
.hdme-scope .woocommerce-cart-form .product-thumbnail img {
	width: 72px;
	height: 72px;
	object-fit: contain;
	border: 1px solid var(--hdme-border);
	border-radius: var(--hdme-radius);
	background: var(--hdme-grey-25);
	mix-blend-mode: multiply;
}
.hdme-scope .woocommerce-cart-form .product-name a {
	font-weight: var(--hdme-weight-medium);
	color: var(--hdme-grey-800);
	text-decoration: none;
}
.hdme-scope .woocommerce-cart-form .product-name a:hover { color: var(--hdme-blue-700); }

.hdme-scope .woocommerce-cart-form .product-remove a.remove {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--hdme-grey-100);
	color: var(--hdme-grey-600) !important;
	font-size: 18px;
	line-height: 1;
	position: relative;
}
.hdme-scope .woocommerce-cart-form .product-remove a.remove::after {
	content: "";
	position: absolute;
	top: 50%; left: 50%;
	width: var(--hdme-tap-min); height: var(--hdme-tap-min);
	transform: translate(-50%, -50%);
}
.hdme-scope .woocommerce-cart-form .product-remove a.remove:hover {
	background: var(--hdme-danger-bg);
	color: var(--hdme-danger) !important;
}

/* Coupon + update row */
.hdme-scope .woocommerce-cart-form .actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--hdme-space-3);
	align-items: center;
	justify-content: space-between;
	padding: var(--hdme-space-4);
	background: var(--hdme-grey-25);
}
.hdme-scope .woocommerce-cart-form .coupon {
	display: flex;
	gap: var(--hdme-space-2);
	flex: 1 1 320px;
}
.hdme-scope .woocommerce-cart-form .coupon input[type="text"] { flex: 1 1 auto; min-width: 0; }

/* Totals panel */
.hdme-scope .cart_totals {
	background: var(--hdme-surface);
	border: 1px solid var(--hdme-border);
	border-radius: var(--hdme-radius-lg);
	padding: var(--hdme-space-5);
}
.hdme-scope .cart_totals h2 {
	margin: 0 0 var(--hdme-space-4);
	font-size: var(--hdme-text-lg);
	font-weight: var(--hdme-weight-bold);
	color: var(--hdme-grey-900);
}
.hdme-scope .cart_totals table { border: 0; width: 100%; }
.hdme-scope .cart_totals table th,
.hdme-scope .cart_totals table td {
	border: 0;
	border-bottom: 1px solid var(--hdme-border);
	padding: var(--hdme-space-3) 0;
	background: transparent;
	font-size: var(--hdme-text-base);
}
.hdme-scope .cart_totals .order-total th,
.hdme-scope .cart_totals .order-total td {
	border-bottom: 0;
	padding-top: var(--hdme-space-4);
	font-size: var(--hdme-text-lg);
	font-weight: var(--hdme-weight-bold);
	color: var(--hdme-grey-900);
}
.hdme-scope .wc-proceed-to-checkout { padding: var(--hdme-space-4) 0 0; }
.hdme-scope .wc-proceed-to-checkout a.checkout-button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 52px;
	font-size: var(--hdme-text-lg);
	font-weight: var(--hdme-weight-bold);
	border-radius: var(--hdme-radius);
}

/* Phone: the table becomes stacked cards with visible labels. */
@media (max-width: 767px) {
	.hdme-scope .woocommerce-cart-form table.shop_table thead { display: none; }
	.hdme-scope .woocommerce-cart-form table.shop_table tbody tr.woocommerce-cart-form__cart-item {
		display: grid;
		grid-template-columns: 72px 1fr auto;
		grid-template-areas:
			"thumb name    remove"
			"thumb price   price"
			"qty   qty     subtotal";
		gap: var(--hdme-space-2) var(--hdme-space-3);
		align-items: center;
		padding: var(--hdme-space-4);
		border-bottom: 1px solid var(--hdme-border);
	}
	.hdme-scope .woocommerce-cart-form table.shop_table td {
		border: 0;
		padding: 0;
	}
	.hdme-scope .woocommerce-cart-form td.product-thumbnail { grid-area: thumb; }
	.hdme-scope .woocommerce-cart-form td.product-name     { grid-area: name; }
	.hdme-scope .woocommerce-cart-form td.product-remove   { grid-area: remove; justify-self: end; }
	.hdme-scope .woocommerce-cart-form td.product-price    { grid-area: price; font-size: var(--hdme-text-sm); color: var(--hdme-text-muted); }
	.hdme-scope .woocommerce-cart-form td.product-quantity { grid-area: qty; }
	.hdme-scope .woocommerce-cart-form td.product-subtotal { grid-area: subtotal; justify-self: end; font-weight: var(--hdme-weight-bold); }
	.hdme-scope .woocommerce-cart-form td::before { content: none !important; }
	.hdme-scope .woocommerce-cart-form .actions { flex-direction: column; align-items: stretch; }
	.hdme-scope .woocommerce-cart-form .coupon { flex: 1 1 100%; }
}

/* Empty cart */
.hdme-scope .cart-empty,
.hdme-scope .wc-empty-cart-message {
	padding: var(--hdme-space-8) var(--hdme-space-5);
	text-align: center;
	background: var(--hdme-surface);
	border: 1px dashed var(--hdme-border-strong);
	border-radius: var(--hdme-radius-lg);
	font-size: var(--hdme-text-lg);
	color: var(--hdme-grey-600);
}
.hdme-scope .return-to-shop { text-align: center; margin-top: var(--hdme-space-5); }

/* ==========================================================================
   Checkout
   ========================================================================== */

@media (min-width: 1000px) {
	.hdme-scope form.checkout.woocommerce-checkout {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 400px;
		gap: var(--hdme-space-6);
		align-items: start;
	}
	.hdme-scope form.checkout.woocommerce-checkout > .col2-set,
	.hdme-scope form.checkout #customer_details { grid-column: 1; width: 100%; }
	.hdme-scope .woocommerce-checkout h3#order_review_heading,
	.hdme-scope form.checkout #order_review { grid-column: 2; width: 100%; }
	.hdme-scope form.checkout #order_review { position: sticky; top: var(--hdme-space-5); }
}

.hdme-scope #customer_details .col-1,
.hdme-scope #customer_details .col-2 {
	width: 100%;
	float: none;
}
.hdme-scope #customer_details {
	background: var(--hdme-surface);
	border: 1px solid var(--hdme-border);
	border-radius: var(--hdme-radius-lg);
	padding: clamp(1.25rem, 1rem + 1vw, 2rem);
}

.hdme-scope .woocommerce-billing-fields h3,
.hdme-scope .woocommerce-shipping-fields h3,
.hdme-scope .woocommerce-additional-fields h3,
.hdme-scope #order_review_heading {
	font-size: var(--hdme-text-lg);
	font-weight: var(--hdme-weight-bold);
	color: var(--hdme-grey-900);
	margin: 0 0 var(--hdme-space-4);
	padding-bottom: var(--hdme-space-3);
	border-bottom: 1px solid var(--hdme-border);
}

/* Two-up name/postcode rows on wider screens, stacked on a phone. */
@media (min-width: 600px) {
	.hdme-scope .woocommerce form .form-row-first,
	.hdme-scope .woocommerce form .form-row-last { width: 48.5%; }
}
.hdme-scope .woocommerce form .form-row { margin-bottom: var(--hdme-space-4); padding: 0; }
.hdme-scope .woocommerce form .form-row label {
	display: block;
	margin-bottom: var(--hdme-space-2);
	font-size: var(--hdme-text-sm);
	font-weight: var(--hdme-weight-semi);
	color: var(--hdme-grey-700);
}

/* Order review panel */
.hdme-scope #order_review {
	background: var(--hdme-grey-25);
	border: 1px solid var(--hdme-border);
	border-radius: var(--hdme-radius-lg);
	padding: clamp(1.25rem, 1rem + 1vw, 1.75rem);
}
.hdme-scope #order_review table.shop_table {
	width: 100%;
	border: 0;
	background: transparent;
	margin-bottom: var(--hdme-space-4);
}
.hdme-scope #order_review table.shop_table th,
.hdme-scope #order_review table.shop_table td {
	border: 0;
	border-bottom: 1px solid var(--hdme-border);
	padding: var(--hdme-space-3) 0;
	background: transparent;
	font-size: var(--hdme-text-sm);
}
.hdme-scope #order_review table.shop_table .order-total th,
.hdme-scope #order_review table.shop_table .order-total td {
	border-bottom: 0;
	padding-top: var(--hdme-space-4);
	font-size: var(--hdme-text-lg);
	font-weight: var(--hdme-weight-bold);
	color: var(--hdme-grey-900);
}

/* Place order */
.hdme-scope #place_order {
	width: 100%;
	min-height: 54px;
	margin-top: var(--hdme-space-4);
	font-size: var(--hdme-text-lg);
	font-weight: var(--hdme-weight-bold);
	border-radius: var(--hdme-radius);
	background: var(--hdme-blue-600);
	border: 0;
	color: #fff;
}
.hdme-scope #place_order:hover { background: var(--hdme-blue-700); }

/* Prescription / document upload — a first-class step, not an afterthought. */
.hdme-scope .alg-checkout-files-upload,
.hdme-scope .alg_wc_checkout_files_upload {
	padding: var(--hdme-space-4);
	background: var(--hdme-info-bg);
	border: 1px solid var(--hdme-blue-200);
	border-radius: var(--hdme-radius);
	margin-bottom: var(--hdme-space-4);
}

/* Terms checkbox row */
.hdme-scope .woocommerce-terms-and-conditions-wrapper {
	margin-top: var(--hdme-space-4);
	padding-top: var(--hdme-space-4);
	border-top: 1px solid var(--hdme-border);
}

/* Coupon toggle at the top of checkout */
.hdme-scope .woocommerce-form-coupon-toggle .woocommerce-info,
.hdme-scope .woocommerce-form-login-toggle .woocommerce-info {
	margin-bottom: var(--hdme-space-4);
}

/* ==========================================================================
   Corrections from the rendered checkout
   --------------------------------------------------------------------------
   Measured: div.col-1 (the billing column) carried
   background: rgb(66,126,209) — the brand blue — with color:#fff, while the
   field labels inside stayed rgb(54,62,71). Dark grey on mid blue is close to
   unreadable, and it is the first thing a customer sees on the page where they
   are about to pay.

   The brand blue belongs on buttons and accents, not as a fill behind a form.
   ========================================================================== */

.hdme-scope form.checkout .col2-set .col-1,
.hdme-scope form.checkout .col2-set .col-2,
.hdme-scope form.checkout #customer_details .col-1,
.hdme-scope form.checkout #customer_details .col-2 {
	background: var(--hdme-surface) !important;
	color: var(--hdme-text) !important;
	padding: 0 !important;
	border-radius: var(--hdme-radius-lg);
}
.hdme-scope form.checkout .col-1 *,
.hdme-scope form.checkout .col-2 * {
	color: inherit;
}
.hdme-scope form.checkout .col-1 label,
.hdme-scope form.checkout .col-2 label {
	color: var(--hdme-grey-700) !important;
}
.hdme-scope form.checkout .col-1 h3,
.hdme-scope form.checkout .col-2 h3 {
	color: var(--hdme-grey-900) !important;
}

/* The two-column grid was not applying: form.checkout renders as a plain block
   and the columns are inside .col2-set, not direct children of the form. */
@media (min-width: 1000px) {
	.hdme-scope form.checkout.woocommerce-checkout {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 400px;
		grid-template-areas:
			"notices notices"
			"details review";
		column-gap: var(--hdme-space-6);
		align-items: start;
	}
	.hdme-scope form.checkout.woocommerce-checkout > .woocommerce-notices-wrapper { grid-area: notices; }
	.hdme-scope form.checkout.woocommerce-checkout > .col2-set,
	.hdme-scope form.checkout.woocommerce-checkout > #customer_details { grid-area: details; min-width: 0; }
	.hdme-scope form.checkout.woocommerce-checkout > #order_review_heading { display: none; }
	.hdme-scope form.checkout.woocommerce-checkout > #order_review {
		grid-area: review;
		min-width: 0;
		position: sticky;
		top: var(--hdme-space-5);
	}
	/* Billing and shipping stack within the left column rather than sitting
	   side by side in a 566px half-width. */
	.hdme-scope form.checkout .col2-set { display: block; }
	.hdme-scope form.checkout .col2-set .col-1,
	.hdme-scope form.checkout .col2-set .col-2 { width: 100%; float: none; }
	.hdme-scope form.checkout .col2-set .col-2 { margin-top: var(--hdme-space-6); }
}

/* Give the order panel a title back, since the h3 above is hidden in grid mode. */
.hdme-scope form.checkout #order_review::before {
	content: "Your order";
	display: block;
	margin-bottom: var(--hdme-space-4);
	padding-bottom: var(--hdme-space-3);
	border-bottom: 1px solid var(--hdme-border);
	font-size: var(--hdme-text-lg);
	font-weight: var(--hdme-weight-bold);
	color: var(--hdme-grey-900);
}
@media (max-width: 999px) {
	.hdme-scope form.checkout #order_review::before { content: none; }
}

/* The decorative CHECKOUT banner image eats the top of the page on a phone. */
@media (max-width: 767px) {
	.hdme-scope .woocommerce-checkout .fusion-imageframe,
	.hdme-scope .woocommerce-checkout .fusion-image-wrapper { max-height: 120px; overflow: hidden; }
}

/* ========================================================================
   Modern cart refinement
   Avada nests the cart directly under body.woocommerce-cart; the earlier
   descendant selector therefore never activated its desktop grid. These rules
   follow the rendered structure and keep WooCommerce's form behavior intact.
   ===================================================================== */

.hdme-scope.woocommerce-cart #main {
	padding-top: 22px;
	padding-bottom: 36px;
	background: var(--hdme-page-bg);
}

.hdme-scope.woocommerce-cart .hdme-page-title {
	margin: 0 0 var(--hdme-space-4);
	font-size: clamp(1.75rem, 1.55rem + 0.7vw, 2.15rem);
	line-height: 1.15;
}

.hdme-scope.woocommerce-cart .post-content > .fusion-fullwidth {
	padding-top: 0 !important;
	padding-bottom: var(--hdme-space-6) !important;
}

.hdme-scope.woocommerce-cart .post-content > .fusion-fullwidth .fusion-builder-row {
	width: 100% !important;
	max-width: none !important;
	margin-inline: 0 !important;
}

.hdme-scope.woocommerce-cart .post-content > .fusion-fullwidth .fusion-layout-column {
	width: 100% !important;
	margin: 0 !important;
}

.hdme-scope.woocommerce-cart .woocommerce {
	width: 100%;
}

.hdme-scope.woocommerce-cart .wc-block-components-notice-banner,
.hdme-scope.woocommerce-cart .woocommerce-message,
.hdme-scope.woocommerce-cart .woocommerce-info {
	margin: 0 0 var(--hdme-space-4) !important;
	border-radius: var(--hdme-radius);
	box-shadow: none;
}

@media (min-width: 1000px) {
	.hdme-scope.woocommerce-cart .woocommerce {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) minmax(320px, 360px);
		gap: var(--hdme-space-5);
		align-items: start;
	}

	.hdme-scope.woocommerce-cart .woocommerce > .wc-block-components-notice-banner,
	.hdme-scope.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper {
		grid-column: 1 / -1;
	}

	.hdme-scope.woocommerce-cart .woocommerce-cart-form {
		grid-column: 1;
		width: 100% !important;
		min-width: 0;
	}

	.hdme-scope.woocommerce-cart .cart-collaterals {
		grid-column: 2;
		display: block !important;
		width: 100% !important;
		min-width: 0;
		margin: 0 !important;
	}

	.hdme-scope.woocommerce-cart .cart-collaterals .cart_totals {
		position: sticky;
		top: 20px;
	}
}

/* Product card */
.hdme-scope.woocommerce-cart .woocommerce-cart-form .woocommerce-content-box {
	padding: 0 !important;
	overflow: hidden;
	border: 1px solid var(--hdme-border) !important;
	border-radius: var(--hdme-radius-lg);
	background: var(--hdme-surface);
	box-shadow: 0 10px 28px rgba(21, 48, 80, 0.08);
}

.hdme-scope.woocommerce-cart .woocommerce-cart-form .woocommerce-content-box > h2 {
	margin: 0 !important;
	padding: 15px 18px;
	border-bottom: 1px solid var(--hdme-border);
	background: linear-gradient(135deg, var(--hdme-blue-50), #fff 72%);
	font-size: 1rem;
	font-weight: var(--hdme-weight-bold);
	line-height: 1.35;
	color: var(--hdme-grey-900);
}

.hdme-scope.woocommerce-cart .woocommerce-cart-form table.shop_table {
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0;
	box-shadow: none;
}

.hdme-scope.woocommerce-cart .woocommerce-cart-form table.shop_table th {
	padding: 10px 14px;
	background: var(--hdme-grey-50);
	font-size: 0.72rem;
	letter-spacing: 0.055em;
}

.hdme-scope.woocommerce-cart .woocommerce-cart-form table.shop_table td {
	padding: 14px;
}

.hdme-scope.woocommerce-cart .woocommerce-cart-form tr.woocommerce-cart-form__cart-item {
	height: 90px !important;
}

.hdme-scope.woocommerce-cart .woocommerce-cart-form .fusion-product-name-wrapper {
	display: grid;
	grid-template-columns: 62px minmax(0, 1fr);
	gap: 12px;
	align-items: center;
}

.hdme-scope.woocommerce-cart .woocommerce-cart-form .product-thumbnail img {
	width: 62px;
	height: 62px;
}

.hdme-scope.woocommerce-cart .woocommerce-cart-form .product-name a.product-title,
.hdme-scope.woocommerce-cart .woocommerce-cart-form .product-name .product-title {
	display: inline-block;
	font-size: 0.9rem;
	font-weight: var(--hdme-weight-semi);
	line-height: 1.38;
	color: var(--hdme-blue-700);
}

.hdme-scope.woocommerce-cart .woocommerce-cart-form .product-name .variation,
.hdme-scope.woocommerce-cart .woocommerce-cart-form .product-name .product-info > dl {
	margin: 5px 0 0;
	font-size: 0.76rem;
	line-height: 1.45;
	color: var(--hdme-grey-600);
}

.hdme-scope.woocommerce-cart .woocommerce-cart-form td.product-price,
.hdme-scope.woocommerce-cart .woocommerce-cart-form td.product-subtotal {
	font-size: 0.95rem;
	font-weight: var(--hdme-weight-semi);
	white-space: nowrap;
}

.hdme-scope.woocommerce-cart .woocommerce-cart-form td.product-subtotal {
	color: var(--hdme-blue-700);
}

.hdme-scope.woocommerce-cart .woocommerce-cart-form td.product-price .amount,
.hdme-scope.woocommerce-cart .woocommerce-cart-form td.product-subtotal .amount {
	font-size: inherit !important;
	color: inherit;
}

/* Compact quantity control, scoped so checkout and product forms are untouched. */
.hdme-scope.woocommerce-cart .woocommerce-cart-form .quantity {
	display: inline-flex !important;
	align-items: center;
	width: 98px !important;
	min-width: 98px !important;
	height: 34px;
	margin: 0 !important;
	border: 1px solid var(--hdme-border-strong);
	border-radius: var(--hdme-radius);
	overflow: hidden;
}

.hdme-scope.woocommerce-cart .woocommerce-cart-form .quantity .minus,
.hdme-scope.woocommerce-cart .woocommerce-cart-form .quantity .plus {
	flex: 0 0 29px;
	width: 29px !important;
	min-width: 29px !important;
	height: 32px !important;
	min-height: 32px !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	background: var(--hdme-grey-50) !important;
	color: var(--hdme-grey-700) !important;
	font-size: 0.9rem;
	line-height: 1;
}

.hdme-scope.woocommerce-cart .woocommerce-cart-form .quantity .qty {
	flex: 0 0 38px !important;
	width: 38px !important;
	min-width: 38px !important;
	max-width: 38px !important;
	height: 32px !important;
	min-height: 32px !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	border-inline: 1px solid var(--hdme-border) !important;
	border-radius: 0 !important;
	background: #fff !important;
	font-size: 16px !important;
	text-align: center;
	box-shadow: none !important;
}

.hdme-scope.woocommerce-cart .woocommerce-cart-form .product-remove a.remove {
	width: 30px;
	height: 30px;
	background: var(--hdme-grey-50);
	font-size: 16px;
}

.hdme-scope.woocommerce-cart .woocommerce-cart-form .actions {
	min-height: 58px;
	padding: 10px 14px !important;
	border: 0;
	background: var(--hdme-grey-25);
}

.hdme-scope.woocommerce-cart .woocommerce-cart-form .actions button[name="update_cart"] {
	position: static !important;
	float: none !important;
	display: inline-flex !important;
	margin: 0 0 0 auto !important;
	min-height: 40px;
	padding: 0 16px;
	border-radius: var(--hdme-radius);
	font-size: 0.84rem;
}

.hdme-scope.woocommerce-cart .woocommerce-cart-form tr.avada-cart-actions td.actions {
	display: table-cell !important;
	width: auto !important;
	text-align: right;
}

.hdme-scope.woocommerce-cart .woocommerce-cart-form tr.avada-cart-actions .coupon {
	float: left;
}

.hdme-scope.woocommerce-cart .woocommerce-cart-form tr.avada-cart-actions:has(td.actions > button[name="update_cart"]:disabled):not(:has(.coupon)) {
	display: none !important;
}

/* Order summary */
.hdme-scope.woocommerce-cart .cart_totals {
	padding: 18px !important;
	border: 1px solid var(--hdme-border) !important;
	border-top: 4px solid var(--hdme-blue-600) !important;
	border-radius: var(--hdme-radius-lg);
	background: var(--hdme-surface);
	box-shadow: 0 12px 32px rgba(21, 48, 80, 0.1);
}

.hdme-scope.woocommerce-cart .cart_totals h2 {
	margin: 0 0 10px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--hdme-border);
	font-size: 1.1rem;
}

.hdme-scope.woocommerce-cart .cart_totals table.shop_table {
	margin: 0 !important;
	border: 0 !important;
	background: transparent;
}

.hdme-scope.woocommerce-cart .cart_totals table.shop_table tr {
	display: grid;
	grid-template-columns: 94px minmax(0, 1fr);
	align-items: start;
	border-bottom: 1px solid var(--hdme-border);
}

.hdme-scope.woocommerce-cart .cart_totals table.shop_table tr:last-child {
	border-bottom: 0;
}

.hdme-scope.woocommerce-cart .cart_totals table.shop_table th,
.hdme-scope.woocommerce-cart .cart_totals table.shop_table td {
	display: block;
	width: auto !important;
	padding: 10px 0 !important;
	border: 0 !important;
	background: transparent !important;
	font-size: 0.82rem;
	line-height: 1.45;
}

.hdme-scope.woocommerce-cart .cart_totals table.shop_table th {
	font-weight: var(--hdme-weight-semi);
	color: var(--hdme-grey-700);
}

.hdme-scope.woocommerce-cart .cart_totals table.shop_table td {
	text-align: right;
	color: var(--hdme-grey-700);
}

.hdme-scope.woocommerce-cart .cart_totals .woocommerce-shipping-methods,
.hdme-scope.woocommerce-cart .cart_totals .woocommerce-shipping-destination {
	margin: 0;
	font-size: 0.78rem;
	line-height: 1.45;
}

.hdme-scope.woocommerce-cart .cart_totals .woocommerce-shipping-methods li {
	display: grid !important;
	grid-template-columns: 18px minmax(0, 1fr);
	gap: 7px;
	align-items: start;
	min-height: 0 !important;
	margin: 0 0 7px !important;
	padding: 0 !important;
}

.hdme-scope.woocommerce-cart .cart_totals .woocommerce-shipping-methods input[type="radio"] {
	width: 18px;
	height: 18px;
	margin: 1px 0 0 !important;
}

.hdme-scope.woocommerce-cart .cart_totals .woocommerce-shipping-methods label {
	margin: 0 !important;
	font-size: 0.78rem !important;
	line-height: 1.35 !important;
	text-align: left;
}

.hdme-scope.woocommerce-cart .cart_totals .order-total th,
.hdme-scope.woocommerce-cart .cart_totals .order-total td {
	padding-top: 13px !important;
	font-size: 1rem !important;
	font-weight: var(--hdme-weight-bold);
	color: var(--hdme-grey-900);
}

.hdme-scope.woocommerce-cart .cart_totals .order-total td,
.hdme-scope.woocommerce-cart .cart_totals .order-total .amount {
	color: var(--hdme-blue-700);
}

.hdme-scope.woocommerce-cart .cart_totals tr:has(.affirm-as-low-as) {
	grid-template-columns: minmax(0, 1fr) !important;
}

.hdme-scope.woocommerce-cart .cart_totals tr:has(.affirm-as-low-as) > th {
	display: none !important;
}

.hdme-scope.woocommerce-cart .cart_totals tr:has(.affirm-as-low-as) > td {
	grid-column: 1 / -1;
	padding: 7px 0 !important;
	text-align: right;
}

.hdme-scope.woocommerce-cart .cart_totals .affirm-as-low-as {
	min-height: 22px;
	margin: 0 !important;
	font-size: 0.78rem;
	line-height: 1.35;
}

.hdme-scope.woocommerce-cart .cart_totals .amount {
	font-size: inherit !important;
}

.hdme-scope.woocommerce-cart .wc-proceed-to-checkout {
	display: block !important;
	padding: 14px 0 0 !important;
}

.hdme-scope.woocommerce-cart .wc-proceed-to-checkout .fusion-update-cart {
	display: none !important;
}

.hdme-scope.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	min-height: 48px;
	margin: 0 !important;
	font-size: 0.98rem;
	box-shadow: 0 8px 18px rgba(54, 110, 183, 0.22);
}

@media (max-width: 999px) {
	.hdme-scope.woocommerce-cart .woocommerce-cart-form,
	.hdme-scope.woocommerce-cart .cart-collaterals {
		width: 100% !important;
		margin: 0 !important;
	}

	.hdme-scope.woocommerce-cart .cart-collaterals {
		display: block !important;
		margin-top: var(--hdme-space-4) !important;
	}
}

@media (max-width: 767px) {
	.hdme-scope.woocommerce-cart #main {
		padding: 16px 14px 28px;
	}

	.hdme-scope.woocommerce-cart .hdme-page-title {
		margin-bottom: 12px;
		font-size: 1.65rem;
	}

	.hdme-scope.woocommerce-cart .woocommerce-cart-form .woocommerce-content-box > h2 {
		padding: 13px 14px;
		font-size: 0.92rem;
	}

	.hdme-scope.woocommerce-cart .woocommerce-cart-form table.shop_table tbody {
		display: block;
	}

	.hdme-scope.woocommerce-cart .woocommerce-cart-form table.shop_table tbody tr.woocommerce-cart-form__cart-item {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-areas:
			"name remove"
			"price subtotal"
			"quantity quantity";
		gap: 10px 12px;
		padding: 14px;
		border-bottom: 1px solid var(--hdme-border);
		background: #fff;
		height: auto !important;
	}

	.hdme-scope.woocommerce-cart .woocommerce-cart-form table.shop_table td {
		display: block;
		width: auto !important;
		padding: 0 !important;
		border: 0 !important;
	}

	.hdme-scope.woocommerce-cart .woocommerce-cart-form td.product-name { grid-area: name; }
	.hdme-scope.woocommerce-cart .woocommerce-cart-form td.product-remove { grid-area: remove; }
	.hdme-scope.woocommerce-cart .woocommerce-cart-form td.product-price {
		grid-area: price;
		display: flex;
		align-items: center;
		gap: 8px;
		color: var(--hdme-grey-600);
	}
	.hdme-scope.woocommerce-cart .woocommerce-cart-form td.product-subtotal {
		grid-area: subtotal;
		display: flex;
		flex-direction: column;
		align-items: flex-end;
		gap: 3px;
		align-self: center;
		justify-self: end;
	}
	.hdme-scope.woocommerce-cart .woocommerce-cart-form td.product-quantity {
		grid-area: quantity;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		padding-top: 10px !important;
		border-top: 1px solid var(--hdme-border) !important;
	}

	.hdme-scope.woocommerce-cart .woocommerce-cart-form td.product-price::before,
	.hdme-scope.woocommerce-cart .woocommerce-cart-form td.product-subtotal::before,
	.hdme-scope.woocommerce-cart .woocommerce-cart-form td.product-quantity::before {
		display: block !important;
		float: none !important;
		width: auto !important;
		margin: 0 !important;
		font-size: 0.72rem;
		font-weight: var(--hdme-weight-semi);
		letter-spacing: 0.04em;
		text-transform: uppercase;
		color: var(--hdme-grey-500);
	}

	.hdme-scope.woocommerce-cart .woocommerce-cart-form td.product-price::before { content: "Unit price" !important; }
	.hdme-scope.woocommerce-cart .woocommerce-cart-form td.product-subtotal::before { content: "Subtotal" !important; }
	.hdme-scope.woocommerce-cart .woocommerce-cart-form td.product-quantity::before { content: "Quantity" !important; }

	.hdme-scope.woocommerce-cart .woocommerce-cart-form .fusion-product-name-wrapper {
		grid-template-columns: 58px minmax(0, 1fr);
		gap: 10px;
	}

	.hdme-scope.woocommerce-cart .woocommerce-cart-form .product-thumbnail img {
		width: 58px;
		height: 58px;
	}

	.hdme-scope.woocommerce-cart .woocommerce-cart-form .actions {
		display: block !important;
		min-height: 0;
		padding: 12px 14px !important;
	}

	.hdme-scope.woocommerce-cart .woocommerce-cart-form .actions button[name="update_cart"] {
		width: 100%;
		margin: 0 !important;
	}

	.hdme-scope.woocommerce-cart .cart_totals {
		padding: 16px !important;
	}
}

/* ========================================================================
   Modern checkout refinement
   Avada One Page Checkout nests the order review inside #customer_details
   .col-2. Build the layout around that rendered structure so billing and the
   payment panel receive useful widths without replacing any plugin markup.
   ===================================================================== */

.hdme-scope.woocommerce-checkout #main {
	padding-top: 20px;
	padding-bottom: 40px;
	background: var(--hdme-page-bg);
}

.hdme-scope.woocommerce-checkout .post-content {
	width: min(100%, var(--hdme-container));
}

.hdme-scope.woocommerce-checkout .hdme-page-title {
	margin: 0 0 18px;
	font-size: clamp(1.7rem, 1.5rem + 0.7vw, 2.1rem);
	line-height: 1.15;
}

.hdme-scope.woocommerce-checkout .post-content > .fusion-fullwidth {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.hdme-scope.woocommerce-checkout .post-content > .fusion-fullwidth .fusion-builder-row {
	width: 100% !important;
	max-width: none !important;
	margin-inline: 0 !important;
}

.hdme-scope.woocommerce-checkout .post-content > .fusion-fullwidth .fusion-layout-column {
	width: 100% !important;
	margin: 0 !important;
}

/* The page already has a real heading; removing the old decorative banner
   makes the checkout start sooner and avoids repeating CHECKOUT in 72px type. */
.hdme-scope.woocommerce-checkout .post-content > .fusion-fullwidth .fusion-column-wrapper > .fusion-image-element {
	display: none !important;
}

.hdme-scope.woocommerce-checkout .post-content .woocommerce {
	width: 100%;
}

/* Top service and status rows. */
.hdme-scope.woocommerce-checkout .woocommerce-notices-wrapper:not(:empty) {
	margin-bottom: 12px;
}

.hdme-scope.woocommerce-checkout .woocommerce-message,
.hdme-scope.woocommerce-checkout .woocommerce-info,
.hdme-scope.woocommerce-checkout .wc-block-components-notice-banner {
	margin: 0 0 12px !important;
	padding: 12px 16px !important;
	border: 1px solid var(--hdme-blue-200) !important;
	border-radius: var(--hdme-radius) !important;
	background: var(--hdme-blue-50) !important;
	box-shadow: none !important;
	font-size: 0.84rem;
	line-height: 1.45;
}

.hdme-scope.woocommerce-checkout .avada-myaccount-user {
	display: grid !important;
	grid-template-columns: auto minmax(220px, 1fr) minmax(220px, 1fr) auto;
	align-items: stretch;
	margin: 0 0 12px !important;
	border: 1px solid var(--hdme-border) !important;
	border-radius: var(--hdme-radius);
	background: var(--hdme-surface);
	box-shadow: var(--hdme-shadow-sm);
	overflow: hidden;
}

.hdme-scope.woocommerce-checkout .avada-myaccount-user > * {
	display: flex;
	align-items: center;
	min-width: 0;
	min-height: 48px;
	margin: 0 !important;
	padding: 10px 14px !important;
	border: 0 !important;
	border-right: 1px solid var(--hdme-border) !important;
	font-size: 0.82rem;
	line-height: 1.4;
}

.hdme-scope.woocommerce-checkout .avada-myaccount-user > *:last-child {
	border-right: 0 !important;
}

.hdme-scope.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info {
	padding-block: 10px !important;
}

/* Prescription upload is an optional checkout step, not a separate oversized
   panel. Keep it visible but visually subordinate to billing and payment. */
.hdme-scope.woocommerce-checkout #alg_checkout_files_upload_form_1 {
	width: 100% !important;
	margin: 0 0 16px !important;
	padding: 13px 16px !important;
	border: 1px solid var(--hdme-border) !important;
	border-left: 4px solid var(--hdme-blue-500) !important;
	border-radius: var(--hdme-radius) !important;
	background: var(--hdme-surface) !important;
	box-shadow: var(--hdme-shadow-sm);
}

.hdme-scope.woocommerce-checkout #alg_checkout_files_upload_form_1 table,
.hdme-scope.woocommerce-checkout #alg_checkout_files_upload_form_1 tbody,
.hdme-scope.woocommerce-checkout #alg_checkout_files_upload_form_1 tr {
	width: 100% !important;
}

.hdme-scope.woocommerce-checkout #alg_checkout_files_upload_form_1 td {
	padding: 4px 0 !important;
	font-size: 0.82rem;
	line-height: 1.4;
}

.hdme-scope.woocommerce-checkout #alg_checkout_files_upload_form_1 input[type="button"] {
	min-height: 40px;
	padding: 0 14px;
	font-size: 0.82rem;
}

/* The form has one direct child. The useful two-column split belongs on
   #customer_details, whose .col-2 contains the full review and payment UI. */
.hdme-scope.woocommerce-checkout form.checkout.woocommerce-checkout {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
}

.hdme-scope.woocommerce-checkout form.checkout #customer_details {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(390px, 430px);
	gap: 22px;
	align-items: start;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

.hdme-scope.woocommerce-checkout form.checkout #customer_details > .col-1,
.hdme-scope.woocommerce-checkout form.checkout #customer_details > .col-2 {
	width: auto !important;
	min-width: 0;
	margin: 0 !important;
	float: none !important;
}

.hdme-scope.woocommerce-checkout form.checkout #customer_details > .col-1 {
	padding: 22px !important;
	border: 1px solid var(--hdme-border);
	border-top: 4px solid var(--hdme-blue-600);
	border-radius: var(--hdme-radius-lg);
	background: var(--hdme-surface) !important;
	box-shadow: 0 12px 32px rgba(21, 48, 80, 0.08);
}

.hdme-scope.woocommerce-checkout form.checkout #customer_details > .col-2 {
	position: sticky;
	top: 18px;
	padding: 0 !important;
	border: 1px solid var(--hdme-border);
	border-top: 4px solid var(--hdme-blue-600);
	border-radius: var(--hdme-radius-lg);
	background: var(--hdme-surface) !important;
	box-shadow: 0 12px 32px rgba(21, 48, 80, 0.1);
	overflow: hidden;
}

.hdme-scope.woocommerce-checkout form.checkout #customer_details > .col-2 > #order_review_heading {
	display: block !important;
	margin: 0 !important;
	padding: 15px 18px !important;
	border: 0 !important;
	border-bottom: 1px solid var(--hdme-border) !important;
	background: linear-gradient(135deg, var(--hdme-blue-50), #fff 72%);
	font-size: 1.05rem;
	line-height: 1.35;
}

.hdme-scope.woocommerce-checkout form.checkout #order_review {
	position: static !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 16px 18px 18px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: var(--hdme-surface) !important;
}

.hdme-scope.woocommerce-checkout form.checkout #order_review::before {
	content: none !important;
	display: none !important;
}

/* Billing fields. */
.hdme-scope.woocommerce-checkout .woocommerce-billing-fields h3,
.hdme-scope.woocommerce-checkout .woocommerce-shipping-fields h3,
.hdme-scope.woocommerce-checkout .woocommerce-additional-fields h3 {
	margin: 0 0 16px !important;
	padding-bottom: 12px;
	font-size: 1.12rem;
}

.hdme-scope.woocommerce-checkout form.checkout .form-row {
	margin: 0 0 12px !important;
}

.hdme-scope.woocommerce-checkout form.checkout .form-row label {
	margin-bottom: 5px;
	font-size: 0.8rem;
	line-height: 1.35;
}

.hdme-scope.woocommerce-checkout form.checkout input.input-text,
.hdme-scope.woocommerce-checkout form.checkout select,
.hdme-scope.woocommerce-checkout form.checkout textarea,
.hdme-scope.woocommerce-checkout form.checkout .select2-selection {
	min-height: 42px !important;
	border-color: var(--hdme-border-strong) !important;
	border-radius: var(--hdme-radius) !important;
	background: #fff !important;
	font-size: 16px !important;
	box-shadow: none !important;
}

.hdme-scope.woocommerce-checkout form.checkout input.input-text,
.hdme-scope.woocommerce-checkout form.checkout textarea {
	padding: 9px 12px !important;
}

.hdme-scope.woocommerce-checkout form.checkout textarea {
	min-height: 88px !important;
}

.hdme-scope.woocommerce-checkout form.checkout .select2-container {
	width: 100% !important;
}

.hdme-scope.woocommerce-checkout form.checkout .select2-selection__rendered {
	line-height: 40px !important;
}

.hdme-scope.woocommerce-checkout form.checkout .select2-selection__arrow {
	height: 40px !important;
}

.hdme-scope.woocommerce-checkout .woocommerce-form__label-for-checkbox {
	min-height: 40px;
	padding: 7px 0;
}

/* Compact, readable order table. */
.hdme-scope.woocommerce-checkout #order_review table.shop_table {
	width: 100% !important;
	margin: 0 0 14px !important;
	table-layout: fixed;
}

.hdme-scope.woocommerce-checkout #order_review table.shop_table th,
.hdme-scope.woocommerce-checkout #order_review table.shop_table td {
	padding: 10px 4px !important;
	font-size: 0.78rem !important;
	line-height: 1.4;
	overflow-wrap: anywhere;
}

.hdme-scope.woocommerce-checkout #order_review table.shop_table th:first-child,
.hdme-scope.woocommerce-checkout #order_review table.shop_table td:first-child {
	width: 68%;
	padding-left: 0 !important;
}

.hdme-scope.woocommerce-checkout #order_review table.shop_table th:last-child,
.hdme-scope.woocommerce-checkout #order_review table.shop_table td:last-child {
	width: 32%;
	padding-right: 0 !important;
	text-align: right;
}

.hdme-scope.woocommerce-checkout #order_review table.shop_table img {
	width: 52px !important;
	height: 52px !important;
	margin-right: 9px;
	object-fit: contain;
	border: 1px solid var(--hdme-border);
	border-radius: var(--hdme-radius-sm);
	background: #fff;
}

.hdme-scope.woocommerce-checkout #order_review table.shop_table .order-total th,
.hdme-scope.woocommerce-checkout #order_review table.shop_table .order-total td {
	padding-top: 13px !important;
	font-size: 0.96rem !important;
	color: var(--hdme-grey-900);
}

.hdme-scope.woocommerce-checkout #order_review table.shop_table .order-total td,
.hdme-scope.woocommerce-checkout #order_review table.shop_table .order-total .amount {
	color: var(--hdme-blue-700);
}

.hdme-scope.woocommerce-checkout #order_review table.shop_table tr.woocommerce-shipping-totals,
.hdme-scope.woocommerce-checkout #order_review table.shop_table tr.shipping {
	display: grid;
	grid-template-columns: 76px minmax(0, 1fr);
	align-items: start;
	border-bottom: 1px solid var(--hdme-border);
}

.hdme-scope.woocommerce-checkout #order_review table.shop_table tr.woocommerce-shipping-totals > th,
.hdme-scope.woocommerce-checkout #order_review table.shop_table tr.woocommerce-shipping-totals > td,
.hdme-scope.woocommerce-checkout #order_review table.shop_table tr.shipping > th,
.hdme-scope.woocommerce-checkout #order_review table.shop_table tr.shipping > td {
	display: block;
	width: auto !important;
	border: 0 !important;
}

.hdme-scope.woocommerce-checkout #order_review table.shop_table tr.woocommerce-shipping-totals > td,
.hdme-scope.woocommerce-checkout #order_review table.shop_table tr.shipping > td {
	text-align: left;
}

.hdme-scope.woocommerce-checkout #order_review .woocommerce-shipping-methods li {
	display: grid !important;
	grid-template-columns: 18px minmax(0, 1fr);
	gap: 7px;
	align-items: start;
	min-height: 38px !important;
	padding: 5px 0 !important;
}

.hdme-scope.woocommerce-checkout #order_review .woocommerce-shipping-methods input[type="radio"] {
	width: 18px;
	height: 18px;
	min-width: 18px;
	min-height: 18px;
	margin: 1px 0 0 !important;
}

.hdme-scope.woocommerce-checkout #order_review .woocommerce-shipping-methods label {
	font-size: 0.76rem !important;
	line-height: 1.35;
	text-align: left;
	white-space: normal !important;
	overflow-wrap: anywhere;
}

/* Payment methods are real cards. The details panel spans beneath its radio
   and label instead of being squeezed into a third flex column. */
.hdme-scope.woocommerce-checkout #payment {
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
}

.hdme-scope.woocommerce-checkout #payment ul.wc_payment_methods {
	display: grid;
	gap: 8px;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 0 14px !important;
	border-bottom: 1px solid var(--hdme-border);
}

.hdme-scope.woocommerce-checkout #payment ul.wc_payment_methods > li.wc_payment_method {
	display: grid !important;
	grid-template-columns: 20px minmax(0, 1fr);
	align-items: center;
	gap: 0 9px;
	width: 100% !important;
	min-height: 46px !important;
	margin: 0 !important;
	padding: 10px 12px !important;
	border: 1px solid var(--hdme-border) !important;
	border-radius: var(--hdme-radius) !important;
	background: var(--hdme-grey-25) !important;
}

.hdme-scope.woocommerce-checkout #payment ul.wc_payment_methods > li.wc_payment_method:has(input:checked) {
	border-color: var(--hdme-blue-500) !important;
	background: var(--hdme-blue-50) !important;
	box-shadow: 0 0 0 1px var(--hdme-blue-500);
}

.hdme-scope.woocommerce-checkout #payment .wc_payment_method > input[type="radio"] {
	grid-column: 1;
	width: 20px;
	height: 20px;
	min-width: 20px;
	min-height: 20px;
	margin: 0 !important;
}

.hdme-scope.woocommerce-checkout #payment .wc_payment_method > label {
	grid-column: 2;
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	width: 100%;
	margin: 0 !important;
	font-size: 0.82rem !important;
	font-weight: var(--hdme-weight-medium);
	line-height: 1.35;
}

.hdme-scope.woocommerce-checkout #payment .wc_payment_method > label img {
	width: auto !important;
	max-width: 112px !important;
	height: auto !important;
	max-height: 28px !important;
	margin: 0 0 0 auto !important;
	object-fit: contain;
}

.hdme-scope.woocommerce-checkout #payment .wc_payment_method > .payment_box {
	grid-column: 1 / -1;
	width: 100% !important;
	min-width: 0;
	margin: 10px 0 0 !important;
	padding: 12px !important;
	border: 1px solid var(--hdme-blue-100);
	border-radius: var(--hdme-radius-sm);
	background: #fff !important;
	font-size: 0.78rem;
	line-height: 1.45;
}

.hdme-scope.woocommerce-checkout #payment .payment_box::before {
	display: none !important;
}

.hdme-scope.woocommerce-checkout #payment .payment_box p:last-child {
	margin-bottom: 0;
}

/* CareCredit is already available as a payment card above. Its additional
   remote promotional banner is redundant and can render as a broken image. */
.hdme-scope.woocommerce-checkout #payment a:has(> img[src*="carecredit_button_pmp_280x100"]) {
	display: none !important;
}

.hdme-scope.woocommerce-checkout #payment .payment_box iframe,
.hdme-scope.woocommerce-checkout #payment .payment_box .wc-stripe-elements-field,
.hdme-scope.woocommerce-checkout #payment .payment_box .stripe-card-group {
	width: 100% !important;
	max-width: 100% !important;
}

.hdme-scope.woocommerce-checkout #payment .place-order {
	width: 100%;
	margin: 0 !important;
	padding: 14px 0 0 !important;
	background: transparent !important;
}

.hdme-scope.woocommerce-checkout #payment .woocommerce-privacy-policy-text {
	font-size: 0.76rem;
	line-height: 1.5;
	color: var(--hdme-grey-600);
}

.hdme-scope.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper {
	margin-top: 12px;
	padding-top: 12px;
}

.hdme-scope.woocommerce-checkout #payment .woocommerce-terms-and-conditions-checkbox-text {
	font-size: 0.78rem !important;
	font-weight: var(--hdme-weight-normal) !important;
	line-height: 1.5 !important;
}

.hdme-scope.woocommerce-checkout #payment .validate-required .woocommerce-form__label-for-checkbox {
	display: grid !important;
	grid-template-columns: 22px minmax(0, 1fr);
	gap: 9px;
	align-items: start;
	padding: 0;
}

.hdme-scope.woocommerce-checkout #payment .validate-required .woocommerce-form__label-for-checkbox input {
	margin: 1px 0 0 !important;
}

.hdme-scope.woocommerce-checkout .hdme-captcha {
	margin: 12px 0 0;
	padding: 12px;
}

.hdme-scope.woocommerce-checkout #place_order {
	min-height: 48px;
	margin: 14px 0 0 !important;
	padding: 0 18px !important;
	border: 0 !important;
	background: var(--hdme-blue-600) !important;
	color: #fff !important;
	font-size: 0.92rem !important;
	box-shadow: 0 8px 18px rgba(54, 110, 183, 0.22);
}

.hdme-scope.woocommerce-checkout #place_order:hover {
	background: var(--hdme-blue-700) !important;
}

@media (max-width: 999px) {
	.hdme-scope.woocommerce-checkout form.checkout #customer_details {
		display: block !important;
	}

	.hdme-scope.woocommerce-checkout form.checkout #customer_details > .col-2 {
		position: static;
		margin-top: 16px !important;
	}

	.hdme-scope.woocommerce-checkout .avada-myaccount-user {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hdme-scope.woocommerce-checkout .avada-myaccount-user > *:nth-child(2n) {
		border-right: 0 !important;
	}

	.hdme-scope.woocommerce-checkout .avada-myaccount-user > *:nth-child(-n + 2) {
		border-bottom: 1px solid var(--hdme-border) !important;
	}
}

@media (max-width: 599px) {
	.hdme-scope.woocommerce-checkout #main {
		padding: 16px 14px 28px;
	}

	.hdme-scope.woocommerce-checkout .post-content {
		width: 100%;
	}

	.hdme-scope.woocommerce-checkout .hdme-page-title {
		margin-bottom: 14px;
		font-size: 1.6rem;
	}

	.hdme-scope.woocommerce-checkout .post-content > .fusion-fullwidth,
	.hdme-scope.woocommerce-checkout .post-content > .fusion-fullwidth .fusion-builder-row,
	.hdme-scope.woocommerce-checkout .post-content > .fusion-fullwidth .fusion-layout-column,
	.hdme-scope.woocommerce-checkout .post-content > .fusion-fullwidth .fusion-column-wrapper,
	.hdme-scope.woocommerce-checkout .post-content .woocommerce,
	.hdme-scope.woocommerce-checkout form.checkout,
	.hdme-scope.woocommerce-checkout form.checkout #customer_details {
		width: 100% !important;
		max-width: 100% !important;
		margin-inline: 0 !important;
	}

	.hdme-scope.woocommerce-checkout .avada-myaccount-user {
		grid-template-columns: 1fr;
	}

	.hdme-scope.woocommerce-checkout .avada-myaccount-user > * {
		min-height: 42px;
		border-right: 0 !important;
		border-bottom: 1px solid var(--hdme-border) !important;
	}

	.hdme-scope.woocommerce-checkout .avada-myaccount-user > *:last-child {
		border-bottom: 0 !important;
	}

	.hdme-scope.woocommerce-checkout #alg_checkout_files_upload_form_1 {
		padding: 11px 12px !important;
	}

	.hdme-scope.woocommerce-checkout form.checkout #customer_details > .col-1 {
		padding: 16px !important;
	}

	.hdme-scope.woocommerce-checkout form.checkout .form-row-first,
	.hdme-scope.woocommerce-checkout form.checkout .form-row-last {
		width: 100% !important;
		float: none !important;
	}

	.hdme-scope.woocommerce-checkout form.checkout #customer_details > .col-2 > #order_review_heading {
		padding: 13px 14px !important;
	}

	.hdme-scope.woocommerce-checkout form.checkout #order_review {
		padding: 13px 14px 15px !important;
	}

	.hdme-scope.woocommerce-checkout #order_review table.shop_table th:first-child,
	.hdme-scope.woocommerce-checkout #order_review table.shop_table td:first-child {
		width: 64%;
	}

	.hdme-scope.woocommerce-checkout #order_review table.shop_table th:last-child,
	.hdme-scope.woocommerce-checkout #order_review table.shop_table td:last-child {
		width: 36%;
	}

	.hdme-scope.woocommerce-checkout #payment ul.wc_payment_methods > li.wc_payment_method {
		padding: 9px 10px !important;
	}

	.hdme-scope.woocommerce-checkout #payment .wc_payment_method > label img {
		max-width: 92px !important;
		max-height: 25px !important;
	}

	.hdme-scope.woocommerce-checkout #payment .wc_payment_method > .payment_box {
		padding: 10px !important;
	}
}

/* ========================================================================
   Shipping method cards and checkout dropdowns
   ===================================================================== */

.hdme-scope.woocommerce-checkout #order_review table.shop_table tr.woocommerce-shipping-totals,
.hdme-scope.woocommerce-checkout #order_review table.shop_table tr.shipping {
	display: block !important;
	width: calc(147.0588% - 14px) !important;
	padding: 0 0 12px;
}

.hdme-scope.woocommerce-checkout #order_review table.shop_table tr.woocommerce-shipping-totals > th,
.hdme-scope.woocommerce-checkout #order_review table.shop_table tr.shipping > th,
.hdme-scope.woocommerce-checkout #order_review table.shop_table tr.woocommerce-shipping-totals > td,
.hdme-scope.woocommerce-checkout #order_review table.shop_table tr.shipping > td {
	display: block !important;
	width: 100% !important;
}

.hdme-scope.woocommerce-checkout #order_review table.shop_table tr.woocommerce-shipping-totals > th,
.hdme-scope.woocommerce-checkout #order_review table.shop_table tr.shipping > th {
	padding: 11px 14px 7px !important;
	font-size: 0.72rem !important;
	letter-spacing: 0.01em;
	text-align: left !important;
}

.hdme-scope.woocommerce-checkout #order_review table.shop_table tr.woocommerce-shipping-totals > td,
.hdme-scope.woocommerce-checkout #order_review table.shop_table tr.shipping > td {
	padding: 0 14px !important;
}

.hdme-scope.woocommerce-checkout #order_review .woocommerce-shipping-methods {
	display: grid !important;
	gap: 7px;
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
}

.hdme-scope.woocommerce-checkout #order_review .woocommerce-shipping-methods li {
	display: grid !important;
	grid-template-columns: 14px minmax(0, 1fr) !important;
	gap: 9px !important;
	align-items: center !important;
	width: 100%;
	min-height: 48px !important;
	margin: 0 !important;
	padding: 7px 10px !important;
	border: 1px solid var(--hdme-border) !important;
	border-radius: 7px;
	background: #fff;
	transition: border-color var(--hdme-transition), background-color var(--hdme-transition), box-shadow var(--hdme-transition);
}

.hdme-scope.woocommerce-checkout #order_review .woocommerce-shipping-methods li:hover {
	border-color: var(--hdme-blue-300) !important;
}

.hdme-scope.woocommerce-checkout #order_review .woocommerce-shipping-methods li.hdme-shipping-method--selected,
.hdme-scope.woocommerce-checkout #order_review .woocommerce-shipping-methods li:has(input[type="radio"]:checked) {
	border-color: var(--hdme-blue-500) !important;
	background: var(--hdme-blue-50);
	box-shadow: 0 0 0 2px rgba(54, 110, 183, 0.1);
}

.hdme-scope.woocommerce-checkout #order_review .woocommerce-shipping-methods input[type="radio"] {
	width: 14px !important;
	height: 14px !important;
	min-width: 14px !important;
	min-height: 14px !important;
	margin: 0 !important;
}

.hdme-scope.woocommerce-checkout #order_review .woocommerce-shipping-methods label {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 10px;
	align-items: center;
	width: 100%;
	padding: 0 !important;
	cursor: pointer;
}

.hdme-scope.woocommerce-checkout .hdme-shipping-method__copy {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 1px;
}

.hdme-scope.woocommerce-checkout .hdme-shipping-method__title {
	color: var(--hdme-grey-800);
	font-size: 0.74rem;
	font-weight: var(--hdme-weight-semi);
	line-height: 1.25;
}

.hdme-scope.woocommerce-checkout .hdme-shipping-method__meta {
	color: var(--hdme-blue-700);
	font-size: 0.64rem;
	font-weight: var(--hdme-weight-medium);
	line-height: 1.25;
}

.hdme-scope.woocommerce-checkout #order_review .woocommerce-shipping-methods .amount {
	margin: 0 !important;
	padding-right: 2px;
	font-size: 0.72rem !important;
}

/* WooCommerce/Avada use Select2 for country and state. Neutralise the old
   green active outline and give both Select2 v3 and v4 dropdowns one design. */
.hdme-scope.woocommerce-checkout .select2-container .select2-selection--single,
.hdme-scope.woocommerce-checkout .select2-container .select2-choice {
	min-height: 42px !important;
	border: 1px solid var(--hdme-border-strong) !important;
	border-radius: var(--hdme-radius-sm) !important;
	background: #fff !important;
	box-shadow: none !important;
}

.hdme-scope.woocommerce-checkout .select2-container--open .select2-selection--single,
.hdme-scope.woocommerce-checkout .select2-container-active .select2-choice {
	border-color: var(--hdme-blue-500) !important;
	box-shadow: 0 0 0 3px rgba(54, 110, 183, 0.12) !important;
}

/* Avada paints this control as a solid black square. Keep the affordance, but
   make it part of the field so the closed and open states feel consistent. */
.hdme-scope.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow,
.hdme-scope.woocommerce-checkout .select2-container .select2-choice .select2-arrow {
	top: 0 !important;
	right: 0 !important;
	width: 38px !important;
	height: 40px !important;
	border: 0 !important;
	border-left: 1px solid var(--hdme-blue-100) !important;
	border-radius: 0 var(--hdme-radius-sm) var(--hdme-radius-sm) 0 !important;
	background: var(--hdme-blue-50) !important;
}

.hdme-scope.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow b,
.hdme-scope.woocommerce-checkout .select2-container .select2-choice .select2-arrow b {
	border-color: var(--hdme-blue-700) transparent transparent !important;
	border-style: solid !important;
	border-width: 5px 4px 0 !important;
}

.hdme-scope.woocommerce-checkout .select2-container--open .select2-selection--single .select2-selection__arrow b,
.hdme-scope.woocommerce-checkout .select2-container-active .select2-choice .select2-arrow b {
	border-color: transparent transparent var(--hdme-blue-700) !important;
	border-width: 0 4px 5px !important;
}

.select2-container--open .select2-dropdown,
.select2-drop.select2-drop-active {
	overflow: hidden !important;
	border: 1px solid var(--hdme-blue-200) !important;
	border-radius: 8px !important;
	background: #fff !important;
	box-shadow: 0 14px 34px rgba(21, 48, 80, 0.18) !important;
}

.select2-search--dropdown,
.select2-drop .select2-search {
	padding: 9px !important;
	border: 0 !important;
	background: var(--hdme-grey-50) !important;
}

.select2-search--dropdown .select2-search__field,
.select2-drop .select2-search input {
	width: 100% !important;
	height: 38px !important;
	padding: 6px 10px !important;
	border: 1px solid var(--hdme-border-strong) !important;
	border-radius: 6px !important;
	outline: 0 !important;
	background: #fff !important;
	box-shadow: none !important;
}

.select2-search--dropdown .select2-search__field:focus,
.select2-drop .select2-search input:focus {
	border-color: var(--hdme-blue-500) !important;
	box-shadow: 0 0 0 3px rgba(54, 110, 183, 0.1) !important;
}

.select2-results,
.select2-results__options {
	margin: 0 !important;
	padding: 5px !important;
	background: #fff !important;
}

.select2-results .select2-result-label,
.select2-results__option {
	margin: 1px 0 !important;
	padding: 8px 10px !important;
	border: 0 !important;
	border-radius: 5px;
	color: var(--hdme-grey-800) !important;
	font-size: 0.78rem !important;
	line-height: 1.35 !important;
}

.select2-results .select2-highlighted .select2-result-label,
.select2-results__option--highlighted[aria-selected] {
	background: var(--hdme-blue-600) !important;
	color: #fff !important;
}

.select2-results__option[aria-selected="true"],
.select2-results .select2-result-selectable.select2-highlighted {
	font-weight: var(--hdme-weight-semi);
}

@media (max-width: 599px) {
	.hdme-scope.woocommerce-checkout #order_review table.shop_table tr.woocommerce-shipping-totals,
	.hdme-scope.woocommerce-checkout #order_review table.shop_table tr.shipping {
		width: calc(156.25% - 12px) !important;
	}

	.hdme-scope.woocommerce-checkout #order_review .woocommerce-shipping-methods li {
		min-height: 46px !important;
		padding: 7px 9px !important;
	}
}

/* ========================================================================
   Checkout completion pass: page tone, compact totals, insurance documents,
   and visible validation states.
   ===================================================================== */

.hdme-scope.woocommerce-cart #main,
.hdme-scope.woocommerce-checkout #main,
.hdme-scope.woocommerce-cart .post-content,
.hdme-scope.woocommerce-checkout .post-content,
.hdme-scope.woocommerce-cart .post-content > .fusion-fullwidth,
.hdme-scope.woocommerce-checkout .post-content > .fusion-fullwidth,
.hdme-scope.woocommerce-cart .post-content > .fusion-fullwidth .fusion-builder-row,
.hdme-scope.woocommerce-checkout .post-content > .fusion-fullwidth .fusion-builder-row,
.hdme-scope.woocommerce-cart .post-content > .fusion-fullwidth .fusion-column-wrapper,
.hdme-scope.woocommerce-checkout .post-content > .fusion-fullwidth .fusion-column-wrapper {
	background: var(--hdme-page-bg) !important;
}

/* Avada gives checkout amounts headline sizing. Keep item price, subtotal and
   tax compact; only the final total receives a small visual lift. */
.hdme-scope.woocommerce-checkout #order_review .product-total,
.hdme-scope.woocommerce-checkout #order_review .product-total .amount,
.hdme-scope.woocommerce-checkout #order_review .cart-subtotal .amount,
.hdme-scope.woocommerce-checkout #order_review .tax-total .amount,
.hdme-scope.woocommerce-checkout #order_review tr[class*="tax"] .amount {
	font-size: 0.9rem !important;
	font-weight: var(--hdme-weight-semi) !important;
	line-height: 1.35 !important;
}

.hdme-scope.woocommerce-checkout #order_review .order-total .amount {
	font-size: 1rem !important;
	font-weight: var(--hdme-weight-bold) !important;
}

.hdme-scope.woocommerce-checkout #order_review .product-name {
	font-size: 0.76rem !important;
	line-height: 1.38 !important;
}

/* Shipping gets its own flexible column and cannot escape the summary card. */
.hdme-scope.woocommerce-checkout #order_review table.shop_table tr.woocommerce-shipping-totals,
.hdme-scope.woocommerce-checkout #order_review table.shop_table tr.shipping {
	grid-template-columns: 68px minmax(0, 1fr) !important;
	width: 100%;
	max-width: 100%;
	overflow: hidden;
}

.hdme-scope.woocommerce-checkout #order_review table.shop_table tr.woocommerce-shipping-totals > td,
.hdme-scope.woocommerce-checkout #order_review table.shop_table tr.shipping > td,
.hdme-scope.woocommerce-checkout #order_review .woocommerce-shipping-methods,
.hdme-scope.woocommerce-checkout #order_review .woocommerce-shipping-methods li,
.hdme-scope.woocommerce-checkout #order_review .woocommerce-shipping-methods label {
	min-width: 0;
	max-width: 100%;
	white-space: normal !important;
	overflow-wrap: anywhere;
}

/* The plugin form is parked near the checkout while fragments refresh, then
   mounted inside Bill My Insurance by checkout-experience.js. */
.hdme-scope.woocommerce-checkout #alg_checkout_files_upload_form_1 {
	display: none;
}

.hdme-scope.woocommerce-checkout #payment #alg_checkout_files_upload_form_1 {
	display: block;
	grid-column: 1 / -1;
	width: 100% !important;
	margin: 10px 0 0 !important;
	padding: 13px !important;
	border: 1px solid var(--hdme-blue-200) !important;
	border-left: 4px solid var(--hdme-blue-500) !important;
	border-radius: var(--hdme-radius) !important;
	background: #fff !important;
	box-shadow: none;
}

.hdme-scope.woocommerce-checkout #payment #alg_checkout_files_upload_form_1[hidden] {
	display: none !important;
}

.hdme-scope.woocommerce-checkout .hdme-insurance-upload table,
.hdme-scope.woocommerce-checkout .hdme-insurance-upload tbody,
.hdme-scope.woocommerce-checkout .hdme-insurance-upload tr,
.hdme-scope.woocommerce-checkout .hdme-insurance-upload td {
	display: block;
	width: 100% !important;
}

.hdme-scope.woocommerce-checkout .hdme-insurance-upload td {
	padding: 3px 0 !important;
}

.hdme-scope.woocommerce-checkout .hdme-insurance-upload label {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	font-size: 0.82rem !important;
	font-weight: var(--hdme-weight-semi);
}

.hdme-scope.woocommerce-checkout .hdme-insurance-upload__help {
	margin: 0 0 10px;
	font-size: 0.74rem;
	line-height: 1.45;
	color: var(--hdme-grey-600);
}

.hdme-scope.woocommerce-checkout .hdme-insurance-upload .alg_checkout_files_upload_button {
	width: 100%;
	min-height: 42px;
	margin: 2px 0 0;
	border-color: var(--hdme-blue-300);
	background: var(--hdme-blue-50);
	font-size: 0.8rem;
	font-weight: var(--hdme-weight-semi);
}

.hdme-scope.woocommerce-checkout .hdme-insurance-upload [class*="alg_checkout_files_upload_result_"]:not([style*="display: none"]) {
	margin: 8px 0 0 !important;
	padding: 8px 10px;
	border-radius: var(--hdme-radius-sm);
	background: var(--hdme-success-bg);
	font-size: 0.76rem;
}

/* Uploaded documents become compact, readable file cards. Plugin inline
   styles otherwise concatenate the icon, long filename, remove link, and a
   30px green progress bar into one visually broken line. */
.hdme-scope.woocommerce-checkout .hdme-insurance-upload .hdme-uploaded-file {
	display: grid !important;
	grid-template-columns: 34px minmax(0, 1fr) 26px;
	gap: 9px;
	align-items: center;
	width: 100%;
	min-height: 54px;
	margin: 8px 0 0 !important;
	padding: 8px 9px !important;
	border: 1px solid #b9ddc9;
	border-radius: var(--hdme-radius-sm);
	background: #eff9f3 !important;
}

.hdme-scope.woocommerce-checkout .hdme-uploaded-file .alg_checkout_files_upload_result_image {
	display: flex !important;
	grid-column: 1;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 38px;
	min-width: 0;
}

.hdme-scope.woocommerce-checkout .hdme-uploaded-file .alg_checkout_files_upload_result_image img {
	float: none !important;
	display: block;
	width: 30px !important;
	height: 34px !important;
	max-width: 30px !important;
	max-height: 34px !important;
	margin: 0 !important;
	object-fit: contain;
}

.hdme-scope.woocommerce-checkout .hdme-uploaded-file .alg_checkout_files_upload_result_file_name {
	display: block !important;
	grid-column: 2;
	min-width: 0;
}

.hdme-scope.woocommerce-checkout .hdme-uploaded-file .alg_checkout_files_upload_result_file_name a {
	display: -webkit-box;
	min-width: 0;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	color: var(--hdme-grey-800) !important;
	font-size: 0.74rem;
	font-weight: var(--hdme-weight-semi);
	line-height: 1.35;
	text-decoration: none;
	overflow-wrap: anywhere;
}

.hdme-scope.woocommerce-checkout .hdme-uploaded-file .alg_checkout_files_upload_result_file_name::after {
	content: "Uploaded";
	display: block;
	margin-top: 2px;
	color: #257a47;
	font-size: 0.66rem;
	font-weight: var(--hdme-weight-semi);
}

.hdme-scope.woocommerce-checkout .hdme-uploaded-file .alg_checkout_files_upload_result_delete {
	display: inline-flex !important;
	grid-column: 3;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid #efbbb7;
	border-radius: 50%;
	background: #fff !important;
	color: var(--hdme-danger) !important;
	font-size: 17px;
	font-weight: var(--hdme-weight-bold);
	line-height: 1;
	text-decoration: none;
}

.hdme-scope.woocommerce-checkout .hdme-uploaded-file .alg_checkout_files_upload_result_delete:hover {
	border-color: var(--hdme-danger);
	background: var(--hdme-danger-bg) !important;
}

.hdme-scope.woocommerce-checkout .hdme-insurance-upload .alg-wc-checkout-files-upload-progress-wrapper {
	height: 6px;
	margin: 4px 0 8px;
	padding: 0;
	overflow: hidden;
	border-radius: var(--hdme-radius-pill);
	background: var(--hdme-grey-100);
	box-shadow: none;
}

.hdme-scope.woocommerce-checkout .hdme-insurance-upload .alg-wc-checkout-files-upload-progress-bar {
	border-radius: inherit;
	background: var(--hdme-success);
	box-shadow: none;
}

.hdme-scope.woocommerce-checkout .hdme-insurance-upload .alg-wc-checkout-files-upload-progress-status {
	display: none;
}

.hdme-scope.woocommerce-checkout .hdme-insurance-upload .hdme-upload-progress--complete {
	display: none !important;
}

.hdme-scope.woocommerce-checkout .hdme-required-pill {
	display: inline-flex;
	align-items: center;
	min-height: 22px;
	padding: 2px 8px;
	border-radius: var(--hdme-radius-pill);
	background: var(--hdme-danger-bg);
	color: var(--hdme-danger) !important;
	font-size: 0.68rem;
	font-weight: var(--hdme-weight-bold);
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

/* reCAPTCHA needs a real widget region, an unmistakable required state, and a
   local error directly beside the control in addition to Woo's top notice. */
.hdme-scope.woocommerce-checkout .hdme-captcha {
	margin: 12px 0 0;
	padding: 13px;
	border: 1px solid var(--hdme-border);
	border-radius: var(--hdme-radius);
	background: var(--hdme-grey-50);
	transition: border-color var(--hdme-transition), box-shadow var(--hdme-transition), background-color var(--hdme-transition);
}

.hdme-scope.woocommerce-checkout .hdme-captcha__label {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin: 0 0 10px;
	font-size: 0.82rem;
}

.hdme-scope.woocommerce-checkout .hdme-captcha__widget {
	min-height: 78px;
}

.hdme-scope.woocommerce-checkout .hdme-captcha__help {
	margin: 7px 0 0;
	font-size: 0.72rem;
	line-height: 1.4;
}

.hdme-scope.woocommerce-checkout .hdme-checkout-field--error {
	border-color: var(--hdme-danger) !important;
	background: var(--hdme-danger-bg) !important;
	box-shadow: 0 0 0 3px rgba(179, 38, 30, 0.12) !important;
}

.hdme-scope.woocommerce-checkout .hdme-checkout-field__error {
	margin: 9px 0 0;
	padding: 8px 10px;
	border-radius: var(--hdme-radius-sm);
	background: #fff;
	color: var(--hdme-danger);
	font-size: 0.76rem;
	font-weight: var(--hdme-weight-semi);
	line-height: 1.4;
}

/* The gateway row is enough; remove its second external promotional banner. */
.hdme-scope.woocommerce-checkout #payment a:has(> img[src*="carecredit_button_pmp_280x100"]) {
	display: none !important;
}

@media (max-width: 380px) {
	.hdme-scope.woocommerce-checkout .hdme-captcha__widget {
		width: 304px;
		transform: scale(0.91);
		transform-origin: left top;
		margin-bottom: -7px;
	}
}

/* ========================================================================
   Shipping-rate alignment and checkout error summary
   ===================================================================== */

/* A grid row inside a fixed-layout table inherits the first column's 68%
   track. Expand only the shipping row back to the full table width so its
   methods have room for a label and a right-aligned compact amount. */
.hdme-scope.woocommerce-checkout #order_review table.shop_table th:last-child,
.hdme-scope.woocommerce-checkout #order_review table.shop_table td:last-child {
	padding-right: 14px !important;
}

.hdme-scope.woocommerce-checkout #order_review table.shop_table tr.woocommerce-shipping-totals,
.hdme-scope.woocommerce-checkout #order_review table.shop_table tr.shipping {
	width: 147.0588% !important;
	max-width: none !important;
	grid-template-columns: 82px minmax(0, 1fr) !important;
	align-items: start;
}

.hdme-scope.woocommerce-checkout #order_review table.shop_table tr.woocommerce-shipping-totals > th,
.hdme-scope.woocommerce-checkout #order_review table.shop_table tr.shipping > th {
	padding-left: 14px !important;
	padding-right: 8px !important;
}

.hdme-scope.woocommerce-checkout #order_review table.shop_table tr.woocommerce-shipping-totals > td,
.hdme-scope.woocommerce-checkout #order_review table.shop_table tr.shipping > td {
	padding-right: 16px !important;
}

.hdme-scope.woocommerce-checkout #order_review .woocommerce-shipping-methods li {
	width: 100%;
	min-height: 32px !important;
	padding: 4px 8px !important;
	grid-template-columns: 14px minmax(0, 1fr) !important;
	gap: 8px !important;
	align-items: center !important;
}

.hdme-scope.woocommerce-checkout #order_review .woocommerce-shipping-methods input[type="radio"] {
	width: 14px !important;
	height: 14px !important;
	min-width: 14px !important;
	min-height: 14px !important;
	margin: 0 !important;
}

.hdme-scope.woocommerce-checkout #order_review .woocommerce-shipping-methods label {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 9px;
	width: 100%;
	min-width: 0;
	padding-right: 10px;
}

.hdme-scope.woocommerce-checkout #order_review .woocommerce-shipping-methods .amount,
.hdme-scope.woocommerce-checkout #order_review .woocommerce-shipping-methods .woocommerce-Price-amount,
.hdme-scope.woocommerce-checkout #order_review tr.woocommerce-shipping-totals .amount,
.hdme-scope.woocommerce-checkout #order_review tr.shipping .amount {
	flex: 0 0 auto;
	margin-left: auto;
	font-size: 0.76rem !important;
	font-weight: var(--hdme-weight-semi) !important;
	line-height: 1.35 !important;
	white-space: nowrap;
}

/* Woo/Avada can wrap the checkout error list in several different notice
   containers. Keep every actual error summary visibly red, not info-blue. */
.hdme-scope.woocommerce-checkout .woocommerce-NoticeGroup-checkout {
	margin: 0 0 14px !important;
}

.hdme-scope.woocommerce-checkout .woocommerce-NoticeGroup-checkout .woocommerce-error,
.hdme-scope.woocommerce-checkout .woocommerce-notices-wrapper .woocommerce-error,
.hdme-scope.woocommerce-checkout ul.woocommerce-error,
.hdme-scope.woocommerce-checkout .wc-block-components-notice-banner.is-error {
	margin: 0 0 12px !important;
	padding: 13px 18px 13px 42px !important;
	border: 1px solid #e4aaa5 !important;
	border-left: 4px solid var(--hdme-danger) !important;
	border-radius: var(--hdme-radius) !important;
	background: var(--hdme-danger-bg) !important;
	color: #6f1d18 !important;
	box-shadow: 0 8px 20px rgba(179, 38, 30, 0.08) !important;
	font-size: 0.82rem !important;
	line-height: 1.45 !important;
}

.hdme-scope.woocommerce-checkout .woocommerce-error li,
.hdme-scope.woocommerce-checkout .wc-block-components-notice-banner.is-error li {
	margin: 3px 0;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: #6f1d18 !important;
	box-shadow: none !important;
}

.hdme-scope.woocommerce-checkout .woocommerce-error li a {
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: #6f1d18 !important;
	box-shadow: none !important;
}

@media (max-width: 599px) {
	/* The phone table uses a 64/36 split, so compensate for its first track. */
	.hdme-scope.woocommerce-checkout #order_review table.shop_table tr.woocommerce-shipping-totals,
	.hdme-scope.woocommerce-checkout #order_review table.shop_table tr.shipping {
		width: 156.25% !important;
		grid-template-columns: 72px minmax(0, 1fr) !important;
	}

	.hdme-scope.woocommerce-checkout #order_review table.shop_table tr.woocommerce-shipping-totals > td,
	.hdme-scope.woocommerce-checkout #order_review table.shop_table tr.shipping > td {
		padding-right: 12px !important;
	}

	.hdme-scope.woocommerce-checkout .woocommerce-NoticeGroup-checkout .woocommerce-error,
	.hdme-scope.woocommerce-checkout .woocommerce-notices-wrapper .woocommerce-error,
	.hdme-scope.woocommerce-checkout ul.woocommerce-error,
	.hdme-scope.woocommerce-checkout .wc-block-components-notice-banner.is-error {
		padding: 12px 14px 12px 34px !important;
		font-size: 0.78rem !important;
	}

	.hdme-scope.woocommerce-checkout .hdme-insurance-upload .hdme-uploaded-file {
		grid-template-columns: 30px minmax(0, 1fr) 24px;
		gap: 7px;
		padding: 7px 8px !important;
	}
}

/* ========================================================================
   Shipping Method cards — cart ("Cart totals") and checkout ("Your order")
   Markup comes from inc/shipping-methods.php. Flex (not a two-track grid)
   so a single method, which has no radio button, still gets the full width.
   ===================================================================== */

.hdme-scope.woocommerce-cart .cart_totals table.shop_table tr.woocommerce-shipping-totals {
	grid-template-columns: minmax(0, 1fr);
}

.hdme-scope.woocommerce-cart .cart_totals table.shop_table tr.woocommerce-shipping-totals > th {
	padding-bottom: 8px !important;
}

.hdme-scope.woocommerce-cart .cart_totals table.shop_table tr.woocommerce-shipping-totals > td {
	padding-top: 0 !important;
	text-align: left;
}

.hdme-scope.woocommerce-cart .cart_totals .woocommerce-shipping-methods,
.hdme-scope.woocommerce-checkout #order_review .woocommerce-shipping-methods {
	display: grid !important;
	gap: 7px;
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
}

.hdme-scope.woocommerce-cart .cart_totals .woocommerce-shipping-methods li,
.hdme-scope.woocommerce-checkout #order_review .woocommerce-shipping-methods li {
	display: flex !important;
	align-items: center !important;
	gap: 9px !important;
	width: 100%;
	min-width: 0;
	min-height: 48px !important;
	margin: 0 !important;
	padding: 7px 10px !important;
	border: 1px solid var(--hdme-border) !important;
	border-radius: 7px;
	background: #fff;
	transition: border-color var(--hdme-transition), background-color var(--hdme-transition), box-shadow var(--hdme-transition);
}

.hdme-scope.woocommerce-cart .cart_totals .woocommerce-shipping-methods li:hover {
	border-color: var(--hdme-blue-300) !important;
}

/* Selected card; a lone method (no radio) is the one that applies, so it is shown selected too. */
.hdme-scope.woocommerce-cart .cart_totals .woocommerce-shipping-methods li:has(input[type="radio"]:checked),
.hdme-scope.woocommerce-cart .cart_totals .woocommerce-shipping-methods li:only-child,
.hdme-scope.woocommerce-checkout #order_review .woocommerce-shipping-methods li:only-child {
	border-color: var(--hdme-blue-500) !important;
	background: var(--hdme-blue-50);
	box-shadow: 0 0 0 2px rgba(54, 110, 183, 0.1);
}

.hdme-scope.woocommerce-cart .cart_totals .woocommerce-shipping-methods input[type="radio"],
.hdme-scope.woocommerce-checkout #order_review .woocommerce-shipping-methods input[type="radio"] {
	flex: 0 0 14px;
	width: 14px !important;
	height: 14px !important;
	min-width: 14px !important;
	min-height: 14px !important;
	margin: 0 !important;
}

.hdme-scope.woocommerce-cart .cart_totals .woocommerce-shipping-methods label,
.hdme-scope.woocommerce-checkout #order_review .woocommerce-shipping-methods label {
	display: flex !important;
	flex: 1 1 auto;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	width: auto !important;
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
	text-align: left;
	white-space: normal !important;
	overflow-wrap: normal;
	word-break: normal;
	cursor: pointer;
}

.hdme-scope.woocommerce-cart .hdme-shipping-method__copy,
.hdme-scope.woocommerce-checkout .hdme-shipping-method__copy {
	display: flex;
	flex: 1 1 auto;
	min-width: 0;
	flex-direction: column;
	gap: 1px;
}

.hdme-scope.woocommerce-cart .hdme-shipping-method__title,
.hdme-scope.woocommerce-checkout .hdme-shipping-method__title {
	color: var(--hdme-grey-800);
	font-size: 0.76rem;
	font-weight: var(--hdme-weight-semi);
	line-height: 1.3;
}

.hdme-scope.woocommerce-cart .hdme-shipping-method__meta,
.hdme-scope.woocommerce-checkout .hdme-shipping-method__meta {
	color: var(--hdme-blue-700);
	font-size: 0.66rem;
	font-weight: var(--hdme-weight-medium);
	line-height: 1.25;
}

.hdme-scope.woocommerce-cart .hdme-shipping-method__price,
.hdme-scope.woocommerce-checkout .hdme-shipping-method__price {
	flex: 0 0 auto;
	margin-left: auto;
	white-space: nowrap;
	text-align: right;
}

.hdme-scope.woocommerce-cart .cart_totals .woocommerce-shipping-methods .amount,
.hdme-scope.woocommerce-checkout #order_review .woocommerce-shipping-methods .amount {
	margin: 0 !important;
	font-size: 0.76rem !important;
	font-weight: var(--hdme-weight-semi) !important;
	line-height: 1.35 !important;
	white-space: nowrap;
}

.hdme-scope.woocommerce-cart .cart_totals .woocommerce-shipping-destination,
.hdme-scope.woocommerce-cart .cart_totals .woocommerce-shipping-calculator {
	margin: 8px 0 0 !important;
	text-align: left;
}

/* ========================================================================
   Cart items on phones — one compact card per item
     [img] Product name + options               (×)
           $599.99 each
     ─────────────────────────────────────────────
     [ -  1  + ]                  Subtotal $599.99
   Scoped with table.shop_table + !important because Avada's responsive
   table rules (centered cells, data-title labels) otherwise win.
   ===================================================================== */
@media (max-width: 767px) {
	.hdme-scope.woocommerce-cart .hdme-page-title {
		padding-left: 2px;
		padding-right: 2px;
	}

	.hdme-scope.woocommerce-cart .woocommerce-cart-form table.shop_table tbody tr.woocommerce-cart-form__cart-item {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto !important;
		grid-template-areas:
			"name remove"
			"price price"
			"quantity subtotal" !important;
		align-items: center;
		gap: 6px 0 !important;
		position: relative;
		padding: 14px !important;
		text-align: left !important;
	}

	.hdme-scope.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td {
		display: block !important;
		width: auto !important;
		min-width: 0;
		padding: 0 !important;
		border: 0 !important;
		text-align: left !important;
	}

	.hdme-scope.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td::before {
		float: none !important;
	}

	/* Product: thumbnail + name/options side by side, top-aligned. */
	.hdme-scope.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td.product-name {
		grid-area: name;
		align-self: start;
	}
	.hdme-scope.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td.product-name::before { content: none !important; display: none !important; }
	.hdme-scope.woocommerce-cart .woocommerce-cart-form tr.cart_item .fusion-product-name-wrapper {
		display: flex !important;
		align-items: flex-start !important;
		justify-content: flex-start !important;
		gap: 12px !important;
		text-align: left !important;
	}
	.hdme-scope.woocommerce-cart .woocommerce-cart-form tr.cart_item .product-thumbnail {
		flex: 0 0 64px;
		width: 64px !important;
		margin: 0 !important;
		float: none !important;
	}
	.hdme-scope.woocommerce-cart .woocommerce-cart-form tr.cart_item .product-thumbnail img {
		display: block;
		width: 64px !important;
		height: 64px !important;
		object-fit: contain;
	}
	.hdme-scope.woocommerce-cart .woocommerce-cart-form tr.cart_item .product-info {
		flex: 1 1 auto;
		min-width: 0;
		margin: 0 !important;
		padding: 0 !important;
		text-align: left !important;
	}
	.hdme-scope.woocommerce-cart .woocommerce-cart-form tr.cart_item .product-info .product-title {
		display: block;
		margin: 0 0 3px !important;
		font-size: 0.95rem !important;
		line-height: 1.3 !important;
		text-align: left !important;
	}
	.hdme-scope.woocommerce-cart .woocommerce-cart-form tr.cart_item .product-info dl.variation,
	.hdme-scope.woocommerce-cart .woocommerce-cart-form tr.cart_item .product-info .variation {
		margin: 2px 0 0 !important;
		font-size: 0.78rem !important;
		line-height: 1.4 !important;
		text-align: left !important;
	}

	/* Remove (×): top right, beside the name. */
	.hdme-scope.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td.product-remove {
		grid-area: remove;
		position: static !important;
		top: auto !important;
		align-self: start !important;
		justify-self: end;
		margin-left: 10px !important;
		width: auto !important;
		height: auto !important;
		background: transparent !important;
		border-radius: 0 !important;
	}
	.hdme-scope.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td.product-remove a.remove {
		position: relative !important;
		top: auto !important;
		left: auto !important;
		transform: none !important;
		width: 32px !important;
		height: 32px !important;
		margin: 0 !important;
	}
	.hdme-scope.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td.product-remove::before { content: none !important; display: none !important; }

	/* Unit price: small line under the name, aligned with the name text. */
	.hdme-scope.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td.product-price {
		grid-area: price;
		display: flex !important;
		justify-content: flex-start !important;
		align-items: baseline;
		gap: 5px;
		margin: -2px 0 4px 76px !important;
		color: var(--hdme-grey-600);
		font-size: 0.82rem !important;
	}
	.hdme-scope.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td.product-price::before { content: none !important; display: none !important; }
	.hdme-scope.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td.product-price::after {
		content: "each";
		color: var(--hdme-grey-500);
		font-size: 0.76rem;
	}
	.hdme-scope.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td.product-price .amount {
		font-size: 0.86rem !important;
		font-weight: var(--hdme-weight-semi) !important;
		color: var(--hdme-grey-700) !important;
	}

	/* Quantity (left) and subtotal (right) share the bottom row. */
	.hdme-scope.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td.product-quantity,
	.hdme-scope.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td.product-subtotal {
		padding-top: 10px !important;
		border-top: 1px solid var(--hdme-border) !important;
	}
	.hdme-scope.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td.product-quantity {
		grid-area: quantity;
		display: flex !important;
		justify-content: flex-start !important;
		align-items: center;
	}
	.hdme-scope.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td.product-quantity::before { content: none !important; display: none !important; }
	.hdme-scope.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td.product-quantity .quantity {
		margin: 0 !important;
		float: none !important;
	}
	.hdme-scope.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td.product-subtotal {
		grid-area: subtotal;
		display: flex !important;
		flex-direction: column !important;
		align-items: flex-end !important;
		justify-content: center;
		gap: 1px !important;
		align-self: stretch;
		text-align: right !important;
	}
	.hdme-scope.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td.product-subtotal::before {
		content: "Subtotal" !important;
		display: block !important;
		margin: 0 !important;
		font-size: 0.68rem !important;
		font-weight: var(--hdme-weight-semi);
		letter-spacing: 0.04em;
		text-transform: uppercase;
		color: var(--hdme-grey-500);
	}
	.hdme-scope.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td.product-subtotal .amount {
		font-size: 1rem !important;
		font-weight: var(--hdme-weight-bold) !important;
	}
}
