.ezf-sr{position:absolute !important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- results wrapper + toolbar ---------- */
.ezf-results{position:relative;scroll-margin-top:140px}
.ezf-results.is-loading ul.products,
.ezf-results.is-loading .woocommerce-pagination{opacity:.35;pointer-events:none;transition:opacity .2s}
.ezf-results.is-loading::before{
	content:"";position:absolute;top:0;left:0;height:3px;width:40%;z-index:5;border-radius:3px;
	background:linear-gradient(90deg,var(--purple,#4E2A7F),var(--yellow,#FFCD33));
	animation:ezf-bar 1s ease-in-out infinite;
}
@keyframes ezf-bar{0%{left:-40%}100%{left:100%}}

.ezf-toolbar{
	display:grid;
	grid-template-columns:auto 1fr auto;
	grid-template-areas:"filter . order" "count count count";
	align-items:center;
	gap: 30px 16px;
	padding-bottom: 30px;
	margin:0 0 50px;
	position: relative;
}
.ezf-toolbar::before{
	content: "";
	position: absolute;
	left: -50%;
	bottom: 0;
	height: 1px;
	width: calc(100vw + 50%);
	background-color: var(--border-color);
}
.ezf-toolbar .ezf-open{grid-area:filter}
.ezf-toolbar .woocommerce-ordering{grid-area:order;float:none;margin:0 !important}
.ezf-toolbar .woocommerce-result-count{
	grid-area:count;float:none;margin:0;color:var(--black,#0C0610);
}
.ezf-toolbar .woocommerce-result-count:only-child{grid-column:1/-1}

.ezf-open {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--black, #0C0610);
    font: 400 18px / 1 "Lexend", sans-serif;
    cursor: pointer;
    transition: var(--transition, all .4s);
	padding: 0;
	border: 0;
	background-color: transparent;
}
.ezf-open:hover,.ezf-open:focus-visible{border-color:var(--purple,#4E2A7F);color:var(--purple,#4E2A7F);outline:0}
.ezf-open-badge{
	display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:11px;
	background:var(--purple,#4E2A7F);color:#fff;font-size:12px;font-weight:600;line-height:1;
}
.ezf-open-badge[hidden]{display:none}

/* ---------- active chips ---------- */
.ezf-chips{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 24px}
.ezf-chips[hidden]{display:none}
.ezf-chip{
	display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border:0;border-radius:50px;
	background:var(--lavender,#F0E6FE);color:var(--purple,#4E2A7F);
	font:500 14px/1 "Lexend",sans-serif;cursor:pointer;transition:var(--transition,all .4s);
}
.ezf-chip svg{flex:none}
.ezf-chip:hover,.ezf-chip:focus-visible{background:var(--purple,#4E2A7F);color:#fff;outline:0}
.ezf-chip--clear{background:transparent;text-decoration:underline;padding:0 6px}
.ezf-chip--clear:hover,.ezf-chip--clear:focus-visible{background:transparent;color:var(--black,#0C0610)}

/* ---------- overlay + drawer ---------- */
body.ezf-lock{overflow:hidden}
.ezf-overlay{position:fixed;inset:0;z-index:100000;background:rgba(12,6,16,.5);opacity:0;transition:opacity .35s}
.ezf-overlay[hidden]{display:none}
.ezf-overlay.is-open{opacity:1}

.ezf-drawer{
	position:fixed;top:0;left:0;bottom:0;z-index:100001;
	display:flex;flex-direction:column;width:400px;max-width:100%;
	background:var(--white,#fff);box-shadow:8px 0 40px rgba(12,6,16,.15);
	transform:translateX(-102%);visibility:hidden;
	transition:transform .35s cubic-bezier(.2,.7,.2,1),visibility 0s .35s;
}
.ezf-drawer.is-open{transform:none;visibility:visible;transition-delay:0s}
body.admin-bar .ezf-drawer{top:32px}
@media (max-width:782px){body.admin-bar .ezf-drawer{top:46px}}

.ezf-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:22px 24px;border-bottom:1px solid var(--border-color,#0000001A)}
.ezf-drawer-head h2{display:flex;align-items:center;gap:12px;margin:0;font: 600 22px/1.2 "Lexend",sans-serif}
.ezf-close{
	display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:0;border-radius:50%;
	background:transparent;color:var(--black,#0C0610);cursor:pointer;transition:var(--transition,all .4s)
}
.ezf-close:hover,.ezf-close:focus-visible{background:var(--lavender,#F0E6FE);color:var(--purple,#4E2A7F);outline:0}

.ezf-form{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;margin:0}
.ezf-drawer-body{flex:1 1 auto;overflow-y:auto;padding:4px 24px 12px;overscroll-behavior:contain;scrollbar-width: thin;}
.ezf-drawer.is-loading .ezf-drawer-body{opacity:.6;transition:opacity .2s}

/* ---------- accordion groups ---------- */
.ezf-group:not(:last-child){border-bottom:1px solid var(--border-color,#0000001A)}
.ezf-group-head{
	display:flex;align-items:center;gap:10px;padding:18px 0;cursor:pointer;list-style:none;
	font:500 16px/1.2 "Lexend",sans-serif;color:var(--black,#0C0610);
}
.ezf-group-head::-webkit-details-marker{display:none}
.ezf-group-head:focus-visible{outline:2px solid var(--purple,#4E2A7F);outline-offset:2px;border-radius:4px}
.ezf-group-title{flex:1 1 auto}
.ezf-group-badge{
	display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:11px;
	background:var(--purple,#4E2A7F);color:#fff;font-size:12px;font-weight:600;line-height:1
}
.ezf-group-badge[hidden]{display:none}
.ezf-chev{transition:transform .3s;background-image: url(../images/down-arrow.svg);background-repeat: no-repeat;background-position: center;}
.ezf-group[open] .ezf-chev{transform:rotate(-135deg);margin-top:4px}
.ezf-group-body{padding:0 0 20px;animation:ezf-open .3s ease}
@keyframes ezf-open{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.ezf-group-clear{
	display:inline-block;margin-top:14px;padding:0;border:0;background:none;cursor:pointer;
	font:500 14px/1 "Lexend",sans-serif;color:var(--purple,#4E2A7F);text-decoration:underline
}
.ezf-group-clear[hidden]{display:none}
.ezf-note{margin:0 0 14px;font-size:13px;line-height:1.5;color:var(--grey,#828282)}
.ezf-empty{margin:0;font-size:14px;color:var(--grey,#828282)}

/* ---------- checkboxes ---------- */
.ezf-checks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.ezf-check{position:relative;margin:0;padding:0}
.ezf-check::before{display:none}
.ezf-check input{position:absolute;opacity:0;width:1px;height:1px}
.ezf-check label{
	display:flex;align-items:center;gap:12px;margin:0;padding:9px 10px;border-radius:8px;cursor:pointer;
	font-size:15px;line-height:1.3;color:var(--black,#0C0610);transition:background .2s
}
.ezf-check label:hover{background:var(--cream,#FBF8F3)}
.ezf-box{
	position:relative;flex:none;width:20px;height:20px;border:1.5px solid #b9b3c0;border-radius:5px;background:#fff;
	transition:var(--transition,all .3s)
}
.ezf-box::after{
	content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;
	transform:rotate(45deg) scale(0);transition:transform .2s
}
.ezf-check input:checked + label .ezf-box{background:var(--purple,#4E2A7F);border-color:var(--purple,#4E2A7F)}
.ezf-check input:checked + label .ezf-box::after{transform:rotate(45deg) scale(1)}
.ezf-check input:focus-visible + label .ezf-box{outline:2px solid var(--purple,#4E2A7F);outline-offset:2px}
.ezf-check input:checked + label{font-weight:500}
.ezf-swatch{flex:none;width:18px;height:18px;border-radius:50%;background:var(--ezf-c,#ccc);box-shadow:inset 0 0 0 1px rgba(0,0,0,.18)}
.ezf-swatch--img{overflow:hidden;background:#D9D9D9;box-shadow:none}
.ezf-swatch__img{display:block;width:100%;height:100%;object-fit:cover}
.ezf-name{flex:1 1 auto}
.ezf-count{flex:none;font-size:13px;color:var(--grey,#828282)}
.ezf-check.is-disabled label{opacity:.4;cursor:not-allowed}
.ezf-check.is-disabled label:hover{background:none}

/* ---------- selects ---------- */
.ezf-field + .ezf-field{margin-top:16px}
.ezf-field-label{display:block;margin:0 0 8px;font-size:14px;font-weight:500;line-height:1.2;color:var(--black,#0C0610)}
.ezf-select select{
	-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:48px;margin:0;padding:0 44px 0 16px;
	border:1px solid var(--border-color,#0000001A);border-radius:8px;cursor:pointer;
	background:var(--white,#fff) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C0610' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center/16px;
	font:400 15px/normal "Lexend",sans-serif;color:var(--black,#0C0610);transition:var(--transition,all .3s)
}
.ezf-select select:hover,.ezf-select select:focus{border-color:var(--purple,#4E2A7F);outline:0}
.ezf-select select:focus-visible{box-shadow:0 0 0 3px var(--lavender,#F0E6FE)}
.ezf-select select:disabled{opacity:.55;cursor:not-allowed;background-color:var(--cream,#FBF8F3)}

/* ---------- price slider ---------- */
.ezf-price{padding:4px 2px 0}
.ezf-price-fields{display:flex;align-items:center;gap:10px;margin-bottom:22px}
.ezf-price-field{position:relative;flex:1 1 0;margin:0}
.ezf-price-sym{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:14px;color:var(--grey,#828282);pointer-events:none}
.ezf-price-field input{
	width:100%;height:44px;margin:0;padding:0 12px 0 30px;border:1px solid var(--border-color,#0000001A);border-radius:8px;
	font:500 15px/normal "Lexend",sans-serif;color:var(--black,#0C0610);background:#fff;-moz-appearance:textfield
}
.ezf-price-field input::-webkit-outer-spin-button,.ezf-price-field input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.ezf-price-field input:focus{border-color:var(--purple,#4E2A7F);outline:0;box-shadow:0 0 0 3px var(--lavender,#F0E6FE)}
.ezf-price-dash{color:var(--grey,#828282)}

.ezf-range{position:relative;height:24px;margin:0 8px}
.ezf-range-track{position:absolute;left:0;right:0;top:50%;height:4px;margin-top:-2px;border-radius:4px;background:#e6e1ec}
.ezf-range-fill{position:absolute;top:0;bottom:0;border-radius:4px;background:var(--purple,#4E2A7F)}
.ezf-range-input{
	-webkit-appearance:none;appearance:none;position:absolute;left:-8px;top:0;width:calc(100% + 16px);height:24px;margin:0;padding:0;
	background:transparent;pointer-events:none
}
.ezf-range-input::-webkit-slider-runnable-track{background:transparent;height:24px;border:0}
.ezf-range-input::-moz-range-track{background:transparent;height:24px;border:0}
.ezf-range-input::-webkit-slider-thumb{
	-webkit-appearance:none;appearance:none;pointer-events:auto;cursor:grab;width:22px;height:22px;margin-top:1px;border-radius:50%;
	background:#fff;border:2px solid var(--purple,#4E2A7F);box-shadow:0 2px 6px rgba(12,6,16,.2);transition:transform .15s
}
.ezf-range-input::-moz-range-thumb{
	pointer-events:auto;cursor:grab;width:18px;height:18px;border-radius:50%;
	background:#fff;border:2px solid var(--purple,#4E2A7F);box-shadow:0 2px 6px rgba(12,6,16,.2)
}
.ezf-range-input:active::-webkit-slider-thumb{cursor:grabbing;transform:scale(1.12)}
.ezf-range-input:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px var(--lavender,#F0E6FE)}
.ezf-range-input:focus-visible::-moz-range-thumb{box-shadow:0 0 0 4px var(--lavender,#F0E6FE)}
.ezf-price-scale{display:flex;justify-content:space-between;margin-top:8px;font-size:12px;color:var(--grey,#828282)}

/* ---------- footer buttons ---------- */
.ezf-drawer-foot{display:flex;gap:12px;padding:25px 24px;border-top:1px solid var(--border-color,#0000001A);background:#fff}
.btn::after{
	display: none;
}
.ezf-drawer-foot .btn{
	padding: 10px 13px;
	border: 1px solid var(--purple);
	cursor: pointer;
	font-size: 16px;
	flex: 0 0 50%;
}
.ezf-drawer-foot .btn.btn-outline{
	border-color: var(--border-color);
	background-color: var(--white);
	color: var(--black);
	box-shadow: none;
}
.ezf-drawer-foot .btn.btn-outline:hover{
	color: var(--purple);
	background-color: var(--white);
	border-color: var(--purple);
	box-shadow: none;
}
.ezf-btn:disabled{opacity:.4;cursor:not-allowed}

/* ---------- JS vs no-JS ---------- */
html:not(.ezf-js) .ezf-open{display:none}

/* ---------- responsive ---------- */
@media (max-width:767px){
	.ezf-drawer{width:100%}
	.ezf-drawer-head,.ezf-drawer-foot{padding-left:18px;padding-right:18px}
	.ezf-drawer-body{padding-left:18px;padding-right:18px}
	.ezf-toolbar{grid-template-columns: 30% 66%;grid-template-areas:"filter order" "count count";gap:12px}
	.ezf-open{font-size:14px}
	.ezf-toolbar .woocommerce-ordering select.orderby{min-width:0;width:100%}
	.ezf-toolbar .woocommerce-ordering{width:100%}
	.ezf-open .ezf-icon {
		width: 16px;
		height: 16px;
	}
	.ezf-toolbar::before{display: none;}
	.ezf-toolbar {
		padding-bottom: 0;
		margin-bottom: 20px;
	}	
	.ezf-drawer-head{
		padding-bottom: 16px;
	}
}
@media (prefers-reduced-motion:reduce){
	.ezf-drawer,.ezf-overlay,.ezf-group-body,.ezf-results.is-loading::before{animation:none !important;transition:none !important}
}
@media (max-width: 360px){
	.ezf-drawer-foot .btn{
		font-size: 14px;
	}
}
