/* ==========================================================================
   woocommerce.css — only enqueued when WooCommerce is active. Shop/product
   grid layout lives in homepage.css (shared with the homepage pricing
   section); this file covers everything else WooCommerce renders.
   ========================================================================== */

.woocommerce-main { min-height: 50vh; }

/* -- Generic WooCommerce buttons -------------------------------------------- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5em;
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 0.95rem;
	line-height: 1;
	padding: 0.9em 1.7em;
	border-radius: var(--radius-pill);
	border: 2px solid var(--ink-border);
	background: transparent;
	color: var(--heading);
	cursor: pointer;
	text-decoration: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
	white-space: nowrap;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
	background: var(--ink);
	border-color: var(--ink);
	color: var(--on-dark);
}
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #place_order,
.woocommerce a.checkout-button {
	background: linear-gradient(135deg, var(--ember), var(--ember-dark));
	border-color: transparent;
	color: var(--white);
	box-shadow: var(--shadow-sm);
}
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #place_order:hover {
	transform: translateY(-2px);
	box-shadow: var(--shadow-md);
	color: var(--white);
}
.woocommerce .button.disabled,
.woocommerce .button:disabled,
.woocommerce .button.loading { opacity: 0.55; cursor: not-allowed; }
.woocommerce a.remove { text-decoration: none; }

/* -- Notices ------------------------------------------------------------------ */
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.85rem;
	list-style: none;
	margin: 0 0 var(--space-md);
	padding: 1em 1.25em;
	border-radius: var(--radius-md);
	font-size: 0.95rem;
}
.woocommerce-message li,
.woocommerce-error li,
.woocommerce-info li { list-style: none; }
.wc-notice-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	flex-shrink: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.55);
}
.wc-notice-icon .icon { width: 1.15em; height: 1.15em; }
.wc-notice-text { flex: 1 1 auto; min-width: 0; }
.wc-notice-text a.button { margin-top: 0.5rem; }
.woocommerce-message { background: var(--signal-dim); color: #1D5C40; border: 1px solid rgba(46, 158, 109, 0.3); }
.woocommerce-error { background: #FBEAE7; color: #9A3324; border: 1px solid rgba(154, 51, 36, 0.25); }
.woocommerce-info { background: var(--paper-tint); color: var(--ember-dark); border: 1px solid var(--border); }
.woocommerce-message a.button, .woocommerce-info a.button { flex-shrink: 0; padding: 0.6em 1.2em; font-size: 0.85rem; }

/* -- Branded page header banner (cart, checkout, order-received, account) ------ */
.wc-page-header {
	display: flex;
	align-items: center;
	gap: var(--space-md);
	background: linear-gradient(135deg, var(--paper-tint), var(--white));
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	padding: var(--space-lg);
	margin-bottom: var(--space-xl);
}
.wc-page-header-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	flex-shrink: 0;
	border-radius: var(--radius-md);
	background: linear-gradient(135deg, var(--ember), var(--ember-dark));
	color: var(--white);
	box-shadow: var(--shadow-sm);
}
.wc-page-header-icon .icon { width: 1.6em; height: 1.6em; }
.wc-page-header-title { font-size: clamp(1.5rem, 3vw, 2rem); margin-bottom: 0.2rem; }
.wc-page-header-subtitle { margin-bottom: 0; color: var(--text-light); font-size: 0.95rem; }

/* The generic page title (from content-page.php) is superseded by the
   banner above on these pages, wherever it would otherwise render. */
body.woocommerce-cart .entry-header,
body.woocommerce-checkout .entry-header,
body.woocommerce-account .entry-header { display: none; }

/* Shop / category archive header — enhance WooCommerce's own native title
   wrapper to match the banner treatment above, rather than duplicating it. */
.woocommerce-products-header {
	background: linear-gradient(135deg, var(--paper-tint), var(--white));
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	padding: var(--space-lg);
	margin-bottom: var(--space-xl);
}
.woocommerce-products-header__title.page-title { margin-bottom: 0.2rem; font-size: clamp(1.5rem, 3vw, 2rem); }
.woocommerce-products-header .archive-description { color: var(--text-light); margin-bottom: 0; }

/* -- Breadcrumb & shop toolbar -------------------------------------------------- */
.woocommerce-breadcrumb {
	display: inline-flex !important;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.4rem;
	font-family: var(--font-mono);
	font-size: 0.82rem;
	font-weight: 500;
	color: var(--ember-darker);
	margin-bottom: var(--space-lg);
	padding: 0.75em 1.6em !important;
	background: linear-gradient(135deg, var(--paper-tint), #ffe4cc) !important;
	border: 1.5px solid rgba(242, 96, 12, 0.35) !important;
	border-radius: var(--radius-pill) !important;
	box-shadow: 0 2px 12px rgba(242, 96, 12, 0.08);
	line-height: 1.5;
}
.woocommerce-breadcrumb a {
	color: var(--ember) !important;
	font-weight: 700;
	transition: color 0.15s ease;
}
.woocommerce-breadcrumb a:hover { color: var(--ember-dark) !important; }

.woocommerce-result-count,
.woocommerce-ordering {
	font-size: 0.9rem;
	color: var(--text-light);
}
.woocommerce > form.woocommerce-ordering,
.woocommerce-result-count {
	display: inline-block;
}
.shop-toolbar,
.woocommerce-main .container > .woocommerce-result-count,
.woocommerce-main .container > form.woocommerce-ordering {
	margin-bottom: var(--space-sm);
}
.woocommerce-ordering select {
	padding: 0.6em 1em;
	border: 1px solid var(--border);
	border-radius: var(--radius-pill);
	background: var(--white);
	font-size: 0.9rem;
}

/* -- Product variation selectors --------------------------------------------- */
/* The "Choose an option" dropdowns on variable products, styled to match. */
/* Broad, aggressive overrides — WooCommerce's default right-aligns the label
   and our narrower selectors weren't catching every markup variation. These
   target the table/labels several ways so alignment always applies. Uses a
   body prefix for maximum specificity so nothing outranks it. */
/* Each variation row is its own self-contained flexbox: label on the left
   (fixed width), dropdown filling the rest, both vertically centred. Making
   each ROW independent means one row's label length can't affect the other.
   Does not rely on display:contents or grid auto-placement. */
body .woocommerce div.product form.cart table.variations,
body table.variations {
	display: block !important;
	width: 100% !important;
	margin: 0 0 var(--space-md) !important;
	border: 0 !important;
	border-collapse: collapse !important;
}
body table.variations tbody { display: block !important; width: 100% !important; }
body table.variations tr {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 1rem !important;
	width: 100% !important;
	margin: 0 0 1.35rem !important;
	border: 0 !important;
	height: 48px !important;
	min-height: 48px !important;
	max-height: 48px !important;
	box-sizing: content-box !important;
}
body table.variations tr:last-child { margin-bottom: 0 !important; }
/* WooCommerce sometimes emits an empty first row (reset/hidden); collapse it
   so it doesn't add stray vertical space that misaligns the visible rows. */
body table.variations tr:empty { display: none !important; margin: 0 !important; min-height: 0 !important; }
body table.variations th,
body table.variations td.label,
body table.variations th.label {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	text-align: left !important;
	flex: 0 0 175px !important;
	width: 175px !important;
	max-width: 175px !important;
	min-width: 175px !important;
	height: 48px !important;
	min-height: 48px !important;
	max-height: 48px !important;
	padding: 0 !important;
	margin: 0 !important;
	font-family: var(--font-display) !important;
	font-weight: 600 !important;
	color: var(--heading) !important;
	line-height: 48px !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	float: none !important;
	vertical-align: middle !important;
}
body table.variations th label,
body table.variations td.label label {
	margin: 0 !important;
	white-space: nowrap !important;
	padding: 0 !important;
	text-align: left !important;
	line-height: 48px !important;
	display: inline-block !important;
	font-weight: 600 !important;
	width: auto !important;
	height: 48px !important;
}
body table.variations td.value,
body table.variations td:not(.label) {
	/* position:relative anchors the absolutely-positioned .reset_variations
	   link below, so WooCommerce's hidden "Clear" link is pulled OUT of this
	   cell's flow and can no longer affect the row. */
	position: relative !important;
	/* Row direction (not column): the main axis is horizontal, so the cross
	   axis is vertical and the select's 48px height can never be flex-shrunk
	   by a sibling. This is what was collapsing the last select to ~22px. */
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: flex-start !important;
	flex: 1 1 auto !important;
	width: auto !important;
	min-width: 0 !important;
	height: 48px !important;
	min-height: 48px !important;
	max-height: 48px !important;
	padding: 0 !important;
	margin: 0 !important;
	float: none !important;
	vertical-align: middle !important;
}
body table.variations select {
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	height: 48px !important;
	margin: 0 !important;
	display: block !important;
	padding: 0 2.4em 0 1em !important;
	border: 1px solid var(--border);
	border-radius: var(--radius-md);
	background-color: var(--white);
	/* Custom ember chevron. */
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23F2600C' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 1em center;
	font-family: var(--font-body);
	font-size: 0.95rem;
	color: var(--heading);
	cursor: pointer;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	transition: border-color 0.18s ease, box-shadow 0.18s ease;
}
body table.variations select:focus {
	outline: none;
	border-color: var(--ember) !important;
	box-shadow: 0 0 0 3px rgba(242, 96, 12, 0.14) !important;
}
/* "Clear" link that appears once a variation is chosen.
   WooCommerce echoes this INSIDE the last variation row's td.value and hides
   it on load with visibility:hidden — which still occupies layout space. Left
   in normal flow it was acting as a second flex child in that cell, squashing
   the last <select> to ~22px and dropping its label ~20px. Taking it out of
   flow (absolute, anchored to td.value) means it contributes zero space when
   hidden and simply floats just beneath the last dropdown when shown. */
.woocommerce div.product form.cart .reset_variations {
	position: absolute !important;
	top: calc(100% + 6px) !important;
	left: 0 !important;
	display: inline-block;
	margin: 0 !important;
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--ember-dark);
	z-index: 2;
}
.woocommerce div.product form.cart .reset_variations:hover { color: var(--ember); }
/* The single variation's price + availability box. */
.woocommerce div.product form.cart .single_variation .price {
	font-family: var(--font-mono);
	font-weight: 700;
	color: var(--ember-dark);
	font-size: 1.3rem;
}
.woocommerce div.product form.cart .woocommerce-variation-availability { margin-top: 0.3rem; }

.woocommerce-pagination { margin-top: var(--space-xl); }
.woocommerce-pagination ul.page-numbers {
	display: flex;
	justify-content: center;
	gap: 0.4rem;
	list-style: none;
	padding: 0;
}
.woocommerce-pagination .page-numbers li { margin: 0; }
.woocommerce-pagination .page-numbers a,
.woocommerce-pagination .page-numbers span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 0.6em;
	border-radius: var(--radius-sm);
	border: 1px solid var(--border);
	color: var(--heading);
	font-weight: 600;
	font-size: 0.9rem;
}
.woocommerce-pagination .page-numbers .current { background: var(--ember); border-color: var(--ember); color: var(--white); }
.woocommerce-pagination .page-numbers a:hover { border-color: var(--ember); color: var(--ember-dark); }

/* -- WooCommerce's native star-rating (reviews) — recolour only, the sizing
   and layout technique is WooCommerce's own bundled icon font. -------------- */
.star-rating::before { color: var(--border); }
.star-rating span::before { color: var(--gold); }
.woocommerce-product-rating { display: flex; align-items: center; gap: 0.6rem; margin-bottom: var(--space-md); }
.woocommerce-review-link { font-size: 0.85rem; color: var(--text-light); }

/* -- Single product page ------------------------------------------------------- */
.woocommerce div.product {
	position: relative;
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-xl);
}
@media (min-width: 860px) {
	.woocommerce div.product { grid-template-columns: 1fr 1fr; align-items: start; }
}

.woocommerce span.onsale {
	position: absolute;
	top: 0;
	left: 0;
	background: linear-gradient(135deg, var(--ember), var(--ember-dark));
	color: var(--white);
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	padding: 0.45em 1em;
	border-radius: var(--radius-pill);
	z-index: 2;
	margin: 0;
	min-height: 0;
	line-height: 1.4;
}

/* WooCommerce core sets the gallery to width:48% and floats it, which inside
   our two-column grid squished the image into the top-left with empty space
   around it. Force it to fill its grid column and drop the float. */
.woocommerce div.product .woocommerce-product-gallery {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
}
.woocommerce div.product .summary.entry-summary {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
}
.woocommerce-product-gallery__wrapper { margin: 0; padding: 0; list-style: none; border-radius: var(--radius-lg); overflow: hidden; background: var(--paper-tint); }
.woocommerce-product-gallery__image { width: 100%; position: relative; }
.woocommerce-product-gallery__image img { border-radius: var(--radius-lg); width: 100%; display: block; }
/* Make the whole image obviously clickable to open the lightbox (not just
   the little zoom icon). The gallery image is already an <a> to the full
   size; this just signals it and adds a subtle hover cue. */
.woocommerce-product-gallery__image a {
	display: block;
	cursor: zoom-in;
	position: relative;
}
.woocommerce-product-gallery__image a::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(27, 20, 15, 0);
	transition: background 0.2s ease;
	pointer-events: none;
	border-radius: var(--radius-lg);
}
.woocommerce-product-gallery__image a:hover::after { background: rgba(27, 20, 15, 0.04); }
/* Keep the WooCommerce zoom/trigger button, but style it on-brand. */
.woocommerce-product-gallery__trigger {
	top: 1rem;
	right: 1rem;
	z-index: 3;
}
.flex-control-thumbs { display: flex; gap: 0.6rem; margin: 0.85rem 0 0; padding: 0; list-style: none; flex-wrap: wrap; }
.flex-control-thumbs li { width: 68px; }
.flex-control-thumbs img { border-radius: 10px; cursor: pointer; opacity: 0.55; transition: opacity 0.2s ease, border-color 0.2s ease; border: 2px solid transparent; }
.flex-control-thumbs img.flex-active, .flex-control-thumbs img:hover { opacity: 1; border-color: var(--ember); }

.summary.entry-summary .product_title { font-size: clamp(1.6rem, 3vw, 2.3rem); margin-bottom: 0.5rem; }
.summary.entry-summary > .price {
	display: block;
	font-family: var(--font-mono);
	font-size: 2rem;
	font-weight: 800;
	color: var(--ember-dark);
	margin-bottom: var(--space-md);
}
.summary.entry-summary > .price .woocommerce-Price-amount,
.summary.entry-summary > .price bdi {
	color: var(--ember-dark);
	font-weight: 800;
}
.summary.entry-summary .price ins { text-decoration: none; }
.summary.entry-summary .price del { opacity: 0.5; font-size: 1.05rem; margin-right: 0.5rem; }
.summary.entry-summary .price .woocommerce-Price-currencySymbol { font-family: var(--font-body); font-size: 0.7em; }

.woocommerce-product-details__short-description { color: var(--text); margin-bottom: var(--space-lg); }
.woocommerce-product-details__short-description p:last-child { margin-bottom: 0; }

.woocommerce div.product form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
	margin-bottom: var(--space-lg);
}
.woocommerce div.product form.cart .quantity { display: inline-flex; margin: 0; }
.woocommerce div.product form.cart .quantity .qty {
	width: 74px;
	padding: 0.85em 0.5em;
	border: 1px solid var(--border);
	border-radius: var(--radius-sm);
	text-align: center;
	font-family: var(--font-mono);
}
.woocommerce div.product form.cart .single_add_to_cart_button { flex: 1; min-width: 190px; }

.sdz-trust-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.25rem;
	padding-top: var(--space-md);
	margin-top: var(--space-sm);
	border-top: 1px solid var(--border);
	font-size: 0.85rem;
	color: var(--text-light);
}
.sdz-trust-badges span { display: inline-flex; align-items: center; gap: 0.4em; }
.sdz-trust-badges .icon { width: 1.05em; height: 1.05em; color: var(--signal); }

.product_meta { font-size: 0.85rem; color: var(--text-light); padding-top: var(--space-md); margin-top: var(--space-sm); border-top: 1px solid var(--border); }
.product_meta > span { display: block; margin-bottom: 0.3rem; }
.product_meta a { color: var(--ember-dark); }

.stock { display: inline-block; font-weight: 600; font-size: 0.85rem; margin-bottom: var(--space-md); }
.stock.in-stock { color: var(--signal); }
.stock.out-of-stock { color: var(--ember-dark); }

.woocommerce-tabs { margin-top: var(--space-2xl); grid-column: 1 / -1; }
.woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 1rem;
	list-style: none;
	padding: 0;
	margin: 0 0 var(--space-lg);
	border-bottom: 1px solid var(--border);
}
.woocommerce-tabs ul.tabs li { margin: 0; }
.woocommerce-tabs ul.tabs li a {
	display: inline-block;
	padding: 0.85em 0.25em;
	font-family: var(--font-display);
	font-weight: 600;
	color: var(--text-light);
	border-bottom: 2px solid transparent;
	margin-bottom: -1px;
}
.woocommerce-tabs ul.tabs li.active a,
.woocommerce-tabs ul.tabs li a:hover { color: var(--ember-dark); border-color: var(--ember); }
.woocommerce-Tabs-panel { max-width: 72ch; }
.woocommerce-Tabs-panel h2 { font-size: 1.3rem; }

#reviews .comment-list { list-style: none; padding: 0; }
#review_form #respond { background: var(--paper-tint); padding: var(--space-lg); border-radius: var(--radius-md); }
p.stars a { color: var(--gold); text-decoration: none; }

.related.products, .up-sells.upsells { margin-top: var(--space-2xl); grid-column: 1 / -1; }
.related.products > h2, .up-sells.upsells > h2 { font-size: 1.6rem; margin-bottom: var(--space-sm); }

/* -- Header cart & mini-cart dropdown -------------------------------------------- */
.header-cart { position: relative; }
.header-cart-toggle {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	color: var(--heading);
	padding: 0.4rem;
}
.header-cart-toggle .icon { width: 1.4em; height: 1.4em; }
.cart-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 20px;
	height: 20px;
	padding: 0 0.3em;
	border-radius: var(--radius-pill);
	background: var(--ember);
	color: var(--white);
	font-size: 0.72rem;
	font-weight: 700;
	font-family: var(--font-mono);
}

/* Mini-cart panel head (title + close). Visible in the mobile panel; hidden
   on desktop where the hover dropdown doesn't need a close button. */
.header-mini-cart-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: var(--space-sm);
	padding-bottom: var(--space-sm);
	border-bottom: 1px solid var(--border);
}
.header-mini-cart-title { font-family: var(--font-display); font-weight: 700; font-size: 1.05rem; color: var(--heading); }
.header-mini-cart-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	background: var(--paper-tint);
	border: none;
	border-radius: var(--radius-sm);
	color: var(--heading);
	cursor: pointer;
	padding: 0;
}
.header-mini-cart-close .icon { width: 1.2em; height: 1.2em; }

/*
 * Cart panel bubble. On mobile it's pinned just below the header at the top
 * right (fixed), so it always fits the screen no matter where the icon sits.
 * On desktop it anchors directly under the icon (absolute) and opens on hover.
 */
.header-mini-cart {
	position: fixed;
	top: 72px;
	right: 1rem;
	left: auto;
	width: min(320px, calc(100vw - 2rem));
	max-height: 70vh;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	background: var(--white);
	border: 1px solid var(--border);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-lg);
	padding: var(--space-md);
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px) scale(0.98);
	transform-origin: top right;
	transition: opacity 0.16s ease, transform 0.16s ease, visibility 0.16s ease;
	z-index: 110;
}
.header-cart.cart-open .header-mini-cart {
	opacity: 1;
	visibility: visible;
	transform: translateY(0) scale(1);
}
@media (min-width: 768px) {
	.header-mini-cart {
		position: absolute;
		top: calc(100% + 12px);
		right: 0;
		width: 320px;
	}
	.header-mini-cart::before {
		content: "";
		position: absolute;
		top: -7px;
		right: 16px;
		width: 13px;
		height: 13px;
		background: var(--white);
		border-left: 1px solid var(--border);
		border-top: 1px solid var(--border);
		transform: rotate(45deg);
	}
	.header-cart:hover .header-mini-cart,
	.header-cart:focus-within .header-mini-cart {
		opacity: 1;
		visibility: visible;
		transform: translateY(0) scale(1);
	}
	.header-mini-cart-head { display: none; }
}
.widget_shopping_cart_content .woocommerce-mini-cart__empty-message { font-size: 0.9rem; color: var(--text-light); margin: 0; }
ul.woocommerce-mini-cart.cart_list {
	list-style: none;
	margin: 0 0 var(--space-md);
	padding: 0;
	max-height: 320px;
	overflow-y: auto;
}
/* Mini-cart items — robust layout for the narrow header bubble. Each item is
   a grid: thumbnail | details, with the remove button pinned top-right. The
   details column holds name, variation attributes, and qty/price stacked. */
ul.woocommerce-mini-cart.cart_list {
	margin: 0 0 var(--space-md);
	padding: 0;
	list-style: none;
}
ul.woocommerce-mini-cart.cart_list li.mini_cart_item {
	display: grid !important;
	grid-template-columns: 52px 1fr !important;
	column-gap: 0.75rem !important;
	row-gap: 0.2rem !important;
	align-items: start !important;
	padding: 0.85rem 1.6rem 0.85rem 0 !important;
	border-bottom: 1px solid var(--border);
	position: relative !important;
	margin: 0 !important;
}
ul.woocommerce-mini-cart.cart_list li.mini_cart_item:last-child { border-bottom: none; }
/* Thumbnail spans both text rows on the left. */
ul.woocommerce-mini-cart.cart_list li.mini_cart_item > a:not(.remove) {
	grid-column: 2 !important;
	font-weight: 600 !important;
	font-size: 0.9rem !important;
	line-height: 1.3 !important;
	color: var(--heading) !important;
	text-decoration: none;
}
ul.woocommerce-mini-cart.cart_list li.mini_cart_item img {
	grid-column: 1 !important;
	grid-row: 1 / span 3 !important;
	width: 52px !important;
	height: 52px !important;
	object-fit: cover !important;
	border-radius: 8px !important;
	margin: 0 !important;
	float: none !important;
}
/* Variation attributes (Email/Hosting Size, Domain Registration, etc). */
ul.woocommerce-mini-cart.cart_list li.mini_cart_item dl.variation {
	grid-column: 2 !important;
	margin: 0.15rem 0 0 !important;
	padding: 0 !important;
	font-size: 0.76rem !important;
	line-height: 1.45 !important;
	color: var(--text-light) !important;
	display: block !important;
}
ul.woocommerce-mini-cart.cart_list li.mini_cart_item dl.variation dt,
ul.woocommerce-mini-cart.cart_list li.mini_cart_item dl.variation dd {
	display: inline !important;
	margin: 0 !important;
	padding: 0 !important;
	font-weight: 500 !important;
}
ul.woocommerce-mini-cart.cart_list li.mini_cart_item dl.variation dt { font-weight: 600 !important; color: var(--text) !important; }
ul.woocommerce-mini-cart.cart_list li.mini_cart_item dl.variation dd { margin-right: 0.5em !important; }
ul.woocommerce-mini-cart.cart_list li.mini_cart_item dl.variation dd::after { content: ""; display: block; }
ul.woocommerce-mini-cart.cart_list li.mini_cart_item dl.variation p { margin: 0 !important; }
/* Quantity × price line. */
ul.woocommerce-mini-cart.cart_list li.mini_cart_item .quantity {
	grid-column: 2 !important;
	display: block !important;
	font-family: var(--font-mono) !important;
	font-size: 0.82rem !important;
	color: var(--ember-dark) !important;
	margin-top: 0.15rem !important;
}
/* Remove ✕ pinned top-right of the row. */
ul.woocommerce-mini-cart.cart_list li.mini_cart_item a.remove {
	position: absolute !important;
	top: 0.7rem !important;
	right: 0 !important;
	left: auto !important;
	width: 22px !important;
	height: 22px !important;
	line-height: 20px !important;
	text-align: center !important;
	border-radius: 50% !important;
	background: var(--paper-tint) !important;
	color: var(--ember-dark) !important;
	font-size: 0.85rem !important;
	margin: 0 !important;
}
ul.woocommerce-mini-cart.cart_list li.mini_cart_item a.remove:hover {
	background: var(--ember) !important;
	color: #fff !important;
}
.woocommerce-mini-cart__total {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-family: var(--font-display);
	font-weight: 700;
	padding-top: var(--space-sm);
	border-top: 2px solid var(--paper-tint);
	margin-bottom: var(--space-md);
}
.woocommerce-mini-cart__total .woocommerce-Price-amount { color: var(--ember-dark); font-family: var(--font-mono); }
.woocommerce-mini-cart__buttons { display: flex; flex-direction: column; gap: 0.6rem; margin: 0; }
.woocommerce-mini-cart__buttons a { width: 100%; margin: 0 !important; }

/* -- Cart page ------------------------------------------------------------------ */
.woocommerce table.shop_table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: var(--space-lg);
	border: 1px solid var(--border);
	border-radius: var(--radius-md);
	overflow: hidden;
}
.woocommerce table.shop_table thead th {
	background: var(--paper-tint);
	text-align: left;
	padding: 1em;
	font-family: var(--font-display);
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--heading);
}
.woocommerce table.shop_table td { padding: 1em; border-top: 1px solid var(--border); vertical-align: middle; }
.woocommerce table.shop_table td.product-thumbnail img { width: 64px; border-radius: 8px; }
.woocommerce table.shop_table td.product-name a { font-weight: 600; color: var(--heading); }
.woocommerce table.shop_table td.product-quantity .qty {
	width: 64px;
	padding: 0.6em;
	border: 1px solid var(--border);
	border-radius: 8px;
	text-align: center;
	font-family: var(--font-mono);
}
.woocommerce table.shop_table td.product-subtotal, .woocommerce table.shop_table td.product-price { font-family: var(--font-mono); }
.woocommerce table.shop_table td.actions { text-align: right; }

.cart-collaterals { display: grid !important; gap: var(--space-lg); grid-template-columns: 1fr !important; margin-top: var(--space-xl); float: none !important; width: auto !important; }
@media (min-width: 780px) { .cart-collaterals { grid-template-columns: 1fr 380px !important; } }
.cart_totals { background: var(--paper-tint); border-radius: var(--radius-md); padding: var(--space-lg); }
.cart_totals h2 { font-size: 1.25rem; }
.cart_totals table { width: 100%; }
.cart_totals table th, .cart_totals table td { padding: 0.7em 0; border-bottom: 1px solid var(--border); text-align: left; }
.cart_totals table tr:last-child th, .cart_totals table tr:last-child td { border-bottom: none; }
.cart_totals .order-total .woocommerce-Price-amount { font-family: var(--font-mono); font-size: 1.3rem; color: var(--ember-dark); font-weight: 700; }
.wc-proceed-to-checkout { margin-top: var(--space-md); }
.wc-proceed-to-checkout a.checkout-button { width: 100%; }

.woocommerce-cart-form .coupon { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-top: var(--space-md); }
.woocommerce-cart-form .coupon input#coupon_code {
	padding: 0.85em 1.1em;
	border: 1px solid var(--border);
	border-radius: var(--radius-pill);
	flex: 1;
	min-width: 180px;
}

/* -- Checkout page --------------------------------------------------------------- */
.woocommerce-checkout .col2-set { display: grid !important; gap: var(--space-lg); grid-template-columns: 1fr !important; width: 100% !important; float: none !important; text-align: left !important; }
@media (min-width: 620px) { .woocommerce-checkout .col2-set { grid-template-columns: 1fr 1fr !important; } }
.woocommerce-checkout .col2-set > * {
	display: block !important;
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	text-align: left !important;
	box-sizing: border-box !important;
}

.woocommerce form .form-row { margin-bottom: var(--space-md); }
.woocommerce form .form-row label { display: block; font-weight: 600; font-size: 0.88rem; margin-bottom: 0.4em; }
.woocommerce form .form-row .required { color: var(--ember); text-decoration: none; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea,
.woocommerce form.woocommerce-form-login input,
.woocommerce form.woocommerce-form-register input,
.woocommerce form.edit-account input {
	width: 100%;
	padding: 0.85em 1.1em;
	border: 1px solid var(--border);
	border-radius: var(--radius-sm);
	background: var(--white);
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row select:focus,
.woocommerce form .form-row textarea:focus { outline: none; border-color: var(--ember); box-shadow: 0 0 0 3px rgba(242, 96, 12, 0.15); }
.select2-container .select2-selection--single {
	height: auto !important;
	padding: 0.6em 1.1em !important;
	border: 1px solid var(--border) !important;
	border-radius: var(--radius-sm) !important;
}
.select2-container .select2-selection__rendered { line-height: 1.5 !important; padding: 0 !important; }

#order_review_heading { font-size: 1.3rem; margin-top: var(--space-xl); margin-bottom: var(--space-md); }
table.woocommerce-checkout-review-order-table {
	width: 100%;
	border-collapse: collapse;
	background: var(--paper-tint);
	border-radius: var(--radius-md);
	overflow: hidden;
}
table.woocommerce-checkout-review-order-table th,
table.woocommerce-checkout-review-order-table td { padding: 0.85em 1.25em; border-bottom: 1px solid var(--border); text-align: left; }
table.woocommerce-checkout-review-order-table tr:last-child th,
table.woocommerce-checkout-review-order-table tr:last-child td { border-bottom: none; }
table.woocommerce-checkout-review-order-table .order-total .woocommerce-Price-amount { font-family: var(--font-mono); font-weight: 700; color: var(--ember-dark); font-size: 1.15rem; }

.woocommerce-checkout-payment { background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-md); padding: var(--space-md); margin-top: var(--space-md); }
ul.wc_payment_methods.payment_methods { list-style: none; margin: 0; padding: 0; }
ul.payment_methods li { padding: 0.75em 0; border-bottom: 1px solid var(--border); }
ul.payment_methods li:last-child { border-bottom: none; }
ul.payment_methods li label { font-weight: 600; }
.payment_box { background: var(--paper); border-radius: var(--radius-sm); padding: 1em; margin-top: 0.6em; font-size: 0.88rem; color: var(--text-light); }
.payment_box p:last-child { margin-bottom: 0; }
#place_order { width: 100%; margin-top: var(--space-md); font-size: 1.05rem; padding: 1.05em; }
.woocommerce-terms-and-conditions-wrapper { margin: var(--space-md) 0; font-size: 0.85rem; }

@media (min-width: 900px) {
	.woocommerce-checkout form.checkout {
		display: grid !important;
		grid-template-columns: 1.15fr 1fr !important;
		grid-template-areas: "details heading" "details review";
		column-gap: var(--space-xl);
		align-items: start;
	}
	.woocommerce-checkout form.checkout .col2-set { grid-area: details; }
	.woocommerce-checkout form.checkout #order_review_heading { grid-area: heading; margin-top: 0; }
	.woocommerce-checkout form.checkout #order_review { grid-area: review; }
}

.woocommerce-order-received .woocommerce-order,
.woocommerce-order-received .woocommerce-thankyou-order-received {
	text-align: center;
	max-width: 60ch;
	margin: 0 auto var(--space-lg);
	font-size: 1.15rem;
	color: var(--heading);
}
ul.woocommerce-order-overview {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-md) var(--space-xl);
	list-style: none;
	padding: var(--space-lg);
	margin: 0 0 var(--space-xl);
	background: var(--paper-tint);
	border-radius: var(--radius-md);
	justify-content: center;
	text-align: center;
}
ul.woocommerce-order-overview li { margin: 0; }
ul.woocommerce-order-overview strong { display: block; font-family: var(--font-display); color: var(--heading); }

/* -- My Account ------------------------------------------------------------------ */
body.woocommerce-account .woocommerce-main .container {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-xl);
	align-items: flex-start;
}
.woocommerce-MyAccount-navigation {
	width: 100%;
	background: var(--white);
	border: 1px solid var(--border);
	border-radius: var(--radius-md);
	padding: 0.6rem;
}
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.25rem; }
.woocommerce-MyAccount-navigation li { margin: 0; }
.woocommerce-MyAccount-navigation li a {
	display: flex;
	align-items: center;
	gap: 0.65em;
	padding: 0.7em 1.1em;
	border-radius: var(--radius-sm);
	font-weight: 600;
	font-size: 0.9rem;
	color: var(--text);
}
.account-nav-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	flex-shrink: 0;
	border-radius: var(--radius-sm);
	background: var(--paper-tint);
	color: var(--ember-dark);
}
.account-nav-icon .icon { width: 1.05em; height: 1.05em; }
.woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-MyAccount-navigation li a:hover { background: var(--paper-tint); color: var(--ember-dark); }
.woocommerce-MyAccount-navigation li.is-active .account-nav-icon,
.woocommerce-MyAccount-navigation li a:hover .account-nav-icon { background: var(--white); }
.woocommerce-MyAccount-content {
	flex: 1 1 320px;
	min-width: 0;
	background: var(--white);
	border-radius: var(--radius-md);
	padding: var(--space-lg);
	box-shadow: var(--shadow-sm);
}
.woocommerce-MyAccount-content > p:first-child {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	font-size: 1.05rem;
	padding-bottom: var(--space-md);
	margin-bottom: var(--space-md) !important;
	border-bottom: 2px solid var(--paper-tint);
}
.woocommerce-MyAccount-content > p:first-child::before {
	content: "👋";
	font-size: 1.7rem;
	flex-shrink: 0;
}

.account-quicklinks {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: var(--space-md);
	margin-top: var(--space-lg);
}
@media (min-width: 640px) {
	.account-quicklinks { grid-template-columns: repeat(3, 1fr) !important; }
}
.account-quicklink-card {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	padding: var(--space-md);
	background: var(--paper-tint);
	border: 1px solid transparent;
	border-radius: var(--radius-md);
	color: var(--heading);
	transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}
.account-quicklink-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--shadow-sm);
	background: var(--white);
	border-color: var(--border);
	color: var(--heading);
}
.account-quicklink-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: var(--radius-sm);
	background: linear-gradient(135deg, var(--ember), var(--ember-dark));
	color: var(--white);
	margin-bottom: 0.3rem;
}
.account-quicklink-icon .icon { width: 1.3em; height: 1.3em; }
.account-quicklink-title { font-family: var(--font-display); font-weight: 600; font-size: 1rem; }
.account-quicklink-text { font-size: 0.85rem; color: var(--text-light); }

@media (min-width: 820px) {
	.woocommerce-MyAccount-navigation { width: 240px; flex-shrink: 0; }
	.woocommerce-MyAccount-navigation ul { flex-direction: column; }
}

.woocommerce-MyAccount-content table.shop_table { margin-top: var(--space-md); }

.woocommerce-Addresses {
	display: grid !important;
	gap: var(--space-md) !important;
	grid-template-columns: 1fr !important;
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	width: 100% !important;
	text-align: left !important;
}
@media (min-width: 720px) {
	.woocommerce-Addresses { grid-template-columns: repeat(2, 1fr) !important; }
}
/* Target every direct child unconditionally, rather than guessing whichever
   column class name WooCommerce happens to use (.col-1/.col-2/.u-column1/
   .u-column2 etc.) — this is what actually fixes the staggered/offset
   layout, since it was residual inline-block + float + text-align
   behaviour on the column wrapper itself, not just the address card. */
.woocommerce-Addresses > * {
	display: block !important;
	float: none !important;
	clear: none !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	text-align: left !important;
	vertical-align: top !important;
	box-sizing: border-box !important;
}

.woocommerce-Address {
	background: var(--white);
	border: 1px solid var(--border);
	border-radius: var(--radius-md);
	padding: var(--space-md);
}
.woocommerce-Address-title {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 0.5rem;
	margin-bottom: var(--space-sm);
}
.woocommerce-Address-title > * { margin: 0 !important; }
.woocommerce-Address-title h2,
.woocommerce-Address-title h3 { font-size: 1rem; }


.woocommerce form.login,
.woocommerce form.register,
.woocommerce form.edit-account {
	max-width: 480px;
	background: var(--white);
	border: 1px solid var(--border);
	border-radius: var(--radius-md);
	padding: var(--space-lg);
}
.woocommerce-account .u-column1, .woocommerce-account .u-column2 { width: 100%; }
.woocommerce-form-login__rememberme { display: flex; align-items: center; gap: 0.5em; font-weight: 500; }
.woocommerce-LostPassword { margin-top: var(--space-sm); font-size: 0.9rem; }

/* ==========================================================================
   Enhanced shop / catalogue (v1.8.0)
   Extends the base WooCommerce styling with a polished, on-brand shop:
   a terminal-style shop header, a search + sort/filter toolbar, richer
   product cards, and a proper empty state — all in the ember/gold identity.
   ========================================================================== */

/* -- Shop hero header --------------------------------------------------------- */
.sadomainz-shop-hero {
	position: relative;
	background: linear-gradient(160deg, var(--ink) 0%, #2b1c11 100%);
	border-radius: var(--radius-lg);
	padding: clamp(1.75rem, 4vw, 2.75rem);
	margin-bottom: var(--space-xl);
	overflow: hidden;
	color: var(--on-dark, #fff);
}
.sadomainz-shop-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(120% 140% at 100% 0%, rgba(242, 96, 12, 0.35), transparent 55%),
		radial-gradient(90% 120% at 0% 100%, rgba(232, 163, 61, 0.18), transparent 50%);
	pointer-events: none;
}
.sadomainz-shop-hero > * { position: relative; z-index: 1; }
.sadomainz-shop-hero .shop-hero-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
	font-family: var(--font-mono);
	font-size: 0.78rem;
	letter-spacing: 0.04em;
	color: var(--gold);
	margin-bottom: 0.9rem;
}
.sadomainz-shop-hero .shop-hero-eyebrow::before {
	content: "";
	width: 8px; height: 8px; border-radius: 50%;
	background: #46d17f;
	box-shadow: 0 0 0 3px rgba(70, 209, 127, 0.2);
}
.sadomainz-shop-hero h1 {
	font-size: clamp(1.75rem, 4vw, 2.75rem);
	color: #fff;
	margin: 0 0 0.6rem;
	line-height: 1.05;
}
.sadomainz-shop-hero p {
	color: rgba(255, 255, 255, 0.8);
	max-width: 52ch;
	margin: 0;
	font-size: 1.02rem;
}

/* -- Search + toolbar row ----------------------------------------------------- */
.sadomainz-shop-controls {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-sm) var(--space-md);
	margin-bottom: var(--space-lg);
}
.sadomainz-shop-search {
	position: relative;
	flex: 1 1 260px;
	min-width: 0;
}
.sadomainz-shop-search .icon {
	position: absolute;
	left: 1rem;
	top: 50%;
	transform: translateY(-50%);
	width: 1.1em; height: 1.1em;
	color: var(--text-light);
	pointer-events: none;
}
.sadomainz-shop-search input[type="search"],
.sadomainz-shop-search input[type="text"] {
	width: 100%;
	padding: 0.85em 1em 0.85em 2.75em;
	border: 1px solid var(--border);
	border-radius: var(--radius-pill);
	background: var(--white);
	font-family: var(--font-mono);
	font-size: 0.92rem;
	color: var(--heading);
	transition: border-color 0.18s ease, box-shadow 0.18s ease;
}
.sadomainz-shop-search input:focus {
	outline: none;
	border-color: var(--ember);
	box-shadow: 0 0 0 3px rgba(242, 96, 12, 0.14);
}
.sadomainz-shop-controls .woocommerce-result-count {
	margin: 0;
	font-family: var(--font-mono);
	font-size: 0.82rem;
}
.sadomainz-search-notice {
	margin: 0 0 var(--space-md);
	font-family: var(--font-mono);
	font-size: 0.88rem;
	color: var(--text-light);
}
.sadomainz-search-notice a {
	color: var(--ember);
	text-decoration: underline;
}
.sadomainz-shop-controls form.woocommerce-ordering { margin: 0 0 0 auto; }

/* Category filter chips (rendered by the shop before the loop). */
.sadomainz-shop-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: var(--space-lg);
}
.sadomainz-shop-filters a {
	display: inline-flex;
	align-items: center;
	padding: 0.5em 1.1em;
	border-radius: var(--radius-pill);
	border: 1px solid var(--border);
	background: var(--white);
	color: var(--text);
	font-size: 0.85rem;
	font-weight: 600;
	transition: all 0.18s ease;
}
.sadomainz-shop-filters a:hover {
	border-color: var(--ember);
	color: var(--ember-dark);
}
.sadomainz-shop-filters a.is-active {
	background: var(--ember);
	border-color: var(--ember);
	color: #fff;
}

/* -- Product card enhancements ------------------------------------------------ */
/* Cards already share the .pricing-card look; add shop-specific polish. */
ul.products li.product.pricing-card {
	position: relative;
	transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}
ul.products li.product.pricing-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 18px 40px rgba(27, 20, 15, 0.14);
	border-color: rgba(242, 96, 12, 0.4);
}
ul.products li.product .pricing-card-media-link {
	position: relative;
	overflow: hidden;
}
ul.products li.product .pricing-card-media-link img {
	transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}
ul.products li.product:hover .pricing-card-media-link img { transform: scale(1.04); }

/* Out-of-stock / featured little flags reuse the pricing badge. */
ul.products li.product .pricing-badge { z-index: 2; }
.sadomainz-stock {
	font-family: var(--font-mono);
	font-size: 0.74rem;
	letter-spacing: 0.03em;
	display: inline-flex;
	align-items: center;
	gap: 0.4em;
	color: #2e9e6d;
	margin-top: 0.2rem;
}
.sadomainz-stock::before {
	content: "";
	width: 7px; height: 7px; border-radius: 50%;
	background: currentColor;
}
.sadomainz-stock.is-out { color: var(--text-light); }

/* -- Beautiful empty state ---------------------------------------------------- */
.sadomainz-shop-empty {
	text-align: center;
	padding: clamp(2.5rem, 8vw, 5rem) 1.5rem;
	border: 1px dashed var(--border);
	border-radius: var(--radius-lg);
	background: var(--paper-tint);
}
.sadomainz-shop-empty .empty-terminal {
	max-width: 420px;
	margin: 0 auto var(--space-lg);
	background: var(--ink);
	border-radius: var(--radius-md);
	overflow: hidden;
	text-align: left;
	box-shadow: var(--shadow-lg);
}
.sadomainz-shop-empty .empty-terminal-bar {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.7rem 0.9rem;
	background: rgba(255, 255, 255, 0.04);
}
.sadomainz-shop-empty .empty-terminal-bar span {
	width: 11px; height: 11px; border-radius: 50%;
	background: #ff5f57;
}
.sadomainz-shop-empty .empty-terminal-bar span:nth-child(2) { background: #febc2e; }
.sadomainz-shop-empty .empty-terminal-bar span:nth-child(3) { background: #28c840; }
.sadomainz-shop-empty .empty-terminal-body {
	padding: 1.2rem 1.1rem 1.4rem;
	font-family: var(--font-mono);
	font-size: 0.9rem;
	color: #d9ccc0;
	line-height: 1.7;
}
.sadomainz-shop-empty .empty-terminal-body .prompt { color: #46d17f; }
.sadomainz-shop-empty .empty-terminal-body .muted { color: #8a7d72; }
.sadomainz-shop-empty h2 { font-size: 1.4rem; margin: 0 0 0.5rem; }
.sadomainz-shop-empty p { color: var(--text-light); margin: 0 auto var(--space-lg); max-width: 44ch; }
