.mc-filter {
  --mc-filter-border: #d8dde5;
  --mc-filter-text: #18202b;
  --mc-filter-muted: #687486;
  --mc-filter-accent: #315bff;
  color: var(--mc-filter-text);
  font: inherit;
}

.mc-filter-form,
.mc-filter-facet,
.mc-filter-controls,
.mc-filter-price,
.mc-filter-form__actions {
  display: grid;
  gap: 0.75rem;
}

.mc-filter-facet {
  min-width: 0;
  margin: 0;
  padding: 0.85rem 0;
  border: 0;
  border-top: 1px solid var(--mc-filter-border);
}

.mc-filter-facet__title,
.mc-filter-field__label {
  color: inherit;
  font-weight: 600;
}

.mc-filter-choices,
.mc-filter-field,
.mc-filter-choice {
  display: flex;
  gap: 0.55rem;
}

.mc-filter-choices,
.mc-filter-field {
  flex-direction: column;
}

.mc-filter-choice {
  align-items: center;
  min-height: 2rem;
  cursor: pointer;
}

.mc-filter-choice input,
.mc-filter-field input,
.mc-filter-field select,
.mc-filter-control {
  accent-color: var(--mc-filter-accent);
}

.mc-filter-control {
  width: 100%;
  min-height: 2.65rem;
  padding: 0.55rem 0.7rem;
  border: 1px solid var(--mc-filter-border);
  border-radius: 0.35rem;
  color: inherit;
  background: #fff;
  font: inherit;
}

.mc-filter-range input[type="range"] {
  width: 100%;
  accent-color: var(--mc-filter-accent);
}

.mc-filter-choice__name { flex: 1; }
.mc-filter-choice__count { color: var(--mc-filter-muted); font-size: 0.875em; }
.mc-filter-swatch { width: 1rem; height: 1rem; border-radius: 50%; background: var(--swatch); }
.mc-filter-selected { display: flex; flex-wrap: wrap; gap: 0.5rem; padding: 0; list-style: none; }
.mc-filter-pagination { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; margin-block: 1rem; }
.mc-filter-pagination a,
.mc-filter-form__actions button,
.mc-filter-form__actions a { font: inherit; }
.mc-filter-error { color: #a61b1b; }
.mc-filter-empty { color: var(--mc-filter-muted); }

.mc-filter [aria-invalid="true"] { border-color: #a61b1b; }
.mc-filter :focus-visible,
[data-mcfilter-results] :focus-visible { outline: 2px solid var(--mc-filter-accent); outline-offset: 2px; }
