.b-catalog-filters {
  display: flex;
  flex-direction: column;
  gap: 4px;
  background: var(--surface, #FDFBF7);
  border: 1px solid var(--line, #E4DCD2);
  border-radius: 16px;
  padding: 20px;
}

.b-catalog-filters__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 14px;
  margin-bottom: 6px;
  border-bottom: 1px solid var(--line, #E4DCD2);
}

.b-catalog-filters__title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 24px;
  font-weight: 500;
  color: var(--text, #3B3437);
}

.b-catalog-filters__clear {
  padding: 0;
  border: none;
  background: none;
  font: inherit;
  font-size: 13px;
  color: var(--muted, #8A7F7A);
  cursor: pointer;
  border-bottom: 1px dashed currentColor;
  transition: color .2s ease;
}

.b-catalog-filters__clear:hover {
  color: var(--accent, #6E5A7E);
}

.b-catalog-filters__group {
  border-bottom: 1px solid var(--line, #E4DCD2);
}

.b-catalog-filters__group:last-child {
  border-bottom: none;
}

.b-catalog-filters__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 2px;
  font-size: 15px;
  font-weight: 600;
  color: var(--text, #3B3437);
  cursor: pointer;
  list-style: none;
  user-select: none;
}

.b-catalog-filters__summary::-webkit-details-marker {
  display: none;
}

.b-catalog-filters__summary::after {
  content: "";
  width: 10px;
  height: 10px;
  flex: none;
  border-right: 1.5px solid var(--muted, #8A7F7A);
  border-bottom: 1.5px solid var(--muted, #8A7F7A);
  transform: rotate(45deg) translateY(-2px);
  transition: transform .2s ease;
}

.b-catalog-filters__group[open] > .b-catalog-filters__summary::after {
  transform: rotate(-135deg) translateY(-2px);
}

.b-catalog-filters__body {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 2px 2px 16px;
}

.b-catalog-filters__sizes {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.b-catalog-filters__size input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.b-catalog-filters__size span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 40px;
  padding: 0 12px;
  border: 1px solid var(--line, #E4DCD2);
  border-radius: 4px;
  background: var(--surface, #FDFBF7);
  font-size: 14px;
  color: var(--text, #3B3437);
  cursor: pointer;
  transition: border-color .2s ease, background .2s ease, color .2s ease;
}

.b-catalog-filters__size span:hover {
  border-color: var(--accent, #6E5A7E);
}

.b-catalog-filters__size input:checked + span {
  background: var(--accent, #6E5A7E);
  border-color: var(--accent, #6E5A7E);
  color: #fff;
  /* Размытая тень в цвет акцента на выбранной опции */
  box-shadow: 0 4px 18px rgba(110, 90, 126, .45);
}

.b-catalog-filters__check {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  color: var(--text, #3B3437);
  cursor: pointer;
}

.b-catalog-filters__check input {
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: var(--accent, #6E5A7E);
  cursor: pointer;
}

.b-catalog-filters__swatch {
  width: 16px;
  height: 16px;
  flex: none;
  border-radius: 50%;
  background: var(--swatch, #ccc);
  border: 1px solid var(--line, #E4DCD2);
}

.b-catalog-filters__price {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* Поля-значения под слайдером (только чтение) */
.b-catalog-filters__price-value {
  width: 100%;
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  padding: 0 12px;
  border: 1px solid var(--line, #E4DCD2);
  border-radius: 4px;
  background: var(--surface, #FDFBF7);
  font-size: 14px;
  color: var(--text, #3B3437);
  font-variant-numeric: tabular-nums;
}

.b-catalog-filters__price-dash {
  width: 14px;
  height: 1px;
  flex: none;
  background: var(--muted, #8A7F7A);
}

/* --- Двойной слайдер цены: два range поверх трека --------------------- */
.b-catalog-filters__slider {
  position: relative;
  height: 22px;
  margin: 6px 2px 12px;
}

.b-catalog-filters__slider-track {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 4px;
  border-radius: 999px;
  background: var(--line, #E4DCD2);
  transform: translateY(-50%);
  overflow: hidden;
}

/* Заполненная полоса между ползунками (left/right ставит catalog.js) */
.b-catalog-filters__slider-fill {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: var(--accent, #6E5A7E);
  border-radius: 999px;
}

.b-catalog-filters__range {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  margin: 0;
  height: 22px;
  transform: translateY(-50%);
  -webkit-appearance: none;
  appearance: none;
  background: none;
  pointer-events: none; /* клики проходят сквозь трек, ловит только ползунок */
  outline: none;
}

.b-catalog-filters__range--max {
  z-index: 2;
}

.b-catalog-filters__range::-webkit-slider-runnable-track {
  background: none;
  border: none;
}

.b-catalog-filters__range::-moz-range-track {
  background: none;
  border: none;
}

.b-catalog-filters__range::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 18px;
  height: 18px;
  margin-top: 0;
  border: 2px solid var(--surface, #FDFBF7);
  border-radius: 50%;
  background: var(--accent, #6E5A7E);
  box-shadow: 0 2px 8px rgba(110, 90, 126, .4);
  cursor: grab;
  pointer-events: auto;
}

.b-catalog-filters__range::-moz-range-thumb {
  width: 14px;
  height: 14px;
  border: 2px solid var(--surface, #FDFBF7);
  border-radius: 50%;
  background: var(--accent, #6E5A7E);
  box-shadow: 0 2px 8px rgba(110, 90, 126, .4);
  cursor: grab;
  pointer-events: auto;
}

.b-catalog-filters__range:focus-visible::-webkit-slider-thumb {
  box-shadow: 0 0 0 4px var(--lavender-soft, #E9E1EF);
}

.b-catalog-filters__range:focus-visible::-moz-range-thumb {
  box-shadow: 0 0 0 4px var(--lavender-soft, #E9E1EF);
}

@media (max-width: 768px) {
  .b-catalog-filters {
    border-radius: 12px;
    padding: 16px;
  }
}
