/* WooCommerce Unified Apparel Options — storefront UI */
.wcuas-product-options,
.wcuas-size-picker {
	--wcuas-border: var(--wcuas-site-border, #d9dee7);
	--wcuas-text: var(--wcuas-site-text, #172033);
	--wcuas-muted: #657085;
	--wcuas-soft: #f6f8fb;
	--wcuas-accent: var(--wcuas-site-primary, #1463df);
	--wcuas-accent-dark: var(--wcuas-site-primary, #0d4db2);
	--wcuas-success: #157347;
	box-sizing: border-box;
	color: var(--wcuas-text);
}

.wcuas-product-options * ,
.wcuas-size-picker * { box-sizing: border-box; }

/* Keep WooCommerce native Size select in the DOM as the variation source of truth. */
select.wcuas-native-size-select {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.wcuas-size-picker {
	margin: 4px 0 14px;
	width: 100%;
}

.wcuas-size-picker-heading,
.wcuas-section-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 12px;
	font-size: 15px;
	font-weight: 700;
}

.wcuas-required-badge,
.wcuas-required {
	display: inline-flex;
	align-items: center;
	padding: 4px 8px;
	border-radius: 999px;
	background: #eef4ff;
	color: var(--wcuas-accent-dark);
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: .04em;
}

.wcuas-size-group + .wcuas-size-group { margin-top: 12px; }
.wcuas-size-group-title {
	margin-bottom: 7px;
	color: var(--wcuas-muted);
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .045em;
}

.wcuas-size-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

button.wcuas-size-button {
	appearance: none;
	-webkit-appearance: none;
	min-width: 48px;
	height: 42px;
	padding: 0 13px;
	border: 1px solid var(--wcuas-border);
	border-radius: 9px;
	background: var(--wcuas-site-surface, #fff);
	box-shadow: none;
	color: var(--wcuas-text);
	font: inherit;
	font-size: 14px;
	font-weight: 700;
	line-height: 40px;
	text-align: center;
	cursor: pointer;
	transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease, color .15s ease, transform .15s ease;
}
button.wcuas-size-button:hover:not(:disabled) {
	border-color: var(--wcuas-accent);
	transform: translateY(-1px);
}
button.wcuas-size-button.is-selected {
	border-color: var(--wcuas-accent);
	background: var(--wcuas-accent);
	box-shadow: 0 0 0 2px rgba(20,99,223,.12);
	color: var(--wcuas-site-button-text, #fff);
}
button.wcuas-size-button:focus-visible {
	outline: 3px solid rgba(20,99,223,.22);
	outline-offset: 2px;
}
button.wcuas-size-button:disabled,
button.wcuas-size-button.is-disabled {
	background: #f3f4f6;
	color: #a0a7b3;
	cursor: not-allowed;
	text-decoration: line-through;
	opacity: .7;
}

.wcuas-product-options {
	margin: 18px 0 20px;
}
.wcuas-section {
	margin: 0 0 16px;
	padding: 18px;
	border: 1px solid var(--wcuas-border);
	border-radius: 14px;
	background: var(--wcuas-site-surface, #fff);
	box-shadow: 0 3px 14px rgba(26,39,63,.05);
}

.wcuas-design-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(112px, 1fr));
	gap: 10px;
}
.wcuas-design-card {
	position: relative;
	display: block;
	margin: 0;
	padding: 8px;
	border: 2px solid transparent;
	border-radius: 12px;
	background: var(--wcuas-soft);
	cursor: pointer;
	transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.wcuas-design-card:hover {
	border-color: #b9cef2;
	transform: translateY(-1px);
}
.wcuas-design-card.is-selected {
	border-color: var(--wcuas-accent);
	background: #f1f6ff;
	box-shadow: 0 0 0 2px rgba(20,99,223,.09);
}
.wcuas-design-card.is-selected::after {
	content: '✓';
	position: absolute;
	top: 6px;
	right: 6px;
	display: grid;
	place-items: center;
	width: 22px;
	height: 22px;
	border: 2px solid #fff;
	border-radius: 50%;
	background: var(--wcuas-accent);
	color: var(--wcuas-site-button-text, #fff);
	font-size: 12px;
	font-weight: 800;
	box-shadow: 0 2px 7px rgba(0,0,0,.16);
}
.wcuas-design-card input[type="radio"] {
	position: absolute;
	op: 8px;
	left: 8px;
	opacity: 0;
	pointer-events: none;
}
.wcuas-design-visual {
	display: grid;
	place-items: center;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: 8px;
	background: var(--wcuas-site-surface, #fff);
}
.wcuas-design-visual img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.wcuas-no-image {
	color: #99a2b1;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .08em;
}
.wcuas-design-title {
	display: block;
	padding: 8px 3px 2px;
	color: var(--wcuas-text);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.25;
	text-align: center;
}
.wcuas-design-selected {
	min-height: 0;
	margin-top: 10px;
	color: var(--wcuas-success);
	font-size: 13px;
	font-weight: 700;
}
.wcuas-checkmark {
	display: inline-grid;
	place-items: center;
	width: 18px;
	height: 18px;
	margin-right: 4px;
	border-radius: 50%;
	background: #e6f5ec;
	font-size: 11px;
}

.wcuas-delivery-types {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}
.wcuas-delivery-types label {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 64px;
	margin: 0;
	padding: 13px 14px 13px 43px;
	border: 2px solid var(--wcuas-border);
	border-radius: 12px;
	background: var(--wcuas-site-surface, #fff);
	cursor: pointer;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
	transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
}
.wcuas-delivery-types label:hover { border-color: #b7c8e5; }
.wcuas-delivery-types label.is-selected {
	border-color: var(--wcuas-accent);
	background: #f3f7ff;
	box-shadow: 0 0 0 2px rgba(20,99,223,.08);
}
.wcuas-delivery-types input[type="radio"] {
	position: absolute;
	left: 14px;
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: var(--wcuas-accent);
}

.wcuas-school-fields {
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid #e6e9ef;
}
.wcuas-school-fields[hidden] { display: none !important; }
.wcuas-school-fields .form-row { margin: 0 0 12px; }
.wcuas-school-fields .form-row:last-child { margin-bottom: 0; }
.wcuas-school-fields label {
	display: block;
	margin-bottom: 6px;
	font-size: 13px;
	font-weight: 700;
}
.wcuas-school-fields input.input-text,
.wcuas-school-fields select {
	width: 100%;
	min-height: 46px;
	padding: 9px 12px;
	border: 1px solid #cfd5df;
	border-radius: 9px;
	background: var(--wcuas-site-surface, #fff);
	color: var(--wcuas-text);
	font-size: 14px;
	box-shadow: none;
}
.wcuas-school-fields input.input-text:focus,
.wcuas-school-fields select:focus {
	border-color: var(--wcuas-accent);
	outline: 0;
	box-shadow: 0 0 0 3px rgba(20,99,223,.12);
}

@media (max-width: 600px) {
	.wcuas-section { padding: 15px; border-radius: 12px; }
	.wcuas-design-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.wcuas-delivery-types { grid-template-columns: 1fr; }
	button.wcuas-size-button { min-width: 46px; height: 40px; padding: 0 11px; line-height: 38px; }
}

@media (max-width: 390px) {
	.wcuas-design-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.wcuas-store-info {
	display: grid;
	gap: 4px;
	margin: 0 0 18px;
	padding: 14px 16px;
	border: 1px solid var(--wcuas-site-border, #d9dee7);
	border-left: 4px solid var(--wcuas-site-primary, #0f2d5c);
	border-radius: 10px;
	background: var(--wcuas-site-surface, #fff);
	color: var(--wcuas-site-text, #172033);
}
.wcuas-store-info span,
.wcuas-store-info small { display:block; }

/* v2.1.1 theme/swatch compatibility --------------------------------------- */
.wcuas-suppressed-variation-ui {
	display: none !important;
}

/* If a legacy/native Design variation only has one possible value, select it
 * automatically in JS and remove the meaningless machine-code row from view. */
tr.wcuas-single-native-design-row,
.wcuas-single-native-design-row {
	display: none !important;
}

select.wcuas-native-design-select {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.wcuas-native-design-picker {
	width: 100%;
	margin: 4px 0 14px;
}

button.wcuas-native-design-card {
	appearance: none;
	-webkit-appearance: none;
	width: 100%;
	font: inherit;
	text-align: center;
}

button.wcuas-native-design-card:disabled,
button.wcuas-native-design-card.is-disabled {
	cursor: not-allowed;
	opacity: .55;
}

/* Checkout-level school delivery fields (classic checkout). */
.wcuas-checkout-school {
	margin: 22px 0;
	padding: 18px;
	border: 1px solid var(--wcuas-site-border, #d8dee8);
	border-radius: 14px;
	background: var(--wcuas-site-surface, #fff);
	color: var(--wcuas-site-text, #182033);
}
.wcuas-checkout-school h3 {
	margin: 0 0 6px;
	font-size: 18px;
}
.wcuas-checkout-school-intro {
	margin: 0 0 16px;
	font-size: 13px;
	color: #5d6676;
}
.wcuas-checkout-school .form-row {
	margin-bottom: 14px;
}
.wcuas-checkout-school .form-row label {
	font-weight: 700;
}
.wcuas-checkout-school input.input-text,
.wcuas-checkout-school select {
	width: 100%;
	min-height: 46px;
	border: 1px solid var(--wcuas-site-border, #cfd5df);
	border-radius: 9px;
	background: var(--wcuas-site-surface, #fff);
	color: var(--wcuas-site-text, #182033);
}
.wcuas-checkout-school-details {
	margin-top: 10px;
	padding-top: 14px;
	border-top: 1px solid var(--wcuas-site-border, #e6e9ef);
}
.wcuas-checkout-school-details[hidden],
.wcuas-checkout-school-details.is-hidden {
	display: none !important;
}
.wcuas-fixed-school-delivery {
	padding: 12px 14px;
	border-radius: 9px;
	background: var(--wcuas-site-background, #f7f8fa);
}

/* v2.1.4 — Local Pickup school-delivery placement ------------------------- */
.wcuas-pickup-school-fields {
	margin: 10px 0 14px;
	padding: 14px 16px 4px;
	border: 1px solid var(--wcuas-site-border, #d9dee7);
	border-left: 4px solid var(--wcuas-site-primary, #0f2d5c);
	border-radius: 10px;
	background: var(--wcuas-site-surface, #fff);
	color: var(--wcuas-site-text, #172033);
}
.wcuas-pickup-school-fields[hidden] {
	display: none !important;
}
.wcuas-pickup-school-heading {
	margin: 0 0 3px;
	font-weight: 800;
}
.wcuas-pickup-school-help {
	margin: 0 0 12px;
	font-size: 13px;
	color: #687284;
}
.wcuas-pickup-school-fields .form-row {
	width: 100% !important;
	float: none !important;
	margin: 0 0 12px !important;
}
.wcuas-pickup-school-fields .form-row label {
	display: block;
	margin-bottom: 6px;
	font-weight: 700;
}
.wcuas-pickup-school-fields input.input-text,
.wcuas-pickup-school-fields select {
	width: 100% !important;
	min-height: 44px;
}
.wcuas-required-star {
	color: #b91c1c;
}


/* v2.2.4 — Stay on storefront after Add to Cart ------------------------- */
.woocommerce-message .wcuas-continue-shopping,
.woocommerce-notices-wrapper .wcuas-continue-shopping {
	background: var(--wcuas-site-secondary, #eef2f7) !important;
	color: var(--wcuas-site-text, #172033) !important;
	border: 1px solid var(--wcuas-site-border, #d9dee7) !important;
	margin-left: 8px;
}
.woocommerce-message .wc-forward:not(.wcuas-continue-shopping),
.woocommerce-notices-wrapper .wc-forward:not(.wcuas-continue-shopping) {
	background: var(--wcuas-site-primary, #0f2d5c) !important;
	color: var(--wcuas-site-button-text, #fff) !important;
}
@media (max-width: 640px) {
	.woocommerce-message .wcuas-continue-shopping,
	.woocommerce-notices-wrapper .wcuas-continue-shopping {
		margin: 8px 0 0 0;
	}
}


/* v2.2.12 — Clear Add to Cart confirmation ----------------------------- */
.woocommerce-message .wcuas-added-cart-confirmation,
.woocommerce-notices-wrapper .wcuas-added-cart-confirmation {
	display:inline-flex;
	align-items:center;
	gap:8px;
	font-weight:800;
	color:var(--wcuas-site-text,#172033);
}
.woocommerce-message .wcuas-added-cart-confirmation::before,
.woocommerce-notices-wrapper .wcuas-added-cart-confirmation::before {
	content:'✓';
	display:inline-grid;
	place-items:center;
	width:24px;
	height:24px;
	flex:0 0 24px;
	border-radius:999px;
	background:var(--wcuas-site-primary,#0f2d5c);
	color:var(--wcuas-site-button-text,#fff);
	font-size:14px;
	line-height:1;
}
.woocommerce-message .wcuas-view-cart,
.woocommerce-notices-wrapper .wcuas-view-cart {
	margin-left:10px;
}
@media (max-width:640px) {
	.woocommerce-message:has(.wcuas-added-cart-confirmation),
	.woocommerce-notices-wrapper .woocommerce-message:has(.wcuas-added-cart-confirmation) {
		display:flex;
		flex-direction:column;
		align-items:stretch;
		gap:8px;
	}
	.woocommerce-message .wcuas-added-cart-confirmation,
	.woocommerce-notices-wrapper .wcuas-added-cart-confirmation {
		display:flex;
		width:100%;
	}
	.woocommerce-message .wcuas-view-cart,
	.woocommerce-notices-wrapper .wcuas-view-cart,
	.woocommerce-message .wcuas-continue-shopping,
	.woocommerce-notices-wrapper .wcuas-continue-shopping {
		display:block;
		width:100%;
		box-sizing:border-box;
		margin:0 !important;
		text-align:center;
	}
}


/* v2.2.7 — Clickable true-color swatches on product cards --------------- */
.wcuas-loop-colors { display:flex; align-items:center; gap:8px; margin-top:8px; line-height:1; }
.wcuas-loop-colors-label { font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--wcuas-site-text,#5f6877); opacity:.72; }
.wcuas-loop-swatches { display:flex; align-items:center; flex-wrap:wrap; gap:5px; }
.wcuas-loop-swatch { display:inline-block; width:18px; height:18px; border:2px solid var(--wcuas-site-surface,#fff); box-shadow:0 0 0 1px var(--wcuas-site-border,#cfd5df); border-radius:50%; box-sizing:border-box; text-decoration:none !important; transition:transform .15s ease, box-shadow .15s ease; }
.wcuas-loop-swatch:hover { transform:scale(1.12); box-shadow:0 0 0 2px var(--wcuas-site-primary,#0f2d5c); }
.wcuas-loop-swatch:focus-visible { outline:2px solid var(--wcuas-site-primary,#0f2d5c); outline-offset:3px; }
@media (max-width:640px) { .wcuas-loop-colors { gap:6px; } .wcuas-loop-swatch { width:17px; height:17px; } }

/* v2.2.8 — Larger complete color swatches + Select Options placement ------- */
.wcuas-loop-colors { align-items:flex-start; gap:10px; margin-top:10px; margin-bottom:2px; line-height:1.2; }
.wcuas-loop-colors-label { padding-top:5px; font-size:11px; }
.wcuas-loop-swatches { gap:8px; }
.wcuas-loop-swatch { width:28px; height:28px; border-width:3px; box-shadow:0 0 0 1px var(--wcuas-site-border,#cfd5df); }
.wcuas-loop-swatch:hover { transform:scale(1.08); }
.products .product .wcuas-loop-select-options-moved,
.wc-block-grid__product .wcuas-loop-select-options-moved {
	position:static !important;
	top:auto !important; right:auto !important; bottom:auto !important; left:auto !important;
	transform:none !important;
	float:none !important;
	display:flex !important;
	align-items:center;
	justify-content:center;
	width:100% !important;
	max-width:none !important;
	box-sizing:border-box;
	margin:10px 0 0 !important;
}
@media (max-width:640px) {
	.wcuas-loop-colors { gap:8px; }
	.wcuas-loop-swatches { gap:7px; }
	.wcuas-loop-swatch { width:26px; height:26px; }
}

/* v2.2.9 — Shipping address only for shipped orders ----------------------- */
.wcuas-hide-shipping-address {
	display: none !important;
}

/* v2.2.11 — Mobile checkout usability ------------------------------------- */
@media (max-width: 782px) {
	/* Prevent payment widgets, long URLs and custom checkout steps from creating
	 * a horizontal page scroll on phones. */
	body.woocommerce-checkout,
	body.woocommerce-checkout #page,
	body.woocommerce-checkout #content,
	body.woocommerce-checkout main,
	body.woocommerce-checkout .site-main,
	body.woocommerce-checkout .woocommerce,
	body.woocommerce-checkout form.checkout {
		max-width: 100%;
		box-sizing: border-box;
		overflow-x: clip;
	}

	/* Classic checkout: collapse all two-column address rows to one comfortable
	 * column. This also catches most custom/Flux-style checkouts that preserve
	 * WooCommerce form-row classes. */
	body.woocommerce-checkout .col2-set,
	body.woocommerce-checkout .col2-set .col-1,
	body.woocommerce-checkout .col2-set .col-2,
	body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
	body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
	body.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
		width: 100% !important;
		max-width: 100% !important;
		float: none !important;
		box-sizing: border-box;
	}

	body.woocommerce-checkout .form-row,
	body.woocommerce-checkout .form-row-first,
	body.woocommerce-checkout .form-row-last,
	body.woocommerce-checkout .form-row-wide,
	body.woocommerce-checkout .woocommerce-form-row {
		width: 100% !important;
		max-width: 100% !important;
		float: none !important;
		clear: both !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		box-sizing: border-box;
	}

	/* 16px stops iOS Safari from zooming the page when a shopper taps a field. */
	body.woocommerce-checkout input.input-text,
	body.woocommerce-checkout input[type="text"],
	body.woocommerce-checkout input[type="email"],
	body.woocommerce-checkout input[type="tel"],
	body.woocommerce-checkout input[type="number"],
	body.woocommerce-checkout input[type="password"],
	body.woocommerce-checkout select,
	body.woocommerce-checkout textarea,
	body.woocommerce-checkout .select2-container,
	body.woocommerce-checkout .select2-selection,
	body.woocommerce-checkout .wc-block-components-text-input input,
	body.woocommerce-checkout .wc-block-components-combobox-control input {
		width: 100% !important;
		max-width: 100% !important;
		min-height: 48px;
		font-size: 16px !important;
		box-sizing: border-box;
	}

	body.woocommerce-checkout textarea {
		min-height: 96px;
	}

	/* Give each checkout section breathing room and keep custom multi-step cards
	 * inside the viewport. */
	body.woocommerce-checkout :where(
		.woocommerce-billing-fields,
		.woocommerce-shipping-fields,
		.woocommerce-additional-fields,
		#order_review,
		#payment,
		.woocommerce-checkout-payment,
		.wc-block-components-checkout-step,
		.wc-block-components-sidebar,
		.wcuas-pickup-school-fields,
		.flux-checkout__step,
		.flux-checkout__content,
		.flux-checkout__order-review
	) {
		max-width: 100% !important;
		box-sizing: border-box;
	}

	/* Shipping methods: labels and prices wrap instead of running off-screen. */
	body.woocommerce-checkout #shipping_method,
	body.woocommerce-checkout #shipping_method li,
	body.woocommerce-checkout .woocommerce-shipping-methods,
	body.woocommerce-checkout .woocommerce-shipping-methods li {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

	body.woocommerce-checkout #shipping_method li,
	body.woocommerce-checkout .woocommerce-shipping-methods li {
		padding-top: 8px;
		padding-bottom: 8px;
	}

	body.woocommerce-checkout #shipping_method label,
	body.woocommerce-checkout .woocommerce-shipping-methods label {
		display: inline;
		white-space: normal !important;
		line-height: 1.45;
		overflow-wrap: anywhere;
	}

	/* Payment methods: keep logos, helper links, BNPL messaging and embedded
	 * frames contained inside the payment card instead of overlapping controls. */
	body.woocommerce-checkout #payment,
	body.woocommerce-checkout .woocommerce-checkout-payment,
	body.woocommerce-checkout .wc_payment_methods,
	body.woocommerce-checkout .wc_payment_method,
	body.woocommerce-checkout .payment_box,
	body.woocommerce-checkout [class*="payment_method_"] {
		max-width: 100% !important;
		box-sizing: border-box;
	}

	body.woocommerce-checkout .wc_payment_method > label {
		display: flex !important;
		align-items: center;
		flex-wrap: wrap;
		gap: 7px 9px;
		min-width: 0;
		white-space: normal !important;
		line-height: 1.35;
	}

	body.woocommerce-checkout .wc_payment_method > label img,
	body.woocommerce-checkout #payment img,
	body.woocommerce-checkout .woocommerce-checkout-payment img {
		float: none !important;
		max-width: 112px !important;
		max-height: 30px;
		height: auto !important;
		margin: 0 !important;
		object-fit: contain;
	}

	body.woocommerce-checkout .payment_box,
	body.woocommerce-checkout .payment_box p,
	body.woocommerce-checkout .payment_box div,
	body.woocommerce-checkout .payment_box iframe,
	body.woocommerce-checkout .wc_payment_method iframe,
	body.woocommerce-checkout [class*="klarna"] iframe,
	body.woocommerce-checkout [id*="klarna"] iframe {
		max-width: 100% !important;
		box-sizing: border-box;
	}

	body.woocommerce-checkout .payment_box iframe,
	body.woocommerce-checkout .wc_payment_method iframe {
		width: 100% !important;
	}

	/* Klarna / BNPL "learn more" and similar helper links are sometimes floated
	 * or absolutely positioned by gateways. Keep the link usable, but make it
	 * part of the normal mobile flow so it cannot sit on top of buttons/fields. */
	body.woocommerce-checkout #payment .payment_box a,
	body.woocommerce-checkout .woocommerce-checkout-payment .payment_box a,
	body.woocommerce-checkout .wc_payment_method > label a,
	body.woocommerce-checkout [class*="klarna"] a,
	body.woocommerce-checkout [id*="klarna"] a,
	body.woocommerce-checkout a[class*="klarna"],
	body.woocommerce-checkout a[id*="klarna"] {
		position: static !important;
		inset: auto !important;
		float: none !important;
		max-width: 100% !important;
		white-space: normal !important;
		overflow-wrap: anywhere;
		z-index: auto !important;
	}

	body.woocommerce-checkout .wc_payment_method > label a,
	body.woocommerce-checkout [class*="klarna"] a,
	body.woocommerce-checkout [id*="klarna"] a {
		font-size: 13px;
		line-height: 1.35;
	}

	/* Order review and totals must stay readable on narrow screens. */
	body.woocommerce-checkout table.shop_table,
	body.woocommerce-checkout .woocommerce-checkout-review-order-table,
	body.woocommerce-checkout .wc-block-components-totals-wrapper,
	body.woocommerce-checkout .wc-block-components-order-summary {
		width: 100% !important;
		max-width: 100% !important;
		table-layout: auto;
		box-sizing: border-box;
	}

	body.woocommerce-checkout table.shop_table th,
	body.woocommerce-checkout table.shop_table td {
		padding-left: 8px;
		padding-right: 8px;
		white-space: normal;
		overflow-wrap: anywhere;
	}

	/* Large, thumb-friendly primary actions. */
	body.woocommerce-checkout #place_order,
	body.woocommerce-checkout button[name="woocommerce_checkout_place_order"],
	body.woocommerce-checkout .wc-block-components-checkout-place-order-button,
	body.woocommerce-checkout .button.alt,
	body.woocommerce-checkout .flux-button,
	body.woocommerce-checkout .flux-checkout__button,
	body.woocommerce-checkout button[type="submit"] {
		width: 100% !important;
		max-width: 100% !important;
		min-height: 52px;
		padding: 13px 16px !important;
		box-sizing: border-box;
		white-space: normal;
		line-height: 1.25;
	}

	body.woocommerce-checkout .woocommerce-error,
	body.woocommerce-checkout .woocommerce-info,
	body.woocommerce-checkout .woocommerce-message {
		max-width: 100%;
		box-sizing: border-box;
		white-space: normal;
		overflow-wrap: anywhere;
	}

	body.woocommerce-checkout .wcuas-pickup-school-fields {
		margin-left: 0;
		margin-right: 0;
		padding: 14px 12px 4px;
	}
}


/* v2.2.13 — School pickup fields belong under Shipping Method only ------- */
/* Keep Flux/classic checkout persistence, but never expose these controls
   inside Billing Address. checkout.js moves the same wrappers under the
   Local Pickup method, where the override below makes them visible. */
#billing_wcuas_delivery_type_field,
#billing_wcuas_grade_field,
#billing_wcuas_teacher_field {
	display: none !important;
}
.wcuas-pickup-school-fields #billing_wcuas_delivery_type_field {
	display: block !important;
}
/* Grade and Teacher/Classroom stay hidden for Non-School / Regular Order.
   checkout.js adds the visible class only when School Delivery is selected. */
.wcuas-pickup-school-fields #billing_wcuas_grade_field.wcuas-school-detail-visible,
.wcuas-pickup-school-fields #billing_wcuas_teacher_field.wcuas-school-detail-visible {
	display: block !important;
}
.wcuas-pickup-school-fields #billing_wcuas_grade_field.wcuas-school-detail-hidden,
.wcuas-pickup-school-fields #billing_wcuas_teacher_field.wcuas-school-detail-hidden {
	display: none !important;
}
#order_comments_field,
.wcuas-hide-additional-notes {
	display: none !important;
}

/* v2.2.14 — Regular pickup never shows school-only fields. */

/* v2.2.15 — Pickup shipping cleanup + mobile checkout thumbnails ---------- */
/* checkout.js applies this to both native Shipping Address and custom/Flux
   Shipping Information/Shipping Details sections. Never hide Shipping Method. */
.wcuas-hide-shipping-address {
	display: none !important;
}

/* Add a checkout thumbnail that is dormant on desktop and becomes the reliable
   mobile fallback when a checkout theme hides its own product image. */
.wcuas-mobile-checkout-product {
	display: inline;
}
.wcuas-mobile-checkout-thumb {
	display: none;
}

@media (max-width: 782px) {
	body.woocommerce-checkout .wcuas-mobile-checkout-product {
		display: flex !important;
		align-items: flex-start;
		gap: 10px;
		min-width: 0;
	}
	body.woocommerce-checkout .wcuas-mobile-checkout-thumb {
		display: block !important;
		flex: 0 0 64px;
		width: 64px;
		max-width: 64px;
	}
	body.woocommerce-checkout .wcuas-mobile-checkout-thumb img,
	body.woocommerce-checkout img.wcuas-mobile-checkout-thumb-image,
	body.woocommerce-checkout .wcuas-mobile-checkout-thumb .wcuas-cart-design-image {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		width: 64px !important;
		height: 64px !important;
		max-width: 64px !important;
		object-fit: contain;
		border-radius: 6px;
	}
	body.woocommerce-checkout .wcuas-mobile-checkout-name {
		display: block;
		min-width: 0;
		flex: 1 1 auto;
	}

	/* If the checkout already includes a native image, do not let its mobile
	   stylesheet hide it. These selectors cover Woo blocks plus common Flux
	   order-review image wrappers. */
	body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-thumbnail,
	body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-thumbnail img,
	body.woocommerce-checkout .wc-block-components-order-summary-item__image,
	body.woocommerce-checkout .wc-block-components-order-summary-item__image img,
	body.woocommerce-checkout .flux-checkout__order-review [class*="product-image"],
	body.woocommerce-checkout .flux-checkout__order-review [class*="product-image"] img,
	body.woocommerce-checkout .flux-checkout__order-review .product-thumbnail,
	body.woocommerce-checkout .flux-checkout__order-review .product-thumbnail img {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
	}
}


/* v2.2.16 — cleaner mobile Cart / Checkout order summary ----------------- */
@media (max-width: 782px) {
	/* Responsive WooCommerce/Flux tables often manufacture these words with
	   data-title + ::before. Keep the values, remove only the repeated labels. */
	body.woocommerce-cart td.product-name::before,
	body.woocommerce-cart td.product-price::before,
	body.woocommerce-cart td.product-quantity::before,
	body.woocommerce-checkout td.product-name::before,
	body.woocommerce-checkout td.product-price::before,
	body.woocommerce-checkout td.product-quantity::before,
	body.woocommerce-cart .wcuas-mobile-no-title::before,
	body.woocommerce-checkout .wcuas-mobile-no-title::before {
		display: none !important;
		content: none !important;
	}

	.wcuas-mobile-label-hidden,
	.wcuas-mobile-coupon-title-hidden {
		display: none !important;
	}

	/* Thumbnail supplied directly from the cart item, so it remains available
	   even when a mobile checkout theme removes the native thumbnail column. */
	body.woocommerce-cart .wcuas-mobile-injected-thumb,
	body.woocommerce-checkout .wcuas-mobile-injected-thumb {
		display: inline-flex !important;
		vertical-align: top;
		width: 68px;
		height: 68px;
		min-width: 68px;
		margin: 0 10px 8px 0;
		align-items: center;
		justify-content: center;
		border-radius: 7px;
		overflow: hidden;
		background: #fff;
	}
	body.woocommerce-cart .wcuas-mobile-injected-thumb img,
	body.woocommerce-checkout .wcuas-mobile-injected-thumb img {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		width: 68px !important;
		height: 68px !important;
		max-width: 68px !important;
		object-fit: contain;
	}

	body.woocommerce-cart .product-name.wcuas-mobile-has-injected-thumb,
	body.woocommerce-checkout .product-name.wcuas-mobile-has-injected-thumb,
	body.woocommerce-checkout .wc-block-components-order-summary-item__description.wcuas-mobile-has-injected-thumb {
		text-align: left !important;
		vertical-align: top;
	}

	/* Quantity belongs with the product name on the mobile Cart. The real Woo
	   quantity control is moved, not cloned, so Update Cart keeps working. */
	body.woocommerce-cart .wcuas-inline-cart-qty {
		display: inline-flex !important;
		align-items: center;
		vertical-align: middle;
		margin-left: 8px;
		max-width: 92px;
	}
	body.woocommerce-cart .wcuas-inline-cart-qty .quantity {
		display: inline-flex !important;
		align-items: center;
		margin: 0 !important;
		width: auto !important;
	}
	body.woocommerce-cart .wcuas-inline-cart-qty input.qty {
		width: 54px !important;
		min-width: 54px !important;
		height: 38px !important;
		padding: 5px !important;
		text-align: center;
	}
	body.woocommerce-cart td.product-quantity.wcuas-mobile-qty-moved {
		display: none !important;
	}

	/* The request is to keep the price itself but not a separate mobile Price: label. */
	body.woocommerce-cart td.product-price,
	body.woocommerce-checkout td.product-price {
		text-align: left !important;
	}

	/* Shipping step/card headings should sit against the left edge on phones. */
	body.woocommerce-checkout .wcuas-shipping-title-left,
	body.woocommerce-cart .wcuas-shipping-title-left {
		width: 100% !important;
		max-width: 100% !important;
		text-align: left !important;
		justify-content: flex-start !important;
		margin-left: 0 !important;
		padding-left: 0 !important;
	}
}

/* v2.2.17 — contained mobile cart + remove redundant item subtotal -------- */
@media (max-width: 782px) {
	/* The cart already shows the unit price beside the item and the editable
	   quantity beside its name. The responsive item subtotal duplicates that
	   information and is the "Total" row users were seeing on every product. */
	body.woocommerce-cart .woocommerce-cart-form__cart-item > td.product-subtotal,
	body.woocommerce-cart .woocommerce-cart-form__cart-item .product-subtotal {
		display: none !important;
	}

	/* Keep the overall Cart Totals panel untouched. */
	body.woocommerce-cart .cart_totals,
	body.woocommerce-cart .cart-collaterals {
		display: block;
	}

	/* Prevent responsive cart/checkout layouts from stretching beyond the phone
	   after the thumbnail and quantity have been moved into the product area. */
	body.woocommerce-cart,
	body.woocommerce-checkout {
		overflow-x: hidden !important;
	}

	body.woocommerce-cart .site-main,
	body.woocommerce-cart main,
	body.woocommerce-cart .entry-content,
	body.woocommerce-cart .woocommerce,
	body.woocommerce-cart .woocommerce-cart-form,
	body.woocommerce-cart .cart-collaterals,
	body.woocommerce-checkout .site-main,
	body.woocommerce-checkout main,
	body.woocommerce-checkout .entry-content,
	body.woocommerce-checkout .woocommerce,
	body.woocommerce-checkout form.checkout,
	body.woocommerce-checkout #order_review,
	body.woocommerce-checkout .woocommerce-checkout-review-order,
	body.woocommerce-checkout .flux-checkout,
	body.woocommerce-checkout .flux-checkout__order-review {
		box-sizing: border-box !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	body.woocommerce-cart .woocommerce,
	body.woocommerce-checkout .woocommerce {
		width: 100% !important;
		margin-left: auto !important;
		margin-right: auto !important;
		padding-left: 12px !important;
		padding-right: 12px !important;
	}

	body.woocommerce-cart .woocommerce-cart-form,
	body.woocommerce-cart .shop_table.cart,
	body.woocommerce-checkout .woocommerce-checkout-review-order-table,
	body.woocommerce-checkout #order_review,
	body.woocommerce-checkout .flux-checkout__order-review {
		width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		transform: none !important;
	}

	body.woocommerce-cart .woocommerce-cart-form__cart-item {
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		overflow: hidden;
	}

	body.woocommerce-cart .woocommerce-cart-form__cart-item > td,
	body.woocommerce-checkout .woocommerce-checkout-review-order-table .cart_item > td {
		box-sizing: border-box !important;
		max-width: 100% !important;
		min-width: 0 !important;
		left: auto !important;
		right: auto !important;
		transform: none !important;
	}

	body.woocommerce-cart td.product-name,
	body.woocommerce-cart td.product-price {
		width: 100% !important;
		padding-left: 12px !important;
		padding-right: 12px !important;
	}

	body.woocommerce-cart .product-name.wcuas-mobile-has-injected-thumb {
		display: block !important;
		white-space: normal !important;
		word-break: break-word;
		overflow-wrap: anywhere;
	}

	body.woocommerce-cart .wcuas-inline-cart-qty {
		max-width: 84px !important;
		margin-right: 0 !important;
		flex-shrink: 0;
	}
}


/* v2.2.18 — compact mobile cart row, inline item total, qty-zero removal --- */
@media (max-width: 782px) {
	/* The separate remove and thumbnail columns were the remaining source of the
	   wide left gutter. The image now lives inside product-name and removal is
	   handled by setting quantity to zero. */
	body.woocommerce-cart .woocommerce-cart-form__cart-item > td.product-remove,
	body.woocommerce-cart .woocommerce-cart-form__cart-item > td.product-thumbnail,
	body.woocommerce-cart .woocommerce-cart-form__cart-item .product-remove,
	body.woocommerce-cart .woocommerce-cart-form__cart-item .product-thumbnail {
		display: none !important;
		width: 0 !important;
		min-width: 0 !important;
		max-width: 0 !important;
		padding: 0 !important;
		margin: 0 !important;
		border: 0 !important;
	}

	body.woocommerce-cart .shop_table.cart,
	body.woocommerce-cart .shop_table.cart tbody,
	body.woocommerce-cart .shop_table.cart tr.woocommerce-cart-form__cart-item {
		display: block !important;
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	body.woocommerce-cart .woocommerce-cart-form__cart-item > td.product-name,
	body.woocommerce-cart .woocommerce-cart-form__cart-item > td.product-price {
		display: block !important;
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding-left: 6px !important;
		padding-right: 6px !important;
		float: none !important;
		text-align: left !important;
	}

	body.woocommerce-cart .product-name.wcuas-mobile-has-injected-thumb {
		display: grid !important;
		grid-template-columns: 68px minmax(0, 1fr) !important;
		column-gap: 10px !important;
		align-items: start !important;
	}

	body.woocommerce-cart .product-name.wcuas-mobile-has-injected-thumb > .wcuas-mobile-injected-thumb {
		grid-column: 1 !important;
		grid-row: 1 / span 3 !important;
		margin: 0 !important;
	}

	body.woocommerce-cart .product-name.wcuas-mobile-has-injected-thumb > a,
	body.woocommerce-cart .product-name.wcuas-mobile-has-injected-thumb > .wcuas-mobile-checkout-name,
	body.woocommerce-cart .product-name.wcuas-mobile-has-injected-thumb > dl.variation,
	body.woocommerce-cart .product-name.wcuas-mobile-has-injected-thumb > .variation {
		grid-column: 2 !important;
	}

	body.woocommerce-cart .wcuas-inline-cart-meta {
		grid-column: 2 !important;
		display: flex !important;
		align-items: center !important;
		justify-content: flex-start !important;
		gap: 10px !important;
		flex-wrap: wrap !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 7px 0 0 !important;
		padding: 0 !important;
	}

	body.woocommerce-cart .wcuas-inline-cart-qty {
		display: inline-flex !important;
		margin: 0 !important;
		max-width: none !important;
	}

	body.woocommerce-cart .wcuas-inline-cart-total {
		display: inline-flex !important;
		align-items: center !important;
		margin: 0 !important;
		padding: 0 !important;
		font-weight: 700 !important;
		white-space: nowrap !important;
	}

	body.woocommerce-cart .woocommerce-cart-form__cart-item > td.product-subtotal,
	body.woocommerce-cart .woocommerce-cart-form__cart-item > td.product-subtotal.wcuas-mobile-subtotal-moved {
		display: none !important;
	}

	body.woocommerce-cart .woocommerce-cart-form__cart-item.wcuas-removing-cart-item {
		opacity: .45;
		pointer-events: none;
	}
}


/* v2.2.19 — viewport-centered mobile cart, stacked title, one inline price ---- */
@media (max-width: 782px) {
    /* Break the cart form out of theme wrappers that reserve a wide side gutter,
       then center it to the actual phone viewport. Keep a small safe edge. */
    body.woocommerce-cart .woocommerce-cart-form {
        box-sizing: border-box !important;
        width: calc(100vw - 16px) !important;
        max-width: calc(100vw - 16px) !important;
        margin-left: calc(50% - 50vw + 8px) !important;
        margin-right: calc(50% - 50vw + 8px) !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        transform: none !important;
        overflow: hidden !important;
    }

    body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart,
    body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tbody,
    body.woocommerce-cart .woocommerce-cart-form tr.woocommerce-cart-form__cart-item {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
    }

    /* WooCommerce/themes often create the mobile field labels with ::before;
       remove them from product rows so no invisible label width remains. */
    body.woocommerce-cart .woocommerce-cart-form__cart-item > td::before,
    body.woocommerce-cart .shop_table_responsive tr.woocommerce-cart-form__cart-item td::before,
    body.woocommerce-cart table.shop_table_responsive tr.woocommerce-cart-form__cart-item td::before {
        display: none !important;
        content: none !important;
        width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        float: none !important;
    }

    /* All useful mobile information now lives in product-name. The original
       table price/qty/subtotal/remove/image cells must not reserve a second row. */
    body.woocommerce-cart .woocommerce-cart-form__cart-item > td.product-price,
    body.woocommerce-cart .woocommerce-cart-form__cart-item > td.product-quantity,
    body.woocommerce-cart .woocommerce-cart-form__cart-item > td.product-subtotal,
    body.woocommerce-cart .woocommerce-cart-form__cart-item > td.product-remove,
    body.woocommerce-cart .woocommerce-cart-form__cart-item > td.product-thumbnail {
        display: none !important;
        width: 0 !important;
        min-width: 0 !important;
        max-width: 0 !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        overflow: hidden !important;
    }

    body.woocommerce-cart .woocommerce-cart-form__cart-item > td.product-name {
        box-sizing: border-box !important;
        display: grid !important;
        grid-template-columns: 72px minmax(0, 1fr) !important;
        grid-auto-flow: row !important;
        column-gap: 12px !important;
        row-gap: 4px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 12px 10px !important;
        float: none !important;
        text-align: left !important;
    }

    body.woocommerce-cart .woocommerce-cart-form__cart-item > td.product-name > .wcuas-mobile-injected-thumb {
        grid-column: 1 !important;
        grid-row: 1 / span 4 !important;
        align-self: start !important;
        margin: 0 !important;
    }

    /* Product name gets its own stacked row and is deliberately easier to read. */
    body.woocommerce-cart .woocommerce-cart-form__cart-item > td.product-name > a,
    body.woocommerce-cart .woocommerce-cart-form__cart-item > td.product-name .product-name,
    body.woocommerce-cart .woocommerce-cart-form__cart-item > td.product-name > .wcuas-mobile-checkout-name {
        grid-column: 2 !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        font-size: 18px !important;
        line-height: 1.22 !important;
        font-weight: 700 !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: anywhere !important;
    }

    body.woocommerce-cart .woocommerce-cart-form__cart-item > td.product-name > dl.variation,
    body.woocommerce-cart .woocommerce-cart-form__cart-item > td.product-name > .variation {
        grid-column: 2 !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 2px 0 0 !important;
        padding: 0 !important;
    }

    body.woocommerce-cart .woocommerce-cart-form__cart-item .wcuas-inline-cart-meta {
        grid-column: 2 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 10px !important;
        flex-wrap: nowrap !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 8px 0 0 !important;
        padding: 0 !important;
    }

    body.woocommerce-cart .woocommerce-cart-form__cart-item .wcuas-inline-cart-qty,
    body.woocommerce-cart .woocommerce-cart-form__cart-item .wcuas-inline-cart-total {
        flex: 0 0 auto !important;
        margin: 0 !important;
    }

    body.woocommerce-cart .woocommerce-cart-form__cart-item .wcuas-inline-cart-total {
        font-size: 16px !important;
        line-height: 1.2 !important;
        font-weight: 700 !important;
        white-space: nowrap !important;
    }
}

/* v2.2.20 — simplified mobile Cart + predictable product-grid actions ------- */
@media (max-width: 782px) {
    /* Cart is now only an item-review screen. Checkout owns coupon, shipping,
       billing and payment. Keep only the Proceed to Checkout action below items. */
    body.woocommerce-cart .woocommerce-cart-form tr.cart-subtotal,
    body.woocommerce-cart .woocommerce-cart-form tr.order-total,
    body.woocommerce-cart .woocommerce-cart-form tr.shipping,
    body.woocommerce-cart .woocommerce-cart-form td.actions,
    body.woocommerce-cart .cart-collaterals .cross-sells,
    body.woocommerce-cart .cart_totals > h2,
    body.woocommerce-cart .cart_totals > table,
    body.woocommerce-cart .cart_totals .woocommerce-shipping-calculator,
    body.woocommerce-cart .cart_totals .shipping-calculator-form,
    body.woocommerce-cart .cart_totals .woocommerce-shipping-destination {
        display: none !important;
    }

    body.woocommerce-cart .cart-collaterals,
    body.woocommerce-cart .cart_totals,
    body.woocommerce-cart .wc-proceed-to-checkout {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
        box-sizing: border-box !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 12px 0 0 !important;
        text-align: center !important;
    }

    /* Stop fighting the viewport with negative margins. Keep the cart inside the
       actual content box and remove the theme's residual responsive gutter. */
    body.woocommerce-cart .woocommerce,
    body.woocommerce-cart .woocommerce-cart-form,
    body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart,
    body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tbody,
    body.woocommerce-cart .woocommerce-cart-form tr.woocommerce-cart-form__cart-item {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        transform: none !important;
    }

    body.woocommerce-cart .woocommerce {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    body.woocommerce-cart .woocommerce-cart-form {
        overflow: visible !important;
    }

    body.woocommerce-cart .woocommerce-cart-form__cart-item > td.product-name {
        grid-template-columns: 68px minmax(0, 1fr) !important;
        column-gap: 10px !important;
        row-gap: 3px !important;
        padding: 10px 6px !important;
        overflow: visible !important;
    }

    body.woocommerce-cart .woocommerce-cart-form__cart-item > td.product-name > .wcuas-mobile-injected-thumb {
        grid-column: 1 !important;
        grid-row: 1 / span 8 !important;
        width: 68px !important;
        max-width: 68px !important;
    }

    /* Every piece of product information belongs in the same right-hand stack. */
    body.woocommerce-cart .woocommerce-cart-form__cart-item > td.product-name > .wcuas-mobile-cart-info,
    body.woocommerce-cart .woocommerce-cart-form__cart-item > td.product-name > a,
    body.woocommerce-cart .woocommerce-cart-form__cart-item > td.product-name > dl.variation,
    body.woocommerce-cart .woocommerce-cart-form__cart-item > td.product-name > .variation,
    body.woocommerce-cart .woocommerce-cart-form__cart-item > td.product-name > p,
    body.woocommerce-cart .woocommerce-cart-form__cart-item > td.product-name > div:not(.wcuas-mobile-injected-thumb) {
        grid-column: 2 !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    body.woocommerce-cart .woocommerce-cart-form__cart-item > td.product-name > a:first-of-type,
    body.woocommerce-cart .woocommerce-cart-form__cart-item > td.product-name > .wcuas-mobile-checkout-name {
        font-size: 18px !important;
        line-height: 1.2 !important;
        font-weight: 700 !important;
        margin-bottom: 2px !important;
    }

    body.woocommerce-cart .woocommerce-cart-form__cart-item .wcuas-inline-cart-meta {
        grid-column: 2 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 12px !important;
        flex-wrap: wrap !important;
        margin: 6px 0 0 !important;
    }

    body.woocommerce-cart .woocommerce-cart-form__cart-item .wcuas-inline-cart-total {
        font-size: 16px !important;
        font-weight: 700 !important;
    }

    /* No duplicate unit price below the item. */
    body.woocommerce-cart .woocommerce-cart-form__cart-item > td.product-price,
    body.woocommerce-cart .woocommerce-cart-form__cart-item .wcuas-mobile-duplicate-price,
    body.woocommerce-cart .woocommerce-cart-form__cart-item .product-name > .price {
        display: none !important;
    }
}

/* Store grid: always read Title -> Price -> Colors -> Select Options. */
.products .product .wcuas-loop-colors,
.wc-block-grid__product .wcuas-loop-colors {
    position: static !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    margin: 7px 0 0 !important;
}

.products .product .wcuas-loop-select-options,
.products .product .wcuas-loop-select-options-moved,
.wc-block-grid__product .wcuas-loop-select-options,
.wc-block-grid__product .wcuas-loop-select-options-moved {
    position: static !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    margin: 10px 0 0 !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
    float: none !important;
}

/* v2.2.21 — simple Cart footer + consistent storefront button sizing -------- */
/* Cart is an item-review screen. Replace WooCommerce's separate Cart Totals
   panel with the compact subtotal rendered immediately after the item table. */
body.woocommerce-cart .cart-collaterals {
    display: none !important;
}

body.woocommerce-cart .wcuas-simple-cart-footer {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 14px 0 0 !important;
    padding: 14px 0 0 !important;
    border-top: 1px solid var(--wcuas-border, #d9dee7) !important;
}

body.woocommerce-cart .wcuas-simple-cart-subtotal {
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    width: 100% !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
}

body.woocommerce-cart .wcuas-simple-cart-subtotal-label,
body.woocommerce-cart .wcuas-simple-cart-subtotal-amount {
    margin: 0 !important;
    padding: 0 !important;
}

body.woocommerce-cart .wcuas-simple-cart-subtotal-amount {
    text-align: right !important;
    white-space: nowrap !important;
}

body.woocommerce-cart .wcuas-simple-cart-checkout {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
}

/* One visual button system throughout storefront, Cart and Checkout. Width can
   still be contextual (e.g. full-width mobile checkout), but height and type
   are always consistent. */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.added_to_cart,
.woocommerce #place_order,
.wc-block-components-button,
.wcuas-empty-cart-shop-button,
.wcuas-view-cart,
.wcuas-continue-shopping,
.wcuas-simple-cart-checkout,
.products .product a.button,
.products .product button.button,
.wc-block-grid__product a.button,
.wc-block-grid__product button.button {
    box-sizing: border-box !important;
    min-height: 46px !important;
    height: 46px !important;
    padding: 0 18px !important;
    border-radius: 6px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 14px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
    text-align: center !important;
    white-space: nowrap !important;
}

/* Product-grid action bars should also match one another in width. */
.products .product a.button,
.products .product button.button,
.wc-block-grid__product a.button,
.wc-block-grid__product button.button,
.products .product .wcuas-loop-select-options,
.products .product .wcuas-loop-select-options-moved,
.wc-block-grid__product .wcuas-loop-select-options,
.wc-block-grid__product .wcuas-loop-select-options-moved {
    width: 100% !important;
    max-width: 100% !important;
}

@media (max-width: 782px) {
    body.woocommerce-cart .wcuas-simple-cart-footer {
        margin-top: 10px !important;
        padding-top: 12px !important;
    }

    body.woocommerce-cart .wcuas-simple-cart-subtotal {
        font-size: 17px !important;
        padding-left: 2px !important;
        padding-right: 2px !important;
    }

    .woocommerce a.button,
    .woocommerce button.button,
    .woocommerce input.button,
    .woocommerce #place_order,
    .wc-block-components-button,
    .wcuas-empty-cart-shop-button,
    .wcuas-view-cart,
    .wcuas-continue-shopping,
    .wcuas-simple-cart-checkout {
        min-height: 48px !important;
        height: 48px !important;
        font-size: 15px !important;
    }
}

/* v2.2.22 — wider Cart + left-aligned colors + equal product-card buttons --- */
@media (min-width: 783px) {
    /* Give the Cart substantially more horizontal room without changing the
       rest of the storefront or the mobile viewport rules. */
    body.woocommerce-cart .site-main,
    body.woocommerce-cart main.site-main,
    body.woocommerce-cart .content-area,
    body.woocommerce-cart .entry-content,
    body.woocommerce-cart .entry-content > .woocommerce,
    body.woocommerce-cart .woocommerce {
        box-sizing: border-box !important;
        width: min(96vw, 1500px) !important;
        max-width: 1500px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body.woocommerce-cart .woocommerce-cart-form,
    body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart,
    body.woocommerce-cart .wcuas-simple-cart-footer {
        width: 100% !important;
        max-width: none !important;
    }
}

/* Product cards: keep the color row flush with the left edge used by title
   and price. This wins over themes that center all card children. */
.products li.product .wcuas-loop-colors,
.products .product .wcuas-loop-colors,
.wc-block-grid__product .wcuas-loop-colors,
.wp-block-post.product .wcuas-loop-colors {
    align-self: flex-start !important;
    justify-content: flex-start !important;
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.products li.product .wcuas-loop-swatches,
.products .product .wcuas-loop-swatches,
.wc-block-grid__product .wcuas-loop-swatches,
.wp-block-post.product .wcuas-loop-swatches {
    justify-content: flex-start !important;
}

/* Every action on a product card uses the exact same visual width. */
.products li.product a.button,
.products li.product button.button,
.products li.product .add_to_cart_button,
.products li.product .added_to_cart,
.products li.product .product_type_simple,
.products li.product .product_type_variable,
.products li.product .product_type_external,
.products li.product .wcuas-loop-select-options,
.products .product a.button,
.products .product button.button,
.wc-block-grid__product a.button,
.wc-block-grid__product button.button,
.wp-block-post.product a.button,
.wp-block-post.product button.button {
    box-sizing: border-box !important;
    display: flex !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    min-height: 46px !important;
    height: 46px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}

/* Reward-points block after it has been moved to the bottom of Order Summary. */
body.woocommerce-checkout .wcuas-reward-points-bottom {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 14px 0 0 !important;
    padding-top: 12px !important;
    border-top: 1px solid var(--wcuas-site-border, #d9dee7) !important;
}

/* v2.2.23 — global horizontal-overflow guard ------------------------------- */
html,
body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden !important;
}

body {
    margin: 0;
    padding: 0;
}

.elementor,
.elementor-section,
.elementor-container,
.elementor-widget-wrap {
    max-width: 100%;
}

/* v2.2.24 — single-product option cards ----------------------------------- */
/* Turn WooCommerce's variation table into a clean stack of option cards.
   The actual selects/swatches remain untouched, so variation matching,
   stock, price and third-party swatch behavior continue to work normally. */
body.single-product form.variations_form table.variations {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 14px !important;
    border: 0 !important;
    border-collapse: separate !important;
    background: transparent !important;
}

body.single-product form.variations_form table.variations > tbody {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 100% !important;
}

body.single-product form.variations_form table.variations tr.wcuas-variation-card {
    box-sizing: border-box !important;
    position: relative !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 18px !important;
    overflow: hidden !important;
    border: 1px solid var(--wcuas-site-border, #d9dee7) !important;
    border-radius: 12px !important;
    background: var(--wcuas-site-surface, #fff) !important;
    box-shadow: 0 3px 12px rgba(22, 34, 54, .045) !important;
}

body.single-product form.variations_form table.variations tr.wcuas-variation-card::before,
body.single-product form.variations_form .woocommerce-variation-add-to-cart.wcuas-purchase-card::before {
    content: '' !important;
    position: absolute !important;
    z-index: 1 !important;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;
    height: 4px !important;
    background: var(--wcuas-site-primary, #16396b) !important;
}

body.single-product form.variations_form table.variations tr.wcuas-variation-card > th.label,
body.single-product form.variations_form table.variations tr.wcuas-variation-card > td.label {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 2px 0 10px !important;
    border: 0 !important;
    text-align: left !important;
}

body.single-product form.variations_form table.variations tr.wcuas-variation-card > th.label label,
body.single-product form.variations_form table.variations tr.wcuas-variation-card > td.label label {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--wcuas-site-text, #172033) !important;
    font-size: 19px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    letter-spacing: -.01em !important;
    text-align: left !important;
}

body.single-product form.variations_form table.variations tr.wcuas-variation-card > td.value,
body.single-product form.variations_form table.variations tr.wcuas-variation-card > th.value {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    text-align: left !important;
}

/* "Choose one size" becomes supporting copy beneath the larger Shirt Size
   card title instead of competing with it as a second heading. */
body.single-product form.variations_form .wcuas-size-option-card .wcuas-size-picker {
    margin: 0 !important;
}

body.single-product form.variations_form .wcuas-size-option-card .wcuas-size-picker-heading {
    margin: 0 0 14px !important;
    color: #657085 !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
    font-weight: 600 !important;
}

body.single-product form.variations_form .wcuas-size-option-card .wcuas-required-badge {
    flex: 0 0 auto !important;
}

body.single-product form.variations_form table.variations tr.wcuas-variation-card .reset_variations {
    display: inline-block !important;
    margin-top: 10px !important;
    font-size: 12px !important;
}

/* Matching purchase/action card beneath the options. */
body.single-product form.variations_form .woocommerce-variation-add-to-cart.wcuas-purchase-card {
    box-sizing: border-box !important;
    position: relative !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 14px 0 0 !important;
    padding: 18px !important;
    overflow: hidden !important;
    border: 1px solid var(--wcuas-site-border, #d9dee7) !important;
    border-radius: 12px !important;
    background: var(--wcuas-site-surface, #fff) !important;
    box-shadow: 0 3px 12px rgba(22, 34, 54, .045) !important;
}

body.single-product form.variations_form .wcuas-purchase-card-heading {
    box-sizing: border-box !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    margin: 0 0 4px !important;
    padding: 2px 0 6px !important;
    color: var(--wcuas-site-text, #172033) !important;
    font-size: 19px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    letter-spacing: -.01em !important;
    text-align: left !important;
}

body.single-product form.variations_form .woocommerce-variation-add-to-cart.wcuas-purchase-card .quantity {
    margin: 0 !important;
}

body.single-product form.variations_form .woocommerce-variation-add-to-cart.wcuas-purchase-card .button {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

@media (max-width: 600px) {
    body.single-product form.variations_form table.variations > tbody {
        gap: 12px !important;
    }

    body.single-product form.variations_form table.variations tr.wcuas-variation-card,
    body.single-product form.variations_form .woocommerce-variation-add-to-cart.wcuas-purchase-card {
        padding: 15px !important;
        border-radius: 10px !important;
    }

    body.single-product form.variations_form table.variations tr.wcuas-variation-card > th.label label,
    body.single-product form.variations_form table.variations tr.wcuas-variation-card > td.label label,
    body.single-product form.variations_form .wcuas-purchase-card-heading {
        font-size: 18px !important;
    }
}



/* v2.2.26 — restore natural product-card wrappers ------------------------- */
/* Do not stretch theme-owned wrapper elements around product actions.
   The theme keeps control of the natural card spacing/box shape. Button
   typography and height remain standardized by the shared button system. */

/* Center the three informational tabs shown under the single-product form. */
body.single-product .woocommerce-tabs > ul.tabs,
body.single-product .woocommerce-tabs ul.wc-tabs,
body.single-product ul.tabs.wc-tabs,
body.single-product .wc-tabs-wrapper > ul.tabs {
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 10px 24px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    text-align: center !important;
}

body.single-product .woocommerce-tabs > ul.tabs > li,
body.single-product .woocommerce-tabs ul.wc-tabs > li,
body.single-product ul.tabs.wc-tabs > li {
    float: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Hide known accelerated-purchase controls immediately; frontend.js also
   removes text-only "Buy Now" implementations that use theme-specific names. */
body.single-product form.cart .buy_now_button,
body.single-product form.cart .buy-now-button,
body.single-product form.cart .single_buy_now_button,
body.single-product form.cart .single-buy-now-button,
body.single-product form.cart [name="buy-now"],
body.single-product form.cart [name="buy_now"],
body.single-product form.cart [data-buy-now],
body.single-product form.variations_form .buy_now_button,
body.single-product form.variations_form .buy-now-button,
body.single-product form.variations_form .single_buy_now_button,
body.single-product form.variations_form .single-buy-now-button,
body.single-product form.variations_form [name="buy-now"],
body.single-product form.variations_form [name="buy_now"],
body.single-product form.variations_form [data-buy-now] {
    display: none !important;
}

@media (max-width: 782px) {
    body.single-product .woocommerce-tabs > ul.tabs,
    body.single-product .woocommerce-tabs ul.wc-tabs,
    body.single-product ul.tabs.wc-tabs,
    body.single-product .wc-tabs-wrapper > ul.tabs {
        gap: 8px 14px !important;
        justify-content: center !important;
    }
}

/* v2.2.27 — interactive shop swatches + editable store hero -------------- */
.wcuas-loop-swatch.is-selected {
    transform: scale(1.08);
    box-shadow: 0 0 0 3px var(--wcuas-site-primary, #0f2d5c) !important;
}
.products .product img,
.wc-block-grid__product img,
.wp-block-post.product img {
    transition: opacity .16s ease;
}

.wcuas-store-hero {
    box-sizing: border-box;
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) minmax(260px, .82fr);
    width: 100%;
    max-width: 100%;
    min-height: 215px;
    margin: 0 0 28px;
    overflow: hidden;
    border-radius: 14px;
    background: var(--wcuas-hero-bg, var(--wcuas-site-primary, #0f2d5c));
    color: var(--wcuas-hero-text, #fff);
}
.wcuas-store-hero.no-image {
    grid-template-columns: minmax(0, 1fr);
}
.wcuas-store-hero-copy {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    min-width: 0;
    padding: 28px clamp(24px, 4vw, 54px);
}
.wcuas-store-hero-kicker {
    margin: 0 0 7px;
    font-size: 12px;
    line-height: 1.25;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    opacity: .88;
}
.wcuas-store-hero-title {
    margin: 0 !important;
    max-width: 760px;
    color: inherit !important;
    font-size: clamp(28px, 3vw, 44px) !important;
    line-height: 1.02 !important;
    font-weight: 900 !important;
    letter-spacing: -.025em;
    text-transform: uppercase;
}
.wcuas-store-hero-text {
    max-width: 650px;
    margin: 10px 0 0 !important;
    color: inherit !important;
    font-size: 15px;
    line-height: 1.5;
    opacity: .92;
}
.wcuas-store-hero-button {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    margin-top: 17px;
    padding: 10px 22px;
    border: 0;
    border-radius: 7px;
    background: var(--wcuas-hero-button, var(--wcuas-site-secondary, #c8102e));
    color: var(--wcuas-hero-button-text, #fff) !important;
    font-size: 14px;
    line-height: 1;
    font-weight: 800;
    text-decoration: none !important;
}
.wcuas-store-hero-button:hover,
.wcuas-store-hero-button:focus {
    color: var(--wcuas-hero-button-text, #fff) !important;
    filter: brightness(.95);
}
.wcuas-store-hero-media {
    position: relative;
    min-width: 0;
    min-height: 215px;
    overflow: hidden;
}
.wcuas-store-hero-media::before {
    content: '';
    position: absolute;
    z-index: 1;
    inset: 0 auto 0 0;
    width: 22%;
    background: linear-gradient(90deg, var(--wcuas-hero-bg, #0f2d5c) 0%, rgba(15,45,92,0) 100%);
    pointer-events: none;
}
.wcuas-store-hero-media img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 215px;
    object-fit: cover;
    object-position: center;
}
.wcuas-shop-items-anchor {
    display: block;
    position: relative;
    top: -8px;
    visibility: hidden;
}

@media (max-width: 820px) {
    .wcuas-store-hero {
        grid-template-columns: minmax(0, 1.15fr) minmax(190px, .85fr);
        min-height: 185px;
        margin-bottom: 22px;
        border-radius: 12px;
    }
    .wcuas-store-hero-copy {
        padding: 22px 24px;
    }
    .wcuas-store-hero-title {
        font-size: clamp(25px, 5vw, 34px) !important;
    }
    .wcuas-store-hero-media,
    .wcuas-store-hero-media img {
        min-height: 185px;
    }
}

@media (max-width: 600px) {
    .wcuas-store-hero {
        grid-template-columns: minmax(0, 1fr);
        min-height: 0;
    }
    .wcuas-store-hero.has-image {
        grid-template-columns: minmax(0, 1fr);
    }
    .wcuas-store-hero-copy {
        z-index: 2;
        min-height: 190px;
        padding: 22px 20px;
    }
    .wcuas-store-hero.has-image .wcuas-store-hero-copy {
        background: linear-gradient(90deg, var(--wcuas-hero-bg, #0f2d5c) 0%, var(--wcuas-hero-bg, #0f2d5c) 58%, rgba(15,45,92,.78) 100%);
    }
    .wcuas-store-hero-media {
        position: absolute;
        inset: 0 0 0 auto;
        width: 52%;
        min-height: 190px;
        opacity: .72;
    }
    .wcuas-store-hero-media img {
        min-height: 190px;
    }
    .wcuas-store-hero-title {
        max-width: 82%;
        font-size: 27px !important;
    }
    .wcuas-store-hero-text {
        max-width: 72%;
        font-size: 13px;
    }
    .wcuas-store-hero-button {
        min-height: 42px;
        margin-top: 14px;
        padding: 9px 18px;
    }
}


/* v2.2.28 — full-bleed hero blend + centered storefront actions ---------- */
/* The hero photo now fills the entire banner. The store's chosen hero color
   remains underneath and fades across the image, preserving both branding
   and photo visibility without needing a hard split between copy/image. */
.wcuas-store-hero.has-image {
    display: block !important;
    isolation: isolate;
    background: var(--wcuas-hero-bg, var(--wcuas-site-primary, #0f2d5c)) !important;
}
.wcuas-store-hero.has-image .wcuas-store-hero-media {
    position: absolute !important;
    z-index: 0 !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    opacity: .78;
    pointer-events: none;
}
.wcuas-store-hero.has-image .wcuas-store-hero-media::before {
    content: none !important;
    display: none !important;
}
.wcuas-store-hero.has-image .wcuas-store-hero-media img {
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
}
.wcuas-store-hero.has-image::after {
    content: '';
    position: absolute;
    z-index: 1;
    inset: 0;
    background: linear-gradient(
        90deg,
        var(--wcuas-hero-bg, #0f2d5c) 0%,
        var(--wcuas-hero-bg, #0f2d5c) 18%,
        transparent 76%
    );
    opacity: .86;
    pointer-events: none;
}
.wcuas-store-hero.has-image .wcuas-store-hero-copy {
    position: relative !important;
    z-index: 2 !important;
    width: min(72%, 860px) !important;
    min-height: inherit;
    background: transparent !important;
}

/* Center the storefront action itself while leaving the theme's product-card
   wrappers untouched. Cards keep their natural shape and spacing. */
.products li.product a.wcuas-loop-select-options,
.products li.product a.button.product_type_variable,
.products li.product a.button.product_type_simple,
.products li.product a.add_to_cart_button,
.products .product a.wcuas-loop-select-options,
.products .product a.button.product_type_variable,
.products .product a.button.product_type_simple,
.products .product a.add_to_cart_button,
.wc-block-grid__product a.wcuas-loop-select-options,
.wc-block-grid__product a.button,
.wp-block-post.product a.wcuas-loop-select-options,
.wp-block-post.product a.button {
    box-sizing: border-box !important;
    width: calc(100% - 32px) !important;
    min-width: 0 !important;
    max-width: calc(100% - 32px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    align-self: center !important;
}

@media (max-width: 820px) {
    .wcuas-store-hero.has-image .wcuas-store-hero-copy {
        width: min(78%, 700px) !important;
    }
    .wcuas-store-hero.has-image::after {
        background: linear-gradient(
            90deg,
            var(--wcuas-hero-bg, #0f2d5c) 0%,
            var(--wcuas-hero-bg, #0f2d5c) 24%,
            transparent 88%
        );
        opacity: .88;
    }
}

@media (max-width: 600px) {
    .wcuas-store-hero.has-image .wcuas-store-hero-copy {
        width: 100% !important;
        min-height: 190px !important;
        padding-right: 28% !important;
    }
    .wcuas-store-hero.has-image .wcuas-store-hero-media {
        width: 100% !important;
        opacity: .68;
    }
    .wcuas-store-hero.has-image::after {
        background: linear-gradient(
            90deg,
            var(--wcuas-hero-bg, #0f2d5c) 0%,
            var(--wcuas-hero-bg, #0f2d5c) 38%,
            transparent 100%
        );
        opacity: .9;
    }
    .wcuas-store-hero.has-image .wcuas-store-hero-title,
    .wcuas-store-hero.has-image .wcuas-store-hero-text {
        max-width: 100% !important;
    }
    .products li.product a.wcuas-loop-select-options,
    .products li.product a.button.product_type_variable,
    .products li.product a.button.product_type_simple,
    .products li.product a.add_to_cart_button,
    .products .product a.wcuas-loop-select-options,
    .products .product a.button.product_type_variable,
    .products .product a.button.product_type_simple,
    .products .product a.add_to_cart_button,
    .wc-block-grid__product a.wcuas-loop-select-options,
    .wc-block-grid__product a.button,
    .wp-block-post.product a.wcuas-loop-select-options,
    .wp-block-post.product a.button {
        width: calc(100% - 24px) !important;
        max-width: calc(100% - 24px) !important;
    }
}
