/**
 * Shop — Sophia Pro shop-left-sidebar parity
 * https://demo-sophia-pro.wpcustomthemes.com/shop-left-sidebar/
 *
 * Layout/HTML matches demo template (hero outside main, sidebar-products, all-products-three-col).
 */

/* Demo uses body.page::before at 50%; shop archive overrides archive 120%. */
body.woocommerce-shop:has(.shop-header).archive::before,
body.tax-product_cat:has(.shop-header).archive::before,
body.tax-product_tag:has(.shop-header).archive::before {
	height: 50% !important;
}

body.woocommerce-shop:has(.shop-header) .wp-block-header.header-transparent,
body.tax-product_cat:has(.shop-header) .wp-block-header.header-transparent,
body.tax-product_tag:has(.shop-header) .wp-block-header.header-transparent {
	background-color: transparent !important;
}

/* Hero sits between header and main (demo DOM). */
.wp-site-blocks > .header-media-inner-post.shop-header,
.wp-site-blocks > .shop-header {
	background-color: transparent !important;
	margin-block-start: 0 !important;
	padding-bottom: 0 !important;
	padding-top: 0 !important;
}

.wp-site-blocks .header-media-inner-post.shop-header + main,
.wp-site-blocks > .shop-header + main {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

.header-media-inner-post.shop-header > .wp-block-group.alignwide {
	padding: 0 !important;
}

.header-media-inner-post.shop-header .wp-block-cover,
.header-media-inner-post.shop-header > .wp-block-group.alignwide {
	border-radius: 0 !important;
}

.header-media-inner-post .wp-block-cover .wp-block-cover__inner-container,
.header-media-inner-post.shop-header .wp-block-group.wp-block-header-images {
	position: initial;
}

.header-media-inner-post.shop-header .wp-block-cover {
	background: transparent !important;
	background-color: transparent !important;
	min-height: auto !important;
	overflow: visible;
	padding: 0 !important;
}

.header-media-inner-post.shop-header .wp-block-cover__background {
	background: transparent !important;
	background-color: transparent !important;
	opacity: 0 !important;
}

.header-media-inner-post.shop-header .wp-block-cover .wp-block-group.wp-block-inner-media-wrapper {
	margin: 0 auto;
	max-width: 760px;
	position: relative;
	text-align: center;
	z-index: 2;
}

.header-media-inner-post.shop-header .wp-block-cover .wp-block-group.wp-block-inner-media-wrapper > * {
	padding-inline: 5%;
}

.header-media-inner-post.shop-header .wp-block-group.wp-block-header-images {
	margin: 0;
}

.header-media-inner-post.shop-header .wp-block-group.wp-block-header-images figure.wp-block-image.wp-block-header-image-first,
.header-media-inner-post.shop-header .wp-block-group.wp-block-header-images figure.wp-block-image.wp-block-header-image-second {
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	margin: 0;
	max-width: 195px;
	overflow: hidden;
	position: absolute;
	width: 13vw;
	z-index: 1;
}

.header-media-inner-post.shop-header .wp-block-group.wp-block-header-images figure.wp-block-image.wp-block-header-image-first > img,
.header-media-inner-post.shop-header .wp-block-group.wp-block-header-images figure.wp-block-image.wp-block-header-image-second > img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.header-media-inner-post.shop-header .wp-block-group.wp-block-header-images figure.wp-block-image.wp-block-header-image-first {
	bottom: 5%;
	left: -3%;
}

.header-media-inner-post.shop-header .wp-block-group.wp-block-header-images figure.wp-block-image.wp-block-header-image-first::before {
	background: url(../images/right-splash.svg) no-repeat;
	background-size: 100%;
	content: '';
	filter: drop-shadow(0 1000px 0 var(--wp--preset--color--shape-bg));
	height: 40vw;
	left: -15%;
	max-width: 600px;
	position: absolute;
	top: -115%;
	transform: translateY(-1000px);
	width: 40vw !important;
	z-index: -1;
}

.header-media-inner-post.shop-header .wp-block-group.wp-block-header-images figure.wp-block-image.wp-block-header-image-second {
	right: -3%;
	top: 5%;
}

/*
 * Wide shop catalog — demo shop-left-sidebar uses ~1320px content.
 * Columns sit inside product-collection, so alignwide must be applied via CSS.
 */
body.woocommerce-shop main > .wp-block-group.alignfull,
body.tax-product_cat main > .wp-block-group.alignfull,
body.tax-product_tag main > .wp-block-group.alignfull {
	max-width: none;
	width: 100%;
}

body.woocommerce-shop main .wp-block-woocommerce-product-collection.alignwide,
body.tax-product_cat main .wp-block-woocommerce-product-collection.alignwide,
body.tax-product_tag main .wp-block-woocommerce-product-collection.alignwide {
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	max-width: var(--wp--style--global--wide-size, 1320px);
	width: 100%;
}

body.woocommerce-shop main .wp-product-category-with-sidebar.alignwide,
body.tax-product_cat main .wp-product-category-with-sidebar.alignwide,
body.tax-product_tag main .wp-product-category-with-sidebar.alignwide {
	max-width: 100%;
	width: 100%;
}

/* Catalog columns — demo: filter row + 23% sidebar + 73% products */
.wp-product-category-with-sidebar {
	gap: 3.5rem !important;
	justify-content: space-between;
}

.wp-product-category-with-sidebar > .wp-block-buttons.wp-filter-button {
	flex-basis: 100% !important;
	width: 100%;
}

.wp-product-category-with-sidebar.wp-sidebar-on-left > .wp-block-column:nth-child(2) {
	flex-basis: 23% !important;
	flex-grow: 0 !important;
}

.wp-product-category-with-sidebar.wp-sidebar-on-left > .wp-block-column:nth-child(3) {
	flex-basis: 73% !important;
	flex-grow: 0 !important;
}

.wp-block-button.wp-sidebar-close-btn,
.wp-product-category-with-sidebar .woocommerce-result-count,
.wp-product-category-with-sidebar .woocommerce-products-header,
.wp-product-category-with-sidebar nav.woocommerce-breadcrumb {
	display: none;
}

.sidebar-open .wp-block-button.wp-sidebar-close-btn {
	display: block;
}

/* Product grid */
.wc-block-product-template__responsive.columns-3,
.wp-product-category-with-sidebar .wc-block-product-template__responsive.columns-3 {
	display: grid !important;
	flex-direction: unset !important;
	flex-wrap: unset !important;
	align-items: start;
	grid-gap: 1.25em;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.wp-product-category-with-sidebar .wc-block-product-template__responsive.columns-3 > li.wc-block-product {
	flex: none !important;
	margin: 0;
	max-width: none !important;
	width: auto !important;
}

/*
 * Catalog product image: full bottle visible inside a capped viewport.
 * (width:100% + height:auto stretches cards; object-fit:cover crops.)
 */
.wp-block-woocommerce-product-template .wc-block-components-product-image,
.woocommerce-page .wc-block-product-template .wc-block-components-product-image,
.wp-block-shop-catalog .wc-block-product-template .wc-block-components-product-image,
body.sophia-shop-archive .wc-block-product-template .wc-block-components-product-image,
body.tax-product_cat .wc-block-product-template .wc-block-components-product-image,
body.tax-product_tag .wc-block-product-template .wc-block-components-product-image,
.woocommerce-page .wc-block-product-template .wc-block-components-product-image[style],
body.sophia-shop-archive .wc-block-product-template .wc-block-components-product-image[style],
body.tax-product_cat .wc-block-product-template .wc-block-components-product-image[style],
body.tax-product_tag .wc-block-product-template .wc-block-components-product-image[style] {
	--shop-product-image-max: 286px;
	--shop-product-image-slot: calc(var(--shop-product-image-max) + 18px);
	flex: 0 0 var(--shop-product-image-slot) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	position: relative;
	box-sizing: border-box;
	margin-bottom: 0 !important;
	padding: 10px 12px 8px !important;
	background: var(--wp--preset--color--background, #fff);
	overflow: hidden;
	height: var(--shop-product-image-slot) !important;
	min-height: var(--shop-product-image-slot) !important;
	max-height: var(--shop-product-image-slot) !important;
	aspect-ratio: unset !important;
}

.wp-block-woocommerce-product-template .wc-block-components-product-image--aspect-ratio-auto,
.woocommerce-page .wc-block-product-template .wc-block-components-product-image--aspect-ratio-auto,
.wp-block-shop-catalog .wc-block-product-template .wc-block-components-product-image--aspect-ratio-auto,
body.sophia-shop-archive .wc-block-product-template .wc-block-components-product-image--aspect-ratio-auto,
body.tax-product_cat .wc-block-product-template .wc-block-components-product-image--aspect-ratio-auto,
body.tax-product_tag .wc-block-product-template .wc-block-components-product-image--aspect-ratio-auto {
	aspect-ratio: unset !important;
	height: auto !important;
	min-height: 0 !important;
}

.wp-block-woocommerce-product-template .wc-block-components-product-image a,
.woocommerce-page .wc-block-product-template .wc-block-components-product-image a,
.wp-block-shop-catalog .wc-block-product-template .wc-block-components-product-image a,
body.sophia-shop-archive .wc-block-product-template .wc-block-components-product-image a,
body.tax-product_cat .wc-block-product-template .wc-block-components-product-image a,
body.tax-product_tag .wc-block-product-template .wc-block-components-product-image a {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100%;
	height: auto !important;
	max-height: var(--shop-product-image-max) !important;
	line-height: 0;
}

.wp-block-woocommerce-product-template .wc-block-components-product-image img,
.woocommerce-page .wc-block-product-template .wc-block-components-product-image img,
.wp-block-shop-catalog .wc-block-product-template .wc-block-components-product-image img,
body.sophia-shop-archive .wc-block-product-template .wc-block-components-product-image img,
body.tax-product_cat .wc-block-product-template .wc-block-components-product-image img,
body.tax-product_tag .wc-block-product-template .wc-block-components-product-image img,
.woocommerce-page .wc-block-product-template .wc-block-components-product-image img[style],
body.sophia-shop-archive .wc-block-product-template .wc-block-components-product-image img[style],
body.tax-product_cat .wc-block-product-template .wc-block-components-product-image img[style],
body.tax-product_tag .wc-block-product-template .wc-block-components-product-image img[style] {
	display: block !important;
	width: auto !important;
	max-width: 100% !important;
	height: auto !important;
	max-height: var(--shop-product-image-max) !important;
	min-height: 0 !important;
	aspect-ratio: unset !important;
	object-fit: contain !important;
	object-position: center center !important;
	margin: 0 auto;
	transition: transform 0.4s ease;
}

@media screen and (max-width: 600px) {
	.wc-block-product-template > li.wc-block-product,
	.woocommerce-page .wc-block-product-template > li.wc-block-product,
	body.sophia-shop-archive .wc-block-product-template > li.wc-block-product {
		--shop-product-card-height: 430px;
	}

	.wp-block-woocommerce-product-template .wc-block-components-product-image,
	.woocommerce-page .wc-block-product-template .wc-block-components-product-image,
	body.sophia-shop-archive .wc-block-product-template .wc-block-components-product-image {
		--shop-product-image-max: 240px;
	}
}

.woocommerce-page .wc-block-product-template .wp-block-post-title,
.woocommerce-page .wc-block-product-template .wp-block-woocommerce-product-price,
.woocommerce-page .wc-block-product-template .wc-block-components-product-summary,
.wp-block-shop-catalog .wc-block-product-template .wp-block-post-title,
.wp-block-shop-catalog .wc-block-product-template .wp-block-woocommerce-product-price,
.wp-block-shop-catalog .wc-block-product-template .wc-block-components-product-summary {
	padding-inline: 20px !important;
}

.woocommerce-page .wc-block-product-template .wp-block-post-title,
.wp-block-shop-catalog .wc-block-product-template .wp-block-post-title {
	font-size: 15px !important;
	line-height: 1.3 !important;
	margin-block: 0 !important;
	padding-block: 0 !important;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

.woocommerce-page .wc-block-product-template .wp-block-post-title a,
.woocommerce-page .wc-block-product-template .wp-block-post-title a:hover,
.woocommerce-page .wc-block-product-template .wp-block-post-title a:focus,
.wp-block-shop-catalog .wc-block-product-template .wp-block-post-title a,
.wp-block-shop-catalog .wc-block-product-template .wp-block-post-title a:hover,
.wp-block-shop-catalog .wc-block-product-template .wp-block-post-title a:focus {
	text-decoration: none !important;
}

.woocommerce-page .wc-block-product-template .wp-block-woocommerce-product-price,
.wp-block-shop-catalog .wc-block-product-template .wp-block-woocommerce-product-price {
	font-size: 16px !important;
	line-height: 1.2 !important;
	margin-block: 0 !important;
	padding-block: 0 !important;
}

.woocommerce-page .wc-block-product-template .wc-block-components-product-summary,
.wp-block-shop-catalog .wc-block-product-template .wc-block-components-product-summary {
	font-size: 13px !important;
	line-height: 1.35 !important;
	margin-block: 0 !important;
	padding-block: 0 !important;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

.woocommerce-page .wc-block-product-template > li.wc-block-product > :not(.wc-block-components-product-image):not(.wp-block-button),
.wp-block-shop-catalog .wc-block-product-template > li.wc-block-product > :not(.wc-block-components-product-image):not(.wp-block-button) {
	margin-block: 0 !important;
}

.woocommerce-page .wc-block-product-template .wp-block-woocommerce-product-price + .wp-block-post-title,
.wp-block-shop-catalog .wc-block-product-template .wp-block-woocommerce-product-price + .wp-block-post-title {
	margin-top: 10px !important;
}

.woocommerce-page .wc-block-product-template .wp-block-post-title + .wc-block-components-product-summary,
.wp-block-shop-catalog .wc-block-product-template .wp-block-post-title + .wc-block-components-product-summary {
	margin-top: 4px !important;
}

/* Product card — fixed outer frame, button pinned to bottom */
.wc-block-product-template > li.wc-block-product,
.woocommerce-page .wc-block-product-template > li.wc-block-product,
.wp-block-shop-catalog .wc-block-product-template > li.wc-block-product,
body.sophia-shop-archive .wc-block-product-template > li.wc-block-product,
body.tax-product_cat .wc-block-product-template > li.wc-block-product,
body.tax-product_tag .wc-block-product-template > li.wc-block-product {
	--shop-product-card-height: 478px;
	display: flex !important;
	flex-direction: column !important;
	height: var(--shop-product-card-height) !important;
	min-height: var(--shop-product-card-height) !important;
	max-height: var(--shop-product-card-height) !important;
	padding-bottom: 50px !important;
	box-sizing: border-box;
}

.wc-block-product-template__responsive.columns-3 > li.wc-block-product,
.wc-block-product-template.is-flex-container > li.wc-block-product {
	align-self: stretch !important;
}

body.sophia-shop-archive :where(.wc-block-product-template .wc-block-product) > :not(:last-child),
body.tax-product_cat :where(.wc-block-product-template .wc-block-product) > :not(:last-child),
body.tax-product_tag :where(.wc-block-product-template .wc-block-product) > :not(:last-child) {
	margin-bottom: 0 !important;
}

/* Sale badge overlay must not affect image box height */
.woocommerce-page .wc-block-product-template .wc-block-components-product-image__inner-container,
body.sophia-shop-archive .wc-block-product-template .wc-block-components-product-image__inner-container {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

body.sophia-shop-archive .wc-block-product-template .shop-product-card-body,
body.sophia-shop-archive .wc-block-product-template > li.wc-block-product > .wp-block-group,
body.tax-product_cat .wc-block-product-template .shop-product-card-body,
body.tax-product_cat .wc-block-product-template > li.wc-block-product > .wp-block-group,
body.tax-product_tag .wc-block-product-template .shop-product-card-body,
body.tax-product_tag .wc-block-product-template > li.wc-block-product > .wp-block-group,
.woocommerce-page .wc-block-product-template > li.wc-block-product > .wp-block-group,
.wp-block-shop-catalog .wc-block-product-template > li.wc-block-product > .wp-block-group {
	display: flex !important;
	flex: 1 1 auto !important;
	flex-direction: column !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 10px 18px 0 !important;
}

body.sophia-shop-archive .wc-block-product-template .shop-product-card-body .wp-block-woocommerce-product-price,
body.sophia-shop-archive .wc-block-product-template > li.wc-block-product > .wp-block-group .wp-block-woocommerce-product-price,
body.tax-product_cat .wc-block-product-template .shop-product-card-body .wp-block-woocommerce-product-price,
body.tax-product_cat .wc-block-product-template > li.wc-block-product > .wp-block-group .wp-block-woocommerce-product-price,
body.tax-product_tag .wc-block-product-template .shop-product-card-body .wp-block-woocommerce-product-price,
body.tax-product_tag .wc-block-product-template > li.wc-block-product > .wp-block-group .wp-block-woocommerce-product-price {
	font-size: 16px !important;
	line-height: 1.2 !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.sophia-shop-archive .wc-block-product-template .shop-product-card-body .wp-block-post-title,
body.sophia-shop-archive .wc-block-product-template > li.wc-block-product > .wp-block-group .wp-block-post-title,
body.tax-product_cat .wc-block-product-template .shop-product-card-body .wp-block-post-title,
body.tax-product_cat .wc-block-product-template > li.wc-block-product > .wp-block-group .wp-block-post-title,
body.tax-product_tag .wc-block-product-template .shop-product-card-body .wp-block-post-title,
body.tax-product_tag .wc-block-product-template > li.wc-block-product > .wp-block-group .wp-block-post-title {
	font-family: var(--wp--preset--font-family--switzer) !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	line-height: 1.3 !important;
	margin: 8px 0 0 !important;
	padding: 0 !important;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

body.sophia-shop-archive .wc-block-product-template .shop-product-card-body .wp-block-post-title a,
body.sophia-shop-archive .wc-block-product-template > li.wc-block-product > .wp-block-group .wp-block-post-title a,
body.tax-product_cat .wc-block-product-template .shop-product-card-body .wp-block-post-title a,
body.tax-product_cat .wc-block-product-template > li.wc-block-product > .wp-block-group .wp-block-post-title a,
body.tax-product_tag .wc-block-product-template .shop-product-card-body .wp-block-post-title a,
body.tax-product_tag .wc-block-product-template > li.wc-block-product > .wp-block-group .wp-block-post-title a {
	font-size: inherit !important;
	line-height: inherit !important;
	text-decoration: none !important;
}

body.sophia-shop-archive .wc-block-product-template .shop-product-card-body .wp-block-post-title a:hover,
body.sophia-shop-archive .wc-block-product-template .shop-product-card-body .wp-block-post-title a:focus,
body.tax-product_cat .wc-block-product-template .shop-product-card-body .wp-block-post-title a:hover,
body.tax-product_tag .wc-block-product-template .shop-product-card-body .wp-block-post-title a:hover {
	text-decoration: none !important;
}

body.sophia-shop-archive .wc-block-product-template .shop-product-card-body .wc-block-components-product-summary,
body.sophia-shop-archive .wc-block-product-template > li.wc-block-product > .wp-block-group .wc-block-components-product-summary,
body.tax-product_cat .wc-block-product-template .shop-product-card-body .wc-block-components-product-summary,
body.tax-product_cat .wc-block-product-template > li.wc-block-product > .wp-block-group .wc-block-components-product-summary,
body.tax-product_tag .wc-block-product-template .shop-product-card-body .wc-block-components-product-summary,
body.tax-product_tag .wc-block-product-template > li.wc-block-product > .wp-block-group .wc-block-components-product-summary,
.woocommerce-page .wc-block-product-template .wc-block-components-product-summary,
.wp-block-shop-catalog .wc-block-product-template .wc-block-components-product-summary {
	font-size: 13px !important;
	line-height: 1.35 !important;
	margin: 4px 0 0 !important;
	padding: 0 !important;
	min-height: 2.7em;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	flex: 1 1 auto;
}

.woocommerce-page .wc-block-product-template .shop-product-card-body .wp-block-button.wc-block-components-product-button,
.woocommerce-page .wc-block-product-template > li.wc-block-product > .wp-block-group .wp-block-button.wc-block-components-product-button,
.wp-block-shop-catalog .wc-block-product-template .shop-product-card-body .wp-block-button.wc-block-components-product-button,
.wp-block-shop-catalog .wc-block-product-template > li.wc-block-product > .wp-block-group .wp-block-button.wc-block-components-product-button,
body.sophia-shop-archive .wc-block-product-template .shop-product-card-body .wp-block-button.wc-block-components-product-button,
body.sophia-shop-archive .wc-block-product-template > li.wc-block-product > .wp-block-group .wp-block-button.wc-block-components-product-button,
body.tax-product_cat .wc-block-product-template .shop-product-card-body .wp-block-button.wc-block-components-product-button,
body.tax-product_cat .wc-block-product-template > li.wc-block-product > .wp-block-group .wp-block-button.wc-block-components-product-button,
body.tax-product_tag .wc-block-product-template .shop-product-card-body .wp-block-button.wc-block-components-product-button,
body.tax-product_tag .wc-block-product-template > li.wc-block-product > .wp-block-group .wp-block-button.wc-block-components-product-button {
	position: absolute !important;
	bottom: 0 !important;
	left: 0 !important;
	margin: 0 !important;
	width: 100% !important;
	z-index: 2;
}

/* Classic shortcode / loop product grids */
.woocommerce ul.products li.product a img,
.wc-block-grid__product-image,
.woocommerce-product-gallery__image img {
	object-fit: contain;
}

.wp-block-woocommerce-product-template > li.wc-block-product:hover .wc-block-components-product-image img,
.woocommerce-page .wc-block-product-template > li.wc-block-product:hover .wc-block-components-product-image img {
	transform: scale(1.03);
}

.wp-block-woocommerce-product-template .wp-block-woocommerce-product-price {
	font-size: 16px !important;
	font-weight: var(--wp--custom--font-weight--medium);
}

.wp-block-woocommerce-product-template .wc-block-components-product-sale-badge .wc-block-components-product-sale-badge__text::after {
	content: '!';
}

.wp-block-woocommerce-product-template .wp-block-button.wc-block-components-product-button .wp-block-button__link::after,
.wp-block-woocommerce-product-template .wp-block-button.wc-block-components-product-button .wc-block-components-product-button__button::after {
	background-image: url("data:image/svg+xml;utf8,<svg fill='none' stroke='%23fff' stroke-width='2' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'><path d='M12 5v14m-7-7h14'/></svg>");
	background-repeat: no-repeat;
	background-size: contain;
	content: '';
	display: inline-block;
	height: 16px;
	margin-left: 5px;
	pointer-events: none;
	position: relative;
	top: -1px;
	vertical-align: middle;
	width: 16px;
}

.wp-block-woocommerce-product-template .wp-block-button.wc-block-components-product-button,
.woocommerce-page .wc-block-product-template .wp-block-button.wc-block-components-product-button,
.wp-block-shop-catalog .wc-block-product-template .wp-block-button.wc-block-components-product-button {
	z-index: 2;
}

.wp-block-woocommerce-product-template .wc-block-components-product-button__button,
.woocommerce-page .wc-block-product-template .wc-block-components-product-button__button,
.wp-block-shop-catalog .wc-block-product-template .wc-block-components-product-button__button {
	cursor: pointer;
	min-height: 50px;
	pointer-events: auto;
	position: relative;
	touch-action: manipulation;
	z-index: 2;
}

.wp-block-woocommerce-product-template .wp-block-button.wc-block-components-product-button .wp-block-button__link:hover,
.wp-block-woocommerce-product-template .wp-block-button.wc-block-components-product-button .wc-block-components-product-button__button:hover {
	background-color: var(--wp--preset--color--chocolate-dim) !important;
	border-color: var(--wp--preset--color--chocolate-dim) !important;
	color: var(--wp--preset--color--light) !important;
}

.wc-block-components-product-sort-select {
	display: flex;
	justify-content: flex-end;
}

/* Sidebar — always visible in left column on desktop */
.wp-product-category-with-sidebar.wp-sidebar-on-left > .wp-block-column:nth-child(2) .wp-block-sidebar {
	display: block;
	width: 100%;
}

.wp-block-sidebar .wp-block-widget:not(:last-child) {
	margin-bottom: 1.75rem;
}

.wp-block-sidebar .wp-block-widget h2,
.wp-block-sidebar .wp-block-widget h3 {
	color: var(--wp--preset--color--tan-brown);
}

/* Color / Search — flush left like Price / Skin Type (no constrained indent) */
.wp-block-sidebar .wp-block-widget.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.wp-block-sidebar .wp-block-widget.wp-block-group-is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	margin-left: 0;
	margin-right: 0;
	max-width: none;
	padding-left: 0;
	padding-right: 0;
}

.wp-block-sidebar .wp-block-woocommerce-filter-wrapper,
.wp-block-sidebar .wp-filter-by-color .wc-block-attribute-filter {
	margin-left: 0;
	padding-left: 0;
}

.wp-sidebar-on-left .wp-filter-title,
.wp-sidebar-on-right .wp-filter-title {
	font-size: 20px !important;
	font-weight: 500;
	margin-bottom: 1.25rem;
	margin-top: 0;
	padding-left: 45px;
	position: relative;
}

.wp-sidebar-on-left .wp-filter-title::before,
.wp-sidebar-on-right .wp-filter-title::before {
	background-image: url("data:image/svg+xml,%3Csvg width='29' height='20' viewBox='0 0 29 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18.0578 19.2013C19.9078 19.2013 21.4378 17.8113 21.6778 16.0313L28.0078 16.0313C28.2878 16.0313 28.5078 15.8113 28.5078 15.5313C28.5078 15.2513 28.2878 15.0313 28.0078 15.0313L21.6778 15.0313C21.4278 13.2413 19.9078 11.8613 18.0578 11.8613C16.2078 11.8613 14.6778 13.2513 14.4378 15.0313L0.497803 15.0313C0.217802 15.0313 -0.00219741 15.2513 -0.00219743 15.5313C-0.00219744 15.8113 0.217802 16.0313 0.497803 16.0313L14.4378 16.0313C14.6878 17.8213 16.2078 19.2013 18.0578 19.2013ZM15.3878 15.5213C15.3878 14.0513 16.5878 12.8513 18.0578 12.8513C19.5278 12.8513 20.7278 14.0513 20.7278 15.5213C20.7278 16.9913 19.5278 18.1913 18.0578 18.1913C16.5878 18.1913 15.3878 16.9913 15.3878 15.5213Z' fill='black'/%3E%3Cpath d='M11.5578 4.96884L28.0078 4.96884C28.2878 4.96884 28.5078 4.74884 28.5078 4.46884C28.5078 4.18884 28.2878 3.96884 28.0078 3.96884L11.5578 3.96884C11.3078 2.17884 9.78781 0.798827 7.93781 0.798827C6.0878 0.798827 4.55781 2.18884 4.31781 3.96884L0.497803 3.96884C0.217802 3.96884 -0.00219741 4.18884 -0.00219743 4.46884C-0.00219744 4.74884 0.217802 4.96884 0.497803 4.96884L4.31781 4.96884C4.56781 6.75884 6.0878 8.13882 7.9378 8.13882C9.78781 8.13882 11.3178 6.74884 11.5578 4.96884ZM5.26782 4.46884C5.26782 2.99884 6.46781 1.79883 7.93781 1.79883C9.4078 1.79883 10.6078 2.99884 10.6078 4.46884C10.6078 5.93884 9.4078 7.13882 7.9378 7.13882C6.46781 7.13882 5.26782 5.93884 5.26782 4.46884Z' fill='black'/%3E%3C/svg%3E");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: '';
	height: 20px;
	left: 0;
	position: absolute;
	top: 7px;
	width: 28px;
}

.wp-block-widget-area .wc-block-product-categories-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.wp-block-widget-area .wc-block-product-categories-list--depth-0 > li {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 4px 10px;
	justify-content: space-between;
	margin-bottom: 12px;
}

.wp-block-widget-area .wc-block-product-categories-list li a {
	display: inline-block;
	min-height: 24px;
	padding-left: 32px;
	position: relative;
	text-decoration: none;
}

.wp-block-widget-area .wc-block-product-categories-list li a::before {
	background-color: var(--wp--preset--color--background);
	border: 1px solid var(--wp--preset--color--border-color);
	border-radius: 5px;
	box-sizing: border-box;
	content: '';
	display: block;
	height: 20px;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
}

.wp-block-widget-area .wc-block-product-categories-list li a::after {
	border-bottom: 1.5px solid var(--wp--preset--color--button-color);
	border-left: 1.5px solid var(--wp--preset--color--button-color);
	content: '';
	height: 6px;
	left: 6px;
	opacity: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-58%) rotate(316deg);
	visibility: hidden;
	width: 10px;
}

.wp-block-widget-area .wc-block-product-categories-list li.active a::after,
.wp-block-widget-area .wc-block-product-categories-list li a:hover::after {
	opacity: 1;
	visibility: visible;
}

/* Category filter checkboxes — Sophia Pro demo typography (Switzer, title color) */
.wp-block-sidebar .wc-block-product-filter-checkbox-list {
	margin: 0;
}

.wp-block-sidebar .wc-block-product-filter-checkbox-list fieldset {
	border: 0 !important;
	border-width: 0 !important;
	border-style: none !important;
	display: contents !important;
	margin: 0 !important;
	min-width: 0 !important;
	padding: 0 !important;
}

.wp-block-sidebar .wc-block-product-filter-checkbox-list legend {
	display: none !important;
}

.wp-block-sidebar .wc-block-product-filter-checkbox-list__items {
	display: flex;
	flex-direction: column;
	gap: 0;
	list-style: none;
	margin: 0;
	padding: 0;
}

.wp-block-sidebar .wc-block-product-filter-checkbox-list__item {
	align-items: center;
	display: flex;
	flex-wrap: nowrap;
	gap: 4px 10px;
	justify-content: space-between;
	margin-bottom: 12px;
	padding-left: 0;
}

.wp-block-sidebar .wc-block-product-filter-checkbox-list__item::before,
.wp-block-sidebar .wc-block-product-filter-checkbox-list__item::after {
	display: none;
}

.wp-block-sidebar .wc-block-product-filter-checkbox-list__label {
	align-items: center;
	cursor: pointer;
	display: flex;
	flex: 1;
	font-family: var(--wp--preset--font-family--switzer);
	font-size: var(--wp--preset--font-size--normal, 1rem);
	font-weight: 400;
	gap: 10px;
	line-height: var(--wp--custom--typography--line-height--heading-five, 1.65);
	margin: 0;
	min-height: 24px;
	padding-left: 32px;
	position: relative;
	text-decoration: none;
	width: 100%;
}

.wp-block-sidebar .wc-block-product-filter-checkbox-list__text-wrapper {
	align-items: center;
	color: var(--wp--preset--color--title);
	display: flex !important;
	flex: 1;
	font-family: var(--wp--preset--font-family--switzer);
	font-size: var(--wp--preset--font-size--normal, 1rem) !important;
	gap: 4px 10px;
	justify-content: space-between;
	line-height: var(--wp--custom--typography--line-height--heading-five, 1.65);
	min-width: 0;
}

.wp-block-sidebar .wc-block-product-filter-checkbox-list__text {
	color: inherit;
	display: inline;
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	transition: color 0.2s ease;
}

.wp-block-sidebar .wc-block-product-filter-checkbox-list__count {
	color: var(--wp--preset--color--secondary-text-color, var(--wp--preset--color--secondary-text));
	display: inline;
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	white-space: nowrap;
}

.wp-block-sidebar .wc-block-product-filter-checkbox-list__label:hover .wc-block-product-filter-checkbox-list__text,
.wp-block-sidebar .wc-block-product-filter-checkbox-list__item:has(.wc-block-product-filter-checkbox-list__input:checked) .wc-block-product-filter-checkbox-list__text {
	color: var(--wp--preset--color--button-color);
}

/* Legacy product-categories block (demo uses links) */
.wp-block-sidebar .wc-block-product-categories-list-item a,
.wp-block-sidebar .wc-block-product-categories-list-item__name {
	color: var(--wp--preset--color--title);
	font-family: var(--wp--preset--font-family--switzer);
	font-size: var(--wp--preset--font-size--normal, 1rem);
	font-weight: 400;
	line-height: var(--wp--custom--typography--line-height--heading-five, 1.65);
	transition: color 0.2s ease;
}

.wp-block-sidebar .wc-block-product-categories-list li:hover .wc-block-product-categories-list-item__name,
.wp-block-sidebar .wc-block-product-categories-list li.active .wc-block-product-categories-list-item__name,
.wp-block-sidebar .wc-block-product-categories-list li:hover a {
	color: var(--wp--preset--color--button-color);
}

.wp-block-sidebar .wc-block-product-categories-list-item-count {
	color: var(--wp--preset--color--secondary-text-color, var(--wp--preset--color--secondary-text));
	font-family: var(--wp--preset--font-family--switzer);
	font-size: var(--wp--preset--font-size--normal, 1rem);
}

.wp-block-widget-area .wc-block-product-filter-checkbox-list__input-wrapper {
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.wp-block-sidebar .wc-block-product-filter-checkbox-list__input-wrapper::before {
	display: none;
}

.wp-block-widget-area .wc-block-product-filter-checkbox-list__input,
.wp-block-sidebar .wc-block-product-filter-checkbox-list__input {
	appearance: none;
	background-color: var(--wp--preset--color--background);
	border: 1px solid var(--wp--preset--color--border-color) !important;
	border-radius: 5px;
	box-shadow: none !important;
	box-sizing: border-box;
	height: 20px;
	margin: 0;
	outline: none;
	width: 20px;
}

.wp-block-widget-area .wc-block-product-filter-checkbox-list__input:checked,
.wp-block-sidebar .wc-block-product-filter-checkbox-list__input:checked {
	background-color: var(--wp--preset--color--background);
	border-color: var(--wp--preset--color--border-color) !important;
	box-shadow: none !important;
}

.wp-block-widget-area .wc-block-product-filter-checkbox-list__input:checked::after {
	border-bottom: 1.5px solid var(--wp--preset--color--button-color);
	border-left: 1.5px solid var(--wp--preset--color--button-color);
	content: '';
	display: block;
	height: 6px;
	left: 4px;
	position: absolute;
	top: 4px;
	transform: rotate(316deg);
	width: 10px;
}


.wp-block-widget-area .wc-block-product-filter-checkbox-list__mark {
	display: none;
}

.wp-block-sidebar .wp-block-woocommerce-product-filters {
	display: block;
	width: 100%;
}

/* Category list — remove outer gray frame; keep checkbox borders */
.wp-block-sidebar .wp-block-widget--category-filter .wc-block-product-filters__open-overlay,
.wp-block-sidebar .wp-block-widget:has(#categories) .wc-block-product-filters__open-overlay {
	display: none !important;
}

.wp-block-sidebar .wp-block-widget--category-filter .wp-block-woocommerce-product-filters,
.wp-block-sidebar .wp-block-widget--category-filter .wc-block-product-filters,
.wp-block-sidebar .wp-block-widget:has(#categories) .wp-block-woocommerce-product-filters,
.wp-block-sidebar .wp-block-widget:has(#categories) .wc-block-product-filters,
.wp-block-sidebar .wp-block-widget--category-filter .wc-block-product-filters__overlay,
.wp-block-sidebar .wp-block-widget--category-filter .wc-block-product-filters__overlay-wrapper,
.wp-block-sidebar .wp-block-widget--category-filter .wc-block-product-filters__overlay-dialog,
.wp-block-sidebar .wp-block-widget--category-filter .wc-block-product-filters__overlay-content,
.wp-block-sidebar .wp-block-widget--category-filter .wp-block-woocommerce-product-filter-taxonomy,
.wp-block-sidebar .wp-block-widget--category-filter .wp-block-woocommerce-product-filter-checkbox-list,
.wp-block-sidebar .wp-block-widget--category-filter .wc-block-product-filter-checkbox-list,
.wp-block-sidebar .wp-block-widget--category-filter .wc-block-product-filter-checkbox-list fieldset,
.wp-block-sidebar .wp-block-widget--category-filter .wc-block-product-filter-checkbox-list__items,
.wp-block-sidebar .wp-block-widget:has(#categories) .wc-block-product-filters__overlay,
.wp-block-sidebar .wp-block-widget:has(#categories) .wc-block-product-filters__overlay-wrapper,
.wp-block-sidebar .wp-block-widget:has(#categories) .wc-block-product-filters__overlay-dialog,
.wp-block-sidebar .wp-block-widget:has(#categories) .wc-block-product-filters__overlay-content,
.wp-block-sidebar .wp-block-widget:has(#categories) .wp-block-woocommerce-product-filter-taxonomy,
.wp-block-sidebar .wp-block-widget:has(#categories) .wp-block-woocommerce-product-filter-checkbox-list,
.wp-block-sidebar .wp-block-widget:has(#categories) .wc-block-product-filter-checkbox-list,
.wp-block-sidebar .wp-block-widget:has(#categories) .wc-block-product-filter-checkbox-list fieldset,
.wp-block-sidebar .wp-block-widget:has(#categories) .wc-block-product-filter-checkbox-list__items {
	background: transparent !important;
	border: 0 !important;
	border-width: 0 !important;
	border-style: none !important;
	box-shadow: none !important;
	outline: 0 !important;
}

.wp-block-sidebar .wp-block-widget--category-filter .wc-block-product-filters__overlay,
.wp-block-sidebar .wp-block-widget:has(#categories) .wc-block-product-filters__overlay {
	background: transparent !important;
	inset: auto !important;
	pointer-events: auto !important;
	position: relative !important;
}

.wp-block-sidebar .wp-block-widget--category-filter .wc-block-product-filters__overlay-wrapper,
.wp-block-sidebar .wp-block-widget--category-filter .wc-block-product-filters__overlay-dialog,
.wp-block-sidebar .wp-block-widget--category-filter .wc-block-product-filters__overlay-content,
.wp-block-sidebar .wp-block-widget:has(#categories) .wc-block-product-filters__overlay-wrapper,
.wp-block-sidebar .wp-block-widget:has(#categories) .wc-block-product-filters__overlay-dialog,
.wp-block-sidebar .wp-block-widget:has(#categories) .wc-block-product-filters__overlay-content {
	background: transparent !important;
	display: block !important;
	height: auto !important;
	max-height: none !important;
	overflow: visible !important;
	padding: 0 !important;
	position: relative !important;
	transform: none !important;
}

.wp-block-sidebar .wp-block-widget--category-filter .wc-block-product-filters__overlay-header,
.wp-block-sidebar .wp-block-widget--category-filter .wc-block-product-filters__overlay-footer,
.wp-block-sidebar .wp-block-widget:has(#categories) .wc-block-product-filters__overlay-header,
.wp-block-sidebar .wp-block-widget:has(#categories) .wc-block-product-filters__overlay-footer {
	display: none !important;
}

.wp-block-sidebar .wp-block-widget--category-filter .wp-block-woocommerce-product-filters.is-layout-flex,
.wp-block-sidebar .wp-block-widget:has(#categories) .wp-block-woocommerce-product-filters.is-layout-flex {
	display: block !important;
	gap: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 100%;
}

/* Strip outer frame on category list wrappers; restore border only on checkboxes */
.wp-block-sidebar .wp-block-widget--category-filter .wp-block-woocommerce-product-filters :not(.wc-block-product-filter-checkbox-list__input),
.wp-block-sidebar .wp-block-widget:has(#categories) .wp-block-woocommerce-product-filters :not(.wc-block-product-filter-checkbox-list__input) {
	border: 0 !important;
	border-width: 0 !important;
	border-style: none !important;
	box-shadow: none !important;
	outline: 0 !important;
}

.wp-block-sidebar .wp-block-widget--category-filter .wc-block-product-filters__overlay-dialog,
.wp-block-sidebar .wp-block-widget:has(#categories) .wc-block-product-filters__overlay-dialog {
	--wc-product-filters-overlay-background-color: transparent;
	--wc-product-filters-background-color: transparent;
	background: transparent !important;
	background-color: transparent !important;
}

/* Price filter in sidebar — always inline (not overlay), desktop + mobile */
.wp-block-sidebar .wp-block-widget--price-filter .wc-block-product-filters__open-overlay {
	display: none !important;
}

.wp-block-sidebar .wp-block-widget--price-filter .wc-block-product-filters__overlay {
	background: transparent !important;
	inset: auto !important;
	pointer-events: auto !important;
	position: relative !important;
}

.wp-block-sidebar .wp-block-widget--price-filter .wc-block-product-filters__overlay-wrapper,
.wp-block-sidebar .wp-block-widget--price-filter .wc-block-product-filters__overlay-dialog,
.wp-block-sidebar .wp-block-widget--price-filter .wc-block-product-filters__overlay-content {
	background: transparent !important;
	display: block !important;
	height: auto !important;
	max-height: none !important;
	overflow: visible !important;
	padding: 0 !important;
	position: relative !important;
	transform: none !important;
}

.wp-block-sidebar .wp-block-widget--price-filter .wc-block-product-filters__overlay-header,
.wp-block-sidebar .wp-block-widget--price-filter .wc-block-product-filters__overlay-footer {
	display: none !important;
}

/* Price slider — left-aligned with heading; 2-col grid (no empty middle column) */
.wp-block-sidebar .wp-block-widget--price-filter .wp-block-woocommerce-product-filters.is-layout-flex {
	display: block !important;
	gap: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 100%;
}

.wp-block-sidebar .wp-block-widget--price-filter .wp-block-woocommerce-product-filter-price,
.wp-block-sidebar .wp-block-widget--price-filter .wp-block-woocommerce-product-filter-price-slider {
	margin: 0;
	max-width: 100%;
	padding: 0;
	width: 100%;
}

.wp-block-sidebar .wp-block-widget--price-filter .wc-block-product-filter-price-slider__content,
.wp-block-sidebar .wp-block-widget--price-filter .wc-block-product-filter-price-slider__content--inline {
	column-gap: 2rem;
	display: grid !important;
	grid-template-areas:
		"price-slider price-slider"
		"left-input right-input" !important;
	grid-template-columns: 1fr 1fr !important;
	margin: 0;
	padding: 0;
	row-gap: 1.5rem;
	width: 100%;
}

.wp-block-sidebar .wp-block-widget--price-filter .wc-block-product-filter-price-slider__range {
	-ms-grid-column-span: 1;
	grid-area: price-slider;
	grid-column: 1 / -1;
	margin: 24px 0 0;
	max-width: 100%;
	width: 100%;
	--wc-product-filter-price-slider: var(--wp--preset--color--table-heading-color, var(--wp--preset--color--tan-brown));
	--wc-product-filter-price-slider-handle: var(--wp--preset--color--background);
	--wc-product-filter-price-slider-handle-border: var(--wp--preset--color--table-heading-color, var(--wp--preset--color--tan-brown));
}

.wp-block-sidebar .wp-block-widget--price-filter .wc-block-product-filter-price-slider__range::before {
	background: var(--wp--preset--color--background);
	border-radius: 5px;
	box-shadow: inset 0 -1px 0 0 rgba(173, 173, 133, 0.3);
	height: 6px;
	opacity: 1;
	top: 50%;
	transform: translateY(-50%);
}

.wp-block-sidebar .wp-block-widget--price-filter .wc-block-product-filter-price-slider__range .range-bar {
	height: 6px;
	top: 50%;
	transform: translateY(-50%);
}

.wp-block-sidebar .wp-block-widget--price-filter .wc-block-product-filter-price-slider__left {
	grid-area: left-input;
	justify-self: start;
	margin: 0;
}

.wp-block-sidebar .wp-block-widget--price-filter .wc-block-product-filter-price-slider__right {
	grid-area: right-input;
	justify-self: end;
	margin: 0;
}

.wp-block-sidebar .wp-block-widget--price-filter .wc-block-product-filter-price-slider .text input[type="text"] {
	background: var(--wp--preset--color--background, #fff);
	border: none !important;
	border-radius: 5px !important;
	box-shadow: none;
	box-sizing: border-box;
	font-size: 0.875rem;
	margin: 0;
	max-width: 88px !important;
	min-height: 40px;
	padding: 8px 10px !important;
	text-align: center;
	width: 88px;
}

.wp-block-sidebar .wp-block-widget--price-filter .wc-block-product-filter-price-slider__range input[type="range"]::-webkit-slider-thumb {
	background-color: var(--wp--preset--color--background);
	border: 3px solid var(--wp--preset--color--table-heading-color, var(--wp--preset--color--tan-brown));
	border-radius: 50%;
	box-shadow: none;
	cursor: ew-resize;
	height: 22px;
	margin-top: -9px;
	width: 22px;
}

.wp-block-sidebar .wp-block-widget--price-filter .wc-block-product-filter-price-slider__range input[type="range"]::-moz-range-thumb {
	background-color: var(--wp--preset--color--background);
	border: 3px solid var(--wp--preset--color--table-heading-color, var(--wp--preset--color--tan-brown));
	border-radius: 50%;
	box-shadow: none;
	cursor: ew-resize;
	height: 22px;
	width: 22px;
}

.wp-block-sidebar .wp-block-widget--price-filter .wc-block-product-filter-price-slider__range input[type="range"].min::-webkit-slider-thumb {
	margin-left: 0;
}

.wp-block-sidebar .wp-block-widget--price-filter .wc-block-product-filter-price-slider__range input[type="range"].max::-webkit-slider-thumb {
	margin-left: 0;
}

/* Legacy price-filter (if used elsewhere) */
.wp-block-sidebar .wc-block-components-price-slider,
.wp-block-sidebar .wc-block-components-price-slider--is-input-inline {
	margin-bottom: 0;
	width: 100%;
}

.wp-block-sidebar .wp-block-widget--price-filter .wc-block-components-price-slider--is-input-inline .wc-block-components-price-slider__controls,
.wp-block-sidebar .wc-block-components-price-slider--is-input-inline .wc-block-components-price-slider__controls {
	align-items: center;
	gap: 2rem;
	justify-content: space-between;
	margin: 16px 0 0;
	width: 100%;
}

.wp-block-sidebar .wc-block-components-price-slider__range-input-progress {
	--range-color: var(--wp--preset--color--table-heading-color, var(--wp--preset--color--tan-brown));
	height: 4px;
	top: 0;
}

.wp-block-sidebar .wc-block-components-price-slider__range-input-wrapper::before {
	background-color: var(--wp--preset--color--background);
	border-radius: 5px;
	box-shadow: inset 0 -1px 0 0 rgba(173, 173, 133, 0.3);
	height: 4px;
	opacity: 1;
	top: 0;
}

.wp-block-sidebar .wc-block-components-price-slider__range-input-wrapper {
	background-color: var(--wp--preset--color--secondary);
	margin: 35px 0 20px;
	width: 100%;
}

.wp-block-sidebar .wc-block-price-filter__range-input-wrapper.wc-block-components-price-slider__range-input-wrapper:hover {
	cursor: ew-resize;
}

.wp-block-sidebar .wc-block-components-price-slider__controls .wc-block-components-price-slider__amount {
	border: none !important;
	border-radius: 5px !important;
	box-shadow: none;
	max-width: 80px !important;
	text-align: center;
}

.wp-block-sidebar .wc-block-components-price-slider__range-input::-webkit-slider-thumb {
	background-color: var(--wp--preset--color--background);
	border: 3px solid var(--wp--preset--color--table-heading-color, var(--wp--preset--color--tan-brown));
	border-radius: 50%;
	box-shadow: none;
	cursor: ew-resize;
	height: 25px;
	position: relative;
	top: -10px;
	width: 25px;
	z-index: 999;
}

.wp-block-sidebar .wc-block-components-price-slider__range-input::-webkit-slider-thumb:hover,
.wp-block-sidebar .wc-block-components-price-slider__range-input::-webkit-slider-thumb:focus {
	background-color: var(--wp--preset--color--table-heading-color, var(--wp--preset--color--tan-brown));
	border-color: var(--wp--preset--color--background) !important;
}

.wp-block-sidebar .wc-block-components-price-slider__actions,
.wp-block-sidebar .wc-block-components-filter-submit-button {
	display: none;
}

.wp-block-sidebar .wp-filter-by-size .wp-block-tag-cloud a {
	border: none;
	border-radius: 5px;
	display: inline-block;
	font-size: 14px;
	margin: 0 8px 8px 0;
	padding: 6px 12px;
	text-decoration: none;
}

.wp-sidebar-popup .wp-block-group.wp-block-widget-area.wp-block-sidebar {
	background: var(--wp--preset--color--body-background);
	border-radius: 10px;
	box-shadow: 0 0 80px -15px rgba(142, 132, 133, 0.15);
}

@media screen and (min-width: 48em) {
	.wp-block-group.alignfull.no-margin-top.header-media-inner-post.shop-header .wp-block-cover,
	.header-media-inner-post.shop-header .wp-block-cover {
		padding-bottom: 70px !important;
	}
}

@media screen and (min-width: 64em) {
	.wp-block-group.alignfull.no-margin-top.header-media-inner-post.shop-header .wp-block-cover,
	.header-media-inner-post.shop-header .wp-block-cover {
		padding-bottom: 100px !important;
	}

	.header-media-inner-post.shop-header .wp-block-group.wp-block-header-images figure.wp-block-image.wp-block-header-image-first {
		left: 0;
	}

	.header-media-inner-post.shop-header .wp-block-group.wp-block-header-images figure.wp-block-image.wp-block-header-image-second {
		right: 0;
	}

	.header-media-inner-post.shop-header .wp-block-group.wp-block-header-images figure.wp-block-image.wp-block-header-image-first::before {
		left: -64%;
	}
}

@media screen and (min-width: 75em) {
	.wp-product-category-with-sidebar.wp-sidebar-on-left .wp-block-buttons.wp-filter-button,
	.wp-product-category-with-sidebar.wp-sidebar-on-left .wp-sidebar-close-btn {
		display: none !important;
	}

	.wp-sidebar-popup.wp-sidebar-on-left .wp-block-group.wp-block-widget-area.wp-block-sidebar {
		background: transparent;
		box-shadow: none;
		height: auto;
		left: 0;
		max-width: none;
		opacity: 1;
		overflow: visible;
		padding: 0;
		position: relative;
		top: 0;
		visibility: visible;
		width: auto;
	}
}

@media screen and (max-width: 991px) {
	.header-media-inner-post.shop-header .wp-block-group.wp-block-header-images {
		display: none;
	}
}

/*
 * Mobile / tablet shop — Sophia Pro shop-left-sidebar demo parity.
 * https://demo-sophia-pro.wpcustomthemes.com/shop-left-sidebar/
 */
@media screen and (max-width: 74.9375em) {
	body.woocommerce-shop main .wp-block-woocommerce-product-collection.alignwide,
	body.tax-product_cat main .wp-block-woocommerce-product-collection.alignwide,
	body.tax-product_tag main .wp-block-woocommerce-product-collection.alignwide {
		max-width: 100%;
		padding-left: var(--wp--style--root--padding-left, 24px);
		padding-right: var(--wp--style--root--padding-right, 24px);
	}

	.wp-block-columns.wp-product-category-with-sidebar,
	.wp-product-category-with-sidebar {
		display: block;
		gap: 0 !important;
	}

	.wp-product-category-with-sidebar > .wp-block-buttons.wp-filter-button {
		display: flex !important;
		margin-bottom: 1.25rem;
		width: 100%;
	}

	/* Sidebar column: no inline layout — drawer only */
	.wp-product-category-with-sidebar.wp-sidebar-on-left > .wp-block-column:nth-child(2) {
		flex-basis: auto !important;
		height: 0;
		margin: 0;
		max-width: none !important;
		overflow: visible;
		padding: 0;
		width: 100% !important;
	}

	.wp-product-category-with-sidebar.wp-sidebar-on-left > .wp-block-column:nth-child(3) {
		flex-basis: 100% !important;
		max-width: 100% !important;
		width: 100% !important;
	}

	.wp-sidebar-popup .wp-block-group.wp-block-widget-area.wp-block-sidebar,
	.wp-product-category-with-sidebar .wp-block-sidebar {
		background: var(--wp--preset--color--body-background);
		border-radius: 10px;
		box-shadow: 0 0 80px -15px rgba(142, 132, 133, 0.15);
		height: calc(100% - 60px);
		left: -100%;
		max-width: min(435px, calc(100vw - 48px));
		opacity: 0;
		overflow: auto;
		padding: 30px;
		position: fixed;
		top: 30px;
		visibility: hidden;
		width: min(435px, calc(100vw - 48px));
		z-index: 10001;
		transition: left 0.4s ease, opacity 0.4s ease, visibility 0.4s ease;
	}

	body.sidebar-open .wp-sidebar-popup .wp-block-group.wp-block-widget-area.wp-block-sidebar,
	body.sidebar-open .wp-product-category-with-sidebar .wp-block-sidebar {
		left: 30px;
		opacity: 1;
		visibility: visible;
	}

	body.sidebar-open {
		overflow: hidden;
	}

	body.sidebar-open::before {
		backdrop-filter: blur(5px);
		background-color: rgba(236, 236, 236, 0.8);
		content: '';
		height: 100%;
		left: 0;
		position: fixed;
		top: 0;
		width: 100%;
		z-index: 10000;
	}

	body.sidebar-open .wp-block-button.wp-sidebar-close-btn {
		display: block !important;
	}

	/* Use theme drawer — not WooCommerce filter overlay button */
	.wp-block-sidebar .wc-block-product-filters__open-overlay,
	.wp-product-category-with-sidebar .wc-block-product-filters__open-overlay {
		display: none !important;
	}

	.wp-block-sidebar .wc-block-product-filters__overlay,
	.wp-product-category-with-sidebar .wc-block-product-filters .wc-block-product-filters__overlay {
		background: transparent !important;
		inset: auto !important;
		pointer-events: auto !important;
		position: relative !important;
	}

	.wp-block-sidebar .wc-block-product-filters__overlay-wrapper,
	.wp-block-sidebar .wc-block-product-filters__overlay-dialog,
	.wp-block-sidebar .wc-block-product-filters__overlay-content,
	.wp-product-category-with-sidebar .wc-block-product-filters__overlay-wrapper,
	.wp-product-category-with-sidebar .wc-block-product-filters__overlay-dialog,
	.wp-product-category-with-sidebar .wc-block-product-filters__overlay-content {
		background: transparent !important;
		color: inherit !important;
		display: block !important;
		flex-direction: column !important;
		gap: 1.2rem;
		height: auto !important;
		max-height: none !important;
		overflow: visible !important;
		padding: 0 !important;
		position: relative !important;
		transform: none !important;
	}

	.wp-block-sidebar .wc-block-product-filters__overlay-header,
	.wp-block-sidebar .wc-block-product-filters__overlay-footer,
	.wp-product-category-with-sidebar .wc-block-product-filters__overlay-header,
	.wp-product-category-with-sidebar .wc-block-product-filters__overlay-footer {
		display: none !important;
	}

	.wc-block-product-template__responsive.columns-3,
	.wp-product-category-with-sidebar .wc-block-product-template__responsive.columns-3 {
		grid-gap: 1rem;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	body.woocommerce-shop .wp-product-category-with-sidebar .wc-block-product-template > li.wc-block-product,
	body.tax-product_cat .wp-product-category-with-sidebar .wc-block-product-template > li.wc-block-product,
	body.tax-product_tag .wp-product-category-with-sidebar .wc-block-product-template > li.wc-block-product {
		height: auto !important;
		max-height: none !important;
		min-height: 360px;
	}
}

@media screen and (max-width: 40em) {
	.wc-block-product-template__responsive.columns-3,
	.wp-product-category-with-sidebar .wc-block-product-template__responsive.columns-3 {
		grid-template-columns: 1fr !important;
	}

	body.woocommerce-shop .wp-product-category-with-sidebar .wc-block-product-template > li.wc-block-product,
	body.tax-product_cat .wp-product-category-with-sidebar .wc-block-product-template > li.wc-block-product,
	body.tax-product_tag .wp-product-category-with-sidebar .wc-block-product-template > li.wc-block-product {
		min-height: 0;
	}
}
