/* EazyCure Price Filter */
.ecpf {
	--ecpf-color: #0073c6;
	--ecpf-track: #dfe5ec;
	--ecpf-text: #1e293b;
	margin: 0 0 20px;
	width: 100%;
	box-sizing: border-box;
}
.ecpf *, .ecpf *::before, .ecpf *::after { box-sizing: border-box; }

.ecpf .ecpf__slider {
	position: relative !important;
	display: block !important;
	height: 24px !important;
	margin: 12px 9px 14px !important;
	padding: 0 !important;
	line-height: 0 !important;
}
/* Our own track: exactly 4px tall, vertically centred in the 24px box (10px + 4px + 10px). */
.ecpf .ecpf__track {
	position: absolute !important;
	top: 10px !important;
	left: 0 !important;
	right: 0 !important;
	height: 4px !important;
	margin: 0 !important;
	padding: 0 !important;
	background: var(--ecpf-track) !important;
	border-radius: 4px !important;
}
.ecpf .ecpf__fill {
	position: absolute !important;
	top: 0 !important;
	bottom: 0 !important;
	margin: 0 !important;
	background: var(--ecpf-color) !important;
	border-radius: 4px !important;
}

/* Two overlaid range inputs: transparent, only the thumbs are clickable. */
.ecpf .ecpf__range,
.ecpf input[type="range"].ecpf__range {
	position: absolute !important;
	top: 0 !important;
	left: -9px !important;
	width: calc(100% + 18px) !important;
	height: 24px !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
	line-height: 1 !important;
	pointer-events: none;
	-webkit-appearance: none !important;
	appearance: none !important;
	outline: none !important;
}
.ecpf .ecpf__range--max { z-index: 3; }

/* Kill the browser/theme native track so only our track shows. */
.ecpf .ecpf__range::-webkit-slider-runnable-track {
	-webkit-appearance: none !important;
	height: 24px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
}
.ecpf .ecpf__range::-moz-range-track {
	height: 24px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
}
.ecpf .ecpf__range::-moz-range-progress { background: transparent !important; }

/* Thumbs: 18px circle, centred on the 24px track (3px above and below). */
.ecpf .ecpf__range::-webkit-slider-thumb {
	-webkit-appearance: none !important;
	appearance: none !important;
	pointer-events: auto;
	box-sizing: border-box !important;
	width: 18px !important;
	height: 18px !important;
	margin: 3px 0 0 0 !important;
	padding: 0 !important;
	border-radius: 50% !important;
	background: var(--ecpf-color) !important;
	border: 2px solid #fff !important;
	box-shadow: 0 0 0 1px var(--ecpf-color), 0 1px 4px rgba(0, 0, 0, .25) !important;
	cursor: grab;
}
.ecpf .ecpf__range::-moz-range-thumb {
	pointer-events: auto;
	box-sizing: border-box !important;
	width: 18px !important;
	height: 18px !important;
	margin: 0 !important;
	border-radius: 50% !important;
	background: var(--ecpf-color) !important;
	border: 2px solid #fff !important;
	box-shadow: 0 0 0 1px var(--ecpf-color), 0 1px 4px rgba(0, 0, 0, .25) !important;
	cursor: grab;
}
.ecpf .ecpf__range:focus-visible::-webkit-slider-thumb { box-shadow: 0 0 0 3px rgba(0, 115, 198, .35) !important; }
.ecpf .ecpf__range:focus-visible::-moz-range-thumb { box-shadow: 0 0 0 3px rgba(0, 115, 198, .35) !important; }

.ecpf__values {
	display: flex;
	align-items: center;
	gap: 8px;
}
.ecpf__field {
	display: flex;
	align-items: center;
	flex: 1 1 0;
	min-width: 0;
	margin: 0;
	padding: 0 8px;
	border: 1px solid #cbd5e1;
	border-radius: 4px;
	background: #fff;
	color: var(--ecpf-text);
	font-size: 14px;
}
.ecpf__field span { margin-right: 4px; opacity: .7; }
.ecpf .ecpf__num {
	width: 100%;
	min-width: 0;
	height: 36px;
	padding: 0;
	border: 0;
	box-shadow: none;
	background: transparent;
	font-size: 14px;
	-moz-appearance: textfield;
}
.ecpf .ecpf__num::-webkit-outer-spin-button,
.ecpf .ecpf__num::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.ecpf__dash { color: #64748b; }

.ecpf__actions {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-top: 12px;
}
.ecpf .ecpf__btn {
	padding: 8px 20px;
	border: 0;
	border-radius: 4px;
	background: var(--ecpf-color);
	color: #fff;
	font-size: 14px;
	line-height: 1.4;
	cursor: pointer;
}
.ecpf .ecpf__btn:hover { filter: brightness(.92); }
.ecpf__reset { font-size: 14px; color: var(--ecpf-color); text-decoration: underline; }
