/*! Filter WP Pro — high-specificity overrides for Flatsome + WooCommerce sidebars */

/* ── Root — lock width, clip all overflow ── */
.fwc-filter {
	--fwc-accent: #1e73be;
	--fwc-accent-dark: #185fa0;
	--fwc-border: #ddd;
	--fwc-text: #333;
	--fwc-muted: #888;

	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	font-size: 14px !important;
	line-height: 1.4 !important;
	color: var(--fwc-text) !important;
	background: #fff !important;
	border: 1px solid var(--fwc-border) !important;
	border-radius: 5px !important;
	overflow: hidden !important;
	margin: 0 0 1.25rem !important;
	padding: 0 !important;
	float: none !important;
}

.fwc-filter *,
.fwc-filter *::before,
.fwc-filter *::after {
	box-sizing: border-box !important;
}

/* ── Header ── */
.fwc-filter .fwc-filter__head {
	background: var(--fwc-accent) !important;
	padding: 10px 14px !important;
	margin: 0 !important;
	border: none !important;
}

.fwc-filter .fwc-filter__head .fwc-filter__title {
	display: block !important;
	color: #fff !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.3 !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	border: none !important;
	background: none !important;
}

/* ── Body ── */
.fwc-filter .fwc-filter__body {
	padding: 14px !important;
	margin: 0 !important;
	overflow: hidden !important;
	width: 100% !important;
	max-width: 100% !important;
}

/* ── Sections ── */
.fwc-filter .fwc-filter__section {
	margin: 0 0 16px 0 !important;
	padding: 0 !important;
	border: none !important;
	float: none !important;
	width: auto !important;
}

.fwc-filter .fwc-filter__section:last-child {
	margin-bottom: 0 !important;
}

.fwc-filter .fwc-filter__label {
	display: block !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	color: var(--fwc-text) !important;
	margin: 0 0 8px 0 !important;
	padding: 0 !important;
	border: none !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	line-height: 1.4 !important;
}

/* ── Category list — override Flatsome widget ul/li/label ── */
.fwc-filter ul.fwc-filter__list {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	max-height: 240px !important;
	overflow-y: auto !important;
	overflow-x: hidden !important;
	border: none !important;
	background: none !important;
	scrollbar-width: thin;
	scrollbar-color: #ccc transparent;
}

.fwc-filter ul.fwc-filter__list::-webkit-scrollbar {
	width: 4px;
}

.fwc-filter ul.fwc-filter__list::-webkit-scrollbar-thumb {
	background: #ccc;
	border-radius: 2px;
}

.fwc-filter ul.fwc-filter__list li.fwc-filter__item {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border-top: none !important;
	border-left: none !important;
	border-right: none !important;
	border-bottom: 1px solid #f0f0f0 !important;
	background: none !important;
	float: none !important;
	width: auto !important;
	display: block !important;
}

.fwc-filter ul.fwc-filter__list li.fwc-filter__item:last-child {
	border-bottom: none !important;
}

.fwc-filter .fwc-filter__item label.fwc-filter__option {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	padding: 7px 4px !important;
	margin: 0 !important;
	border: none !important;
	background: none !important;
	cursor: pointer !important;
	float: none !important;
	width: auto !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1.3 !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	transition: background 0.12s;
}

.fwc-filter .fwc-filter__item label.fwc-filter__option:hover {
	background: #f7f8fa !important;
}

.fwc-filter .fwc-filter__option input[type="radio"] {
	flex-shrink: 0 !important;
	width: 15px !important;
	height: 15px !important;
	min-width: 15px !important;
	min-height: 15px !important;
	margin: 0 !important;
	padding: 0 !important;
	accent-color: var(--fwc-accent) !important;
	cursor: pointer !important;
	position: static !important;
	float: none !important;
	opacity: 1 !important;
	visibility: visible !important;
	-webkit-appearance: auto !important;
	appearance: auto !important;
}

.fwc-filter .fwc-filter__option-text {
	flex: 1 !important;
	min-width: 0 !important;
	font-size: 13px !important;
	line-height: 1.3 !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
	margin: 0 !important;
	padding: 0 !important;
	display: block !important;
	color: var(--fwc-text) !important;
}

.fwc-filter .fwc-filter__option-count {
	flex-shrink: 0 !important;
	font-size: 12px !important;
	color: var(--fwc-muted) !important;
	margin: 0 !important;
	padding: 0 !important;
	white-space: nowrap !important;
}

/* ── Price form — override Flatsome form resets ── */
.fwc-filter form.fwc-filter__price-form {
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	background: none !important;
	max-width: 100% !important;
	min-width: 0 !important;
	width: auto !important;
	float: none !important;
	display: block !important;
}

/* ── Slider ── */
.fwc-filter .fwc-filter__slider {
	padding: 6px 0 0 !important;
	margin: 0 !important;
	min-height: 44px !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	overflow: visible !important;
	position: relative !important;
}

.fwc-filter .fwc-filter__slider-track {
	position: relative !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	height: 20px !important;
	margin: 4px 0 !important;
	padding: 0 !important;
	cursor: pointer !important;
	overflow: visible !important;
}

.fwc-filter .fwc-filter__slider-track-inner {
	position: absolute !important;
	left: 8px !important;
	right: 8px !important;
	top: 0 !important;
	bottom: 0 !important;
}

.fwc-filter .fwc-filter__slider-rail {
	position: absolute !important;
	left: 0 !important;
	right: 0 !important;
	top: 50% !important;
	height: 4px !important;
	margin-top: -2px !important;
	background: #ddd !important;
	border-radius: 2px !important;
	border: none !important;
	padding: 0 !important;
}

.fwc-filter .fwc-filter__slider-fill {
	position: absolute !important;
	top: 50% !important;
	height: 4px !important;
	margin-top: -2px !important;
	background: var(--fwc-accent) !important;
	border-radius: 2px !important;
	left: 0;
	right: 0;
	border: none !important;
	padding: 0 !important;
}

.fwc-filter .fwc-filter__range {
	position: absolute !important;
	left: 8px !important;
	top: 0 !important;
	width: calc(100% - 16px) !important;
	max-width: calc(100% - 16px) !important;
	height: 20px !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	pointer-events: none !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	outline: none !important;
	border: none !important;
	box-shadow: none !important;
	display: block !important;
	float: none !important;
}

.fwc-filter .fwc-filter__range::-webkit-slider-runnable-track {
	height: 4px !important;
	background: transparent !important;
	border: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.fwc-filter .fwc-filter__range::-webkit-slider-thumb {
	pointer-events: auto !important;
	-webkit-appearance: none !important;
	width: 18px !important;
	height: 18px !important;
	margin-top: -7px !important;
	border-radius: 50% !important;
	background: #fff !important;
	border: 2px solid var(--fwc-accent) !important;
	box-shadow: 0 1px 3px rgba(0,0,0,.18) !important;
	cursor: pointer !important;
	position: relative !important;
	z-index: 1 !important;
}

.fwc-filter .fwc-filter__range::-moz-range-track {
	height: 4px !important;
	background: transparent !important;
	border: none !important;
}

.fwc-filter .fwc-filter__range::-moz-range-thumb {
	pointer-events: auto !important;
	width: 18px !important;
	height: 18px !important;
	border-radius: 50% !important;
	background: #fff !important;
	border: 2px solid var(--fwc-accent) !important;
	box-shadow: 0 1px 3px rgba(0,0,0,.18) !important;
	cursor: pointer !important;
}

.fwc-filter .fwc-filter__range--min {
	z-index: 2 !important;
}

.fwc-filter .fwc-filter__range--max {
	z-index: 3 !important;
}

/* ── Price readout ── */
.fwc-filter .fwc-filter__price-values {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	margin: 6px 0 0 !important;
	padding: 0 !important;
	min-height: 20px !important;
	gap: 4px !important;
	font-variant-numeric: tabular-nums;
	border: none !important;
}

.fwc-filter .fwc-filter__price-min,
.fwc-filter .fwc-filter__price-max {
	font-size: 12px !important;
	font-weight: 500 !important;
	line-height: 1.3 !important;
	color: var(--fwc-text) !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	margin: 0 !important;
	padding: 0 !important;
}

.fwc-filter .fwc-filter__price-sep {
	font-size: 11px !important;
	color: var(--fwc-muted) !important;
	flex-shrink: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* ── Actions ── */
.fwc-filter .fwc-filter__actions {
	margin: 12px 0 0 !important;
	padding: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	gap: 8px !important;
	border: none !important;
}

.fwc-filter .fwc-filter__actions button.fwc-filter__btn,
.fwc-filter .fwc-filter__actions button[type="submit"].fwc-filter__btn {
	display: block !important;
	width: 100% !important;
	padding: 9px 12px !important;
	margin: 0 !important;
	background: var(--fwc-accent) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 4px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	text-align: center !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	cursor: pointer !important;
	line-height: 1.3 !important;
	box-shadow: none !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	float: none !important;
	text-decoration: none !important;
	transition: background 0.15s;
}

.fwc-filter .fwc-filter__actions button.fwc-filter__btn:hover,
.fwc-filter .fwc-filter__actions button[type="submit"].fwc-filter__btn:hover {
	background: var(--fwc-accent-dark) !important;
	color: #fff !important;
}

.fwc-filter .fwc-filter__actions .fwc-filter__reset {
	display: block !important;
	font-size: 12px !important;
	line-height: 1.35 !important;
	color: var(--fwc-accent) !important;
	text-decoration: none !important;
	text-align: center !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	background: none !important;
}

.fwc-filter .fwc-filter__actions .fwc-filter__reset:hover {
	text-decoration: underline !important;
}

.fwc-filter .fwc-filter__actions .fwc-filter__reset-placeholder {
	display: block !important;
	min-height: 16px !important;
	visibility: hidden !important;
	pointer-events: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
