.catalog-controls { margin: 0 0 1.5rem; padding: 1rem; border: 1px solid var(--line); border-radius: .8rem; background: var(--surface); }
.catalog-filter-form { display: grid; grid-template-columns: minmax(0, 2fr) repeat(3, minmax(0, 1fr)); gap: .8rem; align-items: end; }
.catalog-filter { display: grid; gap: .3rem; min-width: 0; }
.catalog-filter > span { font-size: .85rem; font-weight: 700; color: var(--ink); }
.catalog-filter input[type="search"], .catalog-filter input[type="text"], .catalog-filter select { width: 100%; min-height: 2.8rem; border: 1px solid #626b7d; border-radius: .45rem; background: var(--surface); color: var(--ink); padding: .6rem .7rem; font: inherit; }
.catalog-controls__actions { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: .75rem; flex-wrap: wrap; }
.catalog-filter--check { display: flex; align-items: center; gap: .6rem; min-height: 2.75rem; }
.catalog-filter--check input { width: 1.15rem; height: 1.15rem; }
.catalog-controls__buttons { display: flex; gap: .6rem; }
.catalog-controls__buttons .button { min-height: 2.75rem; padding: .65rem 1rem; font-size: .9rem; }
.catalog-controls__advanced { grid-column: 1 / -1; }
.catalog-controls__advanced summary { cursor: pointer; color: var(--accent-strong); font-weight: 700; padding: .5rem 0; }
.catalog-controls__advanced-fields { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .8rem; padding-block: .6rem; }
@media (max-width: 640px) {
  .catalog-filter-form { grid-template-columns: 1fr 1fr; }
  .catalog-filter--wide { grid-column: 1 / -1; }
  .catalog-controls__advanced-fields { grid-template-columns: 1fr; }
}
@media (max-width: 360px) {
  .catalog-filter-form { grid-template-columns: 1fr; }
  .catalog-controls__buttons { width: 100%; }
  .catalog-controls__buttons .button { flex: 1; padding-inline: .65rem; }
}
