.catalog-layout { display: grid; gap: 28px; grid-template-columns: 290px 1fr; }
.filter-panel { align-self: start; position: sticky; top: 96px; }
.filter-panel h2 { color: var(--color-navy); margin-top: 0; }
.filter-group { border-top: 1px solid var(--color-line); padding: 18px 0; }
.filter-group:first-of-type { border-top: 0; }
.filter-group h3 { color: var(--color-navy); font-size: .96rem; margin: 0 0 12px; }
.filter-options { display: grid; gap: 10px; }
.filter-options label { align-items: flex-start; color: var(--color-gray); display: flex; gap: 9px; }
.catalog-toolbar { align-items: center; display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; margin-bottom: 22px; }
.catalog-toolbar input, .catalog-toolbar select {
  border: 1px solid var(--color-line);
  border-radius: 999px;
  min-height: 46px;
  padding: 10px 14px;
}
.catalog-toolbar input { min-width: min(100%, 330px); }
.notify-modal {
  align-items: center;
  background: rgba(6, 27, 58, .58);
  display: none;
  inset: 0;
  justify-content: center;
  padding: 20px;
  position: fixed;
  z-index: 900;
}
.notify-modal.is-visible { display: flex; }
.notify-dialog { background: white; border-radius: 20px; max-width: 520px; padding: 24px; width: 100%; }
.notify-dialog h2 { color: var(--color-navy); margin-top: 0; }
