/*
 * The UM Hoops Store in the "Sports desk" look (owner, Oct 14, 2026: "don't forget about shop design").
 * Loaded by UMH_Shop only while the brand is on for the viewer (body.umh-brand), on the shop, categories, products, cart,
 * checkout, order received and My Account; with the brand off the store keeps its old inline styles.
 * Tokens only (assets/brand/umh-tokens.css), so dark mode follows. Rules not boxes; square corners (4px controls, 0 for
 * images); maize only for the primary action / current; tabular prices. The Flex Mag theme is not edited: everything here
 * overrides the theme's Woo rules and WooCommerce's own (classic + block) styles.
 */

/* ======================================================================= shared */
body.umh-brand {
	--umh-shop-img: var(--umh-tint);   /* the square box behind every product image */
	--umh-shop-field: var(--umh-muted); /* input borders: visible on paper in both modes */
}
html[data-umh-theme="dark"] body.umh-brand { --umh-shop-img: var(--umh-img-backing); }
@media (prefers-color-scheme: dark) { html[data-umh-theme="auto"] body.umh-brand { --umh-shop-img: var(--umh-img-backing); } }

/* one column: the Woo sidebar is empty on the store, and cart / checkout / account read better without the news rail */
body.umh-brand.woocommerce-page #post-right-col { display: none; }
body.umh-brand.woocommerce-page .post-wrap-out1,
body.umh-brand.woocommerce-page .post-wrap-in1 { margin-right: 0; }
body.umh-brand.woocommerce-page #post-left-col,
body.umh-brand.woocommerce-page .post-wrap-in1 { width: 100%; max-width: none; }
body.umh-brand.woocommerce-page #content-area { box-sizing: border-box; width: 100%; max-width: 1180px; margin: 0 auto; padding-left: 32px; padding-right: 32px; float: none; }

body.umh-brand.woocommerce-page #woo-content,
body.umh-brand.woocommerce-page #content-main .woocommerce,
body.umh-brand.woocommerce-page #content-main {
	font-family: var(--umh-font-ui);
	font-size: var(--umh-fs-ui);
	line-height: var(--umh-lh-ui);
	color: var(--umh-ink);
}
body.umh-brand.woocommerce-page #content-main { float: none; width: 100%; }
/* the theme paints every p in #woo-content / #content-main #222 (unreadable in dark): text follows the tokens */
body.umh-brand.woocommerce-page #woo-content :where(p, address, li, dt, dd, label, legend),
body.umh-brand.woocommerce-page #content-main :where(p, address, li, dt, dd, label, legend) { color: inherit; }
body.umh-brand.woocommerce-page :is(#woo-content, #content-main) .woocommerce-customer-details--email { color: var(--umh-ink-2); }
body.umh-brand.woocommerce-page #woo-content :where(h1, h2, h3, h4),
body.umh-brand.woocommerce-page #content-main :where(h1, h2, h3, h4) { color: var(--umh-ink); }
body.umh-brand.woocommerce-page #woo-content #reviews :is(h2, h3).woocommerce-Reviews-title,
body.umh-brand.woocommerce-page #woo-content #reviews .comment-reply-title {
	margin: 18px 0 10px;
	font-family: var(--umh-font-ui);
	font-size: var(--umh-fs-item);
	font-weight: 700;
	text-transform: none;
	color: var(--umh-ink);
}
body.umh-brand.woocommerce-account #content-main .woocommerce > h2 {
	margin: 8px 0 14px;
	padding: 10px 0 0;
	border-top: 2px solid var(--umh-ink);
	font-family: var(--umh-font-display);
	font-size: var(--umh-fs-section);
	font-weight: 800;
	font-variation-settings: "wdth" var(--umh-wdth-h2);
	line-height: 1.1;
	text-transform: none;
}
body.umh-brand .woocommerce form.woocommerce-form-login .form-row:has(.woocommerce-form-login__submit) { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; }
body.umh-brand .woocommerce form.woocommerce-form-login .woocommerce-form-login__submit { order: 2; margin: 0; float: none; }
body.umh-brand .woocommerce form.woocommerce-form-login .woocommerce-form-login__rememberme { order: 1; margin: 0; }
body.umh-brand .woocommerce-Price-amount,
body.umh-brand.woocommerce-page :is(.price, .amount, td, .qty, .wc-block-formatted-money-amount, .wc-block-components-totals-item__value) {
	font-variant-numeric: tabular-nums;
}
body.umh-brand.woocommerce-page .screen-reader-text { position: absolute !important; }

/* breadcrumb: one meta line, no box */
body.umh-brand .woocommerce .woocommerce-breadcrumb,
body.umh-brand.woocommerce-page .woocommerce-breadcrumb {
	margin: 0 0 14px;
	padding: 0;
	border: 0;
	font-family: var(--umh-font-ui);
	font-size: var(--umh-fs-small);
	line-height: 1.3;
	color: var(--umh-muted);
}
body.umh-brand .woocommerce-breadcrumb a { color: var(--umh-ink-2); font-weight: 600; text-decoration: none; }
body.umh-brand .woocommerce-breadcrumb a:hover { color: var(--umh-ink); text-decoration: underline; text-underline-offset: 3px; }

/* page titles: display face, left */
body.umh-brand.woocommerce-page #woo-content h1.page-title,
body.umh-brand.woocommerce-page #woo-content .woocommerce-products-header__title.page-title,
body.umh-brand.woocommerce-page #post-header h1.post-title {
	margin: 0 0 6px !important;
	padding: 0;
	float: none;
	width: auto;
	text-align: left;
	font-family: var(--umh-font-display) !important;
	font-weight: 800 !important;
	font-variation-settings: "wdth" var(--umh-wdth-display);
	font-size: var(--umh-fs-display) !important;
	line-height: var(--umh-lh-display);
	letter-spacing: -.012em !important;
	text-transform: none !important;
	color: var(--umh-ink);
	text-wrap: balance;
}
body.umh-brand.woocommerce-page .woocommerce-products-header { margin: 0; padding: 0; }
body.umh-brand.woocommerce-page .term-description { font-family: var(--umh-font-text); font-size: var(--umh-fs-read); color: var(--umh-ink-2); max-width: var(--umh-measure); }
/* page.php surfaces (cart, checkout, account): the header lines up with the content instead of the 750px article column */
body.umh-brand.woocommerce-page #post-header {
	box-sizing: border-box;
	max-width: 1180px;
	width: 100%;
	margin: 0 auto;
	padding: 30px 32px 0;
	float: none;
}
body.umh-brand.woocommerce-page #post-header + #content-area,
body.umh-brand.woocommerce-page #post-area > #content-area { padding-top: 18px; }

/* buttons: maize primary, ink outline secondary */
body.umh-brand.woocommerce-page :is(#woo-content, #content-main) :is(a.button, button.button, input.button, input[type="submit"]),
body.umh-brand .woocommerce :is(a.button, button.button, input.button) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	box-sizing: border-box;
	padding: 0 18px;
	border: 1px solid var(--umh-ink);
	border-radius: var(--umh-radius-control);
	background: transparent;
	color: var(--umh-ink);
	font-family: var(--umh-font-ui);
	font-size: var(--umh-fs-ui);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0;
	text-transform: none;
	text-decoration: none;
	box-shadow: none;
	opacity: 1;
	cursor: pointer;
}
body.umh-brand .woocommerce :is(a.button, button.button, input.button):hover,
body.umh-brand.woocommerce-page #woo-content :is(a.button, button.button, input.button):hover { background: var(--umh-tint); color: var(--umh-ink); }
body.umh-brand .woocommerce :is(a.button, button.button, input.button):is(.alt, .checkout-button, .single_add_to_cart_button),
body.umh-brand.woocommerce-page #woo-content :is(a.button, button.button):is(.alt, .single_add_to_cart_button),
body.umh-brand.woocommerce-account #content-main .woocommerce :is(button.woocommerce-Button, button.woocommerce-button, .woocommerce-form-login__submit),
body.umh-brand .wc-block-components-button:not(.is-link):is(.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button, .contained) {
	background: var(--umh-maize);
	border-color: var(--umh-maize);
	color: var(--umh-navy);
}
body.umh-brand .woocommerce :is(a.button, button.button):is(.alt, .checkout-button, .single_add_to_cart_button):hover,
body.umh-brand.woocommerce-page #woo-content :is(a.button, button.button):is(.alt, .single_add_to_cart_button):hover,
body.umh-brand .wc-block-components-button:not(.is-link):is(.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button):hover {
	background: #ffd83d;
	border-color: #ffd83d;
	color: var(--umh-navy);
	opacity: 1;
}
body.umh-brand .woocommerce :is(a.button, button.button):is(.disabled, :disabled, [disabled]),
body.umh-brand.woocommerce-page #woo-content :is(a.button, button.button):is(.disabled, :disabled, [disabled]),
body.umh-brand.woocommerce-page #woo-content :is(a.button, button.button):is(.disabled, :disabled, [disabled]):hover { opacity: .5; cursor: not-allowed; }
body.umh-brand.woocommerce-page :is(a.button, button.button, input.button):focus-visible,
body.umh-brand .wc-block-components-button:focus-visible { outline: none; box-shadow: var(--umh-focus); }

/* inputs: 4px, visible border, paper, ink */
body.umh-brand.woocommerce-page :is(#woo-content, #content-main > .woocommerce) :is(input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"], input[type="search"], input[type="url"], textarea, select:not(.umh-sq-select)),
body.umh-brand .woocommerce form .form-row :is(.input-text, select) {
	box-sizing: border-box;
	min-height: 44px;
	padding: 8px 12px;
	border: 1px solid var(--umh-shop-field);
	border-radius: var(--umh-radius-control);
	background: var(--umh-paper);
	color: var(--umh-ink);
	font-family: var(--umh-font-ui);
	font-size: var(--umh-fs-base);
	line-height: 1.3;
	text-transform: none;
	box-shadow: none;
}
body.umh-brand.woocommerce-page :is(#woo-content, #content-main > .woocommerce) textarea { min-height: 120px; }
body.umh-brand.woocommerce-page :is(#woo-content, #content-main > .woocommerce) :is(input, textarea, select):focus { outline: none; border-color: var(--umh-ink); box-shadow: var(--umh-focus); }
body.umh-brand.woocommerce-page :is(#woo-content, #content-main > .woocommerce) select:not(.umh-sq-select),
body.umh-brand .woocommerce form .form-row select {
	-webkit-appearance: none;
	appearance: none;
	padding-right: 34px;
	background-image: linear-gradient(45deg, transparent 50%, var(--umh-ink-2) 50%), linear-gradient(135deg, var(--umh-ink-2) 50%, transparent 50%);
	background-position: calc(100% - 17px) 50%, calc(100% - 12px) 50%;
	background-size: 5px 5px, 5px 5px;
	background-repeat: no-repeat;
}
body.umh-brand .woocommerce form .form-row label,
body.umh-brand.woocommerce-page #woo-content label {
	font-family: var(--umh-font-ui);
	font-size: var(--umh-fs-small);
	font-weight: 700;
	color: var(--umh-ink);
	text-transform: none;
}
body.umh-brand .woocommerce form .form-row .required { color: var(--umh-bad); text-decoration: none; }

/* notices: ruled meta lines, no boxes or icons */
body.umh-brand .woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error),
body.umh-brand.woocommerce-page :is(.woocommerce-message, .woocommerce-info, .woocommerce-error),
body.umh-brand .wc-block-components-notice-banner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 14px;
	margin: 0 0 20px;
	padding: 12px 0;
	border: 0;
	border-top: 1px solid var(--umh-rule);
	border-bottom: 1px solid var(--umh-rule);
	border-radius: 0;
	background: none;
	box-shadow: none;
	outline: 0;
	color: var(--umh-ink);
	font-family: var(--umh-font-ui);
	font-size: var(--umh-fs-ui);
	line-height: 1.4;
	list-style: none;
}
body.umh-brand :is(.woocommerce-message, .woocommerce-info, .woocommerce-error)::before,
body.umh-brand :is(.woocommerce-message, .woocommerce-info, .woocommerce-error)::after { content: none !important; display: none !important; }
body.umh-brand .wc-block-components-notice-banner > svg { display: none; }
body.umh-brand .wc-block-components-notice-banner > .wc-block-components-notice-banner__content { flex: 1 1 auto; font-size: var(--umh-fs-ui); color: var(--umh-ink); }
body.umh-brand :is(.woocommerce-error, .wc-block-components-notice-banner.is-error) { border-top: 2px solid var(--umh-bad); }
body.umh-brand :is(.woocommerce-message, .wc-block-components-notice-banner.is-success) { border-top: 2px solid var(--umh-good); }
body.umh-brand .woocommerce-error li { margin: 0; padding: 0; list-style: none; }
body.umh-brand :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) :is(a.button, .button) {
	order: 2;
	min-height: 0;
	margin: 0 0 0 auto;
	padding: 0;
	border: 0;
	background: none;
	color: var(--umh-ink);
	font-size: var(--umh-fs-ui);
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
	float: none;
}
body.umh-brand :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) :is(a.button, .button):hover { background: none; color: var(--umh-navy); }
body.umh-brand .woocommerce-store-notice, body.umh-brand p.demo_store { background: var(--umh-navy); color: #fff; font-family: var(--umh-font-ui); font-size: var(--umh-fs-small); }

/* tables (classic cart, order received, My Account orders): rules, caps head, tabular numbers */
body.umh-brand.woocommerce-page table.shop_table,
body.umh-brand :is(#content-main, #woo-content) table.shop_table {
	width: 100%;
	margin: 0 0 24px;
	border: 0;
	border-top: 2px solid var(--umh-ink);
	border-collapse: collapse;
	border-radius: 0;
	background: none;
	font-family: var(--umh-font-ui);
	font-size: var(--umh-fs-ui);
	color: var(--umh-ink);
}
body.umh-brand :is(#content-main, #woo-content) table.shop_table :is(th, td) {
	padding: 12px 10px;
	border: 0;
	border-bottom: 1px solid var(--umh-rule);
	background: none;
	color: var(--umh-ink);
	text-align: left;
	vertical-align: middle;
	font-variant-numeric: tabular-nums;
}
body.umh-brand :is(#content-main, #woo-content) table.shop_table :is(th, td):first-child { padding-left: 0; }
body.umh-brand :is(#content-main, #woo-content) table.shop_table :is(th, td):last-child { padding-right: 0; }
body.umh-brand :is(#content-main, #woo-content) table.shop_table thead th {
	padding-top: 10px;
	padding-bottom: 8px;
	font-size: var(--umh-fs-label);
	font-weight: 700;
	letter-spacing: var(--umh-track-label);
	text-transform: uppercase;
	color: var(--umh-muted);
}
body.umh-brand :is(#content-main, #woo-content) table.shop_table tfoot :is(th, td) { font-weight: 600; }
body.umh-brand :is(#content-main, #woo-content) table.shop_table tfoot tr:last-child :is(th, td) { font-weight: 800; border-bottom: 2px solid var(--umh-ink); }
body.umh-brand :is(#content-main, #woo-content) table.shop_table :is(.product-total, .woocommerce-orders-table__cell-order-total, tfoot td) { text-align: right; }
body.umh-brand :is(#content-main, #woo-content) table.shop_table tfoot td .button { margin: 2px 0 2px 6px; }
body.umh-brand :is(#content-main, #woo-content) table.shop_table a { color: var(--umh-ink); font-weight: 700; text-decoration: none; }
body.umh-brand :is(#content-main, #woo-content) table.shop_table a:not(.button):hover { text-decoration: underline; text-underline-offset: 3px; }
body.umh-brand :is(#content-main, #woo-content) table.shop_table td .button { min-height: 36px; padding: 0 12px; font-size: var(--umh-fs-small); margin: 2px 6px 2px 0; }

/* section heads inside the store (related, tabs panels, cart totals, addresses, order details) */
body.umh-brand.woocommerce-page :is(.related > h2, .upsells > h2, .cross-sells > h2, .woocommerce-tabs .panel > h2, .cart_totals > h2, .woocommerce-order-details__title, .woocommerce-customer-details h2, .woocommerce-column__title, #order_review_heading, .woocommerce-billing-fields > h3, .woocommerce-shipping-fields > h3, .woocommerce-additional-fields > h3, #customer_login h2) {
	margin: 36px 0 14px;
	padding: 10px 0 0;
	border-top: 2px solid var(--umh-ink);
	font-family: var(--umh-font-display);
	font-size: var(--umh-fs-section);
	font-weight: 800;
	font-variation-settings: "wdth" var(--umh-wdth-h2);
	line-height: 1.1;
	letter-spacing: -.005em;
	text-transform: none;
	color: var(--umh-ink);
}
body.umh-brand.woocommerce-page :is(.related > h2, .upsells > h2, .cross-sells > h2, .woocommerce-tabs .panel > h2)::after { content: none; display: none; }

/* ======================================================================= archive: hero */
body.umh-brand #woo-content .umh-store-hero--desk {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
	gap: 40px;
	align-items: center;
	margin: 18px 0 0;
	padding: 28px 0;
	border: 0;
	border-top: 2px solid var(--umh-ink);
	border-bottom: 1px solid var(--umh-rule);
	border-radius: 0;
	background: none;
	color: var(--umh-ink);
	overflow: visible;
}
body.umh-brand #woo-content .umh-store-hero--desk .umh-store-hero-img {
	display: block;
	aspect-ratio: 1 / 1;
	background: var(--umh-shop-img);
	isolation: isolate;
}
body.umh-brand #woo-content .umh-store-hero--desk .umh-store-hero-img img {
	display: block;
	width: 100%;
	height: 100%;
	max-height: none;
	padding: 6%;
	box-sizing: border-box;
	object-fit: contain;
	border-radius: 0;
	mix-blend-mode: multiply;
}
body.umh-brand #woo-content .umh-store-hero--desk .umh-store-hero-copy { padding: 0; max-width: 520px; }
body.umh-brand #woo-content .umh-store-hero--desk .umh-store-kicker { display: block; margin: 0 0 12px; }
body.umh-brand #woo-content .umh-store-hero--desk h2.umh-store-hero-title {
	margin: 0 0 12px;
	font-family: var(--umh-font-display) !important;
	font-weight: 800;
	font-variation-settings: "wdth" var(--umh-wdth-display);
	font-size: clamp(28px, 1.6vw + 18px, 40px) !important;
	line-height: 1.04;
	letter-spacing: -.012em;
	text-transform: none !important;
	text-wrap: balance;
	color: var(--umh-ink) !important;
}
body.umh-brand #woo-content .umh-store-hero--desk h2.umh-store-hero-title a { color: inherit !important; text-decoration: none !important; }
body.umh-brand #woo-content .umh-store-hero--desk h2.umh-store-hero-title a:hover { text-decoration: underline !important; text-decoration-thickness: 2px; text-underline-offset: 5px; }
body.umh-brand #woo-content .umh-store-hero--desk .umh-store-hero-dek {
	margin: 0 0 16px;
	font-family: var(--umh-font-text);
	font-size: var(--umh-fs-read);
	line-height: 1.5;
	color: var(--umh-ink-2) !important;
}
body.umh-brand #woo-content .umh-store-hero--desk .umh-store-hero-price {
	margin: 0 0 18px;
	font-family: var(--umh-font-ui);
	font-size: var(--umh-fs-item);
	font-weight: 700;
	color: var(--umh-ink) !important;
	font-variant-numeric: tabular-nums;
}
body.umh-brand #woo-content .umh-store-hero--desk .umh-store-hero-price :is(.amount, ins) { color: var(--umh-ink) !important; font-weight: 700; text-decoration: none; }
body.umh-brand #woo-content .umh-store-hero--desk .umh-store-hero-price del,
body.umh-brand #woo-content .umh-store-hero--desk .umh-store-hero-price del .amount { color: var(--umh-muted) !important; font-weight: 400; }
body.umh-brand #woo-content .umh-store-hero--desk .umh-store-btn { box-sizing: border-box; padding: 0 22px; min-height: 48px; }

/* ======================================================================= archive: collections, member line, meta row */
body.umh-brand .umh-store-cats {
	display: flex;
	flex-wrap: nowrap;
	gap: 28px;
	margin: 22px 0 0;
	padding: 0;
	border-bottom: 1px solid var(--umh-rule);
	overflow-x: auto;
	scrollbar-width: none;
}
body.umh-brand .umh-store-cats::-webkit-scrollbar { display: none; }
body.umh-brand .umh-store-cats a {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	margin: 0 0 -1px;
	padding: 0;
	border: 0;
	border-bottom: 3px solid transparent;
	border-radius: 0;
	background: none;
	font-family: var(--umh-font-ui);
	font-size: var(--umh-fs-ui);
	font-weight: 600;
	line-height: 1;
	color: var(--umh-muted);
	text-decoration: none;
	white-space: nowrap;
}
body.umh-brand .umh-store-cats a:hover { color: var(--umh-ink); border-bottom-color: var(--umh-rule); }
body.umh-brand .umh-store-cats a[aria-current="page"] { color: var(--umh-ink); font-weight: 700; border-bottom-color: var(--umh-ink); background: none; }

body.umh-brand #woo-content .umh-store-note {
	display: block;
	margin: 14px 0 0;
	padding: 0;
	border: 0;
	background: none;
	font-family: var(--umh-font-ui);
	font-size: var(--umh-fs-small);
	line-height: 1.4;
	color: var(--umh-ink-2);
}
body.umh-brand #woo-content .umh-store-note a { color: var(--umh-ink); font-weight: 700; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
body.umh-brand #woo-content .umh-store-note a:hover { color: var(--umh-navy); text-decoration-thickness: 2px; }
body.umh-brand #woo-content .umh-store-note .umh-plus-badge { margin: 0 4px 0 0; }
body.umh-brand.single-product #woo-content .umh-store-note { margin: 0 0 18px; }

/* results count + sort: one compact meta row */
body.umh-brand #woo-content .woocommerce-result-count {
	float: left;
	margin: 22px 0 18px;
	font-family: var(--umh-font-ui);
	font-size: var(--umh-fs-small);
	line-height: 32px;
	color: var(--umh-muted);
}
body.umh-brand #woo-content .woocommerce-ordering { float: right; margin: 22px 0 18px; }
body.umh-brand.woocommerce-page #woo-content .woocommerce-ordering select.orderby {
	min-height: 32px;
	height: 32px;
	padding: 0 30px 0 10px;
	border: 1px solid var(--umh-rule);
	font-size: var(--umh-fs-small);
	font-weight: 600;
	color: var(--umh-ink);
	cursor: pointer;
}
body.umh-brand.woocommerce-page #woo-content .woocommerce-ordering select:hover { border-color: var(--umh-shop-field); }

/* ======================================================================= archive: product grid */
body.umh-brand.woocommerce-page ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 34px 24px;
	clear: both;
	margin: 0 0 30px !important;
	padding: 0;
	list-style: none;
}
body.umh-brand.woocommerce-page ul.products::before,
body.umh-brand.woocommerce-page ul.products::after { display: none !important; }
body.umh-brand.woocommerce-page ul.products li.product {
	position: relative;
	isolation: isolate;
	float: none !important;
	width: auto !important;
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible;
	text-align: left;
}
/* the square image box: the same backing for every product; white-ground photos melt into it (multiply) */
body.umh-brand.woocommerce-page ul.products li.product::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	width: 100%;
	aspect-ratio: 1 / 1;
	background: var(--umh-shop-img);
}
body.umh-brand.woocommerce-page ul.products li.product a.woocommerce-LoopProduct-link { display: block; color: var(--umh-ink); text-decoration: none; }
body.umh-brand.woocommerce-page ul.products li.product a img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	margin: 0 0 14px !important;
	padding: 8%;
	box-sizing: border-box;
	object-fit: contain;
	border-radius: 0;
	background: none;
	box-shadow: none;
	mix-blend-mode: multiply;
	transition: none;
	transform: none;
}
body.umh-brand.woocommerce-page ul.products li.product :is(h2, h3).woocommerce-loop-product__title {
	margin: 0 0 6px !important;
	padding: 0 !important;
	min-height: 0;
	font-family: var(--umh-font-ui) !important;
	font-size: var(--umh-fs-item) !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	letter-spacing: 0;
	text-transform: none !important;
	color: var(--umh-ink);
	text-wrap: pretty;
}
body.umh-brand.woocommerce-page ul.products li.product a:hover .woocommerce-loop-product__title { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
body.umh-brand.woocommerce-page ul.products li.product .price {
	display: block;
	margin: 0;
	font-family: var(--umh-font-ui) !important;
	font-size: var(--umh-fs-ui) !important;
	font-weight: 600 !important;
	line-height: 1.4;
	color: var(--umh-ink) !important;
	font-variant-numeric: tabular-nums;
}
body.umh-brand.woocommerce-page ul.products li.product .price :is(ins, ins .amount) { color: var(--umh-ink) !important; font-size: var(--umh-fs-ui) !important; font-weight: 700; text-decoration: none; }
/* the card is the link; choosing size / quantity happens on the product page */
body.umh-brand.woocommerce-page ul.products li.product :is(a.button, .added_to_cart) { display: none !important; }

/* prices everywhere: struck list price small + muted */
body.umh-brand.woocommerce-page :is(.price, .umh-store-hero-price) del,
body.umh-brand.woocommerce-page :is(.price, .umh-store-hero-price) del .amount {
	margin-right: 6px;
	font-size: var(--umh-fs-small) !important;
	font-weight: 400 !important;
	color: var(--umh-muted) !important;
	opacity: 1;
}
body.umh-brand.woocommerce-page :is(.price, .umh-store-hero-price) ins { text-decoration: none; background: none; }
body.umh-brand .umh-from { font-weight: 400; color: var(--umh-muted); }
/* member price: "$48.00 with UM Hoops+ [+]" then the list price small and struck */
body.umh-brand .umh-mprice { display: inline; }
body.umh-brand .umh-mprice del { margin: 0 0 0 6px !important; }
body.umh-brand .umh-mprice-with {
	display: inline-flex;
	align-items: center;
	margin-left: 2px;
	font-family: var(--umh-font-ui);
	font-size: var(--umh-fs-small);
	font-weight: 600;
	color: var(--umh-ink-2);
	white-space: nowrap;
}
body.umh-brand .umh-mprice-with .umh-plus-badge { margin-left: 5px; }
body.umh-brand ul.products .umh-mprice-with { font-size: var(--umh-fs-small); }

/* "Sale" (a real sale price only; member-only discounts carry no flag): a small square label on the image */
body.umh-brand.woocommerce-page span.onsale,
body.umh-brand.woocommerce-page ul.products li.product .onsale {
	position: absolute;
	z-index: 2;
	top: 10px;
	left: 10px;
	right: auto;
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: 5px 7px 4px;
	border: 0;
	border-radius: 0;
	background: var(--umh-ink);
	color: var(--umh-paper);
	font-family: var(--umh-font-ui);
	font-size: var(--umh-fs-label);
	font-weight: 700;
	line-height: 1;
	letter-spacing: var(--umh-track-label);
	text-transform: uppercase;
	transform: none;
}

/* ======================================================================= single product */
body.umh-brand.single-product #woo-content div.product { overflow: visible; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 48px; align-items: start; }
body.umh-brand.single-product #woo-content div.product > * { grid-column: 1 / -1; min-width: 0; }
body.umh-brand.single-product #woo-content div.product > .woocommerce-product-gallery { grid-column: 1; width: auto !important; float: none !important; margin: 0 0 30px; position: relative; }
body.umh-brand.single-product #woo-content div.product > .summary { grid-column: 2; width: auto !important; float: none !important; margin: 0 0 30px; }
body.umh-brand.single-product #woo-content div.product { position: relative; }
body.umh-brand.single-product #woo-content div.product > span.onsale { position: absolute; top: 10px; left: 10px; z-index: 3; }

body.umh-brand.single-product .woocommerce-product-gallery__wrapper { margin: 0; }
body.umh-brand.single-product .woocommerce-product-gallery__image,
body.umh-brand.single-product .woocommerce-product-gallery .flex-viewport { background: var(--umh-shop-img); isolation: isolate; }
body.umh-brand.single-product .woocommerce-product-gallery__image img:not(.zoomImg) { border-radius: 0; mix-blend-mode: multiply; aspect-ratio: 1 / 1; object-fit: contain; }
/* the hover-zoom layer WooCommerce injects (zoom.js) is an <img> inside the same box: it must not blend or get the square ratio, or the zoom shows a dark, squashed copy (owner, Oct 17, 2026) */
body.umh-brand.single-product .woocommerce-product-gallery__image img.zoomImg { mix-blend-mode: normal; aspect-ratio: auto; object-fit: fill; border-radius: 0; }
body.umh-brand.single-product .woocommerce-product-gallery__trigger {
	top: 10px !important;
	right: 10px !important;
	width: 40px !important;
	height: 40px !important;
	border-radius: 0 !important;
	background: var(--umh-paper) !important;
	border: 1px solid var(--umh-rule);
	box-shadow: none;
}
body.umh-brand.single-product .woocommerce-product-gallery__trigger::before { border-color: var(--umh-ink) !important; top: 11px !important; left: 11px !important; }
body.umh-brand.single-product .woocommerce-product-gallery__trigger::after { background: var(--umh-ink) !important; top: 25px !important; left: 25px !important; }
body.umh-brand.single-product .woocommerce-product-gallery__trigger > span[aria-hidden],
body.umh-brand.single-product .woocommerce-product-gallery__trigger img.emoji { display: none !important; }
body.umh-brand.single-product .woocommerce-product-gallery ol.flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 8px;
	margin: 8px 0 0 !important;
	padding: 0;
}
body.umh-brand.single-product .woocommerce-product-gallery ol.flex-control-thumbs li { width: auto !important; float: none !important; margin: 0 !important; background: var(--umh-shop-img); isolation: isolate; }
body.umh-brand.single-product .woocommerce-product-gallery ol.flex-control-thumbs li img {
	display: block;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	padding: 6%;
	box-sizing: border-box;
	border-radius: 0;
	mix-blend-mode: multiply;
	opacity: .55;
	outline: 2px solid transparent;
	outline-offset: -2px;
	cursor: pointer;
}
body.umh-brand.single-product .woocommerce-product-gallery ol.flex-control-thumbs li img:hover { opacity: .9; }
body.umh-brand.single-product .woocommerce-product-gallery ol.flex-control-thumbs li img.flex-active { opacity: 1; outline-color: var(--umh-ink); }

body.umh-brand.single-product #woo-content div.product .product_title {
	margin: 0 0 12px;
	font-family: var(--umh-font-display) !important;
	font-weight: 800 !important;
	font-variation-settings: "wdth" var(--umh-wdth-display);
	font-size: clamp(30px, 1.6vw + 18px, 42px) !important;
	line-height: 1.04 !important;
	letter-spacing: -.012em;
	text-transform: none !important;
	color: var(--umh-ink);
	text-wrap: balance;
}
body.umh-brand.single-product #woo-content div.product .summary p.price,
body.umh-brand.single-product #woo-content div.product .summary span.price,
body.umh-brand.single-product #woo-content div.product .woocommerce-variation-price .price {
	margin: 0 0 18px;
	font-family: var(--umh-font-ui) !important;
	font-size: var(--umh-fs-section) !important;
	font-weight: 700 !important;
	color: var(--umh-ink) !important;
	font-variant-numeric: tabular-nums;
}
body.umh-brand.single-product #woo-content div.product .summary :is(p.price, span.price) :is(ins, ins .amount, .amount) { font-family: var(--umh-font-ui) !important; font-size: var(--umh-fs-section) !important; color: var(--umh-ink) !important; }
body.umh-brand.single-product #woo-content div.product .summary :is(p.price, span.price) del :is(.amount, bdi) { font-size: var(--umh-fs-base) !important; color: var(--umh-muted) !important; }
body.umh-brand.single-product #woo-content div.product .summary .umh-mprice-with { font-size: var(--umh-fs-ui); }
body.umh-brand.single-product #woo-content .woocommerce-product-details__short-description {
	margin: 0 0 22px;
	font-family: var(--umh-font-text);
	font-size: var(--umh-fs-read);
	line-height: 1.55;
	color: var(--umh-ink-2);
}
body.umh-brand.single-product #woo-content .woocommerce-product-details__short-description p { font: inherit; color: inherit; margin: 0 0 .8em; }

/* variations: label above square selectors */
body.umh-brand.single-product #woo-content div.product form.cart { margin: 0 0 22px; padding: 18px 0 0; border-top: 1px solid var(--umh-rule); }
body.umh-brand.single-product #woo-content div.product form.cart table.variations { width: 100%; margin: 0 0 14px; border: 0; border-collapse: collapse; }
body.umh-brand.single-product #woo-content div.product form.cart table.variations tr { display: block; margin: 0 0 14px; }
body.umh-brand.single-product #woo-content div.product form.cart table.variations :is(th, td) { display: block; padding: 0; border: 0; background: none; text-align: left; line-height: 1.2; }
body.umh-brand.single-product #woo-content div.product form.cart table.variations th.label { margin: 0 0 8px; }
body.umh-brand.single-product #woo-content div.product form.cart table.variations th.label label {
	font-family: var(--umh-font-ui);
	font-size: var(--umh-fs-label);
	font-weight: 700;
	letter-spacing: var(--umh-track-label);
	text-transform: uppercase;
	color: var(--umh-label);
}
body.umh-brand.single-product #woo-content div.product form.cart .variations select { width: 100%; max-width: 320px; }
body.umh-brand.single-product #woo-content div.product form.cart .variations select.umh-sq-select {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	border: 0 !important;
	white-space: nowrap;
}
body.umh-brand .umh-sq { display: flex; flex-wrap: wrap; gap: 8px; }
body.umh-brand .umh-sq__opt {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 48px;
	min-height: 48px;
	padding: 0 14px;
	box-sizing: border-box;
	border: 1px solid var(--umh-shop-field);
	border-radius: var(--umh-radius-control);
	background: var(--umh-paper);
	color: var(--umh-ink);
	font-family: var(--umh-font-ui);
	font-size: var(--umh-fs-ui);
	font-weight: 700;
	line-height: 1;
	text-transform: none;
	letter-spacing: 0;
	box-shadow: none;
	cursor: pointer;
}
body.umh-brand .umh-sq__opt:hover { border-color: var(--umh-ink); background: var(--umh-tint); color: var(--umh-ink); }
body.umh-brand .umh-sq__opt[aria-checked="true"] { border-color: var(--umh-ink); background: var(--umh-ink); color: var(--umh-paper); }
body.umh-brand .umh-sq__opt:disabled { border-style: dashed; color: var(--umh-muted); background: none; text-decoration: line-through; cursor: not-allowed; }
body.umh-brand .umh-sq__opt:focus-visible { outline: none; box-shadow: var(--umh-focus); }
body.umh-brand.single-product #woo-content .reset_variations {
	display: inline-block;
	margin: 10px 0 0;
	font-family: var(--umh-font-ui);
	font-size: var(--umh-fs-small);
	font-weight: 600;
	color: var(--umh-ink-2);
	text-decoration: underline;
	text-underline-offset: 3px;
}
body.umh-brand.single-product #woo-content .single_variation_wrap .woocommerce-variation { margin: 0 0 12px; }
body.umh-brand.single-product #woo-content .woocommerce-variation-availability p.stock { margin: 0; font-size: var(--umh-fs-small); color: var(--umh-muted); }
body.umh-brand.single-product #woo-content p.stock.in-stock { color: var(--umh-good); font-size: var(--umh-fs-small); font-weight: 600; }
body.umh-brand.single-product #woo-content p.stock.out-of-stock { color: var(--umh-bad); font-size: var(--umh-fs-small); font-weight: 600; }

/* quantity + add to cart on one line */
body.umh-brand.single-product #woo-content div.product form.cart:not(.variations_form),
body.umh-brand.single-product #woo-content div.product form.cart .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; align-items: stretch; gap: 10px; }
body.umh-brand.single-product #woo-content div.product form.cart::before,
body.umh-brand.single-product #woo-content div.product form.cart::after { display: none; }
body.umh-brand.single-product #woo-content div.product form.cart div.quantity { float: none; margin: 0; }
body.umh-brand.woocommerce-page #woo-content .quantity .qty,
body.umh-brand .woocommerce .quantity .qty {
	width: 72px;
	height: 48px;
	min-height: 48px;
	padding: 0 6px;
	border: 1px solid var(--umh-shop-field);
	border-radius: var(--umh-radius-control);
	background: var(--umh-paper);
	color: var(--umh-ink);
	font-family: var(--umh-font-ui);
	font-size: var(--umh-fs-base);
	font-weight: 700;
	text-align: center;
	font-variant-numeric: tabular-nums;
}
body.umh-brand.single-product #woo-content div.product form.cart .button.single_add_to_cart_button {
	flex: 1 1 200px;
	max-width: 320px;
	min-height: 48px;
	float: none;
	font-size: var(--umh-fs-base);
}

body.umh-brand.single-product #woo-content .product_meta {
	padding: 12px 0 0;
	border-top: 1px solid var(--umh-rule);
	font-family: var(--umh-font-ui);
	font-size: var(--umh-fs-small);
	line-height: 1.6;
	color: var(--umh-muted);
}
body.umh-brand.single-product #woo-content .product_meta > span { display: block; }
body.umh-brand.single-product #woo-content .product_meta a { color: var(--umh-ink); font-weight: 600; }
body.umh-brand.single-product #woo-content .product_meta .sku_wrapper { display: none; } /* SKUs mean nothing to readers */

/* tabs: underline tabs, same as the collections row */
body.umh-brand.single-product #woo-content div.product .woocommerce-tabs { margin: 10px 0 0; }
body.umh-brand.single-product #woo-content div.product .woocommerce-tabs ul.tabs {
	display: flex;
	gap: 28px;
	margin: 0 0 6px;
	padding: 0;
	border-bottom: 1px solid var(--umh-rule);
	overflow-x: auto;
}
body.umh-brand.single-product #woo-content div.product .woocommerce-tabs ul.tabs::before,
body.umh-brand.single-product #woo-content div.product .woocommerce-tabs ul.tabs li::before,
body.umh-brand.single-product #woo-content div.product .woocommerce-tabs ul.tabs li::after { display: none !important; border: 0 !important; box-shadow: none !important; }
body.umh-brand.single-product #woo-content div.product .woocommerce-tabs ul.tabs li {
	margin: 0 0 -1px;
	padding: 0;
	border: 0;
	border-bottom: 3px solid transparent;
	border-radius: 0;
	background: none;
}
body.umh-brand.single-product #woo-content div.product .woocommerce-tabs ul.tabs li a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0;
	font-family: var(--umh-font-ui);
	font-size: var(--umh-fs-ui);
	font-weight: 600;
	color: var(--umh-muted);
	text-transform: none;
	letter-spacing: 0;
}
body.umh-brand.single-product #woo-content div.product .woocommerce-tabs ul.tabs li.active { border-bottom-color: var(--umh-ink); background: none; }
body.umh-brand.single-product #woo-content div.product .woocommerce-tabs ul.tabs li.active a { color: var(--umh-ink); font-weight: 700; }
body.umh-brand.single-product #woo-content div.product .woocommerce-tabs .panel { margin: 0 0 20px; padding: 0; border: 0; font-family: var(--umh-font-text); font-size: var(--umh-fs-read); line-height: 1.55; color: var(--umh-ink); }
body.umh-brand.single-product #woo-content div.product .woocommerce-tabs .panel > h2:first-child { border-top: 0; margin-top: 18px; padding-top: 0; }
body.umh-brand.single-product #woo-content .woocommerce-Tabs-panel :is(label, .comment-notes, .woocommerce-noreviews, .comment-form-cookies-consent) { font-family: var(--umh-font-ui); font-size: var(--umh-fs-small); color: var(--umh-ink-2); }
body.umh-brand.single-product #woo-content #reviews #comment { min-height: 110px; width: 100%; }
body.umh-brand.single-product #woo-content #review_form #respond .comment-form-author input,
body.umh-brand.single-product #woo-content #review_form #respond .comment-form-email input { width: 100%; max-width: 420px; }
body.umh-brand.single-product #woo-content #respond input#submit { background: transparent; color: var(--umh-ink) !important; border: 1px solid var(--umh-ink); }
body.umh-brand.single-product #woo-content .stars a { color: var(--umh-ink); }
body.umh-brand.single-product #woo-content table.woocommerce-product-attributes { border-top: 2px solid var(--umh-ink); font-family: var(--umh-font-ui); font-size: var(--umh-fs-ui); }
body.umh-brand.single-product #woo-content table.woocommerce-product-attributes :is(th, td) { padding: 10px 0; border-bottom: 1px solid var(--umh-rule); background: none; font-style: normal; }

body.umh-brand.single-product #woo-content .related ul.products,
body.umh-brand.single-product #woo-content .upsells ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* ======================================================================= cart + checkout (blocks) */
body.umh-brand :is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) {
	font-family: var(--umh-font-ui);
	color: var(--umh-ink);
}
body.umh-brand :is(.wc-block-cart, .wc-block-checkout) { max-width: none; }
/* the theme sets its content face (and size) on every p inside #content-main */
body.umh-brand :is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) p { font-family: var(--umh-font-ui) !important; }
body.umh-brand .wc-block-components-product-metadata__description p { font-size: var(--umh-fs-small) !important; color: var(--umh-muted); margin: 4px 0 0; }
body.umh-brand .wc-block-components-title.wc-block-components-title,
body.umh-brand .wc-block-cart .wc-block-cart__totals-title,
body.umh-brand .wp-block-woocommerce-cart-cross-sells-block > h2,
body.umh-brand .wc-block-components-checkout-step__title {
	margin: 0 0 14px;
	padding: 10px 0 0;
	border-top: 2px solid var(--umh-ink);
	font-family: var(--umh-font-display);
	font-size: var(--umh-fs-section) !important;
	font-weight: 800;
	font-variation-settings: "wdth" var(--umh-wdth-h2);
	line-height: 1.1;
	letter-spacing: -.005em;
	text-transform: none !important;
	text-align: left;
	color: var(--umh-ink);
}
body.umh-brand .wc-block-components-checkout-step__heading { margin: 0 0 14px; }
body.umh-brand .wc-block-components-checkout-step__heading .wc-block-components-checkout-step__title { margin: 0; }
body.umh-brand .wc-block-components-checkout-step__heading-content { font-size: var(--umh-fs-small); color: var(--umh-muted); }
body.umh-brand .wc-block-components-checkout-step__description { font-size: var(--umh-fs-small); color: var(--umh-muted); }

/* cart items: rules, caps head, item titles */
body.umh-brand table.wc-block-cart-items { border-top: 0; margin: 0; }
body.umh-brand table.wc-block-cart-items .wc-block-cart-items__header {
	font-size: var(--umh-fs-label);
	font-weight: 700;
	letter-spacing: var(--umh-track-label);
	text-transform: uppercase;
	color: var(--umh-muted);
}
body.umh-brand table.wc-block-cart-items .wc-block-cart-items__header th { padding: 10px 0 8px; border-top: 2px solid var(--umh-ink); border-bottom: 1px solid var(--umh-rule); }
body.umh-brand table.wc-block-cart-items .wc-block-cart-items__row { border-bottom: 1px solid var(--umh-rule); }
body.umh-brand table.wc-block-cart-items td { border-top: 0 !important; }
body.umh-brand table.wc-block-cart-items .wc-block-cart-item__image { background: var(--umh-shop-img); isolation: isolate; }
body.umh-brand table.wc-block-cart-items .wc-block-cart-item__image img,
body.umh-brand .wc-block-components-order-summary-item__image img { border-radius: 0; mix-blend-mode: multiply; aspect-ratio: 1 / 1; object-fit: contain; }
body.umh-brand .wc-block-components-order-summary-item__image { background: var(--umh-shop-img); isolation: isolate; border-radius: 0; }
body.umh-brand .wc-block-components-product-name {
	text-transform: none !important;
	font-family: var(--umh-font-ui);
	font-size: var(--umh-fs-item) !important;
	font-weight: 700;
	line-height: 1.3;
	color: var(--umh-ink) !important;
	text-decoration: none;
}
body.umh-brand a.wc-block-components-product-name:hover { text-decoration: underline; text-underline-offset: 3px; }
body.umh-brand .wc-block-components-product-metadata,
body.umh-brand .wc-block-components-product-details { font-size: var(--umh-fs-small); color: var(--umh-muted); }
body.umh-brand .wc-block-components-product-price { font-variant-numeric: tabular-nums; color: var(--umh-ink); }
body.umh-brand .wc-block-components-product-price del { color: var(--umh-muted); font-size: var(--umh-fs-small); }
body.umh-brand .wc-block-components-product-price ins { text-decoration: none; background: none; }
body.umh-brand .wc-block-components-sale-badge {
	border: 0;
	border-radius: 0;
	background: var(--umh-tint);
	color: var(--umh-ink-2);
	font-size: var(--umh-fs-label);
	font-weight: 700;
	letter-spacing: var(--umh-track-label);
	text-transform: uppercase;
}
body.umh-brand .wc-block-cart-item__total .wc-block-components-formatted-money-amount { font-weight: 700; }
body.umh-brand .wc-block-components-quantity-selector {
	border: 1px solid var(--umh-shop-field) !important;
	border-radius: var(--umh-radius-control) !important;
	background: var(--umh-paper);
	min-height: 40px;
}
body.umh-brand .wc-block-components-quantity-selector::after { display: none !important; }
body.umh-brand .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
	background: none;
	border: 0 !important;
	box-shadow: none !important;
	color: var(--umh-ink);
	font-family: var(--umh-font-ui);
	font-size: var(--umh-fs-base);
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	min-height: 0;
}
body.umh-brand .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button { color: var(--umh-ink); background: none; border: 0; box-shadow: none; opacity: 1; }
body.umh-brand .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:disabled { color: var(--umh-muted); opacity: .5; }
body.umh-brand .wc-block-cart-item__remove-link {
	font-family: var(--umh-font-ui) !important;
	font-size: var(--umh-fs-small) !important;
	font-weight: 600;
	color: var(--umh-ink-2) !important;
	text-decoration: underline !important;
	text-underline-offset: 3px;
	text-transform: none;
}

/* totals / order summary: rules, no box */
body.umh-brand .wp-block-woocommerce-checkout-order-summary-block,
body.umh-brand .wc-block-components-sidebar .wc-block-components-panel,
body.umh-brand .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block {
	border: 0 !important;
	border-radius: 0 !important;
	background: none;
}
body.umh-brand .wp-block-woocommerce-checkout-order-summary-block { border-top: 2px solid var(--umh-ink) !important; }
body.umh-brand .wc-block-components-checkout-order-summary__title { padding: 12px 0 !important; }
body.umh-brand p.wc-block-components-checkout-order-summary__title-text,
body.umh-brand .wc-block-components-order-summary .wc-block-components-panel__button {
	font-family: var(--umh-font-display);
	font-size: var(--umh-fs-section) !important;
	font-weight: 800;
	font-variation-settings: "wdth" var(--umh-wdth-h2);
	color: var(--umh-ink);
	text-transform: none;
}
body.umh-brand .wp-block-woocommerce-checkout-order-summary-block :is(.wc-block-components-totals-wrapper, .wc-block-components-order-summary, .wp-block-woocommerce-checkout-order-summary-cart-items-block) { padding-left: 0 !important; padding-right: 0 !important; }
body.umh-brand .wc-block-components-totals-wrapper { border-top: 1px solid var(--umh-rule) !important; }
body.umh-brand .wc-block-components-totals-wrapper:empty { border: 0 !important; }
body.umh-brand .wc-block-components-totals-item { font-family: var(--umh-font-ui); color: var(--umh-ink); }
body.umh-brand .wc-block-components-totals-item__label { font-size: var(--umh-fs-ui); }
body.umh-brand .wc-block-components-totals-item__value { font-weight: 700; font-variant-numeric: tabular-nums; }
body.umh-brand .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body.umh-brand .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-size: var(--umh-fs-item) !important; font-weight: 800; }
body.umh-brand .wc-block-components-totals-coupon .wc-block-components-panel__button,
body.umh-brand .wc-block-components-panel__button { font-family: var(--umh-font-ui); font-size: var(--umh-fs-ui) !important; font-weight: 600; color: var(--umh-ink); }
body.umh-brand .wc-block-components-panel__button-icon { fill: var(--umh-ink); }

/* block buttons (Proceed to checkout, Place order, Apply) */
body.umh-brand .wc-block-components-button:not(.is-link) {
	min-height: 48px;
	border-radius: var(--umh-radius-control) !important;
	border: 1px solid var(--umh-ink);
	background: transparent;
	color: var(--umh-ink);
	font-family: var(--umh-font-ui);
	font-size: var(--umh-fs-base) !important;
	font-weight: 700;
	text-transform: none;
	letter-spacing: 0;
	box-shadow: none;
}
body.umh-brand .wc-block-components-button:not(.is-link) .wc-block-components-button__text { font-weight: 700; }
body.umh-brand .wc-block-components-button:not(.is-link):is(.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button) { width: 100%; }
body.umh-brand .wc-block-components-button:not(.is-link):disabled { opacity: .45; }
body.umh-brand .wc-block-components-button.is-link,
body.umh-brand .wc-block-components-checkout-return-to-cart-button {
	color: var(--umh-ink-2) !important;
	font-family: var(--umh-font-ui);
	font-size: var(--umh-fs-small);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}
body.umh-brand .wc-block-components-checkout-return-to-cart-button svg { fill: currentColor; }

/* block inputs: floating labels, 4px, token colours */
body.umh-brand :is(.wc-block-components-text-input, .wc-block-components-form .wc-block-components-text-input) :is(input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="password"], input[type="url"]),
body.umh-brand .wc-block-components-textarea,
body.umh-brand .wc-blocks-components-select .wc-blocks-components-select__select,
body.umh-brand .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input {
	border: 1px solid var(--umh-shop-field) !important;
	border-radius: var(--umh-radius-control) !important;
	background-color: var(--umh-paper) !important;
	color: var(--umh-ink) !important;
	font-family: var(--umh-font-ui) !important;
	font-size: var(--umh-fs-base) !important;
	box-shadow: none !important;
}
body.umh-brand .wc-block-components-text-input :is(input, textarea):focus,
body.umh-brand .wc-blocks-components-select .wc-blocks-components-select__select:focus,
body.umh-brand .wc-block-components-textarea:focus { border-color: var(--umh-ink) !important; box-shadow: var(--umh-focus) !important; outline: none !important; }
body.umh-brand :is(.wc-block-components-text-input, .wc-blocks-components-select) label,
body.umh-brand .wc-blocks-components-select .wc-blocks-components-select__label { color: var(--umh-muted) !important; font-family: var(--umh-font-ui); }
body.umh-brand .wc-blocks-components-select .wc-blocks-components-select__expand { fill: var(--umh-ink); }
body.umh-brand .wc-block-components-address-form__address_2-toggle,
body.umh-brand .wc-block-components-address-card__edit,
body.umh-brand .wc-block-checkout__login-prompt,
body.umh-brand .wc-block-components-checkout-step__container a {
	color: var(--umh-ink);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}
body.umh-brand .wc-block-components-address-form__address_2-toggle { font-size: var(--umh-fs-small); }
body.umh-brand .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] {
	border: 1px solid var(--umh-shop-field);
	border-radius: 2px;
	background: var(--umh-paper);
}
body.umh-brand .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked { background: var(--umh-ink); border-color: var(--umh-ink); }
body.umh-brand .wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: var(--umh-paper); }
body.umh-brand .wc-block-components-checkbox__label,
body.umh-brand .wc-block-checkout__terms { font-family: var(--umh-font-ui); font-size: var(--umh-fs-small); color: var(--umh-ink-2); }
body.umh-brand .wc-block-checkout__terms { border-top: 1px solid var(--umh-rule); padding-top: 14px; }
body.umh-brand .wc-block-checkout__terms a { color: var(--umh-ink); font-weight: 700; }
body.umh-brand .wc-block-components-radio-control__option,
body.umh-brand .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option,
body.umh-brand .wc-block-components-radio-control--highlight-checked::after { border-radius: 0 !important; box-shadow: none !important; border-color: var(--umh-rule) !important; }
body.umh-brand .wc-block-components-radio-control__input { border-color: var(--umh-shop-field) !important; background: var(--umh-paper) !important; }
body.umh-brand .wc-block-components-radio-control__input:checked::before { background: var(--umh-ink) !important; }
body.umh-brand .wc-block-components-loading-mask,
body.umh-brand .wc-block-components-skeleton__element { border-radius: 0; }
/* the notice that there's no payment method yet (dev) or a validation error: ruled lines (see notices) */
body.umh-brand .wc-block-components-notice-banner.is-error .wc-block-components-notice-banner__content { color: var(--umh-ink); }

/* "You may be interested in" (cart cross-sells, a product-collection block): hidden while it has no products to show
   (with no cross-sells set, WooCommerce 11 falls back to listing blog posts, e.g. "Hello world!") */
body.umh-brand .wp-block-woocommerce-cart .wp-block-woocommerce-product-collection:not(:has(li.wc-block-product.type-product)) { display: none; }
body.umh-brand .wp-block-woocommerce-cart .wp-block-woocommerce-product-collection li.wc-block-product :is(h2, h3).wp-block-post-title {
	font-family: var(--umh-font-ui) !important;
	font-size: var(--umh-fs-item) !important;
	font-weight: 700;
	text-transform: none !important;
	text-align: left;
}
body.umh-brand #content-main .wp-block-woocommerce-cart .wp-block-woocommerce-product-collection > h2 {
	margin: 30px 0 14px !important;
	padding: 10px 0 0;
	border-top: 2px solid var(--umh-ink);
	font-family: var(--umh-font-display);
	font-size: var(--umh-fs-section);
	font-weight: 800;
	font-variation-settings: "wdth" var(--umh-wdth-h2);
	text-transform: none;
	color: var(--umh-ink);
}
body.umh-brand .wp-block-woocommerce-cart-cross-sells-block { margin-top: 30px; }
body.umh-brand .wp-block-woocommerce-cart-cross-sells-block .cross-sells-product { text-align: left; }
body.umh-brand .wp-block-woocommerce-cart-cross-sells-block .cross-sells-product img { background: var(--umh-shop-img); aspect-ratio: 1 / 1; object-fit: contain; border-radius: 0; }

/* empty cart */
body.umh-brand .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title {
	font-family: var(--umh-font-display);
	font-size: var(--umh-fs-section);
	font-weight: 800;
	font-variation-settings: "wdth" var(--umh-wdth-h2);
	color: var(--umh-ink);
}
body.umh-brand .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title::before { background-color: var(--umh-muted); }
body.umh-brand .wp-block-woocommerce-empty-cart-block hr.wp-block-separator { border-color: var(--umh-rule); }
body.umh-brand .wp-block-woocommerce-empty-cart-block h2.wp-block-heading { font-family: var(--umh-font-display); font-size: var(--umh-fs-section); font-weight: 800; text-transform: none; }

/* ======================================================================= classic cart / checkout (fallback if the pages switch to shortcodes) */
body.umh-brand .woocommerce-cart-form .product-thumbnail img { width: 72px; aspect-ratio: 1 / 1; object-fit: contain; background: var(--umh-shop-img); border-radius: 0; }
body.umh-brand .woocommerce-cart-form a.remove { color: var(--umh-muted) !important; border-radius: 0; font-weight: 400; }
body.umh-brand .woocommerce-cart-form a.remove:hover { background: var(--umh-tint); color: var(--umh-bad) !important; }
body.umh-brand .woocommerce .cart-collaterals .cart_totals,
body.umh-brand .woocommerce-checkout #payment { background: none; border-radius: 0; }
body.umh-brand .woocommerce-checkout #payment ul.payment_methods { border-bottom: 1px solid var(--umh-rule); padding: 0 0 12px; }
body.umh-brand .woocommerce-checkout #payment div.payment_box { background: var(--umh-tint); color: var(--umh-ink); border-radius: 0; }
body.umh-brand .woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--umh-tint); }

/* ======================================================================= order received */
body.umh-brand .woocommerce-order .woocommerce-thankyou-order-received,
body.umh-brand .woocommerce-order .woocommerce-notice--success {
	margin: 0 0 18px;
	font-family: var(--umh-font-text);
	font-size: var(--umh-fs-read);
	line-height: 1.45;
	color: var(--umh-ink);
}
body.umh-brand .woocommerce ul.woocommerce-order-overview {
	margin-left: 0 !important;
	padding-left: 0 !important;
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	margin: 0 0 28px;
	padding: 0;
	border-top: 2px solid var(--umh-ink);
	border-bottom: 1px solid var(--umh-rule);
	list-style: none;
}
body.umh-brand .woocommerce ul.woocommerce-order-overview::before,
body.umh-brand .woocommerce ul.woocommerce-order-overview::after { display: none; }
body.umh-brand .woocommerce ul.woocommerce-order-overview li {
	flex: 1 1 140px;
	list-style: none;
	margin: 0 !important;
	padding: 12px 16px 12px 0;
	border: 0;
	float: none;
	font-family: var(--umh-font-ui);
	font-size: var(--umh-fs-label);
	font-weight: 700;
	letter-spacing: var(--umh-track-label);
	text-transform: uppercase;
	line-height: 1.2;
	color: var(--umh-muted);
}
body.umh-brand .woocommerce ul.woocommerce-order-overview li strong {
	display: block;
	margin-top: 6px;
	font-size: var(--umh-fs-ui);
	letter-spacing: 0;
	text-transform: none;
	color: var(--umh-ink);
	font-variant-numeric: tabular-nums;
	overflow-wrap: anywhere;
}
body.umh-brand .woocommerce .woocommerce-customer-details address {
	padding: 0;
	border: 0;
	border-radius: 0;
	font-family: var(--umh-font-ui);
	font-style: normal;
	font-size: var(--umh-fs-ui);
	line-height: 1.5;
	color: var(--umh-ink);
}

/* ======================================================================= My Account */
body.umh-brand.woocommerce-account .woocommerce { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 0 48px; align-items: start; }
body.umh-brand.woocommerce-account .woocommerce::before,
body.umh-brand.woocommerce-account .woocommerce::after { display: none; }
body.umh-brand.woocommerce-account .woocommerce > :not(.woocommerce-MyAccount-navigation):not(.woocommerce-MyAccount-content) { grid-column: 1 / -1; }
body.umh-brand.woocommerce-account .woocommerce-MyAccount-navigation,
body.umh-brand.woocommerce-account .woocommerce-MyAccount-content { float: none; width: auto; }
body.umh-brand.woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0 !important; padding: 0 !important; list-style: none; border-top: 2px solid var(--umh-ink); }
body.umh-brand.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0 !important; padding: 0 !important; border-bottom: 1px solid var(--umh-rule); list-style: none; }
body.umh-brand.woocommerce-account .woocommerce-MyAccount-navigation li::marker { content: none; }
body.umh-brand.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: flex;
	align-items: center;
	min-height: 44px;
	padding: 0 0 0 12px;
	border-left: 3px solid transparent;
	font-family: var(--umh-font-ui);
	font-size: var(--umh-fs-ui);
	font-weight: 600;
	color: var(--umh-ink-2);
	text-decoration: none;
}
body.umh-brand.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { color: var(--umh-ink); background: var(--umh-tint); }
body.umh-brand.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { color: var(--umh-ink); font-weight: 700; border-left-color: var(--umh-ink); }
body.umh-brand.woocommerce-account .woocommerce-MyAccount-content { font-family: var(--umh-font-ui); font-size: var(--umh-fs-ui); line-height: 1.55; color: var(--umh-ink); }
body.umh-brand.woocommerce-account .woocommerce-MyAccount-content > p { margin: 0 0 1em; max-width: var(--umh-measure); font-size: var(--umh-fs-base); }
body.umh-brand.woocommerce-account .woocommerce-MyAccount-content > p a { color: var(--umh-ink); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
body.umh-brand.woocommerce-account .woocommerce-MyAccount-content > p mark,
body.umh-brand .woocommerce-order-details mark,
body.umh-brand .woocommerce-MyAccount-content mark { background: none; color: var(--umh-ink); font-weight: 700; }
body.umh-brand.woocommerce-account .woocommerce-Addresses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 32px; }
body.umh-brand.woocommerce-account .woocommerce-Addresses::before,
body.umh-brand.woocommerce-account .woocommerce-Addresses::after { display: none; }
body.umh-brand.woocommerce-account .woocommerce-Addresses .woocommerce-Address { width: auto; float: none; margin: 0 !important; padding: 0 !important; }
body.umh-brand.woocommerce-account .woocommerce-Address-title { margin: 24px 0 10px; padding: 10px 0 0; border-top: 2px solid var(--umh-ink); }
body.umh-brand.woocommerce-account #content-main .woocommerce-Address-title :is(h2, h3) {
	margin: 0 !important;
	padding: 0 !important;
	border: 0;
	font-family: var(--umh-font-display);
	font-size: var(--umh-fs-section);
	font-weight: 800;
	font-variation-settings: "wdth" var(--umh-wdth-h2);
	line-height: 1.1;
	text-transform: none;
}
body.umh-brand.woocommerce-account .woocommerce-Address address { font-style: normal; font-family: var(--umh-font-ui); font-size: var(--umh-fs-ui); line-height: 1.5; color: var(--umh-ink-2); }
body.umh-brand.woocommerce-account .woocommerce-Address-title { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
body.umh-brand.woocommerce-account .woocommerce-Address-title a { flex: 0 0 auto; white-space: nowrap; font-size: var(--umh-fs-small); font-weight: 700; color: var(--umh-ink); text-decoration: underline; }
body.umh-brand.woocommerce-account fieldset { margin: 24px 0 0; padding: 0; border: 0; }
body.umh-brand.woocommerce-account fieldset legend { padding: 10px 0 0; font-family: var(--umh-font-display); font-size: var(--umh-fs-section); font-weight: 800; font-variation-settings: "wdth" var(--umh-wdth-h2); color: var(--umh-ink); }
body.umh-brand.woocommerce-account #customer_login { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 40px; }
body.umh-brand.woocommerce-account #customer_login::before,
body.umh-brand.woocommerce-account #customer_login::after { display: none; }
body.umh-brand.woocommerce-account #customer_login > .u-column1,
body.umh-brand.woocommerce-account #customer_login > .u-column2 { width: auto; float: none; }
body.umh-brand.woocommerce-account .woocommerce form.login,
body.umh-brand.woocommerce-account .woocommerce form.register { margin: 0; padding: 0; border: 0; border-radius: 0; }
body.umh-brand.woocommerce-account .woocommerce:has(> form.login) { display: block; max-width: 460px; }
body.umh-brand .woocommerce form :is(.form-row-first, .form-row-last) { width: 48%; }
body.umh-brand .woocommerce form .form-row { padding: 0; margin: 0 0 14px; }
body.umh-brand .woocommerce form .form-row .input-text { width: 100%; }
body.umh-brand .woocommerce .woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: 6px; margin-right: 14px; font-size: var(--umh-fs-small); font-weight: 600; }
body.umh-brand .woocommerce .lost_password a { font-size: var(--umh-fs-small); font-weight: 600; color: var(--umh-ink-2); text-decoration: underline; text-underline-offset: 3px; }
body.umh-brand .woocommerce .password-input { display: block; position: relative; }
body.umh-brand .woocommerce .show-password-input { top: 10px; right: 8px; color: var(--umh-muted); }
body.umh-brand .woocommerce .show-password-input::after { color: var(--umh-muted); }

/* ======================================================================= dark details */
html[data-umh-theme="dark"] body.umh-brand .umh-sq__opt:disabled { color: var(--umh-muted); }
html[data-umh-theme="dark"] body.umh-brand .wc-block-components-skeleton__element,
html[data-umh-theme="dark"] body.umh-brand .wc-block-components-loading-mask::after { background: var(--umh-tint); }
html[data-umh-theme="dark"] body.umh-brand :is(.wc-block-components-text-input, .wc-blocks-components-select, .wc-block-components-combobox) label { background: transparent; }
@media (prefers-color-scheme: dark) {
	html[data-umh-theme="auto"] body.umh-brand .wc-block-components-skeleton__element { background: var(--umh-tint); }
}

/* ======================================================================= tablet + phone */
@media screen and (max-width: 1003px) {
	body.umh-brand.woocommerce-page ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	body.umh-brand.single-product #woo-content .related ul.products,
	body.umh-brand.single-product #woo-content .upsells ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media screen and (max-width: 767px) {
	body.umh-brand.woocommerce-page #content-area { padding-left: 16px; padding-right: 16px; }
	body.umh-brand.woocommerce-page #post-header { padding: 22px 16px 0; }

	body.umh-brand #woo-content .umh-store-hero--desk { grid-template-columns: 1fr; gap: 18px; padding: 0 0 24px; border-top: 0; margin-top: 14px; }
	body.umh-brand #woo-content .umh-store-hero--desk .umh-store-hero-img { margin: 0 -16px; }
	body.umh-brand #woo-content .umh-store-hero--desk .umh-store-hero-copy { max-width: none; }
	body.umh-brand #woo-content .umh-store-hero--desk h2.umh-store-hero-title { font-size: var(--umh-fs-title) !important; }
	body.umh-brand #woo-content .umh-store-hero--desk .umh-store-btn { width: 100%; }
	body.umh-brand .umh-store-cats { gap: 22px; margin-left: -16px; margin-right: -16px; padding: 0 16px; }

	body.umh-brand #woo-content .woocommerce-result-count,
	body.umh-brand #woo-content .woocommerce-ordering { margin: 16px 0 14px; }
	body.umh-brand.woocommerce-page ul.products,
	body.umh-brand.single-product #woo-content .related ul.products,
	body.umh-brand.single-product #woo-content .upsells ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 14px; }
	body.umh-brand.woocommerce-page ul.products li.product :is(h2, h3).woocommerce-loop-product__title { font-size: var(--umh-fs-base) !important; }
	body.umh-brand.woocommerce-page ul.products li.product .price,
	body.umh-brand.woocommerce-page ul.products li.product .price :is(ins, ins .amount) { font-size: var(--umh-fs-base) !important; }
	body.umh-brand ul.products .umh-mprice { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 6px; }
	body.umh-brand ul.products .umh-mprice-with { order: 3; flex-basis: 100%; margin: 2px 0 0; font-size: var(--umh-fs-meta); }
	body.umh-brand ul.products .umh-mprice del { margin: 0 !important; }

	body.umh-brand.single-product #woo-content div.product { grid-template-columns: minmax(0, 1fr); }
	body.umh-brand.single-product #woo-content div.product > .woocommerce-product-gallery { grid-column: 1; margin: 0 -16px 20px; }
	body.umh-brand.single-product #woo-content div.product > .summary { grid-column: 1; grid-row: auto; }
	body.umh-brand.single-product .woocommerce-product-gallery ol.flex-control-thumbs { padding: 0 16px; }
	body.umh-brand.single-product #woo-content div.product form.cart .button.single_add_to_cart_button { max-width: none; }

	body.umh-brand.woocommerce-account .woocommerce { grid-template-columns: minmax(0, 1fr); }
	body.umh-brand.woocommerce-account .woocommerce-MyAccount-navigation { margin: 0 -16px 22px; }
	body.umh-brand.woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; gap: 22px; padding: 0 16px !important; border-top: 0; border-bottom: 1px solid var(--umh-rule); overflow-x: auto; scrollbar-width: none; }
	body.umh-brand.woocommerce-account .woocommerce-MyAccount-navigation li { flex: 0 0 auto; border: 0; }
	body.umh-brand.woocommerce-account .woocommerce-MyAccount-navigation li a { padding: 0; margin-bottom: -1px; border-left: 0; border-bottom: 3px solid transparent; white-space: nowrap; }
	body.umh-brand.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background: none; }
	body.umh-brand.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { border-bottom-color: var(--umh-ink); }
	body.umh-brand.woocommerce-account .woocommerce-Addresses,
	body.umh-brand.woocommerce-account #customer_login { grid-template-columns: minmax(0, 1fr); }
	body.umh-brand .woocommerce form :is(.form-row-first, .form-row-last) { width: 100%; float: none; }
	body.umh-brand :is(#content-main, #woo-content) table.shop_table_responsive tr td { padding-left: 0; padding-right: 0; }
	body.umh-brand .woocommerce ul.woocommerce-order-overview li { flex: 1 1 45%; }
	body.umh-brand .woocommerce ul.woocommerce-order-overview li.woocommerce-order-overview__email { flex-basis: 100%; }
}
