/* Catalog sidebar filters — matches listing accent */

.page-catalog .catalog-layout {
  --cf-radius: 1.125rem;
  --cf-input-radius: 0.5rem;
  --cf-border: #e5e5e2;
  --cf-input-bg: #f4f4f2;
  --cf-label: #9a9a96;
  --cf-accent: var(--detail-accent, #d14d33);
}

.page-catalog .catalog-filters {
  background: #fff;
  border: 1px solid var(--cf-border);
  border-radius: var(--cf-radius);
  padding: 1.5rem 1.35rem;
  max-width: 100%;
}

/* Slightly denser listing cards only in catalog grid */
.page-catalog .catalog-results__grid .listing-card__body {
  padding: 1rem 1.1rem 1.1rem;
}

.page-catalog .catalog-results__grid .listing-card__title {
  font-size: 1rem;
  min-height: 2.45em;
}

.page-catalog .catalog-results__grid .listing-card__subtitle {
  font-size: 0.8125rem;
}

.page-catalog .catalog-results__grid .listing-card__spec {
  font-size: 0.75rem;
}

.page-catalog .catalog-results__grid .listing-card__price {
  font-size: 1.2rem;
}

.page-catalog .catalog-results__grid .listing-card__thumb {
  width: 2.5rem;
  height: 2.5rem;
}

.page-catalog .catalog-results__grid .listing-card__zoom {
  width: 2.15rem;
  height: 2.15rem;
  font-size: 0.95rem;
}

.page-catalog .catalog-filters__head {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  margin-bottom: 1.35rem;
}

.page-catalog .catalog-filters__icon {
  flex-shrink: 0;
  color: #b0b0ac;
}

.page-catalog .catalog-filters__title {
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  margin: 0;
  color: #1a1a18;
}

.page-catalog .catalog-filters .catalog-filters__label {
  display: block;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--cf-label);
  margin-bottom: 0.4rem;
}

.page-catalog .catalog-filters .form-control,
.page-catalog .catalog-filters .form-select {
  background-color: var(--cf-input-bg);
  border: 1px solid #e8e8e4;
  border-radius: var(--cf-input-radius);
  font-size: 0.9375rem;
  padding: 0.55rem 0.75rem;
  color: #2a2a28;
}

.page-catalog .catalog-filters .form-select {
  padding-right: 2.25rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%239a9a96' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 10px;
}

.page-catalog .catalog-filters .form-control:focus,
.page-catalog .catalog-filters .form-select:focus {
  background-color: #fff;
  border-color: #cfcfcd;
  box-shadow: 0 0 0 0.2rem rgba(209, 77, 51, 0.12);
}

.page-catalog .catalog-filters .form-control::placeholder {
  color: #a8a8a4;
}

/* Цена: числовой ввод без стрелок spinner */
.page-catalog .catalog-filters input[type="number"] {
  appearance: textfield;
  -moz-appearance: textfield;
}

.page-catalog .catalog-filters input[type="number"]::-webkit-outer-spin-button,
.page-catalog .catalog-filters input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.page-catalog .catalog-filters__range .row {
  --bs-gutter-x: 0.5rem;
}

.page-catalog .catalog-filters__submit {
  --bs-btn-bg: var(--cf-accent);
  --bs-btn-border-color: var(--cf-accent);
  --bs-btn-hover-bg: #c0452e;
  --bs-btn-hover-border-color: #c0452e;
  --bs-btn-active-bg: #b0402a;
  --bs-btn-active-border-color: #b0402a;
  --bs-btn-color: #fff;
  --bs-btn-hover-color: #fff;
  --bs-btn-active-color: #fff;
  font-weight: 600;
  padding: 0.65rem 1rem;
  border-radius: var(--cf-input-radius);
  margin-top: 0.25rem;
}

.page-catalog .catalog-filters__reset {
  display: block;
  text-align: center;
  margin-top: 0.85rem;
  font-size: 0.875rem;
  color: #7a7a76;
  text-decoration: none;
}

.page-catalog .catalog-filters__reset:hover {
  color: var(--cf-accent);
  text-decoration: underline;
}

.page-catalog .catalog-results__heading {
  color: #1a1a18;
}

@media (min-width: 992px) {
  .page-catalog .catalog-filters {
    position: sticky;
    top: 1rem;
  }
}
