.collection-toolbar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  width: 100%;
  min-width: 0;
  flex-wrap: wrap;
}

.catalog-search {
  flex: 1 1 360px;
  width: min(100%, 560px);
  min-width: 240px;
  padding: 8px 10px;
  border: 1px solid var(--ink);
  border-radius: 0;
  background: #fff;
  color: var(--ink);
  font: 700 .82rem "Nunito", sans-serif;
}

.catalog-search::placeholder { color: #59625b; opacity: 1; }
.catalog-search:focus { outline: 3px solid var(--ink); outline-offset: 2px; }

.catalog-sort {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 7px 9px;
  border: 1px solid var(--ink);
  border-radius: 0;
  background: #fff;
  color: var(--ink);
  font: 800 .8rem "Nunito", sans-serif;
  white-space: nowrap;
}

.catalog-sort select {
  border: 0;
  background: transparent;
  color: var(--ink);
  font: 800 .8rem "Nunito", sans-serif;
  cursor: pointer;
}

.model-filter { position: relative; }
.model-filter summary {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 8px 10px;
  border: 1px solid var(--ink);
  border-radius: 0;
  background: #fff;
  color: var(--ink);
  font: 800 .8rem "Nunito", sans-serif;
  cursor: pointer;
  list-style: none;
  white-space: nowrap;
}
.model-filter summary::-webkit-details-marker { display: none; }
.model-filter summary::after { content: "▾"; }
.model-filter[open] summary { background: var(--ink); color: #fff; }
.model-filter[open] summary::after { content: "▴"; }
.model-filter-options {
  position: absolute;
  top: calc(100% + 5px);
  right: 0;
  z-index: 6;
  display: grid;
  gap: 6px;
  min-width: 190px;
  max-height: 260px;
  overflow: auto;
  padding: 10px;
  border: 1px solid var(--ink);
  border-radius: 0;
  background: #fff;
  color: var(--ink);
  box-shadow: 4px 5px 0 rgba(23, 26, 24, .22);
}
.model-filter-options label {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 7px;
  font-size: .82rem;
  cursor: pointer;
}
.model-filter-options input { accent-color: var(--ink); cursor: pointer; }

@media (max-width: 700px) {
  .collection-toolbar { align-items: stretch; }
  .catalog-search { flex-basis: 100%; width: 100%; min-width: 100%; }
}
