/* 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);
}


/* v2.3.77 — reliable footer, checkout editor, storefront images and nav ----- */
/* Enlarge only the PromoSpirit identity in the footer; payment/social marks
   retain their theme sizes. */
footer .wcuas-footer-promospirit-logo,
#footer .wcuas-footer-promospirit-logo,
.site-footer .wcuas-footer-promospirit-logo,
.footer-wrapper .wcuas-footer-promospirit-logo,
.absolute-footer .wcuas-footer-promospirit-logo,
footer img[src*="promospirit" i],
footer img[alt*="PromoSpirit" i],
footer img[alt*="Promo Spirit" i],
#footer img[src*="promospirit" i],
#footer img[alt*="PromoSpirit" i],
#footer img[alt*="Promo Spirit" i] {
    box-sizing: border-box !important;
    display: block !important;
    width: 190px !important;
    min-width: 190px !important;
    max-width: min(70vw, 190px) !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 auto 18px !important;
    object-fit: contain !important;
}

/* The PHP-rendered navigation is hidden on desktop. */
.wcuas-owned-mobile-nav {
    display: none;
}

/* Main storefront product photography uses more of every card while product
   titles/actions keep their existing dimensions. */
body.wcuas-store-main-no-prices .products li.product .box-image,
body.wcuas-store-main-no-prices .products .product .box-image,
body.wcuas-store-main-no-prices .wc-block-grid__product .wc-block-grid__product-image,
body.wcuas-store-main-no-prices .wp-block-post.product figure.wp-block-post-featured-image {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
}
body.wcuas-store-main-no-prices .products li.product .box-image img,
body.wcuas-store-main-no-prices .products .product .box-image img,
body.wcuas-store-main-no-prices .wc-block-grid__product .wc-block-grid__product-image img,
body.wcuas-store-main-no-prices .wp-block-post.product figure.wp-block-post-featured-image img {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    transform: scale(1.1) !important;
    transform-origin: center center !important;
}

@media (max-width: 782px) {
    footer .wcuas-footer-promospirit-logo,
    #footer .wcuas-footer-promospirit-logo,
    .site-footer .wcuas-footer-promospirit-logo,
    .footer-wrapper .wcuas-footer-promospirit-logo,
    .absolute-footer .wcuas-footer-promospirit-logo,
    footer img[src*="promospirit" i],
    footer img[alt*="PromoSpirit" i],
    footer img[alt*="Promo Spirit" i],
    #footer img[src*="promospirit" i],
    #footer img[alt*="PromoSpirit" i],
    #footer img[alt*="Promo Spirit" i] {
        width: 180px !important;
        min-width: 180px !important;
        max-width: min(76vw, 180px) !important;
        margin-bottom: 16px !important;
    }

    body.wcuas-store-main-no-prices .products li.product .box-image img,
    body.wcuas-store-main-no-prices .products .product .box-image img,
    body.wcuas-store-main-no-prices .wc-block-grid__product .wc-block-grid__product-image img,
    body.wcuas-store-main-no-prices .wp-block-post.product figure.wp-block-post-featured-image img {
        transform: scale(1.18) !important;
    }

    /* Replace every theme-specific bottom bar with one fixed, flat three-item
       grid so landscape and nested footer markup cannot stack the links. */
    body.wcuas-has-owned-mobile-nav {
        box-sizing: border-box !important;
        padding-bottom: calc(92px + env(safe-area-inset-bottom)) !important;
    }
    .wcuas-mobile-bottom-nav-replaced {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }
    .wcuas-owned-mobile-nav {
        box-sizing: border-box !important;
        position: fixed !important;
        inset: auto 0 0 0 !important;
        z-index: 999990 !important;
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        width: 100% !important;
        height: calc(74px + env(safe-area-inset-bottom)) !important;
        min-height: calc(74px + env(safe-area-inset-bottom)) !important;
        margin: 0 !important;
        padding: 0 0 env(safe-area-inset-bottom) !important;
        border-top: 1px solid var(--wcuas-site-border, #d9dee7) !important;
        background: var(--wcuas-site-surface, #fff) !important;
        background: color-mix(in srgb, var(--wcuas-site-surface, #fff) 96%, transparent) !important;
        box-shadow: 0 -8px 24px rgba(15, 23, 42, .08) !important;
        -webkit-backdrop-filter: blur(14px) !important;
        backdrop-filter: blur(14px) !important;
        font-family: "Poppins", Arial, Helvetica, sans-serif !important;
    }
    .wcuas-owned-mobile-nav-link {
        position: relative !important;
        box-sizing: border-box !important;
        display: flex !important;
        min-width: 0 !important;
        height: 74px !important;
        margin: 0 !important;
        padding: 8px 4px 7px !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 4px !important;
        border: 0 !important;
        background: transparent !important;
        color: var(--wcuas-site-primary, #0f2d5c) !important;
        -webkit-text-fill-color: var(--wcuas-site-primary, #0f2d5c) !important;
        font: 500 13px/1.1 "Poppins", Arial, Helvetica, sans-serif !important;
        text-align: center !important;
        text-decoration: none !important;
        transform: none !important;
    }
    .wcuas-owned-mobile-nav-link.is-current {
        font-weight: 700 !important;
    }
    .wcuas-owned-mobile-nav-icon {
        display: block !important;
        width: 23px !important;
        height: 23px !important;
        flex: 0 0 23px !important;
        margin: 0 auto !important;
        background-color: currentColor !important;
        -webkit-mask-repeat: no-repeat !important;
        mask-repeat: no-repeat !important;
        -webkit-mask-position: center !important;
        mask-position: center !important;
        -webkit-mask-size: contain !important;
        mask-size: contain !important;
    }
    .wcuas-owned-mobile-nav-home .wcuas-owned-mobile-nav-icon {
        -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3.2 2.8 10.7l1.4 1.7L5.5 11.3V21h5v-6h3v6h5v-9.7l1.3 1.1 1.4-1.7z'/%3E%3C/svg%3E") !important;
        mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3.2 2.8 10.7l1.4 1.7L5.5 11.3V21h5v-6h3v6h5v-9.7l1.3 1.1 1.4-1.7z'/%3E%3C/svg%3E") !important;
    }
    .wcuas-owned-mobile-nav-cart .wcuas-owned-mobile-nav-icon {
        -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 4h2.2l1.9 9.1a2 2 0 0 0 2 1.6h7.8a2 2 0 0 0 2-1.6L20.3 7H7l-.4-2H3zm6.5 12.2a1.7 1.7 0 1 0 0 3.4 1.7 1.7 0 0 0 0-3.4m7 0a1.7 1.7 0 1 0 0 3.4 1.7 1.7 0 0 0 0-3.4'/%3E%3C/svg%3E") !important;
        mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 4h2.2l1.9 9.1a2 2 0 0 0 2 1.6h7.8a2 2 0 0 0 2-1.6L20.3 7H7l-.4-2H3zm6.5 12.2a1.7 1.7 0 1 0 0 3.4 1.7 1.7 0 0 0 0-3.4m7 0a1.7 1.7 0 1 0 0 3.4 1.7 1.7 0 0 0 0-3.4'/%3E%3C/svg%3E") !important;
    }
    .wcuas-owned-mobile-nav-account .wcuas-owned-mobile-nav-icon {
        -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3.5a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9M4.5 21c.5-4.1 3.3-6.5 7.5-6.5s7 2.4 7.5 6.5z'/%3E%3C/svg%3E") !important;
        mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3.5a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9M4.5 21c.5-4.1 3.3-6.5 7.5-6.5s7 2.4 7.5 6.5z'/%3E%3C/svg%3E") !important;
    }
    .wcuas-owned-mobile-nav-count {
        position: absolute !important;
        top: 7px !important;
        left: calc(50% + 8px) !important;
        display: grid !important;
        min-width: 22px !important;
        height: 22px !important;
        padding: 0 5px !important;
        place-items: center !important;
        border: 2px solid var(--wcuas-site-surface, #fff) !important;
        border-radius: 999px !important;
        background: var(--wcuas-site-primary, #0f2d5c) !important;
        color: var(--wcuas-site-button-text, #fff) !important;
        -webkit-text-fill-color: var(--wcuas-site-button-text, #fff) !important;
        font-size: 10px !important;
        font-weight: 700 !important;
        line-height: 1 !important;
    }

    /* Four fixed columns prevent the quantity field from consuming the Remove
       button's width on iPhone checkout. */
    body.woocommerce-checkout .wcuas-checkout-item-editor.wcuas-mobile-checkout-qty-control {
        box-sizing: border-box !important;
        display: grid !important;
        grid-template-columns: 42px minmax(52px, 1fr) 42px 88px !important;
        width: min(100%, 280px) !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: hidden !important;
    }
    body.woocommerce-checkout .wcuas-checkout-item-editor .wcuas-mobile-checkout-qty-label {
        display: none !important;
    }
    body.woocommerce-checkout .wcuas-checkout-item-editor .wcuas-mobile-checkout-qty-minus,
    body.woocommerce-checkout .wcuas-checkout-item-editor .wcuas-mobile-checkout-qty-plus {
        box-sizing: border-box !important;
        width: 42px !important;
        min-width: 42px !important;
        max-width: 42px !important;
        flex: 0 0 42px !important;
    }
    body.woocommerce-checkout .wcuas-checkout-item-editor .wcuas-mobile-checkout-qty-input {
        box-sizing: border-box !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        flex: 0 0 auto !important;
    }
    body.woocommerce-checkout .wcuas-checkout-item-editor .wcuas-checkout-remove-item {
        box-sizing: border-box !important;
        display: grid !important;
        width: 88px !important;
        min-width: 88px !important;
        max-width: 88px !important;
        flex: 0 0 88px !important;
        padding: 0 8px !important;
        place-items: center !important;
        overflow: visible !important;
        font-size: 11px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }
}

.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;
    }
}


/* v2.2.30 — robust Flux checkout shipping/contact cleanup ------------------ */
/* Shipping Method updates automatically; hide the redundant Flux/custom
   multi-step "Save Changes" control only inside the shipping-method step. */
body.woocommerce-checkout .wcuas-hide-shipping-save {
    display: none !important;
}

/* Make shipping-address inputs easier to see without turning the whole
   address card gray. This class is applied only to the detected address step. */
body.woocommerce-checkout .wcuas-shipping-address-section input.input-text,
body.woocommerce-checkout .wcuas-shipping-address-section input[type="text"],
body.woocommerce-checkout .wcuas-shipping-address-section input[type="email"],
body.woocommerce-checkout .wcuas-shipping-address-section input[type="tel"],
body.woocommerce-checkout .wcuas-shipping-address-section input[type="number"],
body.woocommerce-checkout .wcuas-shipping-address-section select,
body.woocommerce-checkout .wcuas-shipping-address-section textarea,
body.woocommerce-checkout .wcuas-shipping-address-section .select2-selection,
body.woocommerce-checkout .wcuas-shipping-address-section .select2-selection--single {
    background: #f4f5f7 !important;
    border-color: #d8dde5 !important;
}
body.woocommerce-checkout .wcuas-shipping-address-section input:focus,
body.woocommerce-checkout .wcuas-shipping-address-section select:focus,
body.woocommerce-checkout .wcuas-shipping-address-section textarea:focus,
body.woocommerce-checkout .wcuas-shipping-address-section .select2-container--focus .select2-selection {
    background: #fff !important;
}

/* Remove Apple Pay / Google Pay express controls only when a gateway injects
   them into the Contact step. Normal payment-method choices later in checkout
   are left untouched. */
body.woocommerce-checkout .wcuas-contact-section .wcuas-hide-contact-express-pay {
    display: none !important;
}

/* v2.2.30: direct field class added by checkout.js even before shipping rates
   are available, so Flux cannot leave the inputs white during the initial step. */
body.woocommerce-checkout .wcuas-shipping-address-input {
    background-color: #eef1f4 !important;
    border: 1px solid #cfd5dd !important;
    box-shadow: none !important;
}
body.woocommerce-checkout .wcuas-shipping-address-input:focus {
    background-color: #f7f8fa !important;
    border-color: #aeb7c4 !important;
}


/* v2.2.34 — Select Options directly below product image ------------------- */
.products li.product .wcuas-loop-select-options-image-positioned,
.products .product .wcuas-loop-select-options-image-positioned,
.wc-block-grid__product .wcuas-loop-select-options-image-positioned,
.wp-block-post.product .wcuas-loop-select-options-image-positioned {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
}

/* v2.3.2 — custom storefront category sections + no prices on main shop ---- */
body.wcuas-store-main-no-prices ul.products li.product .price,
body.wcuas-store-main-no-prices ul.products .product .price,
body.wcuas-store-main-no-prices ul.products li.product .woocommerce-Price-amount,
body.wcuas-store-main-no-prices ul.products .product .woocommerce-Price-amount,
body.wcuas-store-main-no-prices ul.products li.product .product-price,
body.wcuas-store-main-no-prices ul.products .product .product-price,
body.wcuas-store-main-no-prices .wc-block-grid__product-price,
body.wcuas-store-main-no-prices .wc-block-grid__product .woocommerce-Price-amount,
body.wcuas-store-main-no-prices .wc-block-components-product-price,
body.wcuas-store-main-no-prices .wp-block-woocommerce-product-price,
body.wcuas-store-main-no-prices .wp-block-post.product .woocommerce-Price-amount {
    display: none !important;
}

/* When custom storefront categories are active, keep WooCommerce's normal
   archive loop in place for compatibility but hide it visually. The custom
   section loops below remain visible. */
body.wcuas-storefront-sections-enabled .woocommerce-result-count,
body.wcuas-storefront-sections-enabled .woocommerce-ordering {
    display: none !important;
}

/* Products already merchandised in an enabled custom section stay out of the
   normal All Items loop, but remain visible inside their custom section. */
body.wcuas-storefront-sections-enabled ul.products:not(.wcuas-storefront-section-products) li.wcuas-main-loop-categorized,
body.wcuas-storefront-sections-enabled .products:not(.wcuas-storefront-section-products) .wcuas-main-loop-categorized,
body.wcuas-storefront-sections-enabled .wc-block-grid__products .wcuas-main-loop-categorized,
body.wcuas-storefront-sections-enabled .wp-block-woocommerce-product-template .wcuas-main-loop-categorized {
    display: none !important;
}

.wcuas-storefront-sections {
    width: 100%;
    clear: both;
    margin: 18px 0 8px;
}
.wcuas-storefront-category-nav {
    box-sizing: border-box;
    width: 100%;
    margin: 0 0 26px;
    padding: 7px;
    border: 1px solid var(--wcuas-site-border, #d9dee7);
    border-radius: 16px;
    background: color-mix(in srgb, var(--wcuas-site-surface, #fff) 94%, var(--wcuas-site-primary, #0f2d5c));
    box-shadow: 0 4px 16px rgba(16, 24, 40, .05);
    font-family: 'Poppins', Arial, Helvetica, sans-serif;
}
.wcuas-storefront-category-nav-inner {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 7px;
    width: 100%;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
}
.wcuas-storefront-category-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-height: 42px;
    padding: 10px 17px;
    border: 1px solid transparent;
    border-radius: 11px;
    color: var(--wcuas-site-text, #172033) !important;
    background: transparent;
    font-family: 'Poppins', Arial, Helvetica, sans-serif;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 700;
    text-decoration: none !important;
    white-space: nowrap;
    transition: background-color .16s ease, color .16s ease, border-color .16s ease, transform .16s ease;
}
.wcuas-storefront-category-link:hover,
.wcuas-storefront-category-link:focus-visible {
    border-color: color-mix(in srgb, var(--wcuas-site-primary, #0f2d5c) 32%, transparent);
    color: var(--wcuas-site-primary, #0f2d5c) !important;
    background: #fff;
    outline: none;
}
.wcuas-storefront-category-link.is-active,
.wcuas-storefront-category-link.is-active:hover,
.wcuas-storefront-category-link.is-active:focus-visible {
    border-color: var(--wcuas-site-primary, #0f2d5c);
    color: var(--wcuas-site-button-text, #fff) !important;
    background: var(--wcuas-site-primary, #0f2d5c);
    box-shadow: 0 5px 12px color-mix(in srgb, var(--wcuas-site-primary, #0f2d5c) 24%, transparent);
}
.wcuas-storefront-section[hidden] {
    display: none !important;
}
body.wcuas-storefront-category-filtered ul.products:not(.wcuas-storefront-section-products),
body.wcuas-storefront-category-filtered .wc-block-grid__products,
body.wcuas-storefront-category-filtered .wp-block-woocommerce-product-template {
    display: none !important;
}
.wcuas-storefront-section {
    width: 100%;
    margin: 0 0 42px;
}
.wcuas-storefront-section-title {
    margin: 0 0 18px !important;
    padding: 0 0 10px !important;
    border-bottom: 2px solid var(--wcuas-site-primary, #0f2d5c);
    font-size: clamp(24px, 2.2vw, 34px) !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    color: var(--wcuas-site-text, inherit);
}
.wcuas-storefront-section-products {
    margin-bottom: 0 !important;
}
@media (max-width: 600px) {
    .wcuas-storefront-category-nav { margin-bottom: 20px; padding: 6px; border-radius: 13px; }
    .wcuas-storefront-category-nav-inner { gap: 5px; }
    .wcuas-storefront-category-link { min-height: 39px; padding: 9px 14px; font-size: 11px; }
    .wcuas-storefront-section { margin-bottom: 32px; }
    .wcuas-storefront-section-title { margin-bottom: 14px !important; font-size: 24px !important; }
}


/* v2.3.5 — storefront hierarchy + cart centering -------------------------- */
.wcuas-storefront-filter-top {
    box-sizing: border-box !important;
    width: 100% !important;
    clear: both !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    margin: 10px 0 18px !important;
    padding: 0 !important;
}
.wcuas-storefront-filter-top > * {
    float: none !important;
    width: auto !important;
    max-width: none !important;
    flex: 0 0 auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Product name belongs between the image and Select Options. */
.products li.product .woocommerce-loop-product__title,
.products .product .woocommerce-loop-product__title,
.wc-block-grid__product .wc-block-grid__product-title,
.wp-block-post.product .wp-block-post-title {
    margin-bottom: 8px !important;
}
.products li.product .woocommerce-loop-product__title + .wcuas-loop-select-options-moved,
.products .product .woocommerce-loop-product__title + .wcuas-loop-select-options-moved,
.wc-block-grid__product .wc-block-grid__product-title + .wcuas-loop-select-options-moved,
.wp-block-post.product .wp-block-post-title + .wcuas-loop-select-options-moved {
    margin-top: 0 !important;
}

/* Flatsome and similar themes show a Shopping Cart / Checkout / Order Complete
   progress strip above Cart. Cart is already an item-review screen here. */
body.woocommerce-cart .checkout-page-title,
body.woocommerce-cart .checkout-breadcrumbs,
body.woocommerce-cart .cart-checkout-nav,
body.woocommerce-cart .checkout-steps,
body.woocommerce-cart .woocommerce-steps,
body.woocommerce-cart .wcuas-hide-cart-progress {
    display: none !important;
}

@media (min-width: 783px) {
    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(94vw, 1100px) !important;
        max-width: 1100px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        float: none !important;
    }

    body.woocommerce-cart form.woocommerce-cart-form,
    body.woocommerce-cart .woocommerce-cart-form {
        box-sizing: border-box !important;
        width: min(100%, 920px) !important;
        max-width: 920px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        float: none !important;
    }

    body.woocommerce-cart .wcuas-cart-main-column {
        box-sizing: border-box !important;
        width: min(100%, 920px) !important;
        max-width: 920px !important;
        flex: 0 1 920px !important;
        float: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    body.woocommerce-cart .wcuas-cart-main-row {
        justify-content: center !important;
    }

    body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart,
    body.woocommerce-cart .wcuas-simple-cart-footer {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}


/* v2.3.7 — storefront card hierarchy, full-width sections, cart polish ------ */
.wcuas-storefront-top-stack {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    clear: both !important;
    margin: 0 auto 22px !important;
    padding: 0 !important;
}
.wcuas-storefront-top-stack .wcuas-storefront-filter-top {
    margin: 8px 0 18px !important;
}
.wcuas-storefront-top-stack .wcuas-storefront-sections,
.wcuas-storefront-top-stack .wcuas-storefront-section {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: both !important;
}
.wcuas-storefront-top-stack .wcuas-storefront-section-products {
    width: 100% !important;
    max-width: 100% !important;
}

/* Product cards: Image -> Category -> Title -> Select Options -> Colors. */
.products li.product .wcuas-card-category,
.products .product .wcuas-card-category,
.wc-block-grid__product .wcuas-card-category,
.wp-block-post.product .wcuas-card-category {
    display: block !important;
    width: 100% !important;
    margin: 10px 0 4px !important;
    padding: 0 !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
    letter-spacing: .055em !important;
    text-transform: uppercase !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    opacity: .70 !important;
}
.products li.product .wcuas-card-title,
.products .product .wcuas-card-title,
.wc-block-grid__product .wcuas-card-title,
.wp-block-post.product .wcuas-card-title {
    display: block !important;
    width: 100% !important;
    min-height: 2.6em !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    font-size: 15px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: initial !important;
}
.products li.product .wcuas-card-title a,
.products .product .wcuas-card-title a,
.wc-block-grid__product .wcuas-card-title a,
.wp-block-post.product .wcuas-card-title a {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
}
.products li.product .wcuas-card-title + .wcuas-loop-select-options-moved,
.products .product .wcuas-card-title + .wcuas-loop-select-options-moved,
.wc-block-grid__product .wcuas-card-title + .wcuas-loop-select-options-moved,
.wp-block-post.product .wcuas-card-title + .wcuas-loop-select-options-moved {
    margin-top: 0 !important;
}
.products li.product .wcuas-loop-select-options-moved + .wcuas-loop-colors,
.products .product .wcuas-loop-select-options-moved + .wcuas-loop-colors,
.wc-block-grid__product .wcuas-loop-select-options-moved + .wcuas-loop-colors,
.wp-block-post.product .wcuas-loop-select-options-moved + .wcuas-loop-colors {
    margin-top: 12px !important;
}

@media (max-width: 640px) {
    .products li.product .wcuas-card-title,
    .products .product .wcuas-card-title,
    .wc-block-grid__product .wcuas-card-title,
    .wp-block-post.product .wcuas-card-title {
        min-height: 0 !important;
        font-size: 14px !important;
    }
}

/* Flatsome/column-based cart layouts: the form itself can be the old 7/12 col. */
@media (min-width: 783px) {
    body.woocommerce-cart .wcuas-cart-main-row,
    body.woocommerce-cart .woocommerce.row:has(.woocommerce-cart-form),
    body.woocommerce-cart .woocommerce .row:has(.woocommerce-cart-form) {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    body.woocommerce-cart form.woocommerce-cart-form.wcuas-cart-main-column,
    body.woocommerce-cart .woocommerce-cart-form.wcuas-cart-main-column,
    body.woocommerce-cart .wcuas-cart-main-column {
        box-sizing: border-box !important;
        flex: 0 1 980px !important;
        flex-basis: 980px !important;
        width: min(100%, 980px) !important;
        max-width: 980px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        float: none !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/* Cleaner coupon/update row without changing WooCommerce cart behavior. */
body.woocommerce-cart .woocommerce-cart-form td.actions {
    box-sizing: border-box !important;
    padding-top: 18px !important;
    padding-bottom: 18px !important;
}
body.woocommerce-cart .woocommerce-cart-form td.actions .coupon {
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: stretch !important;
    gap: 0 !important;
    padding: 5px !important;
    border: 1px solid #d8dde5 !important;
    border-radius: 10px !important;
    background: #f7f8fa !important;
    overflow: hidden !important;
}
body.woocommerce-cart .woocommerce-cart-form td.actions .coupon label {
    display: none !important;
}
body.woocommerce-cart .woocommerce-cart-form td.actions .coupon .input-text,
body.woocommerce-cart .woocommerce-cart-form td.actions .coupon input[type="text"] {
    box-sizing: border-box !important;
    width: 230px !important;
    max-width: 42vw !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    border: 1px solid #d8dde5 !important;
    border-right: 0 !important;
    border-radius: 7px 0 0 7px !important;
    background: #fff !important;
    box-shadow: none !important;
}
body.woocommerce-cart .woocommerce-cart-form td.actions .coupon .button {
    min-height: 44px !important;
    margin: 0 !important;
    border-radius: 0 7px 7px 0 !important;
}
body.woocommerce-cart .woocommerce-cart-form td.actions > .button[name="update_cart"] {
    min-height: 44px !important;
    border-radius: 8px !important;
}
@media (max-width: 782px) {
    body.woocommerce-cart .woocommerce-cart-form td.actions .coupon {
        display: flex !important;
        width: 100% !important;
    }
    body.woocommerce-cart .woocommerce-cart-form td.actions .coupon .input-text,
    body.woocommerce-cart .woocommerce-cart-form td.actions .coupon input[type="text"] {
        width: 100% !important;
        max-width: none !important;
        flex: 1 1 auto !important;
    }
}


/* v2.3.8 — keep product info visible during back-image hover --------------- */
.products li.product .box-image,
.products .product .box-image,
.wc-block-grid__product .wc-block-grid__product-image,
.wp-block-post.product figure.wp-block-post-featured-image {
    position: relative !important;
    overflow: hidden !important;
    isolation: isolate !important;
}

/* Flatsome's secondary image must stay inside the image region only. */
.products li.product .box-image .image-fade_in_back,
.products .product .box-image .image-fade_in_back {
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    overflow: hidden !important;
}

.products li.product .wcuas-card-info-host,
.products .product .wcuas-card-info-host,
.wc-block-grid__product .wcuas-card-info-host,
.wp-block-post.product .wcuas-card-info-host {
    position: relative !important;
    z-index: 20 !important;
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

.products li.product:hover .wcuas-card-info-host,
.products .product:hover .wcuas-card-info-host,
.products li.product:hover .wcuas-card-category,
.products .product:hover .wcuas-card-category,
.products li.product:hover .wcuas-card-title,
.products .product:hover .wcuas-card-title,
.products li.product:hover .wcuas-loop-select-options-moved,
.products .product:hover .wcuas-loop-select-options-moved,
.products li.product:hover .wcuas-loop-colors,
.products .product:hover .wcuas-loop-colors {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

/* If no theme text container exists, provide a neutral information region. */
.wcuas-card-info-shell {
    padding: 10px 14px 14px !important;
    background: #fff !important;
}


/* v2.3.10 — hero typography + CTA placement cleanup ----------------------- */
/* Keep the hero banner using the shop/site font rather than a theme-specific
   display font, and make sure the CTA sits cleanly under the copy on mobile. */
.wcuas-store-hero,
.wcuas-store-hero *,
.wcuas-store-hero .wcuas-store-hero-copy,
.wcuas-store-hero .wcuas-store-hero-kicker,
.wcuas-store-hero .wcuas-store-hero-title,
.wcuas-store-hero .wcuas-store-hero-text,
.wcuas-store-hero .wcuas-store-hero-button {
    font-family: inherit !important;
}

.wcuas-store-hero .wcuas-store-hero-copy {
    align-items: flex-start !important;
    justify-content: center !important;
}

.wcuas-store-hero .wcuas-store-hero-title {
    text-transform: none !important;
    letter-spacing: -0.02em !important;
}

.wcuas-store-hero .wcuas-store-hero-text {
    margin-top: 12px !important;
}

.wcuas-store-hero .wcuas-store-hero-button {
    position: relative !important;
    align-self: flex-start !important;
    width: auto !important;
    min-width: 150px !important;
    max-width: 100% !important;
    margin-top: 18px !important;
    padding: 0 22px !important;
    white-space: nowrap !important;
    text-align: center !important;
}

@media (max-width: 600px) {
    .wcuas-store-hero .wcuas-store-hero-copy {
        padding: 22px 20px !important;
    }
    .wcuas-store-hero .wcuas-store-hero-title,
    .wcuas-store-hero.has-image .wcuas-store-hero-title {
        max-width: 100% !important;
        font-size: clamp(24px, 8.2vw, 34px) !important;
        line-height: 1.02 !important;
    }
    .wcuas-store-hero .wcuas-store-hero-text,
    .wcuas-store-hero.has-image .wcuas-store-hero-text {
        max-width: 100% !important;
        font-size: 13px !important;
        line-height: 1.45 !important;
    }
    .wcuas-store-hero .wcuas-store-hero-button {
        min-height: 44px !important;
        height: 44px !important;
        margin-top: 16px !important;
    }
}


/* v2.3.12 — mobile-only storefront/navigation polish ---------------------- */
@media (max-width: 782px) {
    /* The hero should use the same clean Poppins family as the mobile shop. */
    .wcuas-store-hero,
    .wcuas-store-hero .wcuas-store-hero-copy,
    .wcuas-store-hero .wcuas-store-hero-kicker,
    .wcuas-store-hero .wcuas-store-hero-title,
    .wcuas-store-hero .wcuas-store-hero-text {
        font-family: "Poppins", Arial, Helvetica, sans-serif !important;
    }
    .wcuas-store-hero .wcuas-store-hero-title {
        font-weight: 700 !important;
        letter-spacing: -.02em !important;
        text-transform: none !important;
    }
    .wcuas-store-hero .wcuas-store-hero-kicker {
        font-weight: 600 !important;
        letter-spacing: .09em !important;
    }
    .wcuas-store-hero .wcuas-store-hero-text {
        font-weight: 400 !important;
    }

    /* Mobile cards should emphasize the item, not the action button. */
    .products li.product a.wcuas-loop-select-options,
    .products li.product a.wcuas-loop-select-options-moved,
    .products .product a.wcuas-loop-select-options,
    .products .product a.wcuas-loop-select-options-moved,
    .wc-block-grid__product a.wcuas-loop-select-options,
    .wc-block-grid__product a.wcuas-loop-select-options-moved,
    .wp-block-post.product a.wcuas-loop-select-options,
    .wp-block-post.product a.wcuas-loop-select-options-moved,
    .products li.product a.button.product_type_variable,
    .products .product a.button.product_type_variable {
        box-sizing: border-box !important;
        display: flex !important;
        width: 86% !important;
        min-width: 0 !important;
        max-width: 86% !important;
        min-height: 42px !important;
        height: 42px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 7px !important;
        padding-right: 7px !important;
        font-size: 12.5px !important;
        line-height: 1.05 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: clip !important;
    }

    /* Keep product images/cards at their natural full width. */
    .products li.product .box-image,
    .products .product .box-image,
    .wc-block-grid__product .wc-block-grid__product-image,
    .wp-block-post.product figure.wp-block-post-featured-image {
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Color choices are available on the product page; remove card clutter on phones. */
    .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 {
        display: none !important;
    }

    /* Mobile bottom navigation: slightly larger labels and school-brand accents. */
    .wcuas-mobile-bottom-nav a,
    .wcuas-mobile-bottom-nav button {
        font-size: 13px !important;
        line-height: 1.2 !important;
    }
    .wcuas-mobile-bottom-nav a[aria-current="page"],
    .wcuas-mobile-bottom-nav .active > a,
    .wcuas-mobile-bottom-nav .is-active > a,
    .wcuas-mobile-bottom-nav .current-menu-item > a,
    .wcuas-mobile-bottom-nav .current_page_item > a {
        color: var(--wcuas-site-primary, #0f2d5c) !important;
    }
    .wcuas-mobile-bottom-nav .badge,
    .wcuas-mobile-bottom-nav .cart-count,
    .wcuas-mobile-bottom-nav [class*="cart-count"],
    .wcuas-mobile-bottom-nav .header-cart-count {
        background-color: var(--wcuas-site-primary, #0f2d5c) !important;
        border-color: var(--wcuas-site-primary, #0f2d5c) !important;
        color: #fff !important;
    }
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-cart-item {
        transform: translateY(3px) !important;
    }

    /* Flux/custom checkout step text follows the store branding instead of orange. */
    body.woocommerce-checkout .wcuas-checkout-step-indicator,
    body.woocommerce-checkout .wcuas-checkout-step-indicator * {
        color: var(--wcuas-site-primary, #0f2d5c) !important;
        border-color: var(--wcuas-site-primary, #0f2d5c) !important;
    }
    body.woocommerce-checkout .wcuas-checkout-step-indicator::before,
    body.woocommerce-checkout .wcuas-checkout-step-indicator::after {
        border-color: var(--wcuas-site-primary, #0f2d5c) !important;
    }
}


/* v2.3.13 — mobile product-card consistency + Poppins typography ---------- */
@media (max-width: 782px) {
    /* Keep new/adjusted storefront UI consistent with the site's Poppins type. */
    .products li.product,
    .products li.product *,
    .products .product,
    .products .product *,
    .wc-block-grid__product,
    .wc-block-grid__product *,
    .wp-block-post.product,
    .wp-block-post.product * {
        font-family: "Poppins", Arial, Helvetica, sans-serif !important;
    }

    /* Make every mobile product tile stretch to the same row height. */
    .products li.product,
    .products .product,
    .wc-block-grid__product,
    .wp-block-post.product {
        box-sizing: border-box !important;
        height: 100% !important;
    }

    .products li.product > .col-inner,
    .products li.product > .product-small,
    .products li.product > .box,
    .products .product > .col-inner,
    .products .product > .product-small,
    .products .product > .box,
    .wc-block-grid__product > *,
    .wp-block-post.product > * {
        box-sizing: border-box !important;
        height: 100% !important;
    }

    .products li.product .box,
    .products .product .box,
    .products li.product .product-small,
    .products .product .product-small,
    .wc-block-grid__product,
    .wp-block-post.product {
        display: flex !important;
        flex-direction: column !important;
    }

    .products li.product .box-text,
    .products .product .box-text,
    .products li.product .wcuas-card-info-host,
    .products .product .wcuas-card-info-host,
    .wc-block-grid__product .wcuas-card-info-host,
    .wp-block-post.product .wcuas-card-info-host {
        box-sizing: border-box !important;
        display: flex !important;
        flex: 1 1 auto !important;
        flex-direction: column !important;
        width: 100% !important;
    }

    /* Reserve exactly two clean lines for the product name. */
    .products li.product .wcuas-card-title,
    .products .product .wcuas-card-title,
    .products li.product .woocommerce-loop-product__title,
    .products .product .woocommerce-loop-product__title,
    .wc-block-grid__product .wcuas-card-title,
    .wc-block-grid__product .wc-block-grid__product-title,
    .wp-block-post.product .wcuas-card-title,
    .wp-block-post.product .wp-block-post-title {
        box-sizing: border-box !important;
        display: -webkit-box !important;
        min-height: 2.7em !important;
        max-height: 2.7em !important;
        margin-bottom: 8px !important;
        font-family: "Poppins", Arial, Helvetica, sans-serif !important;
        font-size: 12.5px !important;
        line-height: 1.35 !important;
        font-weight: 600 !important;
        white-space: normal !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 2 !important;
    }

    .products li.product .wcuas-card-title a,
    .products .product .wcuas-card-title a,
    .wc-block-grid__product .wcuas-card-title a,
    .wp-block-post.product .wcuas-card-title a {
        display: block !important;
        font: inherit !important;
        line-height: inherit !important;
        white-space: normal !important;
        overflow: hidden !important;
    }

    /* Keep the action lined up toward the bottom of otherwise equal cards. */
    .products li.product .wcuas-loop-select-options-moved,
    .products .product .wcuas-loop-select-options-moved,
    .wc-block-grid__product .wcuas-loop-select-options-moved,
    .wp-block-post.product .wcuas-loop-select-options-moved {
        margin-top: auto !important;
        font-family: "Poppins", Arial, Helvetica, sans-serif !important;
        font-weight: 600 !important;
    }
}


/* v2.3.14 — true desktop cart centering + Poppins consistency ------------ */
@media (min-width: 783px) {
    /* Flatsome commonly keeps Cart in a large-7 / medium-7 column after the
       totals column has been removed. Expand that real column first, then
       center the cart review area inside it. */
    body.woocommerce-cart .woocommerce .row:has(form.woocommerce-cart-form),
    body.woocommerce-cart .woocommerce .row:has(.woocommerce-cart-form),
    body.woocommerce-cart .cart-wrapper.row,
    body.woocommerce-cart .woocommerce-cart-form__contents {
        box-sizing: border-box !important;
    }

    body.woocommerce-cart .woocommerce .row:has(form.woocommerce-cart-form),
    body.woocommerce-cart .woocommerce .row:has(.woocommerce-cart-form),
    body.woocommerce-cart .cart-wrapper.row {
        display: flex !important;
        width: 100% !important;
        max-width: 1100px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        justify-content: center !important;
    }

    body.woocommerce-cart .woocommerce .row:has(form.woocommerce-cart-form) > [class*="large-"],
    body.woocommerce-cart .woocommerce .row:has(.woocommerce-cart-form) > [class*="large-"],
    body.woocommerce-cart .woocommerce .row:has(form.woocommerce-cart-form) > [class*="medium-"],
    body.woocommerce-cart .woocommerce .row:has(.woocommerce-cart-form) > [class*="medium-"],
    body.woocommerce-cart .cart-wrapper.row > [class*="large-"]:has(.woocommerce-cart-form),
    body.woocommerce-cart .cart-wrapper.row > [class*="medium-"]:has(.woocommerce-cart-form) {
        box-sizing: border-box !important;
        flex: 0 1 980px !important;
        flex-basis: 980px !important;
        width: min(100%, 980px) !important;
        max-width: 980px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        float: none !important;
    }

    body.woocommerce-cart form.woocommerce-cart-form,
    body.woocommerce-cart .woocommerce-cart-form,
    body.woocommerce-cart .wcuas-simple-cart-footer {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 980px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        float: none !important;
    }
}

/* Keep the Cart UI consistent with the rest of PromoSpirit typography. */
body.woocommerce-cart .woocommerce,
body.woocommerce-cart .woocommerce *,
body.woocommerce-cart button,
body.woocommerce-cart input,
body.woocommerce-cart select,
body.woocommerce-cart textarea {
    font-family: "Poppins", Arial, Helvetica, sans-serif !important;
}

/* v2.3.18 — Product size guide ------------------------------------------------ */
.wcuas-size-guide-launch,
.wcuas-size-guide-launch *,
.wcuas-size-guide-modal,
.wcuas-size-guide-modal * {
    font-family: "Poppins", Arial, Helvetica, sans-serif !important;
    box-sizing: border-box;
}
.wcuas-size-guide-launch { display:flex; align-items:center; gap:10px; margin:8px 0 16px; flex-wrap:wrap; }
.wcuas-size-guide-button { display:inline-flex; align-items:center; gap:7px; min-height:42px; padding:9px 15px; border:1px solid var(--wcuas-site-border, #d9dee7); border-radius:8px; background:#fff; color:var(--wcuas-site-text, #172033); font-size:14px; font-weight:600; line-height:1.2; cursor:pointer; box-shadow:0 1px 2px rgba(15,23,42,.04); }
.wcuas-size-guide-button:hover { border-color:var(--wcuas-site-primary, #0f2d5c); color:var(--wcuas-site-primary, #0f2d5c); }
.wcuas-size-guide-icon { font-size:18px; line-height:1; }
.wcuas-size-guide-help { color:#667085; font-size:13px; }
body.wcuas-size-guide-open { overflow:hidden; }
.wcuas-size-guide-modal[hidden] { display:none !important; }
.wcuas-size-guide-modal { position:fixed; inset:0; z-index:999999; display:flex; align-items:center; justify-content:center; padding:22px; }
.wcuas-size-guide-backdrop { position:absolute; inset:0; background:rgba(15,23,42,.58); backdrop-filter:blur(2px); }
.wcuas-size-guide-dialog { position:relative; width:min(760px, 100%); max-height:min(82vh, 760px); overflow:auto; border-radius:16px; background:#fff; box-shadow:0 24px 80px rgba(15,23,42,.28); }
.wcuas-size-guide-close { position:absolute; top:14px; right:14px; z-index:2; width:38px; height:38px; border:0; border-radius:50%; background:#f2f4f7; color:#344054; font-size:26px; font-weight:400; line-height:1; cursor:pointer; }
.wcuas-size-guide-header { padding:30px 64px 18px 30px; border-bottom:1px solid #eaecf0; }
.wcuas-size-guide-kicker { display:block; margin-bottom:4px; color:var(--wcuas-site-primary, #0f2d5c); font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.wcuas-size-guide-header h2 { margin:0 0 6px !important; color:#101828; font-size:25px !important; line-height:1.25 !important; font-weight:700 !important; }
.wcuas-size-guide-header p { margin:0; color:#667085; font-size:13px; line-height:1.55; }
.wcuas-size-guide-content { padding:24px 30px 30px; }
.wcuas-size-guide-image { margin-bottom:22px; text-align:center; }
.wcuas-size-guide-image img { display:block; max-width:100%; height:auto; margin:0 auto; border-radius:10px; }
.wcuas-size-guide-table-wrap { width:100%; overflow-x:auto; border:1px solid #eaecf0; border-radius:10px; }
.wcuas-size-guide-table { width:100%; min-width:420px; margin:0 !important; border-collapse:collapse; background:#fff; }
.wcuas-size-guide-table th,
.wcuas-size-guide-table td { padding:12px 14px !important; border:0 !important; border-bottom:1px solid #eaecf0 !important; color:#344054; font-size:13px !important; text-align:center; vertical-align:middle; }
.wcuas-size-guide-table thead th { background:#f8fafc; color:#101828; font-weight:700; }
.wcuas-size-guide-table tbody th { color:#101828; font-weight:700; text-align:left; }
.wcuas-size-guide-table tbody tr:last-child th,
.wcuas-size-guide-table tbody tr:last-child td { border-bottom:0 !important; }
.wcuas-size-guide-page-link { display:inline-flex; align-items:center; gap:7px; margin-top:18px; color:var(--wcuas-site-primary, #0f2d5c); font-size:14px; font-weight:700; text-decoration:none; }
@media (max-width: 600px) {
    .wcuas-size-guide-launch { align-items:flex-start; gap:7px; }
    .wcuas-size-guide-help { flex-basis:100%; }
    .wcuas-size-guide-modal { padding:10px; align-items:flex-end; }
    .wcuas-size-guide-dialog { width:100%; max-height:88vh; border-radius:16px 16px 10px 10px; }
    .wcuas-size-guide-header { padding:24px 54px 15px 20px; }
    .wcuas-size-guide-header h2 { font-size:21px !important; }
    .wcuas-size-guide-content { padding:18px 20px 24px; }
    .wcuas-size-guide-table th,
    .wcuas-size-guide-table td { padding:10px 11px !important; font-size:12px !important; }
}


/* v2.3.19 — Checkout store policy notice ---------------------------------- */
body.woocommerce-checkout .wcuas-checkout-store-notice,
body.woocommerce-checkout .wcuas-checkout-store-notice * {
    font-family: "Poppins", Arial, Helvetica, sans-serif !important;
    box-sizing: border-box;
}
body.woocommerce-checkout .wcuas-checkout-store-notice {
    width: 100%;
    margin: 18px 0 16px;
    padding: 18px 20px;
    border: 1px solid var(--wcuas-site-border, #d9dee7);
    border-left: 4px solid var(--wcuas-site-primary, #0f2d5c);
    border-radius: 10px;
    background: #f8fafc;
    color: #172033;
    text-align: left;
}
body.woocommerce-checkout .wcuas-checkout-store-notice p {
    margin: 0 0 10px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
}
body.woocommerce-checkout .wcuas-checkout-store-notice p:last-child { margin-bottom: 0 !important; }
body.woocommerce-checkout .wcuas-checkout-store-notice__pickup {
    color: var(--wcuas-site-primary, #0f2d5c);
    font-size: 15px !important;
    letter-spacing: .02em;
}
@media (max-width: 600px) {
    body.woocommerce-checkout .wcuas-checkout-store-notice { padding: 15px 16px; margin: 14px 0; }
    body.woocommerce-checkout .wcuas-checkout-store-notice p { font-size: 13px !important; }
}


/* v2.3.20 — Required checkout policy acceptance ---------------------------- */
body.woocommerce-checkout .wcuas-checkout-store-notice__accept {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    margin-top: 16px;
    padding: 13px 14px;
    border: 1px solid var(--wcuas-site-border, #d9dee7);
    border-radius: 9px;
    background: #fff;
    cursor: pointer;
    transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
body.woocommerce-checkout .wcuas-checkout-store-notice__accept:hover {
    border-color: var(--wcuas-site-primary, #0f2d5c);
}
body.woocommerce-checkout .wcuas-checkout-store-notice__accept input {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none;
}
body.woocommerce-checkout .wcuas-checkout-store-notice__accept-box {
    position: relative;
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    border: 2px solid #98a2b3;
    border-radius: 6px;
    background: #fff;
    transition: all .18s ease;
}
body.woocommerce-checkout .wcuas-checkout-store-notice__accept input:checked + .wcuas-checkout-store-notice__accept-box {
    border-color: var(--wcuas-site-primary, #0f2d5c);
    background: var(--wcuas-site-primary, #0f2d5c);
}
body.woocommerce-checkout .wcuas-checkout-store-notice__accept input:checked + .wcuas-checkout-store-notice__accept-box::after {
    content: \"\";
    position: absolute;
    left: 7px;
    top: 3px;
    width: 6px;
    height: 11px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}
body.woocommerce-checkout .wcuas-checkout-store-notice__accept input:focus-visible + .wcuas-checkout-store-notice__accept-box {
    outline: 3px solid rgba(15,45,92,.18);
    outline-offset: 2px;
}
body.woocommerce-checkout .wcuas-checkout-store-notice__accept-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    color: #172033;
    line-height: 1.35;
}
body.woocommerce-checkout .wcuas-checkout-store-notice__accept-text strong {
    font-size: 14px !important;
    font-weight: 700 !important;
}
body.woocommerce-checkout .wcuas-checkout-store-notice__accept-text small {
    display: block;
    color: #667085;
    font-size: 12px !important;
    font-weight: 500;
}
body.woocommerce-checkout .wcuas-checkout-store-notice__accept:has(input:checked) {
    border-color: var(--wcuas-site-primary, #0f2d5c);
    background: #f8fbff;
}
@media (max-width: 600px) {
    body.woocommerce-checkout .wcuas-checkout-store-notice__accept { padding: 12px; gap: 10px; }
    body.woocommerce-checkout .wcuas-checkout-store-notice__accept-text strong { font-size: 13px !important; }
    body.woocommerce-checkout .wcuas-checkout-store-notice__accept-text small { font-size: 11px !important; }
}


/* v2.3.23 — reliable storefront actions ----------------------------------- */
/* Keep product information/actions above image-hover overlays and guarantee
   the Select Options button receives pointer input. */
.products li.product .wcuas-card-info-host,
.products .product .wcuas-card-info-host,
.wc-block-grid__product .wcuas-card-info-host,
.wp-block-post.product .wcuas-card-info-host {
    z-index: 50 !important;
    pointer-events: auto !important;
    isolation: isolate !important;
}
.products li.product a.wcuas-loop-select-options,
.products li.product a.wcuas-loop-select-options-moved,
.products .product a.wcuas-loop-select-options,
.products .product a.wcuas-loop-select-options-moved,
.wc-block-grid__product a.wcuas-loop-select-options,
.wc-block-grid__product a.wcuas-loop-select-options-moved,
.wp-block-post.product a.wcuas-loop-select-options,
.wp-block-post.product a.wcuas-loop-select-options-moved {
    position: relative !important;
    z-index: 60 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
    touch-action: manipulation !important;
}

/* v2.3.28 — simplify Contact → Shipping checkout flow --------------------- */
body.woocommerce-checkout .wcuas-contact-section .wcuas-hide-contact-save {
    display: none !important;
}

/* checkout.js asks Flux/custom checkout to open Shipping Information using
   its own controls first. These rules only keep the detected content visible
   when a theme leaves the inner wrapper collapsed after an AJAX refresh. */
body.woocommerce-checkout .wcuas-shipping-address-auto-open[hidden],
body.woocommerce-checkout .wcuas-shipping-address-content-open[hidden] {
    display: block !important;
}
body.woocommerce-checkout .wcuas-shipping-address-content-open {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}


/* v2.3.35 — force the actual desktop Cart page column to center ------------ */
@media (min-width: 783px) {
    /* The key fix: expand outer theme/page-builder wrappers that contain the
       cart. This handles Flatsome row-main/col layouts as well as wrappers
       marked by cart.js, including columns OUTSIDE the .woocommerce element. */
    body.woocommerce-cart #main .wcuas-cart-full-width-wrapper,
    body.woocommerce-cart #main .wcuas-cart-main-column,
    body.woocommerce-cart #main .row-main:has(.woocommerce-cart-form) > .col,
    body.woocommerce-cart #main .row-main:has(.woocommerce-cart-form) > [class*="large-"],
    body.woocommerce-cart #main .row-main:has(.woocommerce-cart-form) > [class*="medium-"],
    body.woocommerce-cart #main .row-main:has(.woocommerce-cart-form) > [class*="small-"] {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        flex: 1 1 100% !important;
        flex-basis: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        float: none !important;
    }

    body.woocommerce-cart #main .wcuas-cart-main-row,
    body.woocommerce-cart #main .row-main:has(.woocommerce-cart-form),
    body.woocommerce-cart #main .row:has(.woocommerce-cart-form) {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* Center one intentional cart shell in the viewport after the outer
       column is full width. This includes the table, coupon row and footer. */
    body.woocommerce-cart #main .wcuas-cart-centered-shell,
    body.woocommerce-cart #main .entry-content > .woocommerce:has(.woocommerce-cart-form),
    body.woocommerce-cart #main .woocommerce:has(.woocommerce-cart-form) {
        box-sizing: border-box !important;
        width: min(94vw, 980px) !important;
        max-width: 980px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        float: none !important;
    }

    body.woocommerce-cart #main form.woocommerce-cart-form,
    body.woocommerce-cart #main .woocommerce-cart-form,
    body.woocommerce-cart #main .wcuas-simple-cart-footer {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        float: none !important;
        transform: none !important;
    }
}


/* v2.3.36 — Size Guide placement and separated Youth/Adult sections */
.wcuas-size-guide-group {
	margin: 0 0 24px;
	padding: 18px;
	border: 1px solid #eaecf0;
	border-radius: 12px;
	background: #fff;
}
.wcuas-size-guide-group:last-of-type {
	margin-bottom: 0;
}
.wcuas-size-guide-group h3 {
	margin: 0 0 14px !important;
	color: #101828;
	font-family: "Poppins", Arial, Helvetica, sans-serif !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
}
.wcuas-size-guide-group .wcuas-size-guide-image {
	margin-bottom: 16px;
}
.wcuas-size-guide-near-shipping {
	display: inline-flex !important;
	align-items: center;
	margin: 0 0 0 12px !important;
	vertical-align: middle;
}
.wcuas-size-guide-near-shipping .wcuas-size-guide-help {
	display: none !important;
}
.wcuas-size-guide-info-row {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	flex-wrap: wrap !important;
}
.wcuas-size-guide-info-row .wcuas-size-guide-launch {
	margin: 0 !important;
}
@media (max-width: 640px) {
	.wcuas-size-guide-group {
		padding: 14px;
		margin-bottom: 16px;
	}
	.wcuas-size-guide-near-shipping {
		margin-left: 8px !important;
	}
}

/* v2.3.36 — Place custom order-policy acceptance beside WooCommerce terms */
body.woocommerce-checkout .wcuas-checkout-acceptance-row {
	display: flex !important;
	align-items: stretch !important;
	gap: 10px !important;
	flex-wrap: wrap !important;
	width: 100% !important;
}
body.woocommerce-checkout .wcuas-checkout-acceptance-row > label,
body.woocommerce-checkout .wcuas-checkout-acceptance-row > .woocommerce-form__label,
body.woocommerce-checkout .wcuas-checkout-acceptance-row .wcuas-checkout-store-notice__accept--with-terms {
	flex: 1 1 260px !important;
	min-width: 0 !important;
	box-sizing: border-box !important;
}
body.woocommerce-checkout .wcuas-checkout-store-notice__accept--with-terms {
	margin: 0 !important;
	width: auto !important;
	font-family: "Poppins", Arial, Helvetica, sans-serif !important;
}
body.woocommerce-checkout .wcuas-checkout-acceptance-row .woocommerce-form__label-for-checkbox,
body.woocommerce-checkout .wcuas-checkout-acceptance-row .woocommerce-form__label {
	display: flex !important;
	align-items: center !important;
	min-height: 54px;
	padding: 12px 14px !important;
	border: 1px solid var(--wcuas-site-border, #d9dee7);
	border-radius: 9px;
	background: #fff;
	font-family: "Poppins", Arial, Helvetica, sans-serif !important;
}
@media (max-width: 700px) {
	body.woocommerce-checkout .wcuas-checkout-acceptance-row {
		flex-direction: column !important;
	}
	body.woocommerce-checkout .wcuas-checkout-acceptance-row > label,
	body.woocommerce-checkout .wcuas-checkout-acceptance-row > .woocommerce-form__label,
	body.woocommerce-checkout .wcuas-checkout-acceptance-row .wcuas-checkout-store-notice__accept--with-terms {
		flex: 1 1 auto !important;
		width: 100% !important;
	}
}


/* v2.3.39 — cleaner Size Guide + compact checkout agreements ---------------- */
/* Product utility link: match Delivery / Returns instead of looking like a second CTA. */
body.single-product .wcuas-size-guide-near-shipping {
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 0 0 10px !important;
    padding-left: 10px !important;
    border-left: 1px solid var(--wcuas-site-border, #d9dee7) !important;
    vertical-align: middle !important;
}
body.single-product .wcuas-size-guide-near-shipping .wcuas-size-guide-button {
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--wcuas-site-text, #344054) !important;
    font-family: "Poppins", Arial, Helvetica, sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;
    text-decoration: none !important;
}
body.single-product .wcuas-size-guide-near-shipping .wcuas-size-guide-button:hover {
    color: var(--wcuas-site-primary, #3b236e) !important;
}
body.single-product .wcuas-size-guide-near-shipping .wcuas-size-guide-icon {
    font-size: 15px !important;
}
body.single-product .wcuas-size-guide-near-shipping .wcuas-size-guide-help {
    display: none !important;
}

/* Size Guide modal: one clean panel with Youth/Adult tabs, not two stacked cards. */
.wcuas-size-guide-dialog {
    width: min(720px, 100%) !important;
    max-height: min(86vh, 760px) !important;
    border-radius: 14px !important;
}
.wcuas-size-guide-header {
    padding: 26px 58px 16px 26px !important;
}
.wcuas-size-guide-header h2 {
    font-size: 23px !important;
}
.wcuas-size-guide-content {
    padding: 18px 26px 26px !important;
}
.wcuas-size-guide-tabs {
    display: inline-flex;
    width: 100%;
    gap: 4px;
    margin: 0 0 18px;
    padding: 4px;
    border: 1px solid #e4e7ec;
    border-radius: 10px;
    background: #f7f8fa;
}
.wcuas-size-guide-tab {
    flex: 1 1 0;
    min-height: 38px;
    padding: 8px 14px;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: #475467;
    font-family: "Poppins", Arial, Helvetica, sans-serif !important;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}
.wcuas-size-guide-tab.is-active {
    background: #fff;
    color: var(--wcuas-site-primary, #3b236e);
    box-shadow: 0 1px 3px rgba(16,24,40,.10);
}
.wcuas-size-guide-group,
.wcuas-size-guide-group:last-of-type {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}
.wcuas-size-guide-group[hidden] {
    display: none !important;
}
.wcuas-size-guide-group h3 {
    margin: 0 0 12px !important;
    font-size: 16px !important;
}
.wcuas-size-guide-image {
    margin: 0 0 16px !important;
    padding: 10px;
    border: 1px solid #eaecf0;
    border-radius: 10px;
    background: #fff;
}
.wcuas-size-guide-table-wrap {
    border-radius: 9px !important;
}
.wcuas-size-guide-page-link {
    margin-top: 15px !important;
}

/* Checkout: keep both required acknowledgements together, but do NOT box them. */
body.woocommerce-checkout .wcuas-checkout-acceptance-row {
    display: block !important;
    width: 100% !important;
    margin: 8px 0 12px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    font-family: "Poppins", Arial, Helvetica, sans-serif !important;
}
body.woocommerce-checkout .wcuas-checkout-acceptance-row .woocommerce-form__label-for-checkbox,
body.woocommerce-checkout .wcuas-checkout-acceptance-row .woocommerce-form__label,
body.woocommerce-checkout .wcuas-checkout-acceptance-row > label {
    display: flex !important;
    align-items: flex-start !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 4px 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    font-family: "Poppins", Arial, Helvetica, sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.45 !important;
}
body.woocommerce-checkout .wcuas-checkout-store-notice__accept--with-terms {
    position: relative !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 2px 0 0 !important;
    padding: 4px 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
body.woocommerce-checkout .wcuas-checkout-store-notice__accept--with-terms:hover,
body.woocommerce-checkout .wcuas-checkout-store-notice__accept--with-terms:has(input:checked) {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
body.woocommerce-checkout .wcuas-checkout-store-notice__accept--with-terms input#wcuas_store_policy_accept {
    position: static !important;
    display: inline-block !important;
    flex: 0 0 auto !important;
    width: 15px !important;
    height: 15px !important;
    margin: 2px 0 0 !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    accent-color: var(--wcuas-site-primary, #3b236e);
}
body.woocommerce-checkout .wcuas-checkout-store-notice__accept--with-terms .wcuas-checkout-store-notice__accept-box {
    display: none !important;
}
body.woocommerce-checkout .wcuas-checkout-store-notice__accept--with-terms .wcuas-checkout-store-notice__accept-text {
    display: inline !important;
    min-width: 0 !important;
    color: inherit !important;
    font-family: "Poppins", Arial, Helvetica, sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.45 !important;
}
body.woocommerce-checkout .wcuas-checkout-store-notice__accept--with-terms .wcuas-checkout-store-notice__accept-text strong {
    font: inherit !important;
}
body.woocommerce-checkout .wcuas-checkout-store-notice__accept--with-terms .wcuas-checkout-store-notice__accept-text small {
    display: inline !important;
    margin-left: 4px !important;
    color: #667085 !important;
    font: inherit !important;
}
body.woocommerce-checkout .wcuas-checkout-store-notice__accept--with-terms abbr.required {
    margin-left: 2px !important;
    color: #b42318 !important;
    text-decoration: none !important;
}

@media (max-width: 640px) {
    body.single-product .wcuas-size-guide-near-shipping {
        margin-left: 8px !important;
        padding-left: 8px !important;
    }
    .wcuas-size-guide-header {
        padding: 22px 50px 14px 18px !important;
    }
    .wcuas-size-guide-content {
        padding: 15px 18px 22px !important;
    }
    .wcuas-size-guide-tabs {
        margin-bottom: 14px;
    }
}


/* v2.3.39 — store-level School Delivery + simplified checkout ---------------- */
body.woocommerce-checkout .wcuas-pickup-school-fields {
    margin: 10px 0 4px !important;
    padding: 14px 16px 8px !important;
    border: 1px solid var(--wcuas-site-border, #d9dee7) !important;
    border-radius: 10px !important;
    background: #fafbfc !important;
    font-family: "Poppins", Arial, Helvetica, sans-serif !important;
}
body.woocommerce-checkout .wcuas-pickup-school-heading {
    margin: 0 0 3px !important;
    color: var(--wcuas-site-text, #172033) !important;
    font-family: "Poppins", Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
}
body.woocommerce-checkout .wcuas-pickup-school-help {
    margin: 0 0 10px !important;
    color: #667085 !important;
    font-family: "Poppins", Arial, Helvetica, sans-serif !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
}

/* Contact is no longer a separate checkout step. Its email/phone fields are
   moved into the always-open Shipping Information form before this is hidden. */
body.woocommerce-checkout .wcuas-contact-section-removed {
    display: none !important;
}
body.woocommerce-checkout .wcuas-checkout-contact-fields {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px !important;
    width: 100% !important;
    margin: 8px 0 14px !important;
    font-family: "Poppins", Arial, Helvetica, sans-serif !important;
}
body.woocommerce-checkout .wcuas-checkout-contact-fields > * {
    min-width: 0 !important;
    margin: 0 !important;
}
body.woocommerce-checkout .wcuas-shipping-address-section.wcuas-hide-shipping-address {
    display: block !important;
}
@media (max-width: 700px) {
    body.woocommerce-checkout .wcuas-checkout-contact-fields {
        grid-template-columns: 1fr;
        gap: 8px !important;
    }
}

/* v2.3.40 — store-level pickup destinations + flexible checkout fields ----- */
.wcuas-pickup-location-card,
.wcuas-custom-checkout-fields {
    box-sizing: border-box !important;
    width: 100% !important;
    margin: 12px 0 16px !important;
    padding: 14px 16px !important;
    border: 1px solid #e1e5eb !important;
    border-radius: 10px !important;
    background: #f8f9fb !important;
    font-family: 'Poppins', sans-serif !important;
    color: var(--wcuas-site-text, #172033) !important;
}
.wcuas-pickup-location-card[hidden] { display: none !important; }
.wcuas-pickup-location-title,
.wcuas-custom-checkout-heading {
    margin: 0 0 10px !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    letter-spacing: .02em !important;
}
.wcuas-pickup-location-name {
    display: block !important;
    margin-bottom: 3px !important;
    font-size: 14px !important;
}
.wcuas-pickup-location-address,
.wcuas-pickup-location-instructions {
    white-space: pre-line !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    color: #667085 !important;
}
.wcuas-pickup-location-instructions { margin-top: 5px !important; }
.wcuas-custom-checkout-fields .wcuas-custom-checkout-field {
    display: block !important;
    width: 100% !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
    float: none !important;
}
.wcuas-custom-checkout-fields .wcuas-custom-checkout-field:last-child { margin-bottom: 0 !important; }
.wcuas-custom-checkout-fields label {
    display: block !important;
    margin: 0 0 5px !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}
.wcuas-custom-checkout-fields input[type="text"],
.wcuas-custom-checkout-fields input[type="number"],
.wcuas-custom-checkout-fields select,
.wcuas-custom-checkout-fields textarea {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 44px !important;
    border: 1px solid #d6dbe3 !important;
    border-radius: 8px !important;
    background: #fff !important;
    font-family: 'Poppins', sans-serif !important;
}

/* Break the desktop cart out of a narrow theme/page-builder column. cart.js
   calculates the exact horizontal offset from the live viewport. */
@media (min-width: 783px) {
    body.woocommerce-cart .wcuas-cart-viewport-centered {
        overflow: visible !important;
        z-index: 1 !important;
    }
    body.woocommerce-cart .wcuas-cart-viewport-centered .woocommerce-cart-form,
    body.woocommerce-cart .wcuas-cart-viewport-centered .shop_table.cart,
    body.woocommerce-cart .wcuas-cart-viewport-centered .wcuas-simple-cart-footer {
        width: 100% !important;
        max-width: 100% !important;
    }
}


/* v2.3.41 — fundraiser thermometer + intentional Cart sidebar -------------- */
.wcuas-fundraiser-progress{margin-top:14px;font-family:'Poppins',sans-serif}.wcuas-fundraiser-progress-head,.wcuas-fundraiser-progress-values{display:flex;justify-content:space-between;gap:12px;align-items:center}.wcuas-fundraiser-progress-head{font-size:12px;margin-bottom:7px}.wcuas-fundraiser-progress-values{font-size:11px;margin-top:7px;opacity:.78}.wcuas-thermometer{position:relative;height:18px;border:2px solid currentColor;border-radius:999px;padding:3px 4px 3px 18px;overflow:visible;background:rgba(255,255,255,.58)}.wcuas-thermometer:before{content:'';position:absolute;left:-7px;top:50%;width:24px;height:24px;transform:translateY(-50%);border:2px solid currentColor;border-radius:50%;background:currentColor}.wcuas-thermometer-fill{display:block;height:8px;max-width:100%;border-radius:999px;background:currentColor;transition:width .3s ease}.wcuas-fundraiser-image{width:90px;min-width:90px;height:90px;border-radius:14px;overflow:hidden}.wcuas-fundraiser-image img{width:100%;height:100%;object-fit:cover;display:block}
body.woocommerce-cart .wcuas-cart-layout{box-sizing:border-box;width:min(100%,1180px);max-width:1180px;margin:22px auto 0!important;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,360px);gap:30px;align-items:start;font-family:'Poppins',sans-serif}body.woocommerce-cart .wcuas-cart-layout>.woocommerce-cart-form{box-sizing:border-box;width:100%!important;max-width:none!important;margin:0!important;left:auto!important;right:auto!important;transform:none!important}body.woocommerce-cart .wcuas-cart-sidebar{box-sizing:border-box;width:100%;position:sticky;top:28px}.wcuas-cart-fundraiser-card,.wcuas-cart-lead-card{background:#fff;border:1px solid #e4e7ec;border-radius:18px;padding:22px;box-shadow:0 8px 28px rgba(16,24,40,.07);font-family:'Poppins',sans-serif}.wcuas-cart-fundraiser-image{display:block;width:100%;height:190px;object-fit:cover;border-radius:13px;margin:0 0 18px}.wcuas-cart-sidebar h3{font:700 22px/1.25 'Poppins',sans-serif;margin:7px 0 8px;color:#172033}.wcuas-cart-sidebar p{font:400 13px/1.65 'Poppins',sans-serif;color:#667085;margin:0 0 14px}.wcuas-cart-rate{margin:12px 0 4px;padding:10px 12px;border-radius:10px;background:#f8f6fc;font-size:12px}.wcuas-cart-rate strong{font-size:20px}.wcuas-cart-lead-form{display:grid;gap:10px}.wcuas-cart-lead-form label{display:grid;gap:4px;font:600 11px/1.4 'Poppins',sans-serif;color:#344054}.wcuas-cart-lead-form input,.wcuas-cart-lead-form select,.wcuas-cart-lead-form textarea{box-sizing:border-box;width:100%;min-height:40px;border:1px solid #d0d5dd;border-radius:8px;padding:8px 10px;font:400 13px/1.4 'Poppins',sans-serif;background:#fff}.wcuas-cart-lead-form textarea{min-height:76px;resize:vertical}.wcuas-cart-lead-form .button{width:100%;min-height:43px;border-radius:9px;font-family:'Poppins',sans-serif;font-weight:700}.wcuas-hp-field{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;opacity:0!important}.wcuas-lead-success{padding:12px;border-radius:10px;background:#ecfdf3;color:#067647;font:600 13px/1.5 'Poppins',sans-serif}
@media(max-width:900px){body.woocommerce-cart .wcuas-cart-layout{grid-template-columns:1fr;gap:20px;width:min(100%,760px);padding:0 12px}body.woocommerce-cart .wcuas-cart-sidebar{position:static}.wcuas-cart-fundraiser-image{height:220px}}

/* Fundraiser card base styles carried forward into v2.3.41. */
.wcuas-fundraiser-card{font-family:'Poppins',sans-serif;display:flex;align-items:center;gap:16px;width:100%;box-sizing:border-box;margin:0 0 22px;padding:18px 20px;border:1px solid var(--wcuas-site-border,#d9dee7);border-radius:14px;background:var(--wcuas-site-surface,#fff);color:var(--wcuas-site-text,#172033);box-shadow:0 5px 18px rgba(23,32,51,.06)}.wcuas-fundraiser-icon{flex:0 0 44px;width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--wcuas-site-primary,#0f2d5c);color:#fff;font-size:22px;font-weight:800;line-height:1}.wcuas-fundraiser-copy{flex:1 1 auto;min-width:0}.wcuas-fundraiser-eyebrow{display:block;margin:0 0 3px;font-family:'Poppins',sans-serif;font-size:11px;font-weight:800;letter-spacing:.11em;color:var(--wcuas-site-accent,#c8102e)}.wcuas-fundraiser-card h3{font-family:'Poppins',sans-serif!important;margin:0 0 3px!important;font-size:18px!important;font-weight:700!important;line-height:1.3!important;color:var(--wcuas-site-text,#172033)!important}.wcuas-fundraiser-card p{font-family:'Poppins',sans-serif!important;margin:0!important;font-size:13px!important;line-height:1.55!important;color:var(--wcuas-site-text,#172033)!important;opacity:.78}.wcuas-fundraiser-rate{flex:0 0 auto;min-width:96px;padding:10px 14px;border-radius:12px;text-align:center;background:rgba(15,45,92,.06);border:1px solid rgba(15,45,92,.14)}.wcuas-fundraiser-rate strong,.wcuas-fundraiser-rate span{display:block;font-family:'Poppins',sans-serif}.wcuas-fundraiser-rate strong{font-size:22px;line-height:1.15;color:var(--wcuas-site-primary,#0f2d5c)}.wcuas-fundraiser-rate span{margin-top:2px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--wcuas-site-text,#172033);opacity:.68}
@media(max-width:640px){.wcuas-fundraiser-card{align-items:flex-start;gap:12px;padding:15px;border-radius:12px}.wcuas-fundraiser-icon{flex-basis:38px;width:38px;height:38px;font-size:19px}.wcuas-fundraiser-card h3{font-size:16px!important}.wcuas-fundraiser-rate{min-width:72px;padding:8px 10px}.wcuas-fundraiser-rate strong{font-size:18px}.wcuas-fundraiser-rate span{font-size:9px}}
@media(max-width:460px){.wcuas-fundraiser-card{flex-wrap:wrap}.wcuas-fundraiser-copy{flex:1 1 calc(100% - 54px)}.wcuas-fundraiser-rate{margin-left:50px}}

/* When the cart sidebar exists, use the page's available desktop width instead
   of forcing the old 980px centered-cart experiment. */
@media(min-width:901px){body.woocommerce-cart #main .wcuas-cart-centered-shell:has(.wcuas-cart-layout),body.woocommerce-cart #main .woocommerce:has(.wcuas-cart-layout){box-sizing:border-box!important;width:min(96vw,1180px)!important;max-width:1180px!important;margin-left:auto!important;margin-right:auto!important;left:auto!important;right:auto!important;transform:none!important}body.woocommerce-cart #main .wcuas-cart-layout{width:100%!important;max-width:1180px!important}}

/* v2.3.43 — true cart + fundraiser two-column desktop layout */
@media (min-width:901px){
body.woocommerce-cart .woocommerce.wcuas-cart-viewport-centered{overflow:visible!important}
body.woocommerce-cart .wcuas-cart-layout{width:100%!important;max-width:none!important;margin:22px 0 0!important;grid-template-columns:minmax(0,1fr) minmax(300px,360px)!important;gap:32px!important;align-items:start!important}
body.woocommerce-cart .wcuas-cart-layout>.woocommerce-cart-form{min-width:0!important;overflow:visible!important}
body.woocommerce-cart .wcuas-cart-sidebar{position:sticky!important;top:28px!important;z-index:1!important;min-width:0!important}
}
.wcuas-fundraiser-card-fallback{margin:18px auto 24px!important;max-width:1180px}

/* v2.3.49 — Checkout-only cart housekeeping ----------------------------- */
body.woocommerce-checkout .wcuas-clear-order {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	margin: 10px 0 14px;
	font-family: 'Poppins', sans-serif;
}
body.woocommerce-checkout .wcuas-clear-order__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 36px;
	padding: 8px 14px;
	border: 1px solid currentColor;
	border-radius: 8px;
	background: transparent;
	font-family: 'Poppins', sans-serif;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none !important;
}
body.woocommerce-checkout .wcuas-clear-order__note {
	font-size: 12px;
	line-height: 1.45;
	opacity: .72;
}
@media (max-width: 767px) {
	body.woocommerce-checkout .wcuas-clear-order {
		align-items: flex-start;
		flex-direction: column;
	}
}

/* v2.3.54 — Poppins categories + safer storefront buttons + mobile checkout polish */
.wcuas-storefront-sections,
.wcuas-storefront-section,
.wcuas-storefront-section-title,
.wcuas-storefront-section-products,
.wcuas-storefront-filter-top,
.products li.product .wcuas-card-category,
.products .product .wcuas-card-category,
.wc-block-grid__product .wcuas-card-category,
.wp-block-post.product .wcuas-card-category {
    font-family: "Poppins", Arial, Helvetica, sans-serif !important;
}

/* Product-card actions must stay inside the card even when a theme gives the
   button a fixed height or forces nowrap. */
.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;
    height: auto !important;
    min-height: 42px !important;
    padding: 10px 14px !important;
    font-family: "Poppins", Arial, Helvetica, sans-serif !important;
    line-height: 1.2 !important;
    text-align: center !important;
    white-space: normal !important;
    overflow: hidden !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
}

@media (max-width: 782px) {
    .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 {
        min-height: 40px !important;
        padding: 9px 10px !important;
        font-size: 12.5px !important;
    }

    /* Flux/themes often draw a custom green check over the shipping label.
       Restore a native radio layout so the marker and wording cannot overlap. */
    body.woocommerce-checkout .wcuas-shipping-method-row {
        box-sizing: border-box !important;
        min-width: 0 !important;
        overflow: visible !important;
    }
    body.woocommerce-checkout label.wcuas-shipping-method-label {
        box-sizing: border-box !important;
        display: flex !important;
        align-items: flex-start !important;
        gap: 10px !important;
        width: 100% !important;
        min-width: 0 !important;
        padding-left: 0 !important;
        white-space: normal !important;
        line-height: 1.4 !important;
    }
    body.woocommerce-checkout label.wcuas-shipping-method-label::before,
    body.woocommerce-checkout label.wcuas-shipping-method-label::after {
        display: none !important;
        content: none !important;
    }
    body.woocommerce-checkout label.wcuas-shipping-method-label input[name^="shipping_method"],
    body.woocommerce-checkout .wcuas-shipping-method-row > input[name^="shipping_method"] {
        position: static !important;
        display: inline-block !important;
        flex: 0 0 18px !important;
        width: 18px !important;
        height: 18px !important;
        margin: 2px 0 0 !important;
        padding: 0 !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        appearance: auto !important;
        -webkit-appearance: radio !important;
        clip: auto !important;
    }

    /* The order review comes before Payment on phones. */
    body.woocommerce-checkout .wcuas-mobile-order-review-before-payment,
    body.woocommerce-checkout .wcuas-mobile-payment-after-review {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        float: none !important;
        clear: both !important;
    }
    body.woocommerce-checkout .wcuas-mobile-order-review-before-payment {
        margin-bottom: 18px !important;
    }
    body.woocommerce-checkout .wcuas-mobile-payment-after-review {
        margin-top: 0 !important;
    }

    /* Exactly one product image in each mobile order-review item. */
    body.woocommerce-checkout .wcuas-mobile-checkout-extra-image,
    body.woocommerce-checkout .wcuas-mobile-checkout-extra-image-wrap {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        min-width: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        overflow: hidden !important;
    }

    /* Keep only the price in the right-side product total. */
    body.woocommerce-checkout .wcuas-mobile-checkout-duplicate-price {
        display: none !important;
    }
}

@media (max-width: 782px) {
    /* Keep the Terms + store-policy checkboxes in their own column instead of
       letting theme-generated check marks sit on top of the label text. */
    body.woocommerce-checkout .wcuas-checkout-acceptance-row label,
    body.woocommerce-checkout .wcuas-checkout-acceptance-row .woocommerce-form__label-for-checkbox,
    body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper label.checkbox,
    body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox {
        position: relative !important;
        box-sizing: border-box !important;
        display: flex !important;
        align-items: flex-start !important;
        gap: 9px !important;
        min-width: 0 !important;
        padding-left: 0 !important;
        white-space: normal !important;
    }
    body.woocommerce-checkout .wcuas-checkout-acceptance-row input[type="checkbox"],
    body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper input[type="checkbox"] {
        position: static !important;
        display: inline-block !important;
        flex: 0 0 16px !important;
        width: 16px !important;
        height: 16px !important;
        margin: 2px 0 0 !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        appearance: auto !important;
        -webkit-appearance: checkbox !important;
        clip: auto !important;
    }
}

/* v2.3.55 — mobile quantity/details, navigation polish, single price + My Account */
body.single-product,
body.single-product .product,
body.single-product .summary,
body.single-product .summary *,
body.single-product form.cart,
body.single-product form.variations_form {
    font-family: "Poppins", Arial, Helvetica, sans-serif !important;
}

/* The main product price is the only visible price presentation. JS updates it
   to the selected variation price; WooCommerce's secondary variation block stays hidden. */
body.single-product .woocommerce-variation-price,
body.single-product .single_variation .woocommerce-variation-price,
body.single-product .single_variation .price {
    display: none !important;
}
body.single-product .summary > .price,
body.single-product .summary p.price,
body.single-product .product-summary .price {
    font-family: "Poppins", Arial, Helvetica, sans-serif !important;
}

@media (max-width: 782px) {
    /* Editable quantity directly inside Checkout's product row. */
    body.woocommerce-checkout .wcuas-mobile-native-checkout-qty-hidden {
        display: none !important;
    }
    body.woocommerce-checkout .wcuas-mobile-checkout-qty-control {
        display: inline-flex !important;
        align-items: center !important;
        gap: 0 !important;
        margin: 10px 0 2px !important;
        min-height: 34px !important;
        border: 1px solid var(--wcuas-site-border, #d9dee7) !important;
        border-radius: 9px !important;
        overflow: hidden !important;
        background: var(--wcuas-site-surface, #fff) !important;
        font-family: "Poppins", Arial, Helvetica, sans-serif !important;
        vertical-align: middle !important;
    }
    body.woocommerce-checkout .wcuas-mobile-checkout-qty-label {
        padding: 0 8px !important;
        color: var(--wcuas-site-text, #172033) !important;
        font-size: 10px !important;
        font-weight: 700 !important;
        opacity: .68 !important;
    }
    body.woocommerce-checkout .wcuas-mobile-checkout-qty-control button {
        display: grid !important;
        place-items: center !important;
        width: 34px !important;
        min-width: 34px !important;
        height: 34px !important;
        min-height: 34px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: color-mix(in srgb, var(--wcuas-site-primary, #0f2d5c) 7%, #fff) !important;
        color: var(--wcuas-site-primary, #0f2d5c) !important;
        font-family: "Poppins", Arial, Helvetica, sans-serif !important;
        font-size: 18px !important;
        font-weight: 600 !important;
        line-height: 1 !important;
        box-shadow: none !important;
    }
    body.woocommerce-checkout .wcuas-mobile-checkout-qty-input {
        box-sizing: border-box !important;
        width: 40px !important;
        min-width: 40px !important;
        height: 34px !important;
        min-height: 34px !important;
        margin: 0 !important;
        padding: 0 3px !important;
        border: 0 !important;
        border-left: 1px solid var(--wcuas-site-border, #d9dee7) !important;
        border-right: 1px solid var(--wcuas-site-border, #d9dee7) !important;
        border-radius: 0 !important;
        background: var(--wcuas-site-surface, #fff) !important;
        color: var(--wcuas-site-text, #172033) !important;
        font: 700 13px/34px "Poppins", Arial, Helvetica, sans-serif !important;
        text-align: center !important;
        appearance: textfield !important;
        -moz-appearance: textfield !important;
        box-shadow: none !important;
    }
    body.woocommerce-checkout .wcuas-mobile-checkout-qty-input::-webkit-inner-spin-button,
    body.woocommerce-checkout .wcuas-mobile-checkout-qty-input::-webkit-outer-spin-button { display: none !important; }
    body.woocommerce-checkout .wcuas-mobile-checkout-qty-control.is-updating { opacity: .58; }

    /* Give Color, Size, Design, etc. their own readable rows rather than one long sentence. */
    body.woocommerce-checkout dl.wcuas-mobile-product-details,
    body.woocommerce-checkout dl.variation.wcuas-mobile-product-details {
        display: grid !important;
        gap: 5px !important;
        margin: 8px 0 0 !important;
        padding: 0 !important;
        border: 0 !important;
    }
    body.woocommerce-checkout .wcuas-mobile-product-detail-row {
        display: flex !important;
        align-items: baseline !important;
        gap: 7px !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        color: var(--wcuas-site-text, #172033) !important;
        font-family: "Poppins", Arial, Helvetica, sans-serif !important;
        line-height: 1.35 !important;
    }
    body.woocommerce-checkout .wcuas-mobile-product-detail-row dt,
    body.woocommerce-checkout .wcuas-mobile-product-detail-row dd {
        float: none !important;
        clear: none !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    body.woocommerce-checkout .wcuas-mobile-product-detail-row dt {
        min-width: 48px !important;
        color: var(--wcuas-site-text, #172033) !important;
        font-size: 10px !important;
        font-weight: 700 !important;
        opacity: .62 !important;
    }
    body.woocommerce-checkout .wcuas-mobile-product-detail-row dd,
    body.woocommerce-checkout .wcuas-mobile-product-detail-row dd p {
        color: var(--wcuas-site-text, #172033) !important;
        font-size: 11px !important;
        font-weight: 600 !important;
        line-height: 1.35 !important;
    }

    /* Payment Method belongs with the gateways, never stranded over Order Review. */
    body.woocommerce-checkout .wcuas-payment-method-heading {
        margin: 0 0 10px !important;
        padding: 0 !important;
        color: var(--wcuas-site-text, #172033) !important;
        font: 700 15px/1.3 "Poppins", Arial, Helvetica, sans-serif !important;
    }

    /* Theme mobile nav: equal-width items with no blank gutter between Checkout
       and Contact Us, consistent site color, and every icon aligned on one baseline. */
    .wcuas-mobile-bottom-nav,
    .wcuas-mobile-bottom-nav-track {
        box-sizing: border-box !important;
        display: grid !important;
        grid-auto-flow: column !important;
        grid-auto-columns: minmax(0, 1fr) !important;
        align-items: stretch !important;
        column-gap: 0 !important;
        gap: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    .wcuas-mobile-bottom-nav > *,
    .wcuas-mobile-bottom-nav-track > *,
    .wcuas-mobile-bottom-nav .wcuas-mobile-bottom-nav-item {
        box-sizing: border-box !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        transform: none !important;
    }
    .wcuas-mobile-bottom-nav a,
    .wcuas-mobile-bottom-nav button,
    .wcuas-mobile-bottom-nav a *,
    .wcuas-mobile-bottom-nav button * {
        color: var(--wcuas-site-primary, #0f2d5c) !important;
        font-family: "Poppins", Arial, Helvetica, sans-serif !important;
    }
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-cart-item,
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-checkout-item,
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-home-item,
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-contact-item,
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-account-item {
        transform: none !important;
        top: auto !important;
        bottom: auto !important;
    }

    /* On phones the fundraiser belongs at the end of the storefront content. */
    .wcuas-fundraiser-card.wcuas-mobile-fundraiser-bottom {
        box-sizing: border-box !important;
        width: calc(100% - 24px) !important;
        max-width: none !important;
        margin: 24px 12px 92px !important;
        font-family: "Poppins", Arial, Helvetica, sans-serif !important;
    }
}

/* Customer My Account — direct-to-orders workspace with store-brand styling. */
body.logged-in.woocommerce-account .woocommerce,
body.logged-in.woocommerce-account .woocommerce * {
    font-family: "Poppins", Arial, Helvetica, sans-serif;
}
body.logged-in.woocommerce-account .woocommerce {
    display: grid;
    grid-template-columns: minmax(190px, 230px) minmax(0, 1fr);
    gap: 26px;
    align-items: start;
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
}
body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation,
body.logged-in.woocommerce-account .woocommerce-MyAccount-content {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
}
body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation {
    padding: 10px !important;
    border: 1px solid var(--wcuas-site-border, #d9dee7) !important;
    border-radius: 16px !important;
    background: var(--wcuas-site-surface, #fff) !important;
    box-shadow: 0 7px 24px rgba(16,24,40,.055);
}
body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: grid !important;
    gap: 5px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation li {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}
body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation a {
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    min-height: 43px !important;
    padding: 10px 12px !important;
    border-radius: 10px !important;
    color: var(--wcuas-site-text, #172033) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}
body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
    background: color-mix(in srgb, var(--wcuas-site-primary, #0f2d5c) 9%, var(--wcuas-site-surface, #fff)) !important;
    color: var(--wcuas-site-primary, #0f2d5c) !important;
}
body.logged-in.woocommerce-account .woocommerce-MyAccount-content {
    min-width: 0 !important;
    padding: 22px !important;
    border: 1px solid var(--wcuas-site-border, #d9dee7) !important;
    border-radius: 18px !important;
    background: var(--wcuas-site-surface, #fff) !important;
    box-shadow: 0 7px 24px rgba(16,24,40,.045);
}
body.logged-in.woocommerce-account .woocommerce-MyAccount-content table.shop_table {
    margin: 0 !important;
    border: 0 !important;
    border-collapse: separate !important;
    border-spacing: 0 8px !important;
}
body.logged-in.woocommerce-account .woocommerce-MyAccount-content table.shop_table thead th {
    padding: 8px 12px !important;
    border: 0 !important;
    color: var(--wcuas-site-text, #172033) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
    opacity: .6;
}
body.logged-in.woocommerce-account .woocommerce-MyAccount-content table.shop_table tbody tr {
    background: color-mix(in srgb, var(--wcuas-site-primary, #0f2d5c) 3%, var(--wcuas-site-surface, #fff)) !important;
}
body.logged-in.woocommerce-account .woocommerce-MyAccount-content table.shop_table tbody td {
    padding: 13px 12px !important;
    border-top: 1px solid var(--wcuas-site-border, #d9dee7) !important;
    border-bottom: 1px solid var(--wcuas-site-border, #d9dee7) !important;
    font-size: 12px !important;
}
body.logged-in.woocommerce-account .woocommerce-MyAccount-content table.shop_table tbody td:first-child {
    border-left: 1px solid var(--wcuas-site-border, #d9dee7) !important;
    border-radius: 11px 0 0 11px !important;
}
body.logged-in.woocommerce-account .woocommerce-MyAccount-content table.shop_table tbody td:last-child {
    border-right: 1px solid var(--wcuas-site-border, #d9dee7) !important;
    border-radius: 0 11px 11px 0 !important;
}
body.logged-in.woocommerce-account .woocommerce-MyAccount-content .button {
    border-radius: 9px !important;
    font-family: "Poppins", Arial, Helvetica, sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
}
.wcuas-account-page-head { margin: 0 0 18px; }
.wcuas-account-kicker { display: block; margin: 0 0 3px; color: var(--wcuas-site-primary, #0f2d5c); font-size: 10px; font-weight: 800; letter-spacing: .1em; }
.wcuas-account-page-head h2 { margin: 0 0 5px !important; color: var(--wcuas-site-text, #172033) !important; font-size: 24px !important; line-height: 1.2 !important; }
.wcuas-account-page-head p { margin: 0 !important; color: var(--wcuas-site-text, #172033) !important; font-size: 12px !important; opacity: .66; }
.wcuas-account-tracking { display: grid; gap: 14px; }
.wcuas-account-tracking-card {
    padding: 17px;
    border: 1px solid var(--wcuas-site-border, #d9dee7);
    border-radius: 15px;
    background: var(--wcuas-site-surface, #fff);
    box-shadow: 0 3px 14px rgba(16,24,40,.035);
}
.wcuas-account-tracking-head,
.wcuas-account-tracking-meta,
.wcuas-account-tracking-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.wcuas-account-tracking-head h3 { margin: 0 !important; color: var(--wcuas-site-text, #172033) !important; font-size: 18px !important; }
.wcuas-account-tracking-status { padding: 6px 9px; border-radius: 999px; background: color-mix(in srgb, var(--wcuas-site-primary, #0f2d5c) 9%, #fff); color: var(--wcuas-site-primary, #0f2d5c); font-size: 10px; font-weight: 700; }
.wcuas-account-tracking-meta { margin-top: 6px; color: var(--wcuas-site-text, #172033); font-size: 11px; opacity: .72; }
.wcuas-account-tracking-steps { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; margin: 20px 0 16px; }
.wcuas-account-tracking-step { position: relative; display: grid; justify-items: center; gap: 7px; min-width: 0; color: var(--wcuas-site-text, #172033); font-size: 9px; font-weight: 600; text-align: center; opacity: .48; }
.wcuas-account-tracking-step::before { content: ''; position: absolute; top: 13px; left: 0; right: 0; height: 2px; background: var(--wcuas-site-border, #d9dee7); z-index: 0; }
.wcuas-account-tracking-step:first-child::before { left: 50%; }
.wcuas-account-tracking-step:last-child::before { right: 50%; }
.wcuas-account-tracking-dot { position: relative; z-index: 1; display: grid; place-items: center; width: 28px; height: 28px; border: 2px solid var(--wcuas-site-border, #d9dee7); border-radius: 50%; background: var(--wcuas-site-surface, #fff); color: var(--wcuas-site-text, #172033); font-size: 10px; font-weight: 800; }
.wcuas-account-tracking-step.is-done { opacity: 1; }
.wcuas-account-tracking-step.is-done::before { background: var(--wcuas-site-primary, #0f2d5c); }
.wcuas-account-tracking-step.is-done .wcuas-account-tracking-dot { border-color: var(--wcuas-site-primary, #0f2d5c); background: var(--wcuas-site-primary, #0f2d5c); color: var(--wcuas-site-button-text, #fff); }
.wcuas-account-tracking-step.is-current { color: var(--wcuas-site-primary, #0f2d5c); font-weight: 800; }
.wcuas-account-tracking-exception { margin: 14px 0; padding: 11px 12px; border-radius: 10px; background: #fef3f2; color: #b42318; font-size: 11px; line-height: 1.5; }
.wcuas-account-shipment { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 5px 12px; margin: 14px 0; padding: 13px 14px; border: 1px solid color-mix(in srgb, var(--wcuas-site-primary, #0f2d5c) 22%, #fff); border-radius: 10px; background: color-mix(in srgb, var(--wcuas-site-primary, #0f2d5c) 5%, #fff); }
.wcuas-account-shipment > span { grid-column: 1; color: var(--wcuas-site-text, #172033); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; opacity: .65; }
.wcuas-account-shipment > strong { grid-column: 1; color: var(--wcuas-site-text, #172033); font-size: 12px; overflow-wrap: anywhere; }
.wcuas-account-shipment > .button { grid-column: 2; grid-row: 1 / span 2; margin: 0 !important; white-space: nowrap; }
.wcuas-account-transit,
.wcuas-account-transit-note { grid-column: 1 / -1; margin-top: 8px; color: var(--wcuas-site-text, #172033); font-size: 11px; }
.wcuas-account-transit .wcuas-transit-feed { margin-bottom: 0 !important; }
.wcuas-account-transit-note { color: #667085; }
.wcuas-account-tracking-actions { justify-content: flex-end; }
.wcuas-account-inline-tracking { margin-bottom: 22px; }

@media (max-width: 782px) {
    body.logged-in.woocommerce-account .woocommerce { display: block !important; padding: 0 12px !important; }
    body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation { margin-bottom: 14px !important; padding: 7px !important; border-radius: 13px !important; }
    body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
    body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation a { justify-content: center !important; min-height: 40px !important; padding: 8px 9px !important; font-size: 11px !important; text-align: center !important; }
    body.logged-in.woocommerce-account .woocommerce-MyAccount-content { padding: 14px !important; border-radius: 14px !important; }
    body.logged-in.woocommerce-account .woocommerce-MyAccount-content table.shop_table_responsive tbody tr { display: block !important; margin-bottom: 10px !important; padding: 10px 12px !important; border: 1px solid var(--wcuas-site-border, #d9dee7) !important; border-radius: 12px !important; background: color-mix(in srgb, var(--wcuas-site-primary, #0f2d5c) 3%, var(--wcuas-site-surface, #fff)) !important; }
    body.logged-in.woocommerce-account .woocommerce-MyAccount-content table.shop_table_responsive tbody td { display: flex !important; justify-content: space-between !important; gap: 12px !important; padding: 6px 0 !important; border: 0 !important; border-radius: 0 !important; text-align: right !important; }
    body.logged-in.woocommerce-account .woocommerce-MyAccount-content table.shop_table_responsive tbody td::before { color: var(--wcuas-site-text, #172033) !important; font-size: 10px !important; font-weight: 700 !important; opacity: .58; }
    .wcuas-account-tracking-head { align-items: flex-start; }
    .wcuas-account-tracking-steps { grid-template-columns: 1fr; gap: 8px; margin: 16px 0; }
    .wcuas-account-tracking-step { grid-template-columns: 30px 1fr; justify-items: start; align-items: center; gap: 9px; min-height: 32px; text-align: left; font-size: 10px; }
    .wcuas-account-tracking-step::before { top: -8px; bottom: -8px; left: 13px !important; right: auto !important; width: 2px; height: auto; }
    .wcuas-account-tracking-step:first-child::before { top: 14px; }
    .wcuas-account-tracking-step:last-child::before { bottom: 14px; }
    .wcuas-account-tracking-dot { width: 28px; height: 28px; }
	.wcuas-account-shipment { grid-template-columns: 1fr; }
	.wcuas-account-shipment > .button { grid-column: 1; grid-row: auto; width: 100%; text-align: center; }
}


/* v2.3.56 — My Account structural + address-page repair.
   WooCommerce can inject an empty notices wrapper before the account navigation.
   Explicit grid placement prevents that wrapper from pushing navigation/content
   into the wrong columns. */
body.logged-in.woocommerce-account .woocommerce > .woocommerce-notices-wrapper,
body.logged-in.woocommerce-account .woocommerce > .woocommerce-message,
body.logged-in.woocommerce-account .woocommerce > .woocommerce-error,
body.logged-in.woocommerce-account .woocommerce > .woocommerce-info {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-width: 0 !important;
}
body.logged-in.woocommerce-account .woocommerce > .woocommerce-MyAccount-navigation {
    grid-column: 1 !important;
    grid-row: 2 !important;
    min-width: 0 !important;
}
body.logged-in.woocommerce-account .woocommerce > .woocommerce-MyAccount-content {
    grid-column: 2 !important;
    grid-row: 2 !important;
    min-width: 0 !important;
}

/* Address book — neutralize theme/WooCommerce float widths and turn both
   addresses into readable branded cards. */
body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses,
body.logged-in.woocommerce-account .woocommerce-MyAccount-content .u-columns.woocommerce-Addresses,
body.logged-in.woocommerce-account .woocommerce-MyAccount-content .col2-set.woocommerce-Addresses {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 18px 0 0 !important;
    padding: 0 !important;
    float: none !important;
    clear: both !important;
}
body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses::before,
body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses::after {
    display: none !important;
    content: none !important;
}
body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address,
body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .col-1,
body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .col-2,
body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .u-column1,
body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .u-column2 {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 18px !important;
    float: none !important;
    border: 1px solid var(--wcuas-site-border, #d9dee7) !important;
    border-radius: 14px !important;
    background: color-mix(in srgb, var(--wcuas-site-primary, #0f2d5c) 2.5%, var(--wcuas-site-surface, #fff)) !important;
    box-shadow: none !important;
}
body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title,
body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title.title {
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 0 0 14px !important;
    padding: 0 0 12px !important;
    border-bottom: 1px solid var(--wcuas-site-border, #d9dee7) !important;
}
body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title h2,
body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title.title h2 {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--wcuas-site-text, #172033) !important;
    font-family: "Poppins", Arial, Helvetica, sans-serif !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    overflow-wrap: anywhere !important;
}
body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title .edit,
body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title.title .edit {
    box-sizing: border-box !important;
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 34px !important;
    margin: 0 !important;
    padding: 7px 12px !important;
    float: none !important;
    border: 1px solid color-mix(in srgb, var(--wcuas-site-primary, #0f2d5c) 25%, transparent) !important;
    border-radius: 9px !important;
    background: color-mix(in srgb, var(--wcuas-site-primary, #0f2d5c) 8%, var(--wcuas-site-surface, #fff)) !important;
    color: var(--wcuas-site-primary, #0f2d5c) !important;
    font-family: "Poppins", Arial, Helvetica, sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}
body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title .edit:hover,
body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title.title .edit:hover {
    background: var(--wcuas-site-primary, #0f2d5c) !important;
    color: var(--wcuas-site-button-text, #fff) !important;
}
body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address address {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--wcuas-site-text, #172033) !important;
    font-family: "Poppins", Arial, Helvetica, sans-serif !important;
    font-size: 13px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;
    overflow-wrap: anywhere !important;
}
body.logged-in.woocommerce-account .woocommerce-MyAccount-content > p:first-child {
    max-width: 720px !important;
    margin-top: 0 !important;
    color: var(--wcuas-site-text, #172033) !important;
    font-size: 13px !important;
    line-height: 1.65 !important;
    opacity: .72;
}

@media (max-width: 782px) {
    body.logged-in.woocommerce-account .woocommerce > .woocommerce-MyAccount-navigation,
    body.logged-in.woocommerce-account .woocommerce > .woocommerce-MyAccount-content,
    body.logged-in.woocommerce-account .woocommerce > .woocommerce-notices-wrapper,
    body.logged-in.woocommerce-account .woocommerce > .woocommerce-message,
    body.logged-in.woocommerce-account .woocommerce > .woocommerce-error,
    body.logged-in.woocommerce-account .woocommerce > .woocommerce-info {
        grid-column: auto !important;
        grid-row: auto !important;
    }
    body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses,
    body.logged-in.woocommerce-account .woocommerce-MyAccount-content .u-columns.woocommerce-Addresses,
    body.logged-in.woocommerce-account .woocommerce-MyAccount-content .col2-set.woocommerce-Addresses {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        margin-top: 14px !important;
    }
    body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address,
    body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .col-1,
    body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .col-2,
    body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .u-column1,
    body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .u-column2 {
        padding: 15px !important;
        border-radius: 12px !important;
    }
    body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title h2,
    body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title.title h2 {
        font-size: 15px !important;
    }
}


/* v2.3.57 — branded account notices + durable mobile nav/footer polish. */
body.logged-in.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-info,
body.logged-in.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-message,
body.logged-in.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-error,
body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-notices-wrapper > .woocommerce-info,
body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-notices-wrapper > .woocommerce-message,
body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-notices-wrapper > .woocommerce-error {
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    min-height: 64px !important;
    margin: 0 0 14px !important;
    padding: 14px 16px !important;
    border: 1px solid color-mix(in srgb, var(--wcuas-site-primary, #0f2d5c) 18%, var(--wcuas-site-border, #d9dee7)) !important;
    border-top-width: 1px !important;
    border-left: 4px solid var(--wcuas-site-primary, #0f2d5c) !important;
    border-radius: 12px !important;
    background: color-mix(in srgb, var(--wcuas-site-primary, #0f2d5c) 4%, var(--wcuas-site-surface, #fff)) !important;
    color: var(--wcuas-site-text, #172033) !important;
    font-family: "Poppins", Arial, Helvetica, sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.55 !important;
    box-shadow: none !important;
}
body.logged-in.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-info::before,
body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-notices-wrapper > .woocommerce-info::before,
body.logged-in.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-message::before,
body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-notices-wrapper > .woocommerce-message::before,
body.logged-in.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-error::before,
body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-notices-wrapper > .woocommerce-error::before {
    position: static !important;
    inset: auto !important;
    flex: 0 0 28px !important;
    display: inline-grid !important;
    place-items: center !important;
    width: 28px !important;
    height: 28px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: var(--wcuas-site-primary, #0f2d5c) !important;
    color: var(--wcuas-site-button-text, #fff) !important;
    font-family: "Poppins", Arial, Helvetica, sans-serif !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    transform: none !important;
}
body.logged-in.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-info::before,
body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-notices-wrapper > .woocommerce-info::before { content: "i" !important; }
body.logged-in.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-message::before,
body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-notices-wrapper > .woocommerce-message::before { content: "✓" !important; }
body.logged-in.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-error::before,
body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-notices-wrapper > .woocommerce-error::before { content: "!" !important; background: var(--wcuas-site-secondary, #c8102e) !important; }
body.logged-in.woocommerce-account .woocommerce-MyAccount-content :is(.woocommerce-info,.woocommerce-message,.woocommerce-error) .button {
    flex: 0 0 auto !important;
    margin: 0 0 0 auto !important;
    padding: 10px 15px !important;
    border: 1px solid var(--wcuas-site-primary, #0f2d5c) !important;
    border-radius: 9px !important;
    background: var(--wcuas-site-primary, #0f2d5c) !important;
    color: var(--wcuas-site-button-text, #fff) !important;
    font-family: "Poppins", Arial, Helvetica, sans-serif !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
}

@media (max-width: 782px) {
    body.wcuas-has-mobile-bottom-nav {
        box-sizing: border-box !important;
        padding-bottom: calc(var(--wcuas-mobile-nav-clearance, 84px) + env(safe-area-inset-bottom)) !important;
    }

    .wcuas-mobile-bottom-nav,
    .wcuas-mobile-bottom-nav-track {
        z-index: 99970 !important;
    }
    .wcuas-mobile-bottom-nav .wcuas-mobile-bottom-nav-item > a,
    .wcuas-mobile-bottom-nav .wcuas-mobile-bottom-nav-item > button {
        box-sizing: border-box !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 4px !important;
        min-height: 62px !important;
        padding: 7px 3px 6px !important;
        text-align: center !important;
        overflow: visible !important;
    }
    .wcuas-mobile-bottom-nav .wcuas-mobile-bottom-nav-item > a > i,
    .wcuas-mobile-bottom-nav .wcuas-mobile-bottom-nav-item > a > svg,
    .wcuas-mobile-bottom-nav .wcuas-mobile-bottom-nav-item > button > i,
    .wcuas-mobile-bottom-nav .wcuas-mobile-bottom-nav-item > button > svg {
        display: none !important;
    }
    .wcuas-mobile-bottom-nav .wcuas-mobile-bottom-nav-item > a::before,
    .wcuas-mobile-bottom-nav .wcuas-mobile-bottom-nav-item > button::before {
        content: "" !important;
        flex: 0 0 21px !important;
        display: block !important;
        width: 21px !important;
        height: 21px !important;
        margin: 0 auto !important;
        background-color: currentColor !important;
        -webkit-mask-repeat: no-repeat !important;
        mask-repeat: no-repeat !important;
        -webkit-mask-position: center !important;
        mask-position: center !important;
        -webkit-mask-size: contain !important;
        mask-size: contain !important;
    }
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-home-item > a::before,
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-home-item > button::before {
        -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3.2 2.8 10.7l1.4 1.7L5.5 11.3V21h5v-6h3v6h5v-9.7l1.3 1.1 1.4-1.7z'/%3E%3C/svg%3E") !important;
        mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3.2 2.8 10.7l1.4 1.7L5.5 11.3V21h5v-6h3v6h5v-9.7l1.3 1.1 1.4-1.7z'/%3E%3C/svg%3E") !important;
    }
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-search-item > a::before,
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-search-item > button::before {
        -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M10.5 4a6.5 6.5 0 1 0 3.9 11.7L19.7 21 21 19.7l-5.3-5.3A6.5 6.5 0 0 0 10.5 4m0 2a4.5 4.5 0 1 1 0 9 4.5 4.5 0 0 1 0-9'/%3E%3C/svg%3E") !important;
        mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M10.5 4a6.5 6.5 0 1 0 3.9 11.7L19.7 21 21 19.7l-5.3-5.3A6.5 6.5 0 0 0 10.5 4m0 2a4.5 4.5 0 1 1 0 9 4.5 4.5 0 0 1 0-9'/%3E%3C/svg%3E") !important;
    }
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-cart-item > a::before,
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-cart-item > button::before {
        -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 4h2.2l1.9 9.1a2 2 0 0 0 2 1.6h7.8a2 2 0 0 0 2-1.6L20.3 7H7l-.4-2H3zm6.5 12.2a1.7 1.7 0 1 0 0 3.4 1.7 1.7 0 0 0 0-3.4m7 0a1.7 1.7 0 1 0 0 3.4 1.7 1.7 0 0 0 0-3.4'/%3E%3C/svg%3E") !important;
        mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 4h2.2l1.9 9.1a2 2 0 0 0 2 1.6h7.8a2 2 0 0 0 2-1.6L20.3 7H7l-.4-2H3zm6.5 12.2a1.7 1.7 0 1 0 0 3.4 1.7 1.7 0 0 0 0-3.4m7 0a1.7 1.7 0 1 0 0 3.4 1.7 1.7 0 0 0 0-3.4'/%3E%3C/svg%3E") !important;
    }
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-checkout-item > a::before,
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-checkout-item > button::before {
        -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 4h16v16H4zm2 2v12h12V6zm2 5.2 2.3 2.3 5.1-5.1 1.4 1.4-6.5 6.5-3.7-3.7z'/%3E%3C/svg%3E") !important;
        mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 4h16v16H4zm2 2v12h12V6zm2 5.2 2.3 2.3 5.1-5.1 1.4 1.4-6.5 6.5-3.7-3.7z'/%3E%3C/svg%3E") !important;
    }
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-account-item > a::before,
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-account-item > button::before {
        -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3.5a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9M4.5 21c.5-4.1 3.3-6.5 7.5-6.5s7 2.4 7.5 6.5z'/%3E%3C/svg%3E") !important;
        mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3.5a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9M4.5 21c.5-4.1 3.3-6.5 7.5-6.5s7 2.4 7.5 6.5z'/%3E%3C/svg%3E") !important;
    }
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-contact-item > a::before,
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-contact-item > button::before {
        -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 5h18v14H3zm2 2v.4l7 5.1 7-5.1V7l-7 5-7-5m0 2.8V17h14V9.8l-7 5z'/%3E%3C/svg%3E") !important;
        mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 5h18v14H3zm2 2v.4l7 5.1 7-5.1V7l-7 5-7-5m0 2.8V17h14V9.8l-7 5z'/%3E%3C/svg%3E") !important;
    }

    .wcuas-fundraiser-card.wcuas-mobile-fundraiser-bottom {
        width: calc(100% - 24px) !important;
        margin: 24px 12px 24px !important;
    }
    .wcuas-fundraiser-card.wcuas-mobile-fundraiser-bottom[data-wcuas-mobile-placement="above-footer"] {
        order: initial !important;
    }

    body.logged-in.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-info,
    body.logged-in.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-message,
    body.logged-in.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-error,
    body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-notices-wrapper > .woocommerce-info,
    body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-notices-wrapper > .woocommerce-message,
    body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-notices-wrapper > .woocommerce-error {
        align-items: flex-start !important;
        flex-wrap: wrap !important;
        padding: 13px 14px !important;
    }
    body.logged-in.woocommerce-account .woocommerce-MyAccount-content :is(.woocommerce-info,.woocommerce-message,.woocommerce-error) .button {
        width: 100% !important;
        margin: 4px 0 0 !important;
        justify-content: center !important;
        text-align: center !important;
    }
}


/* v2.3.58 — guaranteed pre-footer fundraiser + reliable mobile Search SVG ---- */
@media (max-width: 782px) {
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-search-item > a.wcuas-mobile-search-svg-ready::before,
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-search-item > button.wcuas-mobile-search-svg-ready::before {
        display: none !important;
        content: none !important;
    }
    .wcuas-mobile-bottom-nav .wcuas-mobile-search-svg {
        box-sizing: border-box !important;
        display: block !important;
        flex: 0 0 21px !important;
        width: 21px !important;
        height: 21px !important;
        margin: 0 auto !important;
        color: currentColor !important;
        line-height: 0 !important;
    }
    .wcuas-mobile-bottom-nav .wcuas-mobile-search-svg svg {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        overflow: visible !important;
    }
    #wcuas-fundraiser-fallback {
        display: block !important;
        width: 100% !important;
    }
    .wcuas-fundraiser-card.wcuas-mobile-fundraiser-bottom {
        position: relative !important;
        z-index: 1 !important;
        clear: both !important;
    }
}


/* v2.3.60 — authoritative mobile search icon + true pre-footer fundraiser ---- */
.wcuas-mobile-fundraiser-footer-slot {
    display: none;
}
@media (max-width: 782px) {
    /* Use exactly one Search icon, at the same 21px size as every other mobile-nav icon. */
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-search-item > a .wcuas-mobile-search-svg,
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-search-item > button .wcuas-mobile-search-svg,
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-search-item > a .wcuas-v2359-search-icon,
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-search-item > button .wcuas-v2359-search-icon,
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-search-item > a > i,
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-search-item > button > i,
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-search-item > a > svg,
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-search-item > button > svg,
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-search-item > a > .search-icon,
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-search-item > button > .search-icon,
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-search-item > a > [class*="icon-search"],
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-search-item > button > [class*="icon-search"] {
        display: none !important;
    }
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-search-item > a::after,
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-search-item > button::after {
        display: none !important;
        content: none !important;
    }
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-search-item > a::before,
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-search-item > button::before {
        content: "" !important;
        display: block !important;
        flex: 0 0 21px !important;
        width: 21px !important;
        height: 21px !important;
        min-width: 21px !important;
        min-height: 21px !important;
        max-width: 21px !important;
        max-height: 21px !important;
        margin: 0 auto !important;
        background-color: currentColor !important;
        -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M10.5 4a6.5 6.5 0 1 0 3.9 11.7L19.7 21 21 19.7l-5.3-5.3A6.5 6.5 0 0 0 10.5 4m0 2a4.5 4.5 0 1 1 0 9 4.5 4.5 0 0 1 0-9'/%3E%3C/svg%3E") !important;
        mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M10.5 4a6.5 6.5 0 1 0 3.9 11.7L19.7 21 21 19.7l-5.3-5.3A6.5 6.5 0 0 0 10.5 4m0 2a4.5 4.5 0 1 1 0 9 4.5 4.5 0 0 1 0-9'/%3E%3C/svg%3E") !important;
        -webkit-mask-repeat: no-repeat !important;
        mask-repeat: no-repeat !important;
        -webkit-mask-position: center !important;
        mask-position: center !important;
        -webkit-mask-size: contain !important;
        mask-size: contain !important;
    }

    /* The normal shop-loop/fallback fundraiser is hidden on phones. */
    .wcuas-storefront-fundraiser-primary,
    .wcuas-fundraiser-card-fallback {
        display: none !important;
    }

    /* This slot is emitted by get_footer BEFORE the footer template is loaded. */
    .wcuas-mobile-fundraiser-footer-slot {
        box-sizing: border-box !important;
        display: block !important;
        position: relative !important;
        clear: both !important;
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 24px 0 20px !important;
        padding: 0 12px !important;
        z-index: 1 !important;
    }
    .wcuas-mobile-fundraiser-footer-slot .wcuas-mobile-footer-fundraiser-card {
        box-sizing: border-box !important;
        display: flex !important;
        position: relative !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
    }
}


/* v2.3.61 — mobile Search label only; no icon ------------------------- */
@media (max-width: 782px) {
    /* Keep Search available in the mobile nav, but intentionally show no icon. */
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-search-item > a::before,
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-search-item > button::before,
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-search-item > a::after,
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-search-item > button::after {
        content: none !important;
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        min-width: 0 !important;
        min-height: 0 !important;
        max-width: 0 !important;
        max-height: 0 !important;
        flex: 0 0 0 !important;
        margin: 0 !important;
        background: none !important;
        -webkit-mask-image: none !important;
        mask-image: none !important;
    }
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-search-item > a .wcuas-mobile-search-svg,
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-search-item > button .wcuas-mobile-search-svg,
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-search-item > a .wcuas-v2359-search-icon,
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-search-item > button .wcuas-v2359-search-icon,
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-search-item > a > i,
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-search-item > button > i,
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-search-item > a > svg,
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-search-item > button > svg,
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-search-item > a > .search-icon,
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-search-item > button > .search-icon,
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-search-item > a > [class*="icon-search"],
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-search-item > button > [class*="icon-search"] {
        display: none !important;
    }
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-search-item > a,
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-search-item > button {
        gap: 0 !important;
    }
}

/* v2.3.62 — storefront add notice, checkout account reuse, shipping radios + bulk pricing */
.woocommerce-message:has(.wcuas-added-cart-confirmation),
.woocommerce-notices-wrapper .woocommerce-message:has(.wcuas-added-cart-confirmation) {
    box-sizing: border-box !important;
    border: 1px solid color-mix(in srgb, var(--wcuas-site-primary, #0f2d5c) 24%, #fff) !important;
    border-left: 4px solid var(--wcuas-site-primary, #0f2d5c) !important;
    border-radius: 12px !important;
    background: color-mix(in srgb, var(--wcuas-site-primary, #0f2d5c) 6%, #fff) !important;
    color: var(--wcuas-site-text, #172033) !important;
    font-family: "Poppins", Arial, Helvetica, sans-serif !important;
    box-shadow: none !important;
}
.woocommerce-message:has(.wcuas-added-cart-confirmation)::before,
.woocommerce-notices-wrapper .woocommerce-message:has(.wcuas-added-cart-confirmation)::before {
    display: none !important;
    content: none !important;
}
.woocommerce-message .wcuas-added-cart-confirmation,
.woocommerce-message .wcuas-view-cart,
.woocommerce-message .wcuas-continue-shopping,
.woocommerce-notices-wrapper .wcuas-added-cart-confirmation,
.woocommerce-notices-wrapper .wcuas-view-cart,
.woocommerce-notices-wrapper .wcuas-continue-shopping {
    font-family: "Poppins", Arial, Helvetica, sans-serif !important;
}
.woocommerce-message .wcuas-view-cart,
.woocommerce-notices-wrapper .wcuas-view-cart {
    background: var(--wcuas-site-primary, #0f2d5c) !important;
    border-color: var(--wcuas-site-primary, #0f2d5c) !important;
    color: var(--wcuas-site-button-text, #fff) !important;
}
.woocommerce-message .wcuas-continue-shopping,
.woocommerce-notices-wrapper .wcuas-continue-shopping {
    background: var(--wcuas-site-surface, #fff) !important;
    border-color: var(--wcuas-site-primary, #0f2d5c) !important;
    color: var(--wcuas-site-primary, #0f2d5c) !important;
}

/* Shipping methods: reliable, aligned native radio circles. Do not allow theme
   checkmarks/pseudo-elements to sit over method names. */
body.woocommerce-checkout .wcuas-shipping-method-row {
    box-sizing: border-box !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow: visible !important;
}
body.woocommerce-checkout label.wcuas-shipping-method-label {
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-width: 0 !important;
    width: 100% !important;
    padding: 8px 0 !important;
    margin: 0 !important;
    color: var(--wcuas-site-text, #172033) !important;
    font-family: "Poppins", Arial, Helvetica, sans-serif !important;
    line-height: 1.35 !important;
    white-space: normal !important;
}
body.woocommerce-checkout label.wcuas-shipping-method-label::before,
body.woocommerce-checkout label.wcuas-shipping-method-label::after {
    display: none !important;
    content: none !important;
}
body.woocommerce-checkout input[name^="shipping_method"] {
    position: static !important;
    display: inline-block !important;
    flex: 0 0 18px !important;
    width: 18px !important;
    min-width: 18px !important;
    height: 18px !important;
    min-height: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid var(--wcuas-site-border, #aeb7c4) !important;
    border-radius: 50% !important;
    opacity: 1 !important;
    visibility: visible !important;
    clip: auto !important;
    transform: none !important;
    appearance: auto !important;
    -webkit-appearance: radio !important;
    accent-color: var(--wcuas-site-primary, #0f2d5c) !important;
    vertical-align: middle !important;
}

/* Logged-in shoppers use the account email/address already saved in WooCommerce.
   Keep the actual inputs in the form for shipping-rate/payment plugins, but don't
   ask the shopper to type the same information again. */
body.wcuas-logged-in-checkout .wcuas-saved-account-field,
body.wcuas-logged-in-checkout #billing_email_field,
body.wcuas-logged-in-checkout .woocommerce-shipping-fields__field-wrapper > .form-row.wcuas-saved-account-field {
    display: none !important;
}
body.woocommerce-checkout .wcuas-saved-account-summary {
    box-sizing: border-box !important;
    display: grid !important;
    gap: 4px !important;
    margin: 10px 0 14px !important;
    padding: 12px 14px !important;
    border: 1px solid var(--wcuas-site-border, #d9dee7) !important;
    border-radius: 10px !important;
    background: color-mix(in srgb, var(--wcuas-site-primary, #0f2d5c) 5%, #fff) !important;
    color: var(--wcuas-site-text, #172033) !important;
    font-family: "Poppins", Arial, Helvetica, sans-serif !important;
}
body.woocommerce-checkout .wcuas-saved-account-kicker {
    color: var(--wcuas-site-primary, #0f2d5c) !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
}
body.woocommerce-checkout .wcuas-saved-account-summary strong {
    font-size: 13px !important;
    font-weight: 700 !important;
}
body.woocommerce-checkout .wcuas-saved-account-address {
    display: grid !important;
    gap: 1px !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
}
body.woocommerce-checkout .wcuas-saved-account-edit {
    width: max-content !important;
    margin-top: 4px !important;
    color: var(--wcuas-site-primary, #0f2d5c) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
}

/* Pickup Location always presents the destination as Name + Address. */
body.woocommerce-checkout .wcuas-pickup-location-card {
    font-family: "Poppins", Arial, Helvetica, sans-serif !important;
}
body.woocommerce-checkout .wcuas-pickup-location-name,
body.woocommerce-checkout .wcuas-pickup-location-address {
    display: block !important;
}
body.woocommerce-checkout .wcuas-pickup-location-name {
    margin-top: 5px !important;
    font-weight: 700 !important;
}
body.woocommerce-checkout .wcuas-pickup-location-address {
    margin-top: 3px !important;
    white-space: pre-line !important;
    line-height: 1.4 !important;
}

/* Bulk-order offer shown on product pages. */
.wcuas-bulk-order-pricing {
    box-sizing: border-box !important;
    display: grid !important;
    gap: 6px !important;
    margin: 0 0 14px !important;
    padding: 12px 14px !important;
    border: 1px solid var(--wcuas-site-border, #d9dee7) !important;
    border-radius: 12px !important;
    background: color-mix(in srgb, var(--wcuas-site-primary, #0f2d5c) 5%, #fff) !important;
    color: var(--wcuas-site-text, #172033) !important;
    font-family: "Poppins", Arial, Helvetica, sans-serif !important;
}
.wcuas-bulk-order-pricing > strong {
    color: var(--wcuas-site-primary, #0f2d5c) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}
.wcuas-bulk-order-pricing > span {
    font-size: 11px !important;
    line-height: 1.4 !important;
}
.wcuas-bulk-order-tiers {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
}
.wcuas-bulk-order-tiers > span {
    display: inline-flex !important;
    gap: 4px !important;
    align-items: center !important;
    padding: 5px 8px !important;
    border-radius: 999px !important;
    background: var(--wcuas-site-surface, #fff) !important;
    border: 1px solid var(--wcuas-site-border, #d9dee7) !important;
    font-size: 10.5px !important;
    font-weight: 600 !important;
}

@media (max-width: 782px) {
    /* One image in column one; product title/details/quantity begin immediately
       beside it in column two. */
    body.woocommerce-checkout .product-name.wcuas-mobile-checkout-title-beside-image,
    body.woocommerce-checkout .wc-block-components-order-summary-item__description.wcuas-mobile-checkout-title-beside-image {
        display: grid !important;
        grid-template-columns: 68px minmax(0, 1fr) !important;
        column-gap: 10px !important;
        row-gap: 3px !important;
        align-items: start !important;
        width: 100% !important;
        min-width: 0 !important;
        text-align: left !important;
    }
    body.woocommerce-checkout .wcuas-mobile-checkout-title-beside-image > .wcuas-mobile-injected-thumb {
        grid-column: 1 !important;
        grid-row: 1 / span 8 !important;
        margin: 0 !important;
    }
    body.woocommerce-checkout .wcuas-mobile-checkout-title-beside-image > :not(.wcuas-mobile-injected-thumb) {
        grid-column: 2 !important;
        min-width: 0 !important;
    }
    body.woocommerce-checkout .wcuas-mobile-checkout-title-beside-image > a:first-of-type,
    body.woocommerce-checkout .wcuas-mobile-checkout-title-beside-image > .product-name,
    body.woocommerce-checkout .wcuas-mobile-checkout-title-beside-image > .wc-block-components-product-name {
        margin-top: 0 !important;
        font-family: "Poppins", Arial, Helvetica, sans-serif !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        line-height: 1.3 !important;
    }
}

/* v2.3.62 shipping-radio final alignment override */
body.woocommerce-checkout .wcuas-shipping-method-row {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: nowrap !important;
}
body.woocommerce-checkout .wcuas-shipping-method-row::before,
body.woocommerce-checkout .wcuas-shipping-method-row::after {
    display: none !important;
    content: none !important;
}
body.woocommerce-checkout .wcuas-shipping-method-row > label.wcuas-shipping-method-label {
    flex: 1 1 auto !important;
    padding: 0 !important;
}


/* v2.3.63 — persistent shipping selection + checkout address autocomplete */
body.woocommerce-checkout form.checkout #shipping_method > li.wcuas-shipping-method-row,
body.woocommerce-checkout form.woocommerce-checkout .woocommerce-shipping-methods > li.wcuas-shipping-method-row,
body.woocommerce-checkout .wc-block-components-radio-control__option.wcuas-shipping-method-row {
    display: grid !important;
    grid-template-columns: 22px minmax(0, 1fr) !important;
    align-items: center !important;
    column-gap: 10px !important;
    width: 100% !important;
}
body.woocommerce-checkout form.checkout input[type="radio"][name^="shipping_method"],
body.woocommerce-checkout form.woocommerce-checkout input[type="radio"][name^="shipping_method"],
body.woocommerce-checkout #shipping_method input[type="radio"][name^="shipping_method"],
body.woocommerce-checkout .woocommerce-shipping-methods input[type="radio"][name^="shipping_method"] {
    grid-column: 1 !important;
    align-self: center !important;
    justify-self: center !important;
    position: static !important;
    display: inline-block !important;
    width: 18px !important;
    min-width: 18px !important;
    height: 18px !important;
    min-height: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    clip: auto !important;
    border-radius: 50% !important;
    accent-color: var(--wcuas-site-primary, #0f2d5c) !important;
    -webkit-appearance: radio !important;
    appearance: auto !important;
}
body.woocommerce-checkout form.checkout .wcuas-shipping-method-row > label.wcuas-shipping-method-label,
body.woocommerce-checkout form.woocommerce-checkout .wcuas-shipping-method-row > label.wcuas-shipping-method-label {
    grid-column: 2 !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
}
body.woocommerce-checkout form.checkout .wcuas-shipping-method-row::before,
body.woocommerce-checkout form.checkout .wcuas-shipping-method-row::after,
body.woocommerce-checkout form.woocommerce-checkout .wcuas-shipping-method-row::before,
body.woocommerce-checkout form.woocommerce-checkout .wcuas-shipping-method-row::after,
body.woocommerce-checkout form.checkout .wcuas-shipping-method-row > label::before,
body.woocommerce-checkout form.checkout .wcuas-shipping-method-row > label::after,
body.woocommerce-checkout form.woocommerce-checkout .wcuas-shipping-method-row > label::before,
body.woocommerce-checkout form.woocommerce-checkout .wcuas-shipping-method-row > label::after {
    content: none !important;
    display: none !important;
}

body.woocommerce-checkout gmp-place-autocomplete.wcuas-place-autocomplete {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    font-family: "Poppins", Arial, Helvetica, sans-serif !important;
    color: var(--wcuas-site-text, #172033) !important;
}
body.woocommerce-checkout .wcuas-address-autocomplete-search {
    box-sizing: border-box !important;
    display: grid !important;
    gap: 5px !important;
    width: 100% !important;
    margin: 0 0 9px !important;
}
body.woocommerce-checkout .wcuas-address-autocomplete-label {
    color: var(--wcuas-site-text, #172033) !important;
    font-family: "Poppins", Arial, Helvetica, sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
}
body.woocommerce-checkout .pac-container {
    z-index: 999999 !important;
    font-family: "Poppins", Arial, Helvetica, sans-serif !important;
}


/* v2.3.64 — visible Clear Cart action + remove Search from mobile bottom nav. */
.woocommerce-message .wcuas-added-cart-clear,
.woocommerce-notices-wrapper .wcuas-added-cart-clear {
    font-family: "Poppins", Arial, Helvetica, sans-serif !important;
    background: transparent !important;
    border: 1px solid color-mix(in srgb, var(--wcuas-site-primary, #0f2d5c) 45%, #fff) !important;
    color: var(--wcuas-site-primary, #0f2d5c) !important;
}
.woocommerce-message .wcuas-added-cart-clear:hover,
.woocommerce-notices-wrapper .wcuas-added-cart-clear:hover {
    background: color-mix(in srgb, var(--wcuas-site-primary, #0f2d5c) 8%, #fff) !important;
}

@media (max-width: 782px) {
    /* Search is deliberately not part of PromoSpirit's mobile bottom navigation. */
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-search-item {
        display: none !important;
    }
    .wcuas-mobile-bottom-nav-track {
        gap: 0 !important;
    }
}


/* v2.3.65 — school destination, account orders/rewards, thank-you cleanup -------- */
@media (max-width: 782px) {
    /* Search must not reappear when the Home view rebuilds its sticky navigation. */
    .wcuas-mobile-bottom-nav .wcuas-mobile-nav-search-item,
    .wcuas-mobile-bottom-nav-track .wcuas-mobile-nav-search-item {
        display: none !important;
    }
}

/* Completed/thank-you pages should not show the obsolete Shopping Cart → Checkout
   numbered progress strip now that PromoSpirit uses a checkout-only flow. */
body.woocommerce-order-received .checkout-page-title,
body.woocommerce-order-received .checkout-breadcrumbs,
body.woocommerce-order-received .cart-checkout-nav,
body.woocommerce-order-received .checkout-steps,
body.woocommerce-order-received .woocommerce-steps,
body.woocommerce-order-received [class*="checkout-step"]:has(a[href*="cart"]),
body.woocommerce-order-received [class*="checkout-step"]:has(a[href*="checkout"]) {
    display: none !important;
}

/* My Account > Orders: give the table the main content width and readable type. */
body.logged-in.woocommerce-account.woocommerce-orders .woocommerce-MyAccount-content,
body.logged-in.woocommerce-account .woocommerce-MyAccount-content:has(.woocommerce-orders-table) {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}
body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    table-layout: auto !important;
    margin: 0 !important;
    font-family: "Poppins", Arial, Helvetica, sans-serif !important;
}
body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table th {
    font-size: 12px !important;
    line-height: 1.35 !important;
}
body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table td,
body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table td a,
body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table td span {
    font-size: 14px !important;
    line-height: 1.45 !important;
}
body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions {
    min-width: 190px !important;
    text-align: right !important;
}
body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions .button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 38px !important;
    margin: 2px 0 2px 6px !important;
    padding: 9px 13px !important;
    font-size: 12px !important;
}

/* Simple Points & Rewards compatibility: allow its Rewards dashboard to occupy
   the normal My Account content card without being squeezed by theme floats. */
body.logged-in.woocommerce-account .wcuas-account-rewards-compat,
body.logged-in.woocommerce-account .woocommerce-MyAccount-content [class*="spar"],
body.logged-in.woocommerce-account .woocommerce-MyAccount-content [id*="spar"] {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    font-family: "Poppins", Arial, Helvetica, sans-serif !important;
}

@media (max-width: 782px) {
    body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table tbody tr {
        width: 100% !important;
        padding: 14px !important;
    }
    body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table tbody td,
    body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table tbody td a,
    body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table tbody td span {
        font-size: 13px !important;
    }
    body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table tbody td::before {
        font-size: 11px !important;
    }
    body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: flex-end !important;
        min-width: 0 !important;
    }
    body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions .button {
        margin: 4px 0 0 6px !important;
    }
}


/* v2.3.66 — School Drop Off checkout + branded final step ----------------- */
body.woocommerce-checkout #billing_wcuas_delivery_type_field,
body.woocommerce-checkout #wcuas_delivery_type_field,
body.woocommerce-checkout .wcuas-delivery-field,
body.woocommerce-checkout .wcuas-delivery-field-hidden {
    display:none !important;
}
body.woocommerce-checkout .wcuas-pickup-school-fields #billing_wcuas_delivery_type_field { display:none !important; }
body.woocommerce-checkout .wcuas-pickup-school-heading { font-family:'Poppins',sans-serif !important; font-weight:700 !important; }
body.woocommerce-checkout .wcuas-checkout-step-bar,
body.woocommerce-checkout .wcuas-checkout-step-indicator {
    border-color:var(--wcuas-site-primary,#0f2d5c) !important;
}
body.woocommerce-checkout .wcuas-checkout-step-bar {
    background-color:var(--wcuas-site-primary,#0f2d5c) !important;
    background-image:none !important;
    color:#fff !important;
}
body.woocommerce-checkout .wcuas-checkout-step-bar .wcuas-checkout-step-indicator,
body.woocommerce-checkout .wcuas-checkout-step-bar .wcuas-checkout-step-indicator * {
    color:#fff !important;
}


/* v2.3.67 — wider storefront hero + cleaner add-to-cart action spacing -------- */
@media (min-width: 783px) {
    .wcuas-store-hero {
        width: min(1500px, calc(100vw - 40px)) !important;
        max-width: none !important;
        min-height: 280px !important;
        margin-left: 50% !important;
        margin-right: 0 !important;
        transform: translateX(-50%) !important;
        border-radius: 18px !important;
    }
    .wcuas-store-hero .wcuas-store-hero-copy,
    .wcuas-store-hero.has-image .wcuas-store-hero-copy {
        min-height: 280px !important;
        padding-top: 34px !important;
        padding-bottom: 34px !important;
    }
}
@media (max-width: 782px) {
    .wcuas-store-hero {
        min-height: 230px !important;
        margin-bottom: 24px !important;
    }
    .wcuas-store-hero .wcuas-store-hero-copy,
    .wcuas-store-hero.has-image .wcuas-store-hero-copy {
        min-height: 230px !important;
    }
}

.woocommerce-message:has(.wcuas-added-cart-confirmation),
.woocommerce-notices-wrapper .woocommerce-message:has(.wcuas-added-cart-confirmation) {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 12px 16px !important;
}
.woocommerce-message .wcuas-added-cart-actions,
.woocommerce-notices-wrapper .wcuas-added-cart-actions {
    display: inline-flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin-left: auto !important;
}
.woocommerce-message .wcuas-added-cart-actions .button,
.woocommerce-notices-wrapper .wcuas-added-cart-actions .button {
    margin: 0 !important;
    min-height: 40px !important;
    padding: 9px 15px !important;
    white-space: nowrap !important;
}
@media (max-width: 640px) {
    .woocommerce-message .wcuas-added-cart-actions,
    .woocommerce-notices-wrapper .wcuas-added-cart-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
        margin-left: 0 !important;
        gap: 10px !important;
    }
    .woocommerce-message .wcuas-added-cart-actions .button,
    .woocommerce-notices-wrapper .wcuas-added-cart-actions .button {
        width: 100% !important;
        text-align: center !important;
    }
}


/* v2.3.69 — Shop & Support primary-color card ------------------------------ */
.wcuas-fundraiser-card {
    background: var(--wcuas-site-primary, #0f2d5c) !important;
    border-color: color-mix(in srgb, var(--wcuas-site-button-text, #fff) 24%, transparent) !important;
    color: var(--wcuas-site-button-text, #fff) !important;
    box-shadow: 0 10px 28px color-mix(in srgb, var(--wcuas-site-primary, #0f2d5c) 28%, transparent) !important;
}
.wcuas-fundraiser-card h3,
.wcuas-fundraiser-card p,
.wcuas-fundraiser-card .wcuas-fundraiser-progress,
.wcuas-fundraiser-card .wcuas-fundraiser-progress-head,
.wcuas-fundraiser-card .wcuas-fundraiser-progress-values,
.wcuas-fundraiser-card .wcuas-fundraiser-rate strong,
.wcuas-fundraiser-card .wcuas-fundraiser-rate span {
    color: var(--wcuas-site-button-text, #fff) !important;
}
.wcuas-fundraiser-card p,
.wcuas-fundraiser-card .wcuas-fundraiser-progress-values,
.wcuas-fundraiser-card .wcuas-fundraiser-rate span {
    opacity: .88 !important;
}
.wcuas-fundraiser-card .wcuas-fundraiser-icon,
.wcuas-fundraiser-card .wcuas-fundraiser-rate {
    background: color-mix(in srgb, var(--wcuas-site-button-text, #fff) 13%, transparent) !important;
    border: 1px solid color-mix(in srgb, var(--wcuas-site-button-text, #fff) 24%, transparent) !important;
    color: var(--wcuas-site-button-text, #fff) !important;
}
.wcuas-fundraiser-card .wcuas-thermometer {
    background: color-mix(in srgb, var(--wcuas-site-button-text, #fff) 14%, transparent) !important;
    color: var(--wcuas-site-button-text, #fff) !important;
}

/* v2.3.70 — Checkout Order Summary inline cart editor.
   Flux/theme "Edit Cart" links are intercepted in JS so shoppers can update the
   hidden WooCommerce cart without leaving Checkout. */
body.woocommerce-checkout .wcuas-checkout-item-removing {
    opacity: .42 !important;
    pointer-events: none !important;
    transition: opacity .18s ease !important;
}
body.woocommerce-checkout .wcuas-checkout-item-editor .wcuas-checkout-remove-item {
    width: auto !important;
    min-width: 0 !important;
    padding: 0 11px !important;
    border-left: 1px solid var(--wcuas-site-border, #d9dee7) !important;
    background: color-mix(in srgb, #b42318 7%, var(--wcuas-site-surface, #fff)) !important;
    color: #b42318 !important;
    font-family: "Poppins", Arial, Helvetica, sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    white-space: nowrap !important;
}
body.woocommerce-checkout .wcuas-checkout-item-editor .wcuas-checkout-remove-item:hover {
    background: #b42318 !important;
    color: #fff !important;
}
body.woocommerce-checkout .wcuas-checkout-edit-cart-trigger {
    cursor: pointer !important;
}

@media (min-width: 783px) {
    body.woocommerce-checkout .wcuas-checkout-item-editor {
        display: none !important;
    }
    body.woocommerce-checkout.wcuas-checkout-inline-editing .wcuas-checkout-item-editor {
        display: inline-flex !important;
        align-items: center !important;
        gap: 0 !important;
        margin: 10px 0 2px !important;
        min-height: 36px !important;
        overflow: hidden !important;
        border: 1px solid var(--wcuas-site-border, #d9dee7) !important;
        border-radius: 10px !important;
        background: var(--wcuas-site-surface, #fff) !important;
        font-family: "Poppins", Arial, Helvetica, sans-serif !important;
        vertical-align: middle !important;
    }
    body.woocommerce-checkout.wcuas-checkout-inline-editing .wcuas-mobile-native-checkout-qty-hidden {
        display: none !important;
    }
    body.woocommerce-checkout .wcuas-checkout-item-editor .wcuas-mobile-checkout-qty-label {
        padding: 0 9px !important;
        color: var(--wcuas-site-text, #172033) !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        opacity: .7 !important;
    }
    body.woocommerce-checkout .wcuas-checkout-item-editor .wcuas-mobile-checkout-qty-minus,
    body.woocommerce-checkout .wcuas-checkout-item-editor .wcuas-mobile-checkout-qty-plus {
        display: grid !important;
        place-items: center !important;
        width: 36px !important;
        min-width: 36px !important;
        height: 36px !important;
        min-height: 36px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: color-mix(in srgb, var(--wcuas-site-primary, #0f2d5c) 7%, #fff) !important;
        color: var(--wcuas-site-primary, #0f2d5c) !important;
        font: 600 18px/1 "Poppins", Arial, Helvetica, sans-serif !important;
        box-shadow: none !important;
    }
    body.woocommerce-checkout .wcuas-checkout-item-editor .wcuas-mobile-checkout-qty-input {
        box-sizing: border-box !important;
        width: 44px !important;
        min-width: 44px !important;
        height: 36px !important;
        min-height: 36px !important;
        margin: 0 !important;
        padding: 0 4px !important;
        border: 0 !important;
        border-left: 1px solid var(--wcuas-site-border, #d9dee7) !important;
        border-right: 1px solid var(--wcuas-site-border, #d9dee7) !important;
        border-radius: 0 !important;
        background: var(--wcuas-site-surface, #fff) !important;
        color: var(--wcuas-site-text, #172033) !important;
        font: 700 13px/36px "Poppins", Arial, Helvetica, sans-serif !important;
        text-align: center !important;
        appearance: textfield !important;
        -moz-appearance: textfield !important;
        box-shadow: none !important;
    }
    body.woocommerce-checkout .wcuas-checkout-item-editor .wcuas-mobile-checkout-qty-input::-webkit-inner-spin-button,
    body.woocommerce-checkout .wcuas-checkout-item-editor .wcuas-mobile-checkout-qty-input::-webkit-outer-spin-button {
        display: none !important;
    }
}

@media (max-width: 782px) {
    body.woocommerce-checkout .wcuas-checkout-item-editor .wcuas-checkout-remove-item {
        width: auto !important;
        min-width: 0 !important;
        height: 34px !important;
        min-height: 34px !important;
        padding: 0 10px !important;
        font-size: 10px !important;
        line-height: 34px !important;
    }
}


/* v2.3.72 — compact Shop & Support directly under hero + clear cart in Order Summary. */
.wcuas-fundraiser-card.wcuas-support-compact {
    width: min(100%, 1040px) !important;
    max-width: 1040px !important;
    min-height: 0 !important;
    margin: 10px auto 18px !important;
    padding: 11px 14px !important;
    gap: 11px !important;
    border-radius: 12px !important;
    box-shadow: 0 7px 18px color-mix(in srgb, var(--wcuas-site-primary, #0f2d5c) 22%, transparent) !important;
}
.wcuas-fundraiser-card.wcuas-support-compact .wcuas-fundraiser-icon {
    flex: 0 0 34px !important;
    width: 34px !important;
    height: 34px !important;
    font-size: 17px !important;
}
.wcuas-fundraiser-card.wcuas-support-compact .wcuas-fundraiser-image {
    width: 48px !important;
    min-width: 48px !important;
    height: 48px !important;
    border-radius: 9px !important;
}
.wcuas-fundraiser-card.wcuas-support-compact h3 {
    margin: 0 0 1px !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
}
.wcuas-fundraiser-card.wcuas-support-compact p {
    font-size: 11px !important;
    line-height: 1.35 !important;
}
.wcuas-fundraiser-card.wcuas-support-compact .wcuas-fundraiser-progress {
    margin-top: 7px !important;
}
.wcuas-fundraiser-card.wcuas-support-compact .wcuas-fundraiser-progress-head {
    margin-bottom: 4px !important;
    font-size: 10px !important;
}
.wcuas-fundraiser-card.wcuas-support-compact .wcuas-fundraiser-progress-values {
    margin-top: 4px !important;
    font-size: 9px !important;
}
.wcuas-fundraiser-card.wcuas-support-compact .wcuas-thermometer {
    height: 12px !important;
    padding: 2px 3px 2px 12px !important;
}
.wcuas-fundraiser-card.wcuas-support-compact .wcuas-thermometer:before {
    left: -5px !important;
    width: 17px !important;
    height: 17px !important;
}
.wcuas-fundraiser-card.wcuas-support-compact .wcuas-thermometer-fill {
    height: 4px !important;
}
.wcuas-fundraiser-card.wcuas-support-compact .wcuas-fundraiser-rate {
    min-width: 72px !important;
    padding: 6px 8px !important;
    border-radius: 9px !important;
}
.wcuas-fundraiser-card.wcuas-support-compact .wcuas-fundraiser-rate strong {
    font-size: 17px !important;
}
.wcuas-fundraiser-card.wcuas-support-compact .wcuas-fundraiser-rate span {
    font-size: 8px !important;
}

/* The support bar now belongs beneath the hero on every viewport. Disable the old pre-footer mobile copy. */
.wcuas-mobile-fundraiser-footer-slot {
    display: none !important;
}
@media (max-width: 782px) {
    .wcuas-storefront-fundraiser-primary,
    .wcuas-fundraiser-card-fallback {
        display: flex !important;
    }
    .wcuas-fundraiser-card.wcuas-support-compact {
        width: calc(100% - 20px) !important;
        max-width: none !important;
        margin: 8px 10px 14px !important;
        padding: 10px 11px !important;
        gap: 9px !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
    }
    .wcuas-fundraiser-card.wcuas-support-compact .wcuas-fundraiser-copy {
        flex: 1 1 auto !important;
    }
    .wcuas-fundraiser-card.wcuas-support-compact .wcuas-fundraiser-rate {
        margin-left: 0 !important;
    }
}
@media (max-width: 480px) {
    .wcuas-fundraiser-card.wcuas-support-compact .wcuas-fundraiser-icon,
    .wcuas-fundraiser-card.wcuas-support-compact .wcuas-fundraiser-image {
        display: none !important;
    }
    .wcuas-fundraiser-card.wcuas-support-compact .wcuas-fundraiser-rate {
        min-width: 60px !important;
        padding: 5px 6px !important;
    }
    .wcuas-fundraiser-card.wcuas-support-compact p {
        font-size: 10px !important;
    }
}

body.woocommerce-checkout .wcuas-order-summary-clear-row td {
    padding: 8px 0 12px !important;
    border-top: 0 !important;
    text-align: right !important;
}
body.woocommerce-checkout .wcuas-order-summary-clear-cart {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 34px !important;
    padding: 7px 11px !important;
    border: 1px solid #b42318 !important;
    border-radius: 8px !important;
    background: transparent !important;
    color: #b42318 !important;
    font-family: "Poppins", Arial, Helvetica, sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
}
body.woocommerce-checkout .wcuas-order-summary-clear-cart:hover {
    background: #b42318 !important;
    color: #fff !important;
}
@media (max-width: 782px) {
    body.woocommerce-checkout .wcuas-order-summary-clear-row td {
        text-align: left !important;
    }
}


/* v2.3.73 — mobile-only Shop & Support bar under Hero. Desktop unchanged. */
@media (max-width: 782px) {
    /* Override the legacy pre-footer rule: the primary/fallback support card stays visible under the Hero. */
    .wcuas-storefront-fundraiser-primary,
    .wcuas-fundraiser-card-fallback {
        display: flex !important;
    }
    .wcuas-mobile-fundraiser-footer-slot {
        display: none !important;
    }

    /* Tighten only the mobile Hero-to-support spacing. */
    .wcuas-store-hero {
        margin-bottom: 6px !important;
    }

    .wcuas-fundraiser-card.wcuas-support-compact {
        box-sizing: border-box !important;
        width: calc(100% - 16px) !important;
        max-width: none !important;
        min-height: 0 !important;
        margin: 6px 8px 12px !important;
        padding: 8px 10px !important;
        gap: 8px !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        border-radius: 10px !important;
        box-shadow: 0 5px 14px color-mix(in srgb, var(--wcuas-site-primary, #0f2d5c) 20%, transparent) !important;
    }

    /* Mobile keeps the bar intentionally small: title + progress are the focus. */
    .wcuas-fundraiser-card.wcuas-support-compact .wcuas-fundraiser-icon,
    .wcuas-fundraiser-card.wcuas-support-compact .wcuas-fundraiser-image {
        display: none !important;
    }
    .wcuas-fundraiser-card.wcuas-support-compact .wcuas-fundraiser-copy {
        flex: 1 1 auto !important;
        min-width: 0 !important;
    }
    .wcuas-fundraiser-card.wcuas-support-compact h3 {
        margin: 0 0 3px !important;
        font-size: 13px !important;
        line-height: 1.15 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
    .wcuas-fundraiser-card.wcuas-support-compact p {
        display: none !important;
    }
    .wcuas-fundraiser-card.wcuas-support-compact .wcuas-fundraiser-progress {
        margin: 0 !important;
    }
    .wcuas-fundraiser-card.wcuas-support-compact .wcuas-fundraiser-progress-head {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        margin: 0 0 3px !important;
        font-size: 8px !important;
        line-height: 1.1 !important;
    }
    .wcuas-fundraiser-card.wcuas-support-compact .wcuas-thermometer {
        height: 9px !important;
        min-height: 9px !important;
        padding: 2px 3px 2px 9px !important;
        border-radius: 999px !important;
    }
    .wcuas-fundraiser-card.wcuas-support-compact .wcuas-thermometer:before {
        left: -3px !important;
        width: 13px !important;
        height: 13px !important;
    }
    .wcuas-fundraiser-card.wcuas-support-compact .wcuas-thermometer-fill {
        height: 3px !important;
    }
    .wcuas-fundraiser-card.wcuas-support-compact .wcuas-fundraiser-progress-values {
        display: flex !important;
        justify-content: space-between !important;
        gap: 8px !important;
        margin-top: 3px !important;
        font-size: 7.5px !important;
        line-height: 1.1 !important;
        white-space: nowrap !important;
    }
    .wcuas-fundraiser-card.wcuas-support-compact .wcuas-fundraiser-rate {
        flex: 0 0 auto !important;
        min-width: 52px !important;
        margin-left: 0 !important;
        padding: 5px 6px !important;
        border-radius: 8px !important;
    }
    .wcuas-fundraiser-card.wcuas-support-compact .wcuas-fundraiser-rate strong {
        font-size: 14px !important;
        line-height: 1 !important;
    }
    .wcuas-fundraiser-card.wcuas-support-compact .wcuas-fundraiser-rate span {
        margin-top: 2px !important;
        font-size: 7px !important;
        line-height: 1.05 !important;
    }
}


/* v2.3.74 — centered mobile nav + Email straight to Shipping ---------------- */
@media (max-width: 782px) {
    /* The visible mobile nav items share the full bar evenly and each icon/text
       stack is centered on the exact middle of its own column. */
    .wcuas-mobile-bottom-nav-track {
        box-sizing: border-box !important;
        display: grid !important;
        grid-template-columns: repeat(var(--wcuas-mobile-nav-item-count, 3), minmax(0, 1fr)) !important;
        grid-auto-flow: initial !important;
        grid-auto-columns: initial !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        padding: 0 !important;
        gap: 0 !important;
        align-items: stretch !important;
        justify-items: stretch !important;
    }
    .wcuas-mobile-bottom-nav-track > .wcuas-mobile-bottom-nav-item,
    .wcuas-mobile-bottom-nav .wcuas-mobile-bottom-nav-item {
        box-sizing: border-box !important;
        display: flex !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        align-items: stretch !important;
        justify-content: center !important;
        text-align: center !important;
    }
    .wcuas-mobile-bottom-nav .wcuas-mobile-bottom-nav-item > a,
    .wcuas-mobile-bottom-nav .wcuas-mobile-bottom-nav-item > button,
    .wcuas-mobile-bottom-nav-track > .wcuas-mobile-bottom-nav-item > a,
    .wcuas-mobile-bottom-nav-track > .wcuas-mobile-bottom-nav-item > button {
        box-sizing: border-box !important;
        display: flex !important;
        flex: 1 1 100% !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 7px 2px 6px !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        transform: none !important;
    }
    .wcuas-mobile-bottom-nav .wcuas-mobile-bottom-nav-item > a::before,
    .wcuas-mobile-bottom-nav .wcuas-mobile-bottom-nav-item > button::before {
        margin-left: auto !important;
        margin-right: auto !important;
        transform: none !important;
    }

    /* The Email card flows directly into Shipping Information. Flux's underlying
       button remains in the DOM for compatibility but is not a visible step. */
    body.woocommerce-checkout .wcuas-contact-continue-hidden {
        display: none !important;
    }
    body.woocommerce-checkout .wcuas-email-direct-to-shipping {
        margin-bottom: 8px !important;
    }
}

/* Keep the direct Email → Shipping flow on desktop checkout too. */
body.woocommerce-checkout .wcuas-contact-continue-hidden {
    display: none !important;
}


/* v2.3.76 — live mobile checkout/nav branding fixes ------------------------ */
@media (max-width: 782px) {
    /* The live checkout theme splits the numbers into child spans. Keep every
       part of "STEP X OF Y" visible and brand both the heading and thin meter. */
    body.woocommerce-checkout .wcuas-checkout-step-bar {
        border-color: var(--wcuas-site-primary, #0f2d5c) !important;
        background-color: var(--wcuas-site-primary, #0f2d5c) !important;
        background-image: none !important;
        color: var(--wcuas-site-button-text, #fff) !important;
        font-family: "Poppins", Arial, Helvetica, sans-serif !important;
    }
    body.woocommerce-checkout .wcuas-checkout-step-indicator,
    body.woocommerce-checkout .wcuas-checkout-step-indicator * {
        display: inline !important;
        visibility: visible !important;
        opacity: 1 !important;
        color: var(--wcuas-site-button-text, #fff) !important;
        -webkit-text-fill-color: var(--wcuas-site-button-text, #fff) !important;
        font-family: "Poppins", Arial, Helvetica, sans-serif !important;
        font-size: inherit !important;
        line-height: inherit !important;
    }
    body.woocommerce-checkout .wcuas-checkout-progress-line,
    body.woocommerce-checkout .wcuas-checkout-progress-line-fill,
    body.woocommerce-checkout .wcuas-checkout-step-bar progress,
    body.woocommerce-checkout .wcuas-checkout-step-bar [role="progressbar"] {
        border-color: var(--wcuas-site-primary, #0f2d5c) !important;
        background-color: var(--wcuas-site-primary, #0f2d5c) !important;
        background-image: none !important;
        color: var(--wcuas-site-primary, #0f2d5c) !important;
        accent-color: var(--wcuas-site-primary, #0f2d5c) !important;
        box-shadow: none !important;
    }
    body.woocommerce-checkout .wcuas-checkout-progress-line::before,
    body.woocommerce-checkout .wcuas-checkout-progress-line::after,
    body.woocommerce-checkout .wcuas-checkout-progress-line-fill::before,
    body.woocommerce-checkout .wcuas-checkout-progress-line-fill::after,
    body.woocommerce-checkout .wcuas-checkout-progress-region [class*="progress"]::before,
    body.woocommerce-checkout .wcuas-checkout-progress-region [class*="progress"]::after,
    body.woocommerce-checkout .wcuas-checkout-progress-region [class*="bar"]::before,
    body.woocommerce-checkout .wcuas-checkout-progress-region [class*="bar"]::after {
        border-color: var(--wcuas-site-primary, #0f2d5c) !important;
        background-color: var(--wcuas-site-primary, #0f2d5c) !important;
        background-image: none !important;
    }
    body.woocommerce-checkout .wcuas-checkout-step-bar progress::-webkit-progress-bar,
    body.woocommerce-checkout .wcuas-checkout-step-bar progress::-webkit-progress-value {
        background-color: var(--wcuas-site-primary, #0f2d5c) !important;
    }
    body.woocommerce-checkout .wcuas-checkout-step-bar progress::-moz-progress-bar {
        background-color: var(--wcuas-site-primary, #0f2d5c) !important;
    }

    /* Completed checkout-card checks use the same store color, never green. */
    body.woocommerce-checkout .wcuas-checkout-status-accent,
    body.woocommerce-checkout .wcuas-checkout-status-accent::before,
    body.woocommerce-checkout .wcuas-checkout-status-accent::after {
        border-color: var(--wcuas-site-primary, #0f2d5c) !important;
        background-color: var(--wcuas-site-primary, #0f2d5c) !important;
        background-image: none !important;
        color: var(--wcuas-site-button-text, #fff) !important;
        -webkit-text-fill-color: var(--wcuas-site-button-text, #fff) !important;
    }
    body.woocommerce-checkout .wcuas-checkout-status-accent svg,
    body.woocommerce-checkout .wcuas-checkout-status-accent svg * {
        fill: currentColor !important;
        stroke: currentColor !important;
    }

    /* Mobile side drawer: remove the theme's orange current-page treatment and
       keep the full menu in the store's configured primary color/Poppins. */
    .wcuas-mobile-menu-drawer,
    .wcuas-mobile-menu-drawer * {
        font-family: "Poppins", Arial, Helvetica, sans-serif !important;
    }
    .wcuas-mobile-menu-drawer a,
    .wcuas-mobile-menu-drawer button {
        color: var(--wcuas-site-text, #172033) !important;
        -webkit-text-fill-color: var(--wcuas-site-text, #172033) !important;
        font-size: 16px !important;
    }
    .wcuas-mobile-menu-drawer :is(.current-menu-item, .current_page_item, .active, .is-active),
    body.woocommerce-checkout .wcuas-mobile-menu-drawer .wcuas-mobile-nav-checkout-item {
        border-color: var(--wcuas-site-primary, #0f2d5c) !important;
        border-left-color: var(--wcuas-site-primary, #0f2d5c) !important;
    }
    .wcuas-mobile-menu-drawer :is(.current-menu-item, .current_page_item, .active, .is-active)::before,
    .wcuas-mobile-menu-drawer :is(.current-menu-item, .current_page_item, .active, .is-active)::after,
    body.woocommerce-checkout .wcuas-mobile-menu-drawer .wcuas-mobile-nav-checkout-item::before,
    body.woocommerce-checkout .wcuas-mobile-menu-drawer .wcuas-mobile-nav-checkout-item::after {
        border-color: var(--wcuas-site-primary, #0f2d5c) !important;
        background-color: var(--wcuas-site-primary, #0f2d5c) !important;
    }
    .wcuas-mobile-menu-drawer :is(.current-menu-item, .current_page_item, .active, .is-active) > a,
    .wcuas-mobile-menu-drawer :is(.current-menu-item, .current_page_item, .active, .is-active) > button,
    body.woocommerce-checkout .wcuas-mobile-menu-drawer .wcuas-mobile-nav-checkout-item > a,
    body.woocommerce-checkout .wcuas-mobile-menu-drawer .wcuas-mobile-nav-checkout-item > button {
        border-color: var(--wcuas-site-primary, #0f2d5c) !important;
        color: var(--wcuas-site-primary, #0f2d5c) !important;
        -webkit-text-fill-color: var(--wcuas-site-primary, #0f2d5c) !important;
    }

    /* Some themes split their three sticky links across nested wrappers. The
       generated flat track keeps Home, Cart and My Account centered in one row. */
    .wcuas-mobile-bottom-nav-has-owned-track {
        min-height: 68px !important;
        overflow: visible !important;
    }
    .wcuas-mobile-bottom-nav-track-owned {
        position: absolute !important;
        inset: 0 !important;
        z-index: 4 !important;
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        width: 100% !important;
        min-height: 68px !important;
        margin: 0 !important;
        padding: 0 !important;
        background: var(--wcuas-site-surface, #fff) !important;
    }
    .wcuas-mobile-bottom-nav-track-owned > .wcuas-mobile-bottom-nav-item {
        display: flex !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        align-items: stretch !important;
        justify-content: stretch !important;
    }
    .wcuas-mobile-bottom-nav-track-owned > .wcuas-mobile-bottom-nav-item > a {
        position: relative !important;
        box-sizing: border-box !important;
        display: flex !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 68px !important;
        margin: 0 !important;
        padding: 7px 2px 6px !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 4px !important;
        color: var(--wcuas-site-primary, #0f2d5c) !important;
        font: 500 13px/1.15 "Poppins", Arial, Helvetica, sans-serif !important;
        text-align: center !important;
    }
    .wcuas-mobile-bottom-nav-track-owned .wcuas-mobile-bottom-nav-count {
        position: absolute !important;
        top: 7px !important;
        left: calc(50% + 7px) !important;
        display: grid !important;
        min-width: 22px !important;
        height: 22px !important;
        padding: 0 5px !important;
        place-items: center !important;
        border: 2px solid var(--wcuas-site-surface, #fff) !important;
        border-radius: 999px !important;
        background: var(--wcuas-site-primary, #0f2d5c) !important;
        color: var(--wcuas-site-button-text, #fff) !important;
        -webkit-text-fill-color: var(--wcuas-site-button-text, #fff) !important;
        font-size: 10px !important;
        font-weight: 700 !important;
        line-height: 1 !important;
    }
}

body.wcuas-store-main-no-prices .products li.product .box-image img,
body.wcuas-store-main-no-prices .products .product .box-image img,
body.wcuas-store-main-no-prices .wc-block-grid__product .wc-block-grid__product-image img,
body.wcuas-store-main-no-prices .wp-block-post.product figure.wp-block-post-featured-image img,
body.wcuas-main-product-grid ul.products li.product .box-image img,
body.wcuas-main-product-grid .wc-block-grid__product .wc-block-grid__product-image img,
body.wcuas-main-product-grid .wp-block-post.product figure.wp-block-post-featured-image img,
body.home ul.products li.product .box-image img,
body.home .wc-block-grid__product .wc-block-grid__product-image img,
body.home .wp-block-post.product figure.wp-block-post-featured-image img,
body.front-page ul.products li.product .box-image img,
body.front-page .wc-block-grid__product .wc-block-grid__product-image img,
body.front-page .wp-block-post.product figure.wp-block-post-featured-image img,
body.woocommerce-shop ul.products li.product .box-image img,
body.post-type-archive-product ul.products li.product .box-image img {
    transform: scale(1.12) !important;
    transform-origin: center center !important;
}

/* v2.3.77 final cascade lock: these mobile dimensions must win over the
   historical checkout/nav compatibility blocks above. */
@media (max-width: 782px) {
    body.woocommerce-checkout .wcuas-checkout-item-editor.wcuas-mobile-checkout-qty-control {
        box-sizing: border-box !important;
        display: grid !important;
        grid-template-columns: 42px minmax(52px, 1fr) 42px 88px !important;
        width: min(100%, 280px) !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: hidden !important;
    }
    body.woocommerce-checkout .wcuas-checkout-item-editor .wcuas-mobile-checkout-qty-label {
        display: none !important;
    }
    body.woocommerce-checkout .wcuas-checkout-item-editor .wcuas-mobile-checkout-qty-minus,
    body.woocommerce-checkout .wcuas-checkout-item-editor .wcuas-mobile-checkout-qty-plus {
        width: 42px !important;
        min-width: 42px !important;
        max-width: 42px !important;
        flex: 0 0 42px !important;
    }
    body.woocommerce-checkout .wcuas-checkout-item-editor .wcuas-mobile-checkout-qty-input {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        flex: 0 0 auto !important;
    }
    body.woocommerce-checkout .wcuas-checkout-item-editor .wcuas-checkout-remove-item {
        box-sizing: border-box !important;
        display: grid !important;
        width: 88px !important;
        min-width: 88px !important;
        max-width: 88px !important;
        flex: 0 0 88px !important;
        padding: 0 8px !important;
        place-items: center !important;
        overflow: visible !important;
        font-size: 11px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }
    body.wcuas-store-main-no-prices .products li.product .box-image img,
    body.wcuas-store-main-no-prices .products .product .box-image img,
    body.wcuas-store-main-no-prices .wc-block-grid__product .wc-block-grid__product-image img,
    body.wcuas-store-main-no-prices .wp-block-post.product figure.wp-block-post-featured-image img,
    body.wcuas-main-product-grid ul.products li.product .box-image img,
    body.wcuas-main-product-grid .wc-block-grid__product .wc-block-grid__product-image img,
    body.wcuas-main-product-grid .wp-block-post.product figure.wp-block-post-featured-image img,
    body.home ul.products li.product .box-image img,
    body.home .wc-block-grid__product .wc-block-grid__product-image img,
    body.home .wp-block-post.product figure.wp-block-post-featured-image img,
    body.front-page ul.products li.product .box-image img,
    body.front-page .wc-block-grid__product .wc-block-grid__product-image img,
    body.front-page .wp-block-post.product figure.wp-block-post-featured-image img,
    body.woocommerce-shop ul.products li.product .box-image img,
    body.post-type-archive-product ul.products li.product .box-image img {
        transform: scale(1.18) !important;
        transform-origin: center center !important;
    }
}
