.wcaf-wrapper > .wcaf-config {
	display: none !important;
}

.wcaf-wrapper {
	display: flex;
	gap: 40px;
	align-items: flex-start;
	margin: 0 auto;
	position: relative;
}

/* ---------- Sidebar ---------- */
.wcaf-sidebar {
	width: 290px;
	flex: 0 0 290px;
}

.wcaf-widget {
	margin-bottom: 24px;
    padding-bottom: 24px;
    border-bottom: 1px solid #E4E4E4;
}

.wcaf-widget:last-child {
	margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.wcaf-widget-title {
	font-size: clamp(1.125rem, 1.018rem + 0.286vw, 1.25rem);
	font-weight: 600;
	margin: 0 0 16px;
	color: #1D1D1E;
}

/* price slider */
.wcaf-price-slider {
	position: relative;
	height: 20px;
	margin-bottom: 16px;
}

.wcaf-slider-track {
	position: absolute;
	top: 9px;
	left: 0;
	right: 0;
	height: 3px;
	background: #E6E6E6;
	border-radius: 2px;
}

.wcaf-slider-range {
	position: absolute;
	top: 0;
	height: 100%;
	background: #F04E23;
	border-radius: 2px;
}

.wcaf-range {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 20px;
	margin: 0;
	background: none;
	pointer-events: none;
	-webkit-appearance: none;
	appearance: none;
}

.wcaf-range::-webkit-slider-thumb {
	pointer-events: all;
	-webkit-appearance: none;
	appearance: none;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: #F04E23;
	border: 2px solid #fff;
	cursor: pointer;
}

.wcaf-range::-moz-range-thumb {
	pointer-events: all;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: #F04E23;
	border: 2px solid #fff;
	cursor: pointer;
}

.wcaf-range::-webkit-slider-runnable-track,
.wcaf-range::-moz-range-track {
	background: transparent;
}

.wcaf-price-inputs {
	display: flex;
	align-items: center;
	gap: 14px;
}

.wcaf-price-input {
	width: 100%;
	padding: 13px 16px;
	border: 1px solid #E4E4E4;
	border-radius: 8px;
	font-size: 14px;
	color: #8A8A8E;
	background: #FAFAFA;
}
.wcaf-price-input:focus {
	outline: none;
}
.wcaf-price-input::-webkit-outer-spin-button,
.wcaf-price-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.wcaf-price-input {
  -moz-appearance: textfield;
}

/* category / availability lists */
.wcaf-category-list,
.wcaf-availability-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.wcaf-category-list.wcaf-depth-0 > .wcaf-cat-item {
	margin-bottom: 16px;
}

.wcaf-cat-item .wcaf-cat-children {
	margin: 12px 0 0 25px;
}

.wcaf-cat-item .wcaf-cat-children .wcaf-cat-item {
	margin-bottom: 12px;
}

.wcaf-cat-row {
	display: flex;
	align-items: center;
	gap: 4px;
}

.wcaf-cat-toggle {
	background: none;
	border: none;
	padding: 2px;
	margin: 0;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 12px;
	height: 12px;
	flex: 0 0 12px;
	color: #1D1D1E;
}

.wcaf-chevron {
	display: inline-block;
	font-size: 0;
	transition: transform 0.15s ease;
}

span.wcaf-chevron:before {
    content: '';
    border: solid black;
    border-width: 0 1px 1px 0;
    display: inline-block;
    padding: 2px;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
	transition: transform 0.15s ease;
}

.wcaf-cat-toggle.is-open .wcaf-chevron:before {
	transform: rotate(-135deg);
   -webkit-transform: rotate(-135deg);
}

.wcaf-availability-list li {
	margin-bottom: 8px;
}

.wcaf-category-list label,
.wcaf-availability-list label {
	display: flex;
	align-items: center;
	gap: 8px;
	line-height: 1.4;
	cursor: pointer;
	color: #1D1D1E;
	position: relative;
}

.wcaf-category-list label input,
.wcaf-availability-list label input {
	display: none;
}

.wcaf-count {
	color: #1D1D1E;
}
.wcaf-category-list label:before,
.wcaf-availability-list label:before {
    content: '';
    width: 16px;
    height: 16px;
    border: 1px solid #CDCDCF;
    border-radius: 4px;
}
.wcaf-cat-row label:has(input[type="checkbox"]:checked)::before,
.wcaf-availability-list label:has(input[type="checkbox"]:checked)::before
{
    background: #F04E23;
	border-color: #F04E23;
}
.wcaf-cat-row label:has(input[type="checkbox"]:checked)::after,
.wcaf-availability-list label:has(input[type="checkbox"]:checked)::after
{
    content: '';
	display: inline-block;
    transform: rotate(45deg);
    height: 6px;
    width: 3px;
    border-bottom: 1px solid #fff;
    border-right: 1px solid #fff;
    position: absolute;
    left: 6px;
    top: calc(50% - 3px);
}

/* ---------- Content ---------- */
.wcaf-content {
	flex: 1;
	min-width: 0;
}

.wcaf-active-filters-bar {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
}

.wcaf-active-filters {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}

.wcaf-filter-chip {
	display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #FAFAFA;
    border: 1px solid #CDCDCF;
    color: #343435;
    border-radius: 20px;
    padding: 8px 16px;
    font-size: clamp(0.75rem, 0.643rem + 0.286vw, 0.875rem);;
    line-height: 1;
    font-weight: 500;
}

.wcaf-chip-remove {
	background: none;
	border: none;
	cursor: pointer;
	font-size: clamp(0.75rem, 0.643rem + 0.286vw, 0.875rem);;
	line-height: 1;
	color: #343435;
	padding: 0;
	display: inline-flex;
}

.wcaf-chip-remove:hover {
	color: #F04E23;
}

.wcaf-active-filters-bar .wcaf-clear-filters {
	background: none;
	border: none;
	color: #343435;
	font-size: clamp(0.75rem, 0.643rem + 0.286vw, 0.875rem);;
	font-weight: 600;
	cursor: pointer;
	padding: 4px 4px;
	text-decoration: none;
	text-underline-offset: 2px;
}

.wcaf-active-filters-bar .wcaf-clear-filters:hover {
	color: #F04E23;
}

.wcaf-toolbar {
	display: flex;
	align-items: start;
	justify-content: space-between;
	margin-bottom: 48px;
}

.wcaf-results-count {
	font-size: 13px;
	color: #777;
}

.wcaf-orderby {
	padding: 8px 10px;
	border: 1px solid #ddd;
	border-radius: 4px;
	font-size: 13px;
}

.wcaf-products-container {
	position: relative;
	min-height: 200px;
}

.wcaf-products-container.wcaf-loading {
	opacity: 0.4;
	pointer-events: none;
}

.wcaf-products-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px 16px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.wcaf-products-grid.wcaf-columns-2 { grid-template-columns: repeat(2, 1fr); }
.wcaf-products-grid.wcaf-columns-3 { grid-template-columns: repeat(3, 1fr); }
.wcaf-products-grid.wcaf-columns-4 { grid-template-columns: repeat(4, 1fr); }

.wcaf-no-products,
.wcaf-loading-placeholder {
	grid-column: 1 / -1;
	text-align: center;
	color: #888;
	padding: 40px 0;
}

/* pagination */
.wcaf-pagination {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 12px;
	margin-top: 48px;
}

.wcaf-page-btn {
	min-width: 40px;
	height: 40px;
	padding: 0 8px;
	background: #FEF0EC;
	border-radius: 8px;
	border: none;
	cursor: pointer;
	color: #F04E23;
	font-size: clamp(0.875rem, 0.768rem + 0.286vw, 1rem)
}

.wcaf-page-btn.current {
	background: #F04E23;
	color: #fff;
}

.wcaf-page-btn[disabled] {
	opacity: 0.4;
	cursor: not-allowed;
}

.wcaf-dots {
	padding: 0 4px;
	color: #1D1D1E;
}

.wcaf-page-btn.wcaf-next,
.wcaf-page-btn.wcaf-prev
{
	font-size: 0;
	background: #E4E4E4;
}

.wcaf-page-btn.wcaf-next:before,
.wcaf-page-btn.wcaf-prev:before
{
	content:'';
	background-size: 14px;
	display: inline-block;
	background-repeat: no-repeat;
	width: 14px;
	height: 10px;
}
.wcaf-page-btn.wcaf-next:before {
	background-image: url(../../../../themes/traumasim/assets/img/arrow-right.svg);
}
.wcaf-page-btn.wcaf-prev:before {
	background-image: url(../../../../themes/traumasim/assets/img/arrow-prev.svg);
}
.filbtn {
	display: none;
    padding: 10px 16px;
    border-radius: 16px;
    border: 1px solid #E4E4E4;
    border-radius: 8px;
    font-weight: 600;
	color: #1D1D1E;
}
.filbtn:after {
	content: '';
	background-image: url(../filter.svg);
	background-size: 10px;
    width: 10px;
    height: 10px;
    display: inline-block;
    margin-left: 5px;
}

/* ---------- Responsive ---------- */
@media ( max-width: 1024px ) {
	.wcaf-wrapper {
		gap: 24px;
	}
	.wcaf-products-grid,
	.wcaf-products-grid.wcaf-columns-3,
	.wcaf-products-grid.wcaf-columns-4 {
		gap: 14px;
	}
}
@media ( max-width: 767px ) {
	.wcaf-wrapper {
		flex-direction: column;
	}
	.wcaf-sidebar {
		width: 100%;
		flex: 1 1 auto;
	}
	.wcaf-products-grid,
	.wcaf-products-grid.wcaf-columns-3,
	.wcaf-products-grid.wcaf-columns-4 {
		grid-template-columns: repeat(2, 1fr);
	}
	.wcaf-toolbar {
		margin-bottom: 24px;
	}
	.wcaf-toolbar {
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.wcaf-active-filters-bar {
		width: 100%;
		order: 2;
		margin-top: 24px;
	}
	.wcaf-pagination {
		margin-top: 24px;
	}
	.filbtn {
		display: block;
	}
	.wcaf-sidebar {
		display: none;
		position: absolute;
		left: 0;
		right: 0;
		padding: 24px;
		border-radius: 8px;
        box-shadow: 0 0 8px 4px rgb(0 0 0 / 10%);
        background: #fff;
        z-index: 99;
        top: 60px;
	}
	.wcaf-sidebar.active {
		display: block;
	}
}

@media ( max-width: 480px ) {
	.wcaf-products-grid,
	.wcaf-products-grid.wcaf-columns-2,
	.wcaf-products-grid.wcaf-columns-3,
	.wcaf-products-grid.wcaf-columns-4 {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media ( min-width: 768px ) and ( max-width: 1024px ) {
	.wcaf-products-grid,
	.wcaf-products-grid.wcaf-columns-3,
	.wcaf-products-grid.wcaf-columns-4 {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* =========================================================================
   1.1.0 — generic taxonomy filters, collapsible sections, term search
   ========================================================================= */

.wcaf-sidebar-title {
	font-size: 18px;
	margin: 0 0 16px;
	color: #1D1D1E;
}

/* Term lists for any taxonomy reuse the category list styling */
.wcaf-term-list,
.wcaf-choice-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.wcaf-term-list.wcaf-depth-0 > .wcaf-term-item {
	margin-bottom: 16px;
}

.wcaf-term-item .wcaf-term-children {
	margin: 12px 0 0 25px;
}

.wcaf-term-item .wcaf-term-children .wcaf-term-item {
	margin-bottom: 12px;
}

.wcaf-term-row {
	display: flex;
	align-items: center;
	gap: 4px;
}

.wcaf-term-toggle {
	background: none;
	border: none;
	padding: 2px;
	margin: 0;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 12px;
	height: 12px;
	flex: 0 0 12px;
	color: #1D1D1E;
}

.wcaf-term-toggle.is-open .wcaf-chevron:before {
	transform: rotate(-135deg);
	-webkit-transform: rotate(-135deg);
}

.wcaf-choice-list li {
	margin-bottom: 8px;
}

.wcaf-term-list label,
.wcaf-choice-list label {
	display: flex;
	align-items: center;
	gap: 8px;
	line-height: 1.4;
	cursor: pointer;
	color: #1D1D1E;
	position: relative;
}

.wcaf-term-list label input,
.wcaf-choice-list label input {
	display: none;
}

.wcaf-term-list label:before,
.wcaf-choice-list label:before {
	content: '';
	width: 16px;
	height: 16px;
	flex: 0 0 16px;
	border: 1px solid #CDCDCF;
	border-radius: 4px;
}

.wcaf-term-row label:has(input[type="checkbox"]:checked)::before,
.wcaf-choice-list label:has(input[type="checkbox"]:checked)::before {
	background: #F04E23;
	border-color: #F04E23;
}

.wcaf-term-row label:has(input[type="checkbox"]:checked)::after,
.wcaf-choice-list label:has(input[type="checkbox"]:checked)::after {
	content: '';
	display: inline-block;
	transform: rotate(45deg);
	height: 6px;
	width: 3px;
	border-bottom: 1px solid #fff;
	border-right: 1px solid #fff;
	position: absolute;
	left: 6px;
	top: calc(50% - 3px);
}

/* Collapsible widget sections */
.wcaf-widget-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}

.wcaf-widget-toggle {
	background: none;
	border: none;
	padding: 4px;
	margin: 0;
	cursor: pointer;
	line-height: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.wcaf-widget-toggle .wcaf-chevron:before {
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
}

.wcaf-widget-toggle[aria-expanded="false"] .wcaf-chevron:before {
	transform: rotate(-135deg);
	-webkit-transform: rotate(-135deg);
}

.wcaf-widget.is-collapsed .wcaf-widget-body {
	display: none;
}

/* Term search box */
.wcaf-term-search {
	width: 100%;
	box-sizing: border-box;
	padding: 8px 10px;
	margin-bottom: 12px;
	border: 1px solid #CDCDCF;
	border-radius: 4px;
	font-size: 14px;
}

/* Dropdown display style */
.wcaf-tax-select {
	width: 100%;
	box-sizing: border-box;
	padding: 8px 10px;
	border: 1px solid #CDCDCF;
	border-radius: 4px;
	font-size: 14px;
	background: #fff;
	color: #1D1D1E;
}

/* Show more / show less */
.wcaf-term-hidden {
	display: none !important;
}

.wcaf-show-more {
	background: none;
	border: none;
	padding: 0;
	margin-top: 4px;
	cursor: pointer;
	font-size: 13px;
	text-decoration: underline;
	color: #F04E23;
}

.wcaf-no-filters {
	color: #6b6b6f;
	font-size: 14px;
}
