/*
 * Supreme BioLabs — WooCommerce brand styling
 * Loaded only when WooCommerce is active. Targets the classic WooCommerce
 * storefront (ul.products / single-product) with block fallbacks.
 *
 * Brand rules: white cards, soft-gray placeholder image grounds, 12–16px radii,
 * near-black commerce buttons, purple accents, generous spacing.
 */

body {
	--sbl-purple: var(--wp--preset--color--accent-1, #5b00c2);
	--sbl-deep: var(--wp--preset--color--accent-3, #3b007d);
	--sbl-ink: var(--wp--preset--color--contrast, #090909);
	--sbl-muted: var(--wp--preset--color--accent-4, #6b6b73);
	--sbl-soft: var(--wp--preset--color--accent-5, #f5f3f8);
	--sbl-lav: var(--wp--preset--color--accent-2, #eee7f8);
	--sbl-line: var(--wp--custom--input--border, #d8d3de);
	--sbl-ph: #ebe9f1; /* product image placeholder ground (subtle lavender) */
	--sbl-r-md: var(--wp--custom--radius--md, 12px);
	--sbl-r-lg: var(--wp--custom--radius--lg, 16px);
}

/* ==========================================================================
   Store header / archive controls
   ========================================================================== */
.woocommerce-products-header {
	margin-bottom: var(--wp--preset--spacing--50, 40px);
}
.woocommerce-products-header__title,
.wp-block-query-title {
	font-weight: 800;
	letter-spacing: -0.02em;
}
.woocommerce-result-count {
	margin: 0 0 var(--wp--preset--spacing--30, 16px);
	line-height: 40px; /* matches the 40px sorting box so both align vertically */
	font-size: 0.95rem;
	color: var(--sbl-ink);
}
.woocommerce-ordering {
	margin: 0 0 var(--wp--preset--spacing--30, 16px);
}
.woocommerce-ordering select {
	min-height: 40px;
	height: 40px;
	border: 1px solid var(--sbl-line);
	border-radius: var(--sbl-r-md);
	padding: 0 2.1rem 0 0.9rem;
	font-size: 0.82rem;
	line-height: 1;
	background-color: #fff;
	vertical-align: middle;
}

/* Shop toolbar: result count (left) + sorting (right) on one centered row */
.post-type-archive-product .woocommerce,
.tax-product_cat .woocommerce {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	column-gap: 16px;
	row-gap: 12px;
}
.post-type-archive-product .woocommerce-notices-wrapper,
.tax-product_cat .woocommerce-notices-wrapper {
	flex-basis: 100%;
	order: 0;
	margin: 0;
}
.post-type-archive-product .woocommerce-result-count,
.tax-product_cat .woocommerce-result-count {
	order: 1;
	margin: 0;
	font-size: 0.95rem;
	color: var(--sbl-ink);
}
.post-type-archive-product .woocommerce-ordering,
.tax-product_cat .woocommerce-ordering {
	order: 2;
	margin: 0 0 var(--wp--preset--spacing--30, 16px) auto;
}
.post-type-archive-product .woocommerce-ordering select,
.tax-product_cat .woocommerce-ordering select {
	min-height: 40px;
	font-size: 0.82rem;
	padding: 0 2.1rem 0 0.85rem;
}
.post-type-archive-product ul.products,
.tax-product_cat ul.products {
	order: 3;
	flex-basis: 100%;
	margin-top: 0;
}
.post-type-archive-product .woocommerce-pagination,
.tax-product_cat .woocommerce-pagination,
.post-type-archive-product .sbl-loadmore-wrap,
.tax-product_cat .sbl-loadmore-wrap {
	order: 4;
	flex-basis: 100%;
}

/* ==========================================================================
   Header live search (icon + dropdown) + dynamic cart icon
   ========================================================================== */
.sbl-search { position: relative; display: inline-flex; align-items: center; }
.sbl-search__toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 999px;
	color: var(--sbl-ink);
	cursor: pointer;
}
.sbl-search__toggle:hover { color: var(--sbl-purple); }
.sbl-search__toggle svg { width: 20px; height: 20px; display: block; }
.sbl-search__panel {
	position: absolute;
	top: calc(100% + 10px);
	right: 0;
	width: 320px;
	max-width: calc(100vw - 32px);
	background: #fff;
	border: 1px solid var(--sbl-line);
	border-radius: var(--sbl-r-lg);
	box-shadow: 0 18px 44px rgba(9, 9, 9, 0.16);
	padding: 12px;
	z-index: 2147483000;
}
.sbl-search__input {
	width: 100%;
	min-height: 44px;
	border: 1px solid var(--sbl-line);
	border-radius: var(--sbl-r-md);
	padding: 0 12px;
	font: inherit;
	font-size: 0.95rem;
	background: #fff;
	color: var(--sbl-ink);
}
.sbl-search__input:focus {
	outline: 2px solid var(--sbl-purple);
	outline-offset: 2px;
	border-color: var(--sbl-purple);
}
.sbl-search__results { list-style: none; margin: 8px 0 0; padding: 0; }
.sbl-search__results li { margin: 0; }
.sbl-search__result {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 10px;
	border-radius: var(--sbl-r-md);
	color: var(--sbl-ink);
	text-decoration: none;
}
.sbl-search__result:hover { background: var(--sbl-soft); color: var(--sbl-purple); }
.sbl-search__rt { flex: 1; min-width: 0; font-weight: 600; font-size: 0.9rem; line-height: 1.3; overflow-wrap: anywhere; }
.sbl-search__rp { flex: 0 0 auto; color: var(--sbl-muted); font-size: 0.85rem; white-space: nowrap; }
.sbl-search__empty { padding: 10px; color: var(--sbl-muted); font-size: 0.9rem; }

/* Hide the mini-cart icon while the cart is empty */
html.sbl-cart-empty .wp-block-woocommerce-mini-cart { display: none !important; }

/* ==========================================================================
   Product images — uniform square on a soft ground, no placeholder icon
   ========================================================================== */
.woocommerce ul.products li.product img,
.woocommerce ul.products li.product .wp-post-image,
.woocommerce div.product .woocommerce-product-gallery__image img,
.wp-block-woocommerce-product-image img,
.wc-block-components-product-image img,
.wc-block-grid__product-image img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	background: var(--sbl-ph);
	border-radius: var(--sbl-r-md);
	margin: 0 0 1rem;
}

/* Replace WooCommerce's default placeholder graphic with a branded ground
   (soft color + faint centered SB icon) */
img.woocommerce-placeholder,
img[src*="woocommerce-placeholder"] {
	content: url(../images/brand/product-placeholder.png);
	object-fit: cover;
}

/* ==========================================================================
   Product grid + cards
   ========================================================================== */
.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after {
	content: none;
}
.woocommerce ul.products li.product {
	width: auto !important;
	margin: 0 !important;
	float: none !important;
	clear: none !important;
}

/* Related / up-sell rows show four across, and never more than four total */
.woocommerce .related.products ul.products,
.woocommerce .up-sells ul.products {
	grid-template-columns: repeat(4, 1fr);
}
.woocommerce .related.products ul.products li.product:nth-child(n + 5),
.woocommerce .up-sells ul.products li.product:nth-child(n + 5) {
	display: none !important;
}
@media (max-width: 900px) {
	.woocommerce .related.products ul.products,
	.woocommerce .up-sells ul.products {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* Block product grids (e.g. the empty-cart "New in store" / cross-sells row) */
.wc-block-grid__products,
.wp-block-woocommerce-cart-cross-sells-block .wc-block-grid__products {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}
/* Product Collection grid used in some blocks (cross-sells / new-in-store) */
.wp-block-woocommerce-cart-cross-sells-block .wp-block-woocommerce-product-template,
.wp-block-woocommerce-cart-cross-sells-products .wp-block-woocommerce-product-template {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 24px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.wc-block-grid__product {
	position: relative;
	display: flex;
	flex-direction: column;
	text-align: center;
	margin: 0;
	background: #fff;
	border: 1px solid var(--sbl-line);
	border-radius: var(--sbl-r-lg);
	padding: 16px;
}
.wc-block-grid__product-image {
	display: block;
	margin: 0 0 1rem;
}
.wc-block-grid__product-image img {
	aspect-ratio: 1 / 1;
	width: 100%;
	object-fit: cover;
	background: var(--sbl-ph);
	border-radius: var(--sbl-r-md);
	margin: 0;
}
.wc-block-grid__product-title {
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.3;
	color: var(--sbl-ink);
	margin: 0 0 4px;
}
.wc-block-grid__product-price {
	display: block;
	font-weight: 700;
	color: var(--sbl-ink);
	margin: 0 0 12px;
}
.wc-block-grid__product-add-to-cart {
	margin-top: auto;
}
.wc-block-grid__product-add-to-cart .button,
.wc-block-grid__product .wp-block-button__link {
	width: 100%;
	min-height: 48px;
	background: var(--sbl-ink);
	color: #fff;
	border-radius: var(--sbl-r-md);
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}
@media (max-width: 900px) {
	.wc-block-grid__products {
		grid-template-columns: repeat(2, 1fr);
	}
}

.woocommerce ul.products li.product,
.wc-block-product,
.wp-block-woocommerce-product-template li {
	position: relative;
	display: flex;
	flex-direction: column;
	text-align: center;
	background: #fff;
	border: 1px solid var(--sbl-line);
	border-radius: var(--sbl-r-lg);
	padding: 16px;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.woocommerce ul.products li.product,
.woocommerce ul.products li.product *,
.wc-block-grid__product,
.wc-block-grid__product * {
	box-sizing: border-box;
}
.woocommerce ul.products li.product:hover,
.wc-block-product:hover,
.wp-block-woocommerce-product-template li:hover {
	box-shadow: 0 12px 30px rgba(9, 9, 9, 0.08);
	transform: translateY(-2px);
}

/* Product title — ink, not link-purple (never the buttons) */
.woocommerce ul.products li.product a:not(.button):not(.added_to_cart) {
	color: var(--sbl-ink);
	text-decoration: none;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wc-block-grid__product-title,
.wp-block-woocommerce-product-template .wp-block-post-title,
.wp-block-woocommerce-product-template .wp-block-post-title a {
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.3;
	color: var(--sbl-ink);
	margin: 0 0 4px;
	padding: 0;
}
.woocommerce ul.products li.product a:hover .woocommerce-loop-product__title {
	color: var(--sbl-purple);
}

/* Price */
.woocommerce ul.products li.product .price,
.wc-block-grid__product-price,
.wp-block-woocommerce-product-price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--sbl-ink);
	font-weight: 700;
}
.woocommerce ul.products li.product .price {
	display: block;
	margin: 0 0 14px;
}
.price del,
.price del .amount {
	color: var(--sbl-muted);
	font-weight: 400;
}
.price ins {
	text-decoration: none;
}

/* ==========================================================================
   Buttons — commerce actions near-black; "added" secondary purple outline
   ========================================================================== */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce .button,
.woocommerce #respond input#submit,
.wc-block-components-button:not(.is-link),
.wp-block-woocommerce-product-template .wp-block-button__link,
.wc-block-components-product-button .wp-block-button__link {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0.7em 1.6em;
	background: var(--sbl-ink);
	color: #fff;
	border: 1px solid transparent;
	border-radius: var(--sbl-r-md);
	font-weight: 700;
	font-size: 0.95rem;
	letter-spacing: 0.02em;
	text-align: center;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce .button:hover,
.woocommerce #respond input#submit:hover,
.wc-block-components-button:not(.is-link):hover,
.wc-block-components-product-button .wp-block-button__link:hover {
	background: color-mix(in srgb, var(--sbl-ink) 86%, #fff);
	color: #fff;
}

/* Classic add-to-cart: full width, pinned to the bottom for equal-height cards */
.woocommerce ul.products li.product .button {
	margin-top: auto;
	width: 100%;
}
.woocommerce ul.products li.product .added_to_cart {
	width: 100%;
	margin-top: 8px;
}

/* Full-width add-to-cart on block cards */
.wp-block-woocommerce-product-template .wp-block-button,
.wc-block-components-product-button {
	width: 100%;
	margin-top: auto;
}
.wp-block-woocommerce-product-template .wp-block-button__link,
.wc-block-components-product-button .wp-block-button__link {
	width: 100%;
}

/* Single product primary CTA */
.woocommerce div.product form.cart .button,
.single_add_to_cart_button {
	background: var(--sbl-ink);
	min-height: 52px;
	padding-inline: 2rem;
	width: auto;
}

/* Remove the "View cart" link that appears after adding to cart */
.woocommerce a.added_to_cart {
	display: none !important;
}

/* Secondary ghost button (e.g. "Continue shopping") */
.woocommerce .button.wc-backward,
.wc-block-components-button.is-link {
	background: #fff;
	color: var(--sbl-purple);
	border: 1px solid var(--sbl-purple);
	text-transform: none;
	letter-spacing: 0;
}
.woocommerce .button.wc-backward:hover {
	background: var(--sbl-lav);
	color: var(--sbl-deep);
}

/* ==========================================================================
   Sale badge — compact purple pill pinned to the image corner
   ========================================================================== */
/* Hide WooCommerce's block / discount "sale" badges everywhere (mini-cart,
   cart, block product grids). They multiply and create stray pills — we show
   ONE clean classic badge instead. */
.wc-block-components-product-sale-badge,
.wc-block-components-sale-badge,
[class*="wc-block"][class*="sale-badge"] {
	display: none !important;
}

/* The one canonical sale badge: classic span.onsale on cards + single product */
.woocommerce ul.products li.product span.onsale,
.wc-block-grid__product span.onsale,
.woocommerce div.product span.onsale {
	position: absolute !important;
	inset: 24px auto auto 24px !important;
	transform: none !important;
	z-index: 3;
	margin: 0 !important;
	width: auto !important;
	height: auto !important;
	min-width: 0 !important;
	min-height: 0 !important;
	max-width: none !important;
	padding: 5px 10px !important;
	background: var(--sbl-purple) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 6px !important;
	font-size: 0.68rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	white-space: nowrap;
	box-shadow: none !important;
}
.woocommerce span.onsale::before,
.woocommerce span.onsale::after {
	content: none !important;
	display: none !important;
}
.woocommerce ul.products li.product span.onsale ~ span.onsale {
	display: none !important;
}
/* Single-product badge sits at the gallery corner */
.woocommerce div.product span.onsale {
	inset: 16px auto auto 16px !important;
}

/* ==========================================================================
   Load more (shop / archives)
   ========================================================================== */
.sbl-loadmore-wrap {
	display: flex;
	justify-content: center;
	margin: 40px 0 8px;
}
.sbl-loadmore {
	font: inherit;
	font-weight: 700;
	font-size: 0.95rem;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--sbl-purple);
	background: #fff;
	border: 1px solid var(--sbl-purple);
	border-radius: var(--sbl-r-md);
	min-height: 50px;
	padding: 0 36px;
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease;
}
.sbl-loadmore:hover {
	background: var(--sbl-lav);
	color: var(--sbl-deep);
}
.sbl-loadmore[disabled] {
	opacity: 0.5;
	cursor: default;
}

/* Numbered pagination — clean, minimal (fallback when Load more is inactive) */
.woocommerce nav.woocommerce-pagination {
	margin-top: var(--wp--preset--spacing--60, 48px);
	text-align: center;
	border: 0;
}
.woocommerce nav.woocommerce-pagination ul {
	display: inline-flex;
	gap: 6px;
	margin: 0;
	padding: 0;
	border: 0;
	list-style: none;
}
.woocommerce nav.woocommerce-pagination ul li {
	margin: 0;
	border: 0;
	overflow: visible;
}
.woocommerce nav.woocommerce-pagination ul li a.page-numbers,
.woocommerce nav.woocommerce-pagination ul li span.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	margin: 0;
	padding: 0 14px;
	border: 1px solid var(--sbl-line);
	border-radius: var(--sbl-r-md);
	color: var(--sbl-ink);
	font-weight: 600;
	text-decoration: none;
	background: #fff;
}
.woocommerce nav.woocommerce-pagination ul li span.page-numbers.current {
	background: var(--sbl-ink);
	border-color: var(--sbl-ink);
	color: #fff;
}
.woocommerce nav.woocommerce-pagination ul li a.page-numbers:hover {
	background: var(--sbl-soft);
	border-color: var(--sbl-purple);
	color: var(--sbl-purple);
}

/* ==========================================================================
   Single product page
   ========================================================================== */
.single-product div.product {
	gap: var(--wp--preset--spacing--50, 40px);
}
.single-product .woocommerce-product-gallery img,
.wp-block-woocommerce-product-image-gallery img {
	border-radius: var(--sbl-r-lg);
	background: var(--sbl-soft);
}
.single-product .product_title {
	font-weight: 800;
	letter-spacing: -0.02em;
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
	padding: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	border-radius: var(--sbl-r-md) var(--sbl-r-md) 0 0;
	border-color: var(--sbl-line);
}
.woocommerce .quantity input.qty {
	min-height: 52px;
	border: 1px solid var(--sbl-line);
	border-radius: var(--sbl-r-md);
	text-align: center;
}
.woocommerce div.product form.cart .variations select {
	min-height: 48px;
	border: 1px solid var(--sbl-line);
	border-radius: var(--sbl-r-md);
	padding: 0 2.5rem 0 1rem;
}

/* ==========================================================================
   Cart & checkout
   ========================================================================== */
.woocommerce table.shop_table {
	border: 1px solid var(--sbl-line);
	border-radius: var(--sbl-r-lg);
	border-collapse: separate;
	overflow: hidden;
}
.woocommerce table.shop_table th {
	background: var(--sbl-soft);
	color: var(--sbl-ink);
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.wc-block-components-text-input input {
	min-height: 48px;
	border: 1px solid var(--sbl-line);
	border-radius: var(--sbl-r-md);
}

/* Quantity stepper (block cart) — no outer box; just a clean number field + −/+ */
.wc-block-components-quantity-selector {
	border: 0 !important;
	box-shadow: none !important;
	gap: 6px;
	max-width: none;
}
.wc-block-components-quantity-selector::before,
.wc-block-components-quantity-selector::after {
	content: none !important;
	border: 0 !important;
}
.wc-block-components-quantity-selector__input {
	border: 1px solid var(--sbl-line) !important;
	border-radius: var(--sbl-r-md) !important;
	min-height: 44px;
	background: #fff !important;
	box-shadow: none !important;
}
.wc-block-components-quantity-selector__button {
	border: 0 !important;
	background: transparent !important;
	color: var(--sbl-ink) !important;
	font-size: 1.1rem;
}

/* ==========================================================================
   Notices & empty states
   ========================================================================== */
.woocommerce-info,
.woocommerce-message,
.woocommerce-error,
.woocommerce-noreviews {
	border-top: 3px solid var(--sbl-purple);
	border-radius: var(--sbl-r-md);
	background: var(--sbl-soft);
	color: var(--sbl-ink);
}
.woocommerce-message {
	border-top-color: #1f7a4d;
}
.woocommerce-error {
	border-top-color: #b42318;
}
.woocommerce-no-products-found,
.wc-block-product-template__no-results,
.wp-block-query-no-results {
	text-align: center;
	padding: var(--wp--preset--spacing--60, 48px) 1rem;
	color: var(--sbl-muted);
}

/* ==========================================================================
   Shop notice / promo banner (full width, above the sorting row)
   ========================================================================== */
/* Per brand doc: Near Black + white copy for operational messages
   (use the --promo modifier for Supreme Purple launch/promo messaging).
   Keep to one line. */
.sbl-shop-notice {
	width: 100%;
	box-sizing: border-box;
	margin: 0 0 28px;
	padding: 13px 22px;
	background: var(--sbl-ink);
	color: #fff;
	border: 0;
	border-radius: var(--sbl-r-md);
	font-size: 0.85rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 1.4;
	text-align: center;
}
.sbl-shop-notice strong {
	color: #fff;
}
.sbl-shop-notice--promo {
	background: var(--sbl-purple);
}

/* ==========================================================================
   Login (logged-out) — single centered column
   ========================================================================== */
.woocommerce-account:not(.logged-in) .woocommerce {
	max-width: 460px;
	margin-inline: auto;
}
.woocommerce-form-login {
	border: 1px solid var(--sbl-line);
	border-radius: var(--sbl-r-lg);
	padding: 28px 32px;
	margin: 0;
}
.woocommerce-form-login .woocommerce-form-row input.input-text,
.woocommerce-form-login input[type="text"],
.woocommerce-form-login input[type="password"],
.woocommerce-form-login input[type="email"] {
	width: 100%;
	min-height: 48px;
	border: 1px solid var(--sbl-line);
	border-radius: var(--sbl-r-md);
	background: #fff;
}
.woocommerce-form-login .woocommerce-form-login__submit {
	width: 100%;
}

/* ==========================================================================
   My Account (logged in) — clean sidebar + content (no boxed borders)
   ========================================================================== */
.woocommerce-account.logged-in .woocommerce {
	display: flex;
	flex-wrap: wrap;
	gap: 56px;
	align-items: flex-start;
}
.woocommerce-account .woocommerce-MyAccount-navigation {
	flex: 0 0 220px;
}
.woocommerce-account .woocommerce-MyAccount-content {
	flex: 1;
	min-width: 0;
	background: transparent;
	border: 0;
	padding: 0;
}
.woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
}
.woocommerce-MyAccount-navigation li {
	margin: 0;
	border: 0;
}
.woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 11px 16px;
	border-left: 2px solid transparent;
	color: var(--sbl-ink) !important;
	text-decoration: none !important;
	font-weight: 600;
	font-size: 0.95rem;
}
.woocommerce-MyAccount-navigation li a:hover {
	color: var(--sbl-purple) !important;
}
.woocommerce-MyAccount-navigation li.is-active a {
	background: var(--sbl-soft);
	border-left-color: var(--sbl-purple);
	color: var(--sbl-ink) !important;
}
@media (max-width: 782px) {
	.woocommerce-account .woocommerce {
		flex-direction: column;
		gap: 32px;
	}
	.woocommerce-account .woocommerce-MyAccount-navigation {
		flex-basis: auto;
		width: 100%;
	}
}

/* WooCommerce page titles (Cart / Checkout / Account) align with content */
.woocommerce-cart .wp-block-post-title,
.woocommerce-checkout .wp-block-post-title,
.woocommerce-account .wp-block-post-title,
.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title,
.woocommerce-account .entry-title {
	text-align: left !important;
	margin-left: 0 !important;
	max-width: var(--wp--style--global--wide-size, 1340px) !important;
	margin-inline: auto !important;
}

/* Breadcrumb + mini-cart accents */
.woocommerce-breadcrumb a {
	color: var(--sbl-purple);
}
.wc-block-mini-cart__badge {
	background: var(--sbl-purple);
	color: #fff;
}

/* ==========================================================================
   Empty cart — remove the "New in store" section
   ========================================================================== */
.wp-block-woocommerce-empty-cart-block .wc-block-grid,
.wp-block-woocommerce-empty-cart-block .wp-block-separator,
.wp-block-woocommerce-empty-cart-block h2,
.wp-block-woocommerce-empty-cart-block h3,
.cart-empty-block .wc-block-grid,
.woocommerce-cart .wc-block-grid {
	display: none !important;
}

/* ==========================================================================
   Search results page
   ========================================================================== */
.search-results .wp-block-query-title,
.search-no-results .wp-block-query-title {
	font-weight: 800;
	letter-spacing: -0.02em;
	margin-bottom: var(--wp--preset--spacing--40, 32px);
}
.search-results .wp-block-post-template {
	gap: 24px;
	list-style: none;
	padding: 0;
}
.search-results .wp-block-post-template > li {
	background: #fff;
	border: 1px solid var(--sbl-line);
	border-radius: var(--sbl-r-lg);
	padding: 20px;
}
.search-results .wp-block-post-title {
	font-size: 1.05rem;
	font-weight: 700;
	letter-spacing: -0.01em;
}
.search-no-results .wp-block-query-no-results {
	text-align: left;
	color: var(--sbl-muted);
}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 900px) {
	.woocommerce ul.products {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 600px) {
	.woocommerce ul.products {
		grid-template-columns: repeat(2, 1fr);
		gap: 14px;
	}
	.woocommerce ul.products li.product,
	.wc-block-product,
	.wp-block-woocommerce-product-template li {
		padding: 12px;
	}
	.woocommerce span.onsale,
	.woocommerce ul.products li.product > .onsale {
		top: 22px;
		left: 22px;
	}
}
