#filter_cars {
	display: flex;
	flex-direction: column;
	gap: 16px;
	overflow: hidden;
}
.filter_row {
	display: flex;
	justify-content: space-between;
	gap: 14px;
	flex-wrap: wrap;
}
.filter_col_3 {
	display: flex;
	flex: 1;
	flex-grow: 1; flex-shrink: 1;
	max-width: 33.33%;
	min-width: 180px;
	gap: 4px;
	overflow: hidden;
}
.filter_col_3:has( .select_mate ) {
	overflow: unset;
}
@media all and (max-width: 640px) {
	.filter_col_3 {
		max-width: 100%;
		flex-basis: 100%;
	}
}

#b_filters_scroll {
	overflow: auto;
	-ms-overflow-style: none;
	scrollbar-width: none;
}

#b_filters_scroll::-webkit-scrollbar {
	width: 0;
	height: 0;
}

.b_filters {
	display: inline-block;
	position: relative;
	/*height: 52px;*/
	width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
}
/* clearfix */
.b_filters:after {
	content: '';
	display: block;
	clear: both;
	visibility: hidden;
	line-height: 0;
	height: 0;
}

.b_red {
	color: #ffffff;
	font-size: 14px;
	line-height: 1.2;
	font-weight: 400;
	padding: 10px 5px;
	border-radius: 8px;
	background-color: #ff402c;
	border: none;
	cursor: pointer;
}
.b_red:hover {
	color: #1d1d1f;;
	background-color: #f8f7f5;
}

#popups.f_filters {
	position: fixed;
	top: 0;
	z-index: 900;
}
#popups .filter {
	z-index: 901;
}

#filters.f_filters {
	position: fixed;
	top: 0;
	z-index: 1000;
}
#filters .filter {
	z-index: 1001;
}

.filter {
	display: none;
	position: fixed;
	top: 10px;
	/*width: 360px;*/
	max-width: var(--pop_max_width);
	min-width: var(--pop_min_width);
	border-radius: var(--Radius_Groups_Base);
	z-index: 1001;
	transition: transform 0.2s ease-in-out;
}
#popups .filter {
	min-width: 390px;
}
.filter.animate {
	transition: unset !important;
}

.filter.mobile button[type="submit"].b-red {
	color: #ffffff;
	background-color: #ff402c;
}
.filter.mobile button[type="submit"].b-red:hover {
	color: #1d1d1f;
	background-color: #f8f7f5;
}

.b-show {
  display: block;
  /*animation: showBlock .3s linear forwards;*/
}
.hidden {
  display: none !important;
}
@keyframes showBlock {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.filter_container {
	/*padding: 16px;*/
	background-position: center center;
	border-radius: var(--Radius_Groups_Base);
	border-color: transparent;
	border-style: solid;
	overflow-x: hidden;
	overflow-y: auto;

	max-height: 40vh;
  /* min-height: 40vh; */
}
#popups .filter_container {
	overflow-y: hidden;
}
.filter:not(.mobile) .filter_container, .filter[id^="f"] .filter_container {
	-webkit-box-shadow: var(--pop_shadow);
	-moz-box-shadow: var(--pop_shadow);
	box-shadow: var(--pop_shadow);
}
.filter_container > .filter_top {
	background-color: var(--Fills_Droplist);
	position: relative;
	display: block;
	/*height: 85px;*/
	/*padding: 3px 0;*/
}
.filter_container > .filter_top.medium {
	height: 60px;
}
.filter_container > .filter_top.small {
	height: 30px;
}
.filter_container .filter_hr {
	width: 100%;
	height: 1px;
	background-color: var(--Elements_Secondary);
}
.filter_container > .filter_bottom {
	/*position: relative;*/
	/*margin-bottom: 90px;*/
	display: block;
	padding: 6px;
	background-color: var(--Fills_Droplist);
}
.filter_container > .filter_footer {
	position: relative;
	display: block;
	padding: 16px 16px 40px 16px;
	background-color: var(--Fills_Droplist);
	border-top: 1px solid var(--Elements_Tertiary);
}
#filters .filter_top > .filter_header {
	position: relative;
	width: 100%;
	/*height: 24px;*/
	padding: 6px;
	border-bottom: 1px solid var(--Elements_Tertiary);
}
#popups .filter_top > .filter_header {
	position: relative;
	width: 100%;
	/*height: 24px;*/
	padding: 16px;
	border-bottom: 1px solid var(--Elements_Tertiary);
}
.filter_top > .filter_header > .pan {
	display: none;
}
#filters .filter_top > .filter_header > .name {
	/*position: absolute;*/
	height: 24px;
	/*margin-left: 50%;*/
	/*transform: translate(-50%, 0);*/
	text-align: center;
	color: var(--Elements_Primary);
	font-size: 16px;
	font-family: myfont, Arial, sans-serif;
	line-height: 24px;
	font-weight: 500;
	letter-spacing: -0.5px;
}
#popups .filter_top > .filter_header > .name {
	/*position: absolute;*/
	height: 32px;
	line-height: 32px;
	/*margin-left: 50%;*/
	/*transform: translate(-50%, 0);*/
	/*text-align: center;*/
	color: var(--Elements_Primary);
	font-size: 20px;
	font-family: myfont, Arial, sans-serif;
	font-weight: 700;
	letter-spacing: -0.5px;
}
.filter_top > .filter_header > .reset {
	display: flex;
	align-items: center;
	width: 100%;
	padding: 10px;
	font-size: 16px;
	color: var(--Elements_Secondary);
	text-align: left;
}
.filter_top > .filter_header > .reset:hover:before {
  content: '';
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background-color: var(--brt_hover);
}
/*
#filters .filter_top > .filter_header > .close {
	position: absolute;
	width: 24px;
	height: 24px;
	left: 0;
	text-align: center;
}
*/
#popups .filter_top > .filter_header > .close {
	position: absolute;
	width: 48px;
	height: 32px;
	right: 6px;
	border-radius: 999px;
	/*background-color: var(--Fills_Primary);*/
	text-align: center;
	cursor: pointer;
}
.filter_top > .filter_header > .close:hover::before {
  content: '';
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  border-radius: 999px;
  /*background-color: var(--brt_hover);*/
}
#filters .filter_top > .filter_header > .close > a {
	display: inline-block;
	/*width: 24px;*/
	/*height: 24px;*/
	line-height: 24px;
	padding: 6px;
	margin: -6px;
	font-size: 22px;
	font-weight: 500;
	color: var(--Elements_Primary);
}
#popups .filter_top > .filter_header > .close > a {
	display: inline-block;
	line-height: 32px;
	padding: 10px;
	margin: -10px;
	font-size: 24px;
	color: var(--Elements_Primary);
}
.filter_top > .filter_header > .close > a > i {
	line-height: inherit !important;
}
.filter_top > .filter_header > .reset.small {
	width: 30px;
	height: 24px;
}
.filter_top > .filter_header > .reset:hover {
	/*background-color: #ffffff;*/
}
.filter_top > .filter_header > .reset:hover > a {
	/*color: var(--c_blue);*/
}
.filter_top > .filter_header > .reset a {
	display: inline-block;
	height: 22px; line-height: 24px; margin-left: 10px;
	text-decoration: none;
}


.filter_top > .query {
	margin-top: 20px;
	/*position: absolute;*/
	/*bottom: 5px;*/
	width: 100%;
}
.filter_top > .query > input, .filter_bottom > .query > input {
	width: 100%;
	height: 50px;
	border-radius: 16px;
	border: 1px solid var(--c_line);
	background-color: var(--c_lgray);
	outline:none;
	padding: 0 10px;
	font-size: 16px;
}
.filter_bottom button, .filter_footer button {
	position: relative;
	width: 100%;
	height: 48px;
	border-radius: var(--bor_radius_tre);
	border: none;
	font-size: 14px;
	color: var(--Elements_Inverse);
	background-color: var(--Theme_Primary);
	text-align: center;
	/*padding: 0 10px;*/
	/*margin-top: 15px;*/
	cursor: pointer;
}
.filter_bottom button:hover::before, .filter_footer button:hover::before {
  content: '';
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background-color: var(--brt_hover);
}
.filter_bottom button[progress=wait], .filter_footer button[progress=wait] {
	color: var(--Theme_Primary);
	cursor: not-allowed;
}

.filter_bottom > .table {
	width: 100%;
/*
	max-height: 40vh;
	min-height: 40vh;
	overflow-y: auto;
*/
}

.filter_bottom > .table > table {
	width: 100%;
	/*width: 321px;*/
	border: none;
	/*border-collapse: collapse;*/
	border-spacing: 0 2px;
	/*border-padding: 0;*/
}
.filter_bottom > .table > table[class="selector"] td:first-child {
	padding-left: 8px;
  -moz-border-radius-topleft: 6px;
  -moz-border-radius-bottomleft: 6px;
  -webkit-border-top-left-radius: 6px;
  -webkit-border-bottom-left-radius: 6px;
  /*vertical-align: top;*/
}
.filter_bottom > .table > table[class="selector"] td:last-child {
  -moz-border-radius-topright: 6px;
  -moz-border-radius-bottomright: 6px;
  -webkit-border-top-right-radius: 6px;
  -webkit-border-bottom-right-radius: 6px;
}

.filter_bottom > .table > table[class="selector"] > tbody > tr {
	height: 40px;
	/*background-color: var(--Fills_Primary);*/
	cursor: pointer;
}
.filter_bottom > .table > table[class="selector"] tr:hover {
	background-color: var(--Fills_Primary);
}
.filter_bottom > .table > table[class="selector"] tr:has( td .selector.sel ) {
	background-color: var(--Theme_Secondary);
}
.filter_bottom > .table > table[class="selector"] td {
	padding: 7px 5px;
}
.filter_bottom > .table > table[class="selector"] td:has( div.group_control ) {
	padding: 0px 5px;
}
.filter_bottom > .table > table td .container_selector {
	padding: 10px 5px;
	font-size: 14px;
	line-height: 1;
  font-weight: 400;
	border-width: 1px;
	border-radius: 10px;
	background-color: #d6dce3;
}
.filter_bottom > .table > table td .container_selector.sel {
	background-color: #ffffff;
}
.filter_bottom > .table > table td .container_selector:not(.sel):hover {
	background-color: #f8f7f5;
}
.filter_bottom > .table > table td .selector {
	position: relative;
	width: 24px;
	height: 24px;
	font-size: 24px;
	line-height: 24px;
	border-radius: 6px;
	/*border-width: 1px;
	border-color: var(--Fills_Primary);
	border-style: solid;*/
	/*background-color: var(--Fills_Primary);*/
}
.filter_bottom > .table > table td .selector.radio {
	border-radius: 50%;
}
.filter_bottom > .table > table td .selector.sel {
/*
	background-color: var(--Theme_Primary);
	border-color: var(--Theme_Primary);
	color: var(--Fills_Droplist);
*/
	color: var(--Theme_Primary);
}
.filter_bottom > .table > table td .selector.sel:before {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	/*color: var(--Fills_Droplist);*/
}

.filter_bottom > .table > table td .selector:not(.radio).sel:before {
	font-family: "icomoon";
	content: "\e94a";
}
.filter_bottom > .table > table td .selector.radio.sel:before {
	font-family: "icomoon";
	content: "\e94a";
}
/*
.filter_bottom > .table > table td .selector.radio.sel:before {
	content: "";
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background-color: var(--Fills_Droplist);
}
*/
.filter_bottom > .table > table td .selector:hover {
	border-color: var(--c_blue);
}
.filter_bottom > .table > table td .selector.sel:hover {
	background-color: var(--c_gray);
	border-color: var(--c_gray);
}
.filter_bottom > .table > table td .selector.sel:hover::before {
	color: var(--c_blue);
}
.filter_bottom > .table > table td .num {
	text-align: right;
	color: #80878f;
	font-size: 14px;
}
.filter_bottom > .table > table td .name > span {
	display: inline-block;
	padding-top: 5px;
	line-height: 1;
}


/* Радио в таблице фильтра */
.filter_bottom > .table input[type=radio] {
  --s: 1.1em;
  --c: #ff402c;
  
  height: var(--s);
  aspect-ratio: 1;
  border: calc(var(--s)/8) solid #939393;
  padding: calc(var(--s)/8);
  background: 
     radial-gradient(farthest-side,var(--c) 94%,#0000) 
     50%/0 0 no-repeat content-box;
  border-radius: 50%;
  outline-offset: calc(var(--s)/10);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
  font-size: inherit;
  transition: .3s;
}
.filter_bottom > .table input[type=radio]:checked {
  border-color: var(--c);
  background-size: 100% 100%;
}

.filter_bottom > .table input[type=radio]:disabled {
  background: 
     linear-gradient(#939393 0 0) 
     50%/100% 20% no-repeat content-box;
  opacity: .5;
  cursor: not-allowed;
}

@media print {
  .filter_bottom > .table input[type=radio] {
    -webkit-appearance: auto;
    -moz-appearance: auto;
    appearance: auto;
    background: none;
  }
}

.filter_bottom > .table label {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin: 2px 0;
  cursor: pointer;
}

/* Контроль в таблице фильтра */
.filter_bottom > .table tr.main_group {
	position: relative;
	pointer-events: none;
}
.filter_bottom > .table tr.main_group div.name {
	padding: 6px 0 0 0;
	font-size: 20px;
	font-weight: bold;
}
.filter_bottom > .table tbody.is_main_group tr.group div.name {
	font-weight: bold;
}
/*.filter_bottom > .table tr.main_group:not(:first-child):not(:nth-child(2)) div.main_group_name:before {*/
.filter_bottom > .table tr.main_group div.main_group_name:before {
	content: '';
	position: absolute;
	top: 0px;
	left: -6px;
	width: calc(100% + 12px);
	height: 1px;
	background-color: var(--Elements_Tertiary);
}
.filter_bottom > .table tbody.is_group_open tr.group td div.name {
	margin-left: -28px !important;
}

.filter_bottom > .table .group_control {
	margin-right: 6px;
	padding: 6px;
	text-align: center;
}
.filter_bottom > .table .group_control i {
	color: var(--Elements_Secondary);
	display: block;
	height: 24px;
	line-height: 24px;
	width: 24px;
	font-size: 18px;
	border: 1px solid var(--Fills_Primary);;
	border-radius: 6px;
}
.filter_bottom > .table tr:not([status="close"]).group td:nth-child(2) div.name {
	margin-left: -28px;
}
.filter_bottom > .table tr[group] td:first-child div.selector {
	margin-left: 28px;
}
.filter_bottom > .table tbody.is_group_open tr:not([group]):not([status]) td:nth-child(2) div.name {
	margin-left: -28px;
}

/* Селектор параметров */
.form_radio_btn {
	display: inline-block;
	position: absolute;
	width: calc(50% - 1px);
}
.form_radio_btn input[type="radio"] {
	display: none;
}
.form_radio_btn label {
	display: inline-block;
	width: 100%;
	background: #d6dce3;
	color: #1d1d1f;
	font-size: 12px;
	cursor: pointer;
	text-align: center;
	line-height: 24px;
	border: 0px solid #999;
	border-radius: 10px;
	user-select: none;
}
 
/* Checked */
.form_radio_btn input[type=radio]:checked + label {
	background: #ffffff;
}
 
/* Hover */
.form_radio_btn label:hover {
	color: #666;
	background: #f8f7f5;
}
 
/* Disabled */
.form_radio_btn input[type=radio]:disabled + label {
	background: #efefef;
	color: #666;
}


/* Поля ввода с подсказкой */
.text-field_floating {
  position: relative;
}
.text-field_floating .text-field__input {
	width: 100%;
	border-radius: 10px;
	border: none;
	outline:none;
  height: calc(3.5rem + 2px);
  line-height: 1.25;
  padding: 1rem 0.75rem;
  font-size: 16px;
}
.text-field_floating .text-field__label {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  padding: 1rem .75rem;
  pointer-events: none;
  border: 1px solid transparent;
  transform-origin: 0 0;
  transition: opacity .15s ease-in-out, transform .15s ease-in-out;
}
.text-field_floating .text-field__input::-moz-placeholder {
  color: transparent;
}
.text-field_floating .text-field__input::placeholder {
  color: transparent;
}
.text-field_floating .text-field__input:focus,
.text-field_floating .text-field__input:not(:placeholder-shown) {
  padding-top: 1.625rem;
  padding-bottom: .625rem;
}
.text-field_floating .text-field__input:focus~.text-field__label,
.text-field_floating .text-field__input:not(:placeholder-shown)~.text-field__label {
  opacity: .5;
  transform: scale(.85) translateY(-.75rem) translateX(.15rem);
}
