/* Списки объектов — общие стили четырёх экранов (участки, квартиры, здания,
 * комплексы) и их партиалов.
 *
 * Переосмысление объектов 13.09.2026. Зачем файл появился: один и тот же
 * блок <style> с `.bdk-filter-rest` был скопирован в четыре шаблона списков,
 * ещё три жили в партиалах (_obj_list_responsive, _quick_range_filters,
 * _object_quality_segments). Правка одного из них молча расходилась с
 * остальными, а браузер каждый раз получал стили внутри <body> — после
 * разбора разметки. Собрали в один файл: подключается один раз в base.html,
 * кэшируется, правится в одном месте.
 *
 * Значения перенесены как были — поведение (мобильная упаковка панели
 * фильтров, переключение «таблица/карточки» по ширине экрана) не меняется.
 * Точечные кегли и цвета при переносе заменены на токены site.css.
 *
 * Целевое устройство — компьютер в офисе (решение владельца 13.09.2026),
 * поэтому десктопные правила идут первыми, мобильные — в медиазапросах.
 */

/* ------------------------------------------------------------------ */
/* 1. Панель фильтров: мобильная упаковка (было в четырёх списках)      */
/* ------------------------------------------------------------------ */

/* На десктопе контейнер прозрачен для флекса — чипы и поля стоят в один
   ряд с поиском, как будто обёртки нет. */
.bdk-filter-rest {
  display: contents;
}

@media (max-width: 767.98px) {
  /* F-objects-25: на 393 px панель разворачивалась в 4-5 строк, и до первой
     карточки объекта было ~750 px. На телефоне видим только поиск, остальное
     прячем под кнопку «Фильтры». */
  .bdk-filter-rest {
    display: none;
    flex-basis: 100%;
    flex-wrap: wrap;
    gap: 8px;
  }
  .bdk-filter-rest.is-open {
    display: flex;
  }
  .bdk-filter-toggle {
    min-height: 44px; /* тач-таргет HIG */
  }
}

/* ------------------------------------------------------------------ */
/* 2. Таблица или карточки (было в _obj_list_responsive.html)           */
/* ------------------------------------------------------------------ */

/* Оба представления всегда есть в разметке — какое видно, решает только CSS.
   На десктопе (>= 768 px) слушаемся выбора пользователя: сервер вешает
   `bdk-obj-view--hidden-desktop` на неактивное. */
@media (min-width: 768px) {
  .bdk-obj-view--hidden-desktop {
    display: none !important;
  }
}

@media (max-width: 767.98px) {
  /* F-mobile-09: таблица шириной 833 px в контейнере ~367 px показывала
     1-2 колонки без цены и площади. На телефоне всегда карточки. */
  .bdk-obj-view--table {
    display: none !important;
  }
  .bdk-obj-view--cards {
    display: block !important;
  }
}

/* F-objects-13: длинная плашка «На согласовании у руководителя» вылезала за
   край панели. Обрезаем по ширине ячейки — полный текст остаётся в подсказке
   (title у бейджа ставит _object_status_badge.html). */
.bdk-row-status {
  max-width: 100%;
  overflow: hidden;
}
.bdk-row-status .bdk-card-badge {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  vertical-align: bottom;
}

/* ------------------------------------------------------------------ */
/* 3. Быстрые диапазоны «Цена» и «Площадь» (_quick_range_filters.html)  */
/* ------------------------------------------------------------------ */

/* Пара «от — до» живёт одним блоком с nowrap: иначе на узком экране «до»
   отрывается от своей подписи и читается как отдельный фильтр
   (F-objects-25). */
.bdk-quick-range {
  display: inline-flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 4px;
}
.bdk-quick-range__label {
  font-size: var(--bdk-fs-sm);
  color: var(--ios-text-secondary);
  white-space: nowrap;
}
.bdk-quick-range__dash {
  color: var(--ios-text-secondary);
}
.bdk-quick-range input {
  width: 88px;
  min-width: 72px;
}

@media (max-width: 767.98px) {
  .bdk-quick-range {
    flex: 1 1 100%;
  }
  .bdk-quick-range input {
    width: auto;
    flex: 1 1 0;
  }
}

/* ------------------------------------------------------------------ */
/* 4. Переходы в центр качества данных (_object_quality_segments.html)  */
/* ------------------------------------------------------------------ */

/* Раньше эти четыре ссылки несли по десять свойств в атрибуте style каждая —
   один и тот же набор, скопированный четырежды. */
.bdk-quality-segment-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 44px; /* тач-таргет HIG */
  min-width: 44px;
  padding: 0 12px;
  border: 1px solid var(--ios-separator);
  border-radius: var(--bdk-radius);
  background: var(--ios-bg-sheet, #fff);
  color: var(--ios-text-primary);
  font-size: var(--bdk-fs-sm);
  text-decoration: none;
}

/* Ведущая иконка сегмента — фирменным синим; «готово к подборке» зелёным. */
.bdk-quality-segment-link__icon {
  color: var(--bdk-primary);
}
.bdk-quality-segment-link[data-quality-segment="ready"] .bdk-quality-segment-link__icon {
  color: var(--bdk-success);
}

/* Стрелка «откроется отдельной страницей» — приглушённая и мельче подписи. */
.bdk-quality-segment-link__out {
  font-size: 0.7em;
  opacity: 0.6;
}

@media (max-width: 767.98px) {
  /* F-objects-25: четыре чипа вставали в три строки и отжимали первый объект
     ниже сгиба. На телефоне — одна строка с горизонтальной прокруткой. */
  .bdk-quality-segments-row {
    /* Перебиваем Bootstrap .flex-wrap (там !important). */
    flex-wrap: nowrap !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 2px;
  }
  .bdk-quality-segments-row::-webkit-scrollbar {
    display: none;
  }
  .bdk-quality-segments-row > a {
    flex: 0 0 auto;
  }
}

/* ------------------------------------------------------------------ */
/* 5. Тач-зона чекбокса «в подборку» — до 44px без изменения вида       */
/* ------------------------------------------------------------------ */

/* Фаза 1 «Переосмысление подборок», 13.09.2026: чекбокс [data-selection-item]
   в *_list.html/results.html был кликабелен только на своих нативных ~13px
   (таблица) — HIG требует минимум 44px. Разметку списков не трогаем (её
   ведёт другой агент), поэтому область клика расширяем чистым CSS:
   псевдоэлемент растягивается до 44x44 и центрируется над чекбоксом, а
   сам чекбокс остаётся визуально прежним (position: absolute убирает
   псевдоэлемент из потока — высота строки и паддинги ячейки не меняются).
   :has() в проекте уже используется (см. site.css, ios_modals.css). */
label:has(> input[data-selection-item]):not(.bdk-card-checkbox) {
  /* Табличная label ничем не позиционирована — даём ей контекст для
     абсолютно спозиционированного псевдоэлемента ниже. Карточная
     .bdk-card-checkbox уже position: absolute (site.css) — не трогаем. */
  position: relative;
}
label:has(> input[data-selection-item])::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 44px;
  height: 44px;
}
