.filter {
  position: relative;
}

/* все свойства, у которых есть возможность выбирать диапазон */
/* filter price input text|int */
.filter .filter-price .filter-price-fields {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14%;
  margin-bottom: 1rem;
}

.filter .filter-price .filter-price-fields::after {
  content: "—";
  position: absolute;

  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);

  font-size: inherit;
  font-family: inherit;
  font-style: inherit;
  color: var(--background-bold);
}

.filter .filter-price .filter-price-fields .filter-price-field-item {
  flex: 1 1 0;
}

.filter
  .filter-price
  .filter-price-fields
  .filter-price-field-item
  .form-item--text {
  width: 100%;
  min-height: auto;
  padding: 10px;
  border-radius: var(--border-radius);
  border: 1px solid var(--background-bold);

  font-size: inherit;
  text-align: center;
}

/* filter price range */
.filter .filter-price .jcf-range,
.filter .filter-price .jcf-range .jcf-range-wrapper,
.filter .filter-price .jcf-range .jcf-range-wrapper .jcf-range-display-wrapper,
.filter
  .filter-price
  .jcf-range
  .jcf-range-wrapper
  .jcf-range-display-wrapper
  .jcf-range-mid {
  display: block;
  width: 100%;
}

.filter .filter-price .jcf-range {
  width: calc(100% - 22px);
  margin: 0 auto;
  padding: 10px 0;
}

.filter .filter-price .jcf-range .jcf-range-wrapper .jcf-range-display-wrapper {
  position: relative;
  height: 1px;
  background-color: var(--background-bold);
  cursor: pointer;
}

.filter
  .filter-price
  .jcf-range
  .jcf-range-wrapper
  .jcf-range-display-wrapper
  .jcf-range-mid {
  position: absolute;
  height: 1px;
  background-color: var(--brand-blue);
}

.filter .filter-price .jcf-range .jcf-range-track {
  position: relative;
  display: block;
  width: 100%;
}

.filter .filter-price .jcf-range .jcf-range-track .jcf-range-handle {
  position: absolute;
  display: block;
  top: 50%;
  transform: translateY(-50%);
  width: 21px;
  height: 21px;
  border-radius: 50%;
  background-color: var(--background-light);
  border: 1px solid var(--brand-blue);
  cursor: pointer;
}

.filter
  .filter-price
  .jcf-range
  .jcf-range-track
  .jcf-range-handle.jcf-index-1 {
  transform: translateY(-50%) translateX(-50%);
}

.filter
  .filter-price
  .jcf-range
  .jcf-range-track
  .jcf-range-handle.jcf-index-2 {
  transform: translateY(-50%) translateX(-50%);
}

/* остальные свойства товаров */
.filter .filter-item .form-checkbox {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 10px;
}

.filter .filter-item:not(:first-child) {
  margin-top: 1rem;
}

.filter .filter-item .form-checkbox {
  cursor: pointer;
}

.filter .filter-item .form-checkbox .jcf-checkbox {
  --width-and-height: calc(1rem * 1.3);
  position: relative;
  display: block;
  min-width: var(--width-and-height);
  max-width: var(--width-and-height);
  min-height: var(--width-and-height);
  max-height: var(--width-and-height);
  width: var(--width-and-height);
  height: var(--width-and-height);
  background-color: var(--background-medium);
  border-radius: var(--border-radius);

  transition: var(--transition);
}

.filter .filter-item .form-checkbox .jcf-checkbox > span {
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  left: 0;
  top: 10%;
  background-color: transparent;
  background: url("/local/templates/default/svg/form_checker.svg") no-repeat
    center;
  background-size: 80%;
  opacity: 0;
  visibility: hidden;
  transition: var(--transition);
}

.filter .filter-item .form-checkbox .jcf-checkbox.jcf-disabled {
}

.filter
  .filter-item
  .form-checkbox
  .jcf-checkbox.jcf-disabled
  + .form-checkbox-title {
  color: var(--background-bold);
}

.filter .filter-item .form-checkbox .jcf-checkbox.jcf-checked > span {
  top: 0;
  opacity: 1;
  visibility: visible;
}

.filter .filter-item:hover .form-checkbox .jcf-checkbox {
  background-color: var(--background-bold);
}

.filter .filter-item .form-checkbox .jcf-checkbox.jcf-checked {
  background-color: var(--brand-orange);
}

.filter .filter-item .form-checkbox .jcf-checkbox input {
  min-height: auto;
  cursor: pointer;
}

.filter .filter-item .form-checkbox .form-checkbox-title {
  line-height: 1.5;
  transition: var(--transition);
}

/* filter item input checkbox group */
.filter .bx-filter-container-modef .filter-balloon {
  position: absolute;
  left: calc(100% + 1rem);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  transform: translateY(2px);
  padding: 5px 5px 5px 10px;
  background-color: var(--background-light);
  border: 1px solid var(--background-bold);
  border-radius: var(--border-radius);
  z-index: 10;
  transition: var(--transition);
  opacity: 0;
  visibility: hidden;
  transition: var(--transition);
}

.filter .bx-filter-container-modef .filter-balloon.show {
  opacity: 1;
  visibility: visible;
}

.filter .bx-filter-container-modef .filter-balloon::before {
  content: "";
  position: absolute;
  left: -7px;
  top: 18px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  display: block;
  width: 12px;
  height: 12px;
  border: 1px solid var(--background-bold);
  border-right-width: 1px;
  border-right-style: solid;
  border-right-color: var(--background-bold);
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-bottom-color: var(--background-bold);
  border-bottom: none;
  border-right: none;
  background-color: var(--background-light);
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.filter .bx-filter-container-modef .filter-balloon .filter-balloon-title {
  text-wrap: nowrap;
}

.filter .bx-filter-container-modef .filter-balloon .button {
  min-height: auto;
  font-size: var(--font-size-main-text-menu);
}

.base-aside .filter-actions {
  margin-top: 20px;
  margin-bottom: 20px;
}

.base-aside .filter-actions .filter-actions-items {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
}

#filter-feedback.feedback {
  display: none;
}
