/* WooCommerce product filter bar */
.solcar-fl { --solcar-fl-accent: #E8A317; position: relative; width: 100%; }

.solcar-fl-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 8px;
}

.solcar-fl-item { position: relative; }

.solcar-fl-toggle {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 18px;
	background: transparent;
	color: #fff;
	border: 0;
	cursor: pointer;
	line-height: 1.2;
	white-space: nowrap;
	-webkit-appearance: none;
	appearance: none;
}

.solcar-fl-chev { transition: transform .2s ease; }
.solcar-fl-toggle[aria-expanded="true"] .solcar-fl-chev { transform: rotate(180deg); }

.solcar-fl-pop {
	position: absolute;
	z-index: 50;
	top: calc(100% + 8px);
	left: 0;
	min-width: 240px;
	max-width: 320px;
	padding: 14px 16px;
	background: #fff;
	color: #221E24;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(0, 0, 0, .15);
	display: none;
}

.solcar-fl-item.is-open .solcar-fl-pop { display: block; }

.solcar-fl-opts {
	display: flex;
	flex-direction: column;
	gap: 10px;
	max-height: 280px;
	overflow-y: auto;
}

.solcar-fl-opt {
	display: flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
	font-size: 15px;
}

.solcar-fl-opt input[type="checkbox"] {
	width: 18px;
	height: 18px;
	accent-color: var(--solcar-fl-accent, #E8A317);
	margin: 0;
	flex: 0 0 auto;
}

/* price */
.solcar-fl-price { min-width: 280px; }

.solcar-fl-range {
	position: relative;
	height: 24px;
	margin: 6px 4px 18px;
}

.solcar-fl-track {
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	height: var(--solcar-fl-track-h, 4px);
	transform: translateY(-50%);
	border-radius: 999px;
	background: var(--solcar-fl-trackbg, #e0e0e0);
}
.solcar-fl-track::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: var(--lo, 0%);
	right: calc(100% - var(--hi, 100%));
	background: var(--solcar-fl-fill, var(--solcar-fl-accent, #E8A317));
	border-radius: 999px;
}

.solcar-fl-h {
	position: absolute;
	top: 50%;
	left: 0;
	display: block;
	box-sizing: border-box !important;
	width: var(--solcar-fl-thumb-size, 18px) !important;
	height: var(--solcar-fl-thumb-size, 18px) !important;
	min-width: 0 !important;
	margin: 0 !important;
	transform: translate(-50%, -50%);
	padding: 0 !important;
	border-radius: 50%;
	background: var(--solcar-fl-thumb, #ffffff);
	border: 2px solid var(--solcar-fl-thumb-border, var(--solcar-fl-accent, #E8A317));
	box-shadow: 0 1px 4px rgba(0, 0, 0, .35);
	cursor: grab;
	z-index: 3;
	touch-action: none;
}
.solcar-fl-h:active { cursor: grabbing; }
.solcar-fl-h-min { z-index: 5; }
.solcar-fl-h-max { z-index: 4; }

.solcar-fl-price-inputs { display: flex; gap: 10px; }
.solcar-fl-price-inputs label { display: flex; flex-direction: column; gap: 4px; font-size: 13px; flex: 1 1 0; }
.solcar-fl-price-inputs input {
	width: 100%;
	padding: 8px 10px;
	border: 1px solid #d8d8d8;
	border-radius: 6px;
	box-sizing: border-box;
}

.solcar-fl-apply, .solcar-fl-reset {
	-webkit-appearance: none;
	appearance: none;
	border: 0;
	cursor: pointer;
	padding: 12px 18px;
	background: transparent;
	color: inherit;
	text-decoration: underline;
	font: inherit;
}
.solcar-fl-apply { background: var(--solcar-fl-accent, #E8A317); color: #fff; border-radius: 6px; text-decoration: none; }

.solcar-fl.is-loading { pointer-events: none; }

.solcar-fl-empty {
	padding: 16px;
	border: 1px dashed #c3c4c7;
	border-radius: 8px;
	color: #787c82;
}

@media (max-width: 767px) {
	.solcar-fl-bar { flex-direction: column; align-items: stretch; }

	/* Filter item across the full width, chevron pushed to the far right */
	.solcar-fl-item { width: 100%; }
	.solcar-fl-toggle { display: flex; width: 100%; }
	.solcar-fl-chev { margin-left: auto; }

	/* Open as accordion content (in flow, pushes siblings) instead of a popup */
	.solcar-fl-pop {
		position: static;
		z-index: auto;
		top: auto;
		left: auto;
		right: auto;
		min-width: 0;
		max-width: none;
		margin-top: 6px;
		box-shadow: none;
	}
}

/* hide reset until something is active */
.solcar-fl:not(.has-active) .solcar-fl-reset { display: none; }

/* ---------- Active filters widget ---------- */
.solcar-fl-active {
	--solcar-fla-accent: #E8A317;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.solcar-fl-active.is-empty { display: none; }

.solcar-fl-active-label { font-weight: 600; }

.solcar-fl-active-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.solcar-fl-chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 10px 6px 12px;
	background: var(--solcar-fla-chip-bg, #f0f0f0);
	color: var(--solcar-fla-chip-color, #221E24);
	border-radius: var(--solcar-fla-chip-radius, 999px);
	font-size: 14px;
	line-height: 1.2;
}

.solcar-fl-chip-x {
	-webkit-appearance: none;
	appearance: none;
	border: 0;
	background: none;
	cursor: pointer;
	font-size: 16px;
	line-height: 1;
	color: inherit;
	opacity: .6;
	padding: 0;
}
.solcar-fl-chip-x:hover { opacity: 1; }

.solcar-fl-active-clear {
	-webkit-appearance: none;
	appearance: none;
	border: 0;
	background: none;
	cursor: pointer;
	color: var(--solcar-fla-clear, #888);
	text-decoration: underline;
	font: inherit;
	padding: 4px 6px;
}

/* ---------- Mobile toggle (accordion) ---------- */
.solcar-fl-mobile-toggle {
	display: none;
	align-items: center;
	gap: 8px;
	padding: 12px 18px;
	background: #221E24;
	color: #fff;
	border: 0;
	cursor: pointer;
	line-height: 1.2;
	-webkit-appearance: none;
	appearance: none;
}

.solcar-fl-mt-ico,
.solcar-fl-mt-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.solcar-fl-mt-arrow {
	margin-left: auto;
	transition: transform .2s ease;
}

.solcar-fl.is-open .solcar-fl-mt-arrow { transform: rotate(180deg); }

@media (max-width: 767px) {
	.solcar-fl.mtoggle-mobile .solcar-fl-mobile-toggle { display: inline-flex; }
	.solcar-fl.mtoggle-mobile:not(.is-open) .solcar-fl-bar { display: none; }
}

@media (max-width: 1024px) {
	.solcar-fl.mtoggle-tablet .solcar-fl-mobile-toggle { display: inline-flex; }
	.solcar-fl.mtoggle-tablet:not(.is-open) .solcar-fl-bar { display: none; }
}

/* ---------- Active indicator (badge) ---------- */
.solcar-fl-badge { display: none; }

.solcar-fl.ind-dot .solcar-fl-item.has-selection .solcar-fl-badge {
	display: inline-block;
	width: var(--solcar-fl-badge-size, 8px);
	height: var(--solcar-fl-badge-size, 8px);
	border-radius: 50%;
	background: var(--solcar-fl-accent, #E8A317);
	font-size: 0;
	line-height: 0;
	flex: 0 0 auto;
}

/* ---------- Grid loading overlay ---------- */
.solcar-fl-busy { position: relative; }

.solcar-fl-overlay {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, .6);
	z-index: 20;
}

.solcar-fl-spinner {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	border: 3px solid rgba(0, 0, 0, .15);
	border-top-color: #E8A317;
	animation: solcar-fl-spin .8s linear infinite;
}

@keyframes solcar-fl-spin { to { transform: rotate(360deg); } }
