/**
 * Persistent left sidebar filters — category / shop archives.
 */

.shop-catalog-sidebar-filters .woocommerce .shop-catalog-with-filters,
.shop-catalog-sidebar-filters .site-main .shop-catalog-with-filters,
.shop-catalog-sidebar-filters #main .shop-catalog-with-filters {
	display: flex !important;
	flex-wrap: nowrap;
	align-items: flex-start;
	gap: 2.5rem;
	width: 100%;
	max-width: 100%;
	margin-top: 0.5rem;
	clear: both;
}

.shop-catalog-sidebar-filters .shop-catalog-with-filters {
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	gap: 2.5rem;
	width: 100%;
	margin-top: 0.5rem;
}

.shop-catalog-sidebar-filters .shop-filters-sidebar {
	flex: 0 0 25%;
	width: 25%;
	max-width: 30%;
	min-width: 220px;
	position: sticky;
	top: 120px;
	align-self: flex-start;
}

.shop-catalog-sidebar-filters .shop-catalog-main {
	flex: 1 1 auto;
	min-width: 0;
	width: 70%;
}

.shop-catalog-sidebar-filters.filters-sidebar-hidden .shop-filters-sidebar {
	display: none;
}

.shop-catalog-sidebar-filters.filters-sidebar-hidden .shop-catalog-main {
	width: 100%;
	flex: 1 1 100%;
}

/* Toolbar: hide filters toggle */
.shop-catalog-sidebar-filters .shop-filters-sidebar-toggle {
	float: left;
	margin: 0 1.5rem 0 0;
}

.shop-catalog-sidebar-filters .shop-filters-sidebar-toggle .toggle-shop-filters {
	background: none;
	border: 0;
	padding: 0;
	font: inherit;
	color: inherit;
	cursor: pointer;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.shop-catalog-sidebar-filters .shop-filters-sidebar-toggle .toggle-shop-filters__show {
	display: none;
}

.shop-catalog-sidebar-filters.filters-sidebar-hidden .shop-filters-sidebar-toggle .toggle-shop-filters__hide {
	display: none;
}

.shop-catalog-sidebar-filters.filters-sidebar-hidden .shop-filters-sidebar-toggle .toggle-shop-filters__show {
	display: inline;
}

/* Stack filter sections vertically */
.shop-catalog-sidebar-filters .shop-filters-sidebar .products-filter-widget .products-filter__filters {
	display: block;
}

.shop-catalog-sidebar-filters .shop-filters-sidebar .products-filter-widget .products-filter__filter {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	border-bottom: 1px solid #e3e3e3;
}

.shop-catalog-sidebar-filters .shop-filters-sidebar .products-filter-widget .filter-name,
.shop-catalog-sidebar-filters .shop-filters-sidebar .products-filter-widget .products-filter__filter-name.filter-name {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	margin: 0;
	padding: 1.125rem 0;
	font-size: 0.8125rem;
	font-weight: 600;
	text-transform: none;
	letter-spacing: 0.02em;
	border: 0;
	background: none;
	cursor: pointer;
	text-align: left;
	color: #161619;
}

.shop-catalog-sidebar-filters .shop-filters-sidebar .filter-section-toggle-icon {
	flex-shrink: 0;
	margin-left: 0.75rem;
	font-size: 1.125rem;
	line-height: 1;
	font-weight: 400;
}

.shop-catalog-sidebar-filters .shop-filters-sidebar .products-filter-widget .filter-control {
	padding: 0 0 1.125rem;
}

.shop-catalog-sidebar-filters .shop-filters-sidebar .products-filter-widget .filter-section-collapsed .filter-control {
	display: none;
}

/* Checkbox list */
.shop-catalog-sidebar-filters .shop-filters-sidebar .products-filter-widget .filter-checkboxes li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0.35rem 0;
	margin: 0;
	color: #161619;
}

.shop-catalog-sidebar-filters .shop-filters-sidebar .products-filter-widget .products-filter--checkboxes .products-filter__option-name.name {
	flex: 1;
	padding-left: 1.75rem;
	position: relative;
	font-size: 0.875rem;
	font-weight: 400;
	text-transform: none;
}

.shop-catalog-sidebar-filters .shop-filters-sidebar .products-filter-widget .products-filter--checkboxes .products-filter__option-name.name:before,
.shop-catalog-sidebar-filters .shop-filters-sidebar .products-filter-widget .products-filter--checkboxes .products-filter__option-name.name:after {
	width: 14px;
	height: 14px;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
}

.shop-catalog-sidebar-filters .shop-filters-sidebar .products-filter-widget .counter {
	margin-left: 0.5rem;
	padding: 0;
	font-size: 0.875rem;
	font-weight: 400;
	color: #6b6b6b;
	background: transparent;
}

.shop-catalog-sidebar-filters .shop-filters-sidebar .products-filter-widget .counter:before {
	content: '(';
}

.shop-catalog-sidebar-filters .shop-filters-sidebar .products-filter-widget .counter:after {
	content: ')';
}

/* Show more link */
.shop-catalog-sidebar-filters .shop-filters-sidebar .filter-show-more {
	display: block;
	margin-top: 0.5rem;
	padding: 0;
	border: 0;
	background: none;
	font-size: 0.875rem;
	color: #161619;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}

.shop-catalog-sidebar-filters .shop-filters-sidebar .filter-show-more[hidden] {
	display: none;
}

/* Ensure checkbox / list / swatch options are visible in the sidebar */
.shop-catalog-sidebar-filters .shop-filters-sidebar .products-filter-widget .filter-control {
	display: block;
}

.shop-catalog-sidebar-filters .shop-filters-sidebar .products-filter-widget .products-filter__options,
.shop-catalog-sidebar-filters .shop-filters-sidebar .products-filter-widget .filter-checkboxes,
.shop-catalog-sidebar-filters .shop-filters-sidebar .products-filter-widget .filter-list,
.shop-catalog-sidebar-filters .shop-filters-sidebar .products-filter-widget .filter-swatches {
	display: block;
}

.shop-catalog-sidebar-filters .shop-filters-sidebar .products-filter-widget .filter-checkboxes > li,
.shop-catalog-sidebar-filters .shop-filters-sidebar .products-filter-widget .filter-list > li {
	display: flex;
}

.shop-catalog-sidebar-filters .shop-filters-sidebar .products-filter-widget .products-filter--collapsible > .products-filter__options > li {
	display: list-item;
}

.shop-catalog-sidebar-filters .shop-filters-sidebar .products-filter-widget .products-filter--collapsible ul.children {
	display: none;
}

.shop-catalog-sidebar-filters .shop-filters-sidebar .products-filter-widget .products-filter--collapsible .active > ul.children {
	display: block;
}

/* Legacy dropdown markup fallback (should not appear after checkbox conversion) */
.shop-catalog-sidebar-filters .shop-filters-sidebar .products-filter-widget .filter.dropdown .select2-container {
	display: none !important;
}

.shop-catalog-sidebar-filters .shop-filters-sidebar .products-filter-widget .filter-button,
.shop-catalog-sidebar-filters .shop-filters-sidebar .products-filter-widget .reset-button {
	width: 100%;
	margin-top: 0.75rem;
}

.shop-catalog-sidebar-filters .shop-filters-sidebar .products-filter-widget .products-filter__activated {
	margin-bottom: 1rem;
	font-size: 0.8125rem;
}

.shop-catalog-sidebar-filters .products-toolbar {
	margin-bottom: 1.5rem;
}

@media (max-width: 991px) {
	.shop-catalog-sidebar-filters .shop-catalog-with-filters {
		flex-direction: column;
		gap: 1.5rem;
	}

	.shop-catalog-sidebar-filters .shop-filters-sidebar,
	.shop-catalog-sidebar-filters .shop-catalog-main {
		width: 100%;
		max-width: 100%;
		flex: 1 1 100%;
		position: static;
	}

	.shop-catalog-sidebar-filters.filters-sidebar-hidden .shop-filters-sidebar {
		display: none;
	}
}
