/* VirtueMart Param Filter (salent.ru) — semantic/domain CSS only.
 * Bootstrap (.btn/.form-*) comes from the template. No @import. */

.paramfilter .filter_category .mcf-cat-branch { margin:.15rem 0 .35rem; }
.paramfilter .filter_category .mcf-cat-branch__toggle {
	list-style:none;
	cursor:pointer;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:1.25rem;
	height:1.25rem;
	margin:.15rem 0 .15rem .25rem;
	padding:0;
	border:0;
	background:transparent;
	color:var(--bs-secondary-color,#6c757d);
}
.paramfilter .filter_category .mcf-cat-branch__toggle::before {
	content:"";
	display:inline-block;
	width:.45rem;
	height:.45rem;
	border-right:2px solid currentColor;
	border-bottom:2px solid currentColor;
	transform:rotate(-45deg);
	transition:transform .15s ease;
}
.paramfilter .filter_category .mcf-cat-branch[open] > .mcf-cat-branch__toggle::before { transform:rotate(45deg); }
.paramfilter .filter_category .mcf-cat-branch__list { margin:.15rem 0 0 1rem; }
.paramfilter .filter_category summary.mcf-cat-branch__toggle::-webkit-details-marker { display:none; }

.paramfilter .mcf_button { margin-top:1rem; }
.paramfilter .mcf_tip,
.paramfilter .mcf-field-tip { font-size:80%; line-height:80%; cursor:pointer; color:var(--bs-secondary-color,#6c757d); vertical-align:text-top; }
form.mcf_mod_ajax_div input[type=submit]:not(.btn-filter) { display:none; }

.paramfilter form > :is(.filter_category, .filter_manufacturers, .price, .custom_params):first-of-type {
	padding-top:0 !important;
}
.paramfilter .mcf-filter-section {
	padding-top:1rem;
	padding-bottom:1rem;
	border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
}
.paramfilter .mcf-filter-section:has(.heading.closed) {
	padding-top:0;
	padding-bottom:0;
	border-bottom:none;
}

.paramfilter .heading {
	user-select:none;
	font-size:1rem;
	font-weight:600;
	line-height:1.4;
	margin:1rem 0 .5rem;
	cursor:pointer;
}
.paramfilter .heading::before {
	content:"";
	display:inline-block;
	width:.45rem;
	height:.45rem;
	border-right:2px solid currentColor;
	border-bottom:2px solid currentColor;
	transform:rotate(-45deg);
	margin-right:.5rem;
	transition:transform .15s ease;
	flex-shrink:0;
	pointer-events:auto;
}
.paramfilter .heading.closed::before { transform:rotate(45deg); }
.paramfilter .heading.closed { margin-bottom:0; }

.paramfilter .heading .mcf-heading-toggle {
	display:block;
	width:100%;
	min-width:0;
	text-align:left;
	padding:0;
	color:var(--bs-dark,#212529);
}
.paramfilter .heading .mcf-heading-toggle:focus-visible {
	outline:2px solid currentColor;
	outline-offset:2px;
}

.paramfilter .heading .mcf-heading-action-slot.is-empty {
	pointer-events:none;
}
.paramfilter .heading .mcf-heading-action-slot:not(.is-empty) {
	cursor:default;
}

.paramfilter .mcf-icon-reset {
	display:block;
	font-size:1.15rem;
	line-height:1;
	font-weight:700;
	color:var(--bs-danger,#dc3545);
	opacity:.85;
}
.paramfilter .mcf-heading-action-slot .reset:hover .mcf-icon-reset { opacity:1; }

.paramfilter .mcf-heading-action-slot {
	position:relative;
	display:inline-flex;
	align-items:center;
	justify-content:flex-end;
	gap:.25rem;
	flex:0 0 auto;
	margin-left:auto;
	min-height:1.25rem;
}
.paramfilter .mcf-heading-action-slot.is-empty:not(.is-loading) .reset {
	visibility:hidden;
	pointer-events:none;
}
.paramfilter .mcf-heading-action-slot .reset {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:1.25rem;
	height:1.25rem;
	margin:0;
	padding:0;
	border:0;
	background:transparent;
}
/* Loader uses Bootstrap .spinner-border; keep marker class for JS. */
.paramfilter .mcf-heading-action-slot .mcf-heading-loader[hidden] {
	display:none !important;
}
.paramfilter .mcf-heading-action-slot.is-loading .reset {
	visibility:hidden;
	pointer-events:none;
}

@media (prefers-reduced-motion: reduce) {
	.paramfilter .heading::before,
	.paramfilter .filter_category .mcf-cat-branch__toggle::before {
		transition:none;
	}
}

.paramfilter ul.values > li:last-child { margin-bottom:0 !important; }

.paramfilter .values label.mcf-check {
	display:flex;
	gap:.45rem;
	min-height:1.25rem;
	margin-bottom:0;
	cursor:pointer;
	line-height:1.8;
}
.paramfilter .values label.mcf-check .form-check-input {
	flex:0 0 1.125rem;
	width:1.125rem;
	height:1.125rem;
	margin-top:.15rem;
	float:none;
	margin-left:0;
}
.paramfilter .values label.mcf-check .count {
	flex:0 0 auto;
	white-space:nowrap;
	font-size:.85em;
	opacity:.7;
	margin-left:auto;
}

.paramfilter .mcf-values-toggle { display:inline-flex; align-items:center; gap:.35rem; text-decoration:none; }
.paramfilter .mcf-values-toggle:hover { text-decoration:underline; }
.paramfilter .mcf-values-toggle-item { padding-left:0; }
.paramfilter .mcf-values-toggle__icon {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:1rem;
	height:1rem;
	font-weight:700;
	line-height:1;
}
.paramfilter .mcf-values-toggle__icon::before { content:"+"; }
.paramfilter .mcf-values-toggle[aria-expanded="true"] .mcf-values-toggle__icon::before { content:"−"; }

.paramfilter .horizontbox .mcf-horizontal-actions,
.horizontbox .mcf-horizontal-actions {
	display:flex;
	flex-direction:column;
	align-items:stretch;
	gap:.5rem;
}

.paramfilter .values.sliderbox {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:.5rem;
}
.paramfilter .price .values:not(.sliderbox),
.paramfilter .values.price:not(.sliderbox),
.paramfilter .mcf-price-range:not(.sliderbox) {
	display:flex;
	flex-wrap:nowrap;
	align-items:center;
	gap:.5rem;
}
.paramfilter .price .values.sliderbox .slider-line {
	flex:1 1 100%;
}
.paramfilter .price .mcf-price-bound,
.paramfilter .values.price .mcf-price-bound {
	display:flex;
	align-items:center;
	gap:.35rem;
	flex:1 1 0;
	min-width:0;
}
.paramfilter .price .mcf-price-bound__label,
.paramfilter .values.price .mcf-price-bound__label {
	flex:0 0 auto;
	white-space:nowrap;
	color:var(--bs-secondary-color,#6c757d);
	font-size:.875rem;
}
.paramfilter .price .mcf-price-bound .form-control,
.paramfilter .values.price .mcf-price-bound .form-control,
.paramfilter .price .values:not(.sliderbox) > input,
.paramfilter .values.price:not(.sliderbox) > input {
	flex:1 1 0;
	min-width:0;
	width:auto;
}
.paramfilter .price input.slider-range-gt,
.paramfilter .price input.slider-range-lt {
	flex:1 1 0;
	min-width:0;
}

/* Scoped native range + color swatches (were global) */
.paramfilter .mcf-native-range { box-sizing:border-box; display:block; width:100%; margin:6px 0; }
.paramfilter .mcf-native-range-left,
.paramfilter .mcf-native-range-right { width:100%; }

.paramfilter .values-named {
	display:flex;
	flex-wrap:wrap;
	gap:3px 5px;
	list-style:none;
	padding:0;
	margin:0;
}
.paramfilter .values-named li {
	flex:0 0 auto;
	padding-left:0;
	list-style:none;
	background:none;
}
.paramfilter .values-named li label { display:block; width:20px; height:20px; border:1px solid #ccc; cursor:pointer; position:relative; }
.paramfilter .values-named li label.checked { border:1px solid #000; }
.paramfilter .values-named li:hover label { border:1px solid #666; }
.paramfilter .values-named li label .mcf-swatch-input {
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	margin:0;
	opacity:0;
	cursor:pointer;
}
.paramfilter .values-named li label .mcf-swatch-input:focus-visible {
	outline:2px solid var(--bs-primary,#0d6efd);
	outline-offset:2px;
}
.paramfilter .values-named li label:has(.mcf-swatch-input:disabled) {
	opacity:.35;
	cursor:not-allowed;
}
.paramfilter .values-named li label span.color { display:block; width:18px; height:18px; margin:1px; pointer-events:none; }
.paramfilter .values-named label.raznotsvetnyj span.color { background:linear-gradient(135deg,#f66,#6af,#6f6,#ff6); }

.paramfilter .mcf-slider-double-int .mcf-slider-inputs {
	display:flex;
	align-items:center;
	flex-wrap:nowrap;
	gap:.5rem;
	width:100%;
	margin-bottom:.45rem;
}
.paramfilter .mcf-slider-double-int .mcf-slider-bound {
	display:block;
	flex:1 1 0;
	min-width:0;
	margin:0;
	white-space:nowrap;
}
.paramfilter .mcf-slider-double-int .mcf-slider-separator {
	flex:0 0 auto;
	line-height:1;
	color:var(--bs-secondary-color,#6c757d);
}
.paramfilter .mcf-slider-double-int .mcf-slider-bound input {
	float:none;
	min-width:0;
	width:100%;
	text-align:center;
}
.paramfilter .mcf-slider-double-int .mcf-slider-line {
	clear:both;
	position:relative;
	width:100%;
	height:1.6rem;
	margin-top:.35rem;
}
.paramfilter .mcf-slider-double-int .mcf-slider-line .mcf-native-range {
	position:absolute;
	left:0;
	right:0;
	top:.35rem;
	width:100%;
	margin:0;
	pointer-events:none;
	background:transparent;
}
.paramfilter .mcf-slider-double-int .mcf-slider-line .mcf-native-range::-webkit-slider-thumb { pointer-events:auto; }
.paramfilter .mcf-slider-double-int .mcf-slider-line .mcf-native-range::-moz-range-thumb { pointer-events:auto; }
.paramfilter .mcf-slider-double-int .mcf-slider-line .mcf-native-range-left { z-index:2; }
.paramfilter .mcf-slider-double-int .mcf-slider-line .mcf-native-range-right { z-index:3; }
.paramfilter .mcf-slider-double-int .mcf-slider-line .mcf-native-range.mcf-active-thumb { z-index:4; }

.paramfilter .slider-double-handle .slider-line {
	position:relative;
	width:100%;
	height:1.8rem;
	margin-top:.35rem;
	clear:both;
}
.paramfilter .slider-double-handle .slider-line::before {
	content:"";
	position:absolute;
	left:0;
	right:0;
	top:50%;
	height:.35rem;
	transform:translateY(-50%);
	border-radius:999px;
	background:var(--bs-secondary-bg,#e9ecef);
	z-index:0;
}
.paramfilter .slider-double-handle .slider-line .mcf-native-range {
	-webkit-appearance:none;
	appearance:none;
	position:absolute;
	left:0;
	right:0;
	top:0;
	width:100%;
	height:1.8rem;
	margin:0;
	padding:0;
	background:transparent !important;
	pointer-events:none;
	z-index:1;
}
.paramfilter .slider-double-handle .slider-line .mcf-native-range::-webkit-slider-runnable-track {
	height:.35rem;
	background:transparent;
	border:0;
}
.paramfilter .slider-double-handle .slider-line .mcf-native-range::-moz-range-track {
	height:.35rem;
	background:transparent;
	border:0;
}
.paramfilter .slider-double-handle .slider-line .mcf-native-range::-webkit-slider-thumb {
	-webkit-appearance:none;
	appearance:none;
	pointer-events:auto;
	position:relative;
	z-index:3;
}
.paramfilter .slider-double-handle .slider-line .mcf-native-range::-moz-range-thumb {
	pointer-events:auto;
	position:relative;
	z-index:3;
}
.paramfilter .slider-double-handle .slider-line .mcf-native-range-left { z-index:2; }
.paramfilter .slider-double-handle .slider-line .mcf-native-range-right { z-index:3; }
.paramfilter .slider-double-handle .slider-line .mcf-native-range.mcf-active-thumb { z-index:4; }

/* Catalog toolbar (outside .paramfilter; store category browse) */
.active-filter-chips:empty,
.mcf-catalog-toolbar__chips:empty { display:none !important; margin:0; padding:0; }

.mcf-orderby-controls {
	position: relative;
}
.mcf-orderby-controls .mcf-orderby-toggle.dropdown-toggle::after {
	margin-left: .35rem;
	vertical-align: .15em;
}
.mcf-orderby-controls .dropdown-menu {
	min-width: 12rem;
}
.mcf-orderby-controls .dropdown-item.active {
	font-weight: 600;
}

.mcf-catalog-toolbar .chip,
.active-filter-chips .chip {
	flex:0 0 auto;
	display:inline-flex;
	align-items:center;
	gap:.4rem;
	background:var(--bs-secondary);
	border-radius:2rem;
	padding:.3rem .35rem .3rem .6rem;
	font-size:.85rem;
	line-height:1.2;
	white-space:nowrap;
}

.mcf-catalog-toolbar .chip > .chip-x,
.active-filter-chips .chip > .chip-x {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:1.25rem;
	height:1.25rem;
	border:0;
	border-radius:50%;
	background:rgba(0,0,0,.06);
	color:#666;
	cursor:pointer;
	font-size:1rem;
	line-height:1;
	padding:0;
}

.mcf-catalog-toolbar .chip > .chip-x:hover,
.active-filter-chips .chip > .chip-x:hover {
	background:rgba(0,0,0,.15);
	color:#000;
}

@media (max-width:991.98px){
	.mcf-toolbar-filter__label{display:none!important}
	.mcf-toolbar-filter{padding:.35rem .55rem;line-height:1}
	.mcf-orderby-toggle{padding:.35rem .55rem;line-height:1}
}
