/* Каталог ЖК /novostroyki/ — только раскладка (Д5, 21.10.2026, по прототипу Д2). Компоненты (лист, крошки, липкая полоса,
   поиск, таблетки, шторка, поля, карточка ЖК) — static/css/components.css. Лида и плашки цифр нет (решение владельца 22.10).
   Лента: телефон — колонка, планшет — 2, десктоп — 3 в листе 1232; между карточками больше воздуха, чем в .feed. */

.catalog { --step-card: 40px; }

/* на телефоне поиск уезжает под шапку, прилипает только ряд «Фильтры» + сортировка:
   полоса встаёт выше шапки ровно на поиск (48) и зазор (8) */
.catalog__bar { top: calc(var(--header-h) - var(--btn-h) - var(--space-2)); margin-top: var(--space-4); }
.catalog__chips { display: flex; gap: var(--space-2); margin-top: var(--space-2); }
.catalog__sort { flex: 1 1 auto; }

.catalog__dev { margin-top: var(--space-4); }
.catalog__dev[hidden] { display: none; }
.catalog__count { margin-top: var(--space-2); font: var(--type-meta); color: var(--muted); }
.catalog__grid { display: grid; gap: var(--step-card); margin-top: var(--step); scroll-margin-top: calc(var(--header-h) + 72px); }
.catalog__empty { display: grid; justify-items: center; gap: var(--space-4); padding: var(--space-10) 0; text-align: center; color: var(--muted); }
.catalog__empty[hidden] { display: none; }

/* планшет: поиск и кнопки одной строкой, лента в две колонки */
@media (min-width: 768px) {
  .catalog__bar { top: var(--header-h); }
  .catalog__tools { display: flex; gap: var(--space-2); }
  .catalog__search { flex: 1 1 auto; min-width: 0; }
  .catalog__chips { margin-top: 0; }
  .catalog__sort { flex: 0 0 264px; }
  .catalog__dev { display: inline-flex; }
  .catalog__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--space-6); }
  /* карточки ряда делят строки сетки: название в 2 строки не сдвигает фото соседей */
  .catalog__grid > .zhk-card { display: grid; grid-row: span 4; grid-template-rows: subgrid; row-gap: 0; align-content: start; }
  .catalog__grid > .zhk-card[hidden] { display: none; }   /* иначе display: grid выше перебивает скрытие фильтром */
  .catalog__grid .zhk-card__media { align-self: start; }
  .catalog__grid .zhk-card__status:empty, .catalog__grid .zhk-card__facts:empty { display: block; }
}

/* десктоп: лист 1232, три колонки; поиск 480 слева, сортировка прижата вправо */
@media (min-width: 1024px) {
  .catalog { --step: 32px; --step-card: 48px; }
  .catalog__bar { margin-left: calc(-1 * var(--space-5)); margin-right: calc(-1 * var(--space-5)); padding: var(--space-3) var(--space-5); }
  .catalog__search { flex: 0 1 480px; }
  .catalog__chips { flex: 1 1 auto; }
  .catalog__sort { margin-left: auto; }
  .catalog__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
