/* ==== ОП Лизинг · каталог: слой удобства (Claude, 2026-09-11) ==== */

/* --- скидка в карточках --- */
.catalog-card__discount,
.catalog-featured-card__discount {
  display: grid;
  gap: 2px;
  margin: 0;
  padding: 8px 10px;
  border: 1px solid #f1d193;
  border-radius: 6px;
  background: #fff6e4;
  color: #151b1e;
}
.catalog-card__discount span,
.catalog-featured-card__discount span {
  display: block;
  color: #8a5a00;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.catalog-card__discount strong,
.catalog-featured-card__discount strong {
  display: block;
  font-size: 19px;
  line-height: 1.1;
}
.catalog-card__discount small,
.catalog-featured-card__discount small {
  display: block;
  color: #7a6a4d;
  font-size: 11px;
  line-height: 1.3;
}
.catalog-featured-card__discount { margin-top: 6px; }
.catalog-lot-dialog__discount[data-state="check_available"] {
  border-color: #f1d193;
  background: #fff6e4;
}
.catalog-lot-dialog__discount[data-state="check_available"] .catalog-lot-dialog__discount-badge {
  background: #ffe2a8;
  color: #6b4400;
}

/* --- меньше служебного текста --- */
.vehicle-catalog__sort-panel > div > p,
.vehicle-catalog__filters-head > p,
#catalogQueryHint,
#catalogCityHint,
#catalogSortHint,
#catalogRadiusHint,
.vehicle-catalog__showcase-head > span,
.catalog-card__checking,
.catalog-featured-card__tax,
.catalog-card__economics > div:nth-child(3) {
  display: none !important;
}
.catalog-card__actions .catalog-card__lead { font-weight: 900; }

/* --- общая панель «Поиск и фильтры» --- */
#catalogPlusSheet { display: block; }
#catalogPlusSheet > * + * { margin-top: 14px; }
.catalog-plus__sheet-head { display: none; }
#catalogPlusToolbar, #catalogPlusBar { display: none; }

/* --- телефон --- */
@media (max-width: 767px) {
  #catalogViewPanel { display: flex; flex-direction: column; gap: 12px; }
  #catalogViewPanel > .vehicle-catalog__header { order: 1; }
  #catalogPlusToolbar { order: 2; display: block; }
  #catalogFeatured { order: 3; }
  .vehicle-catalog__result-head { order: 4; }
  #catalogQualitySummary { order: 5; }
  #catalogLoading { order: 6; }
  #catalogEmpty { order: 7; }
  #catalogGrid { order: 8; }
  #catalogPagination { order: 9; }
  #catalogProgramHints { order: 10; }
  .vehicle-catalog__system { order: 11; }
  #catalogPlusSheet { order: 12; }
  .vehicle-catalog__boundary { order: 13; }

  .vehicle-catalog__header > div > p,
  .vehicle-catalog__status { display: none !important; }
  .vehicle-catalog__header h2 { margin-bottom: 4px; }

  .catalog-plus__search-btn {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    min-height: 50px;
    padding: 10px 14px;
    border: 1px solid #b9dedf;
    border-radius: 8px;
    background: #fff;
    color: #354247;
    font-size: 15px;
    font-weight: 700;
    text-align: left;
    cursor: pointer;
  }
  .catalog-plus__search-btn .catalog-plus__search-text {
    flex: 1;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
  .catalog-plus__search-btn .catalog-plus__search-badge {
    flex: 0 0 auto;
    padding: 4px 9px;
    border-radius: 999px;
    background: var(--teal-dark, #0c7c80);
    color: #fff;
    font-size: 12px;
    font-weight: 900;
  }

  /* панель фильтров показываем только по кнопке */
  #catalogPlusSheet { display: none; }
  body.catalog-plus-sheet-open { overflow: hidden; }
  body.catalog-plus-sheet-open #catalogPlusSheet {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 1200;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding: 0 14px calc(96px + env(safe-area-inset-bottom));
    background: #f4f7f8;
  }
  body.catalog-plus-sheet-open .catalog-plus__sheet-head {
    display: flex;
    position: sticky;
    top: 0;
    z-index: 2;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 0 -14px 12px;
    padding: 12px 14px;
    background: #f4f7f8;
    border-bottom: 1px solid #dfe6e8;
  }
  .catalog-plus__sheet-head strong { font-size: 17px; }
  .catalog-plus__close {
    min-height: 40px;
    padding: 0 14px;
    border: 1px solid #b9dedf;
    border-radius: 6px;
    background: #fff;
    color: var(--teal-dark, #0c7c80);
    font-weight: 800;
    cursor: pointer;
  }
  body.catalog-plus-sheet-open .catalog-plus__sheet-apply {
    position: fixed;
    left: 0; right: 0; bottom: 0;
    z-index: 1210;
    display: flex;
    gap: 8px;
    padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
    background: #fff;
    border-top: 1px solid #dfe6e8;
  }
  .catalog-plus__sheet-apply { display: none; }
  .catalog-plus__sheet-apply button {
    flex: 1;
    min-height: 46px;
    border-radius: 6px;
    font-size: 15px;
    font-weight: 900;
    cursor: pointer;
  }
  .catalog-plus__sheet-apply .catalog-plus__apply-btn { border: 0; background: var(--teal-dark, #0c7c80); color: #fff; }
  .catalog-plus__sheet-apply .catalog-plus__reset-btn { border: 1px solid #b9dedf; background: #fff; color: #354247; flex: 0 0 auto; padding: 0 16px; }
  #catalogPlusSheet .vehicle-catalog__actions { display: none; }

  /* липкая нижняя панель (только когда открыт каталог) */
  body.has-catalog-plus-bar { padding-bottom: calc(66px + env(safe-area-inset-bottom)); }
  body:not(.has-catalog-plus-bar) #catalogPlusBar { display: none !important; }
  #catalogPlusBar {
    display: flex;
    position: fixed;
    left: 0; right: 0; bottom: 0;
    z-index: 900;
    gap: 8px;
    padding: 8px 12px calc(8px + env(safe-area-inset-bottom));
    background: #fff;
    border-top: 1px solid #dfe6e8;
    box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.06);
  }
  body.catalog-plus-sheet-open #catalogPlusBar { display: none; }
  #catalogPlusBar button {
    min-height: 44px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 900;
    cursor: pointer;
  }
  #catalogPlusBar .catalog-plus__filters-btn { flex: 1; border: 0; background: var(--teal-dark, #0c7c80); color: #fff; }
  #catalogPlusBar .catalog-plus__top-btn { flex: 0 0 auto; padding: 0 16px; border: 1px solid #b9dedf; background: #fff; color: var(--teal-dark, #0c7c80); }

  /* карточка компактнее */
  .catalog-card__economics { display: none !important; }
  .catalog-card__source-panel em { display: none; }
  .catalog-card__actions .catalog-card__calculation { display: none; }
  .catalog-card__badges .catalog-card__badge:not(:first-child) { display: none; }
}

/* --- компьютер: фильтры компактнее, без лишних абзацев --- */
@media (min-width: 768px) {
  #catalogPlusSheet .vehicle-catalog__showcase-head h3 { font-size: 16px; }
  #catalogPlusSheet .vehicle-catalog__sort-panel { padding-top: 10px; padding-bottom: 10px; }
}

/* r3: пояснение про скидку должно переноситься на узких экранах */
.catalog-card__discount, .catalog-featured-card__discount, .catalog-card__discount *, .catalog-featured-card__discount * {
  white-space: normal !important;
  overflow-wrap: anywhere;
  max-width: 100%;
}
.catalog-card__discount small, .catalog-featured-card__discount small { display: block; line-height: 1.35; }

/* r4: подсказки умного поиска */
.catalog-plus__note {
  margin: 6px 0 0;
  font-size: 13px;
  line-height: 1.4;
  color: #2f6f3e;
  overflow-wrap: anywhere;
}
.catalog-plus__alts { margin-top: 12px; }
.catalog-plus__alts p { margin: 0 0 6px; font-size: 14px; }
.catalog-plus__alt {
  display: inline-block;
  margin: 0 8px 8px 0;
  padding: 8px 12px;
  border: 1px solid #cfd8dc;
  border-radius: 999px;
  background: #fff;
  font-size: 14px;
  cursor: pointer;
  max-width: 100%;
  overflow-wrap: anywhere;
}
.catalog-plus__alt:hover { border-color: #2f6f3e; color: #2f6f3e; }

/* r5: на телефоне карточка была почти в целый экран (881 px) — ужимаем
   характеристики, источник и кнопки, не убирая ни одной строки данных. */
@media (max-width: 640px) {
  .catalog-card__facts { gap: 4px !important; }
  .catalog-card__facts > div {
    display: flex !important;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    min-width: 0;
  }
  .catalog-card__facts dt { margin: 0; flex: 0 1 auto; }
  .catalog-card__facts dd {
    margin: 0;
    flex: 1 1 auto;
    text-align: right;
    font-weight: 600;
    overflow-wrap: anywhere;
  }
  .catalog-card__source-panel { gap: 2px !important; font-size: 12px; line-height: 1.3; }
  .catalog-card__actions { grid-template-columns: 1fr 1fr !important; gap: 8px !important; }
  .catalog-card__actions > *:first-child { grid-column: 1 / -1; }
  .catalog-card__actions > * { min-height: 44px; }
}

/* r6: продолжение — источник в одну строку, поля карточки чуть плотнее */
@media (max-width: 640px) {
  .catalog-card__body { gap: 8px !important; padding: 12px !important; }
  .catalog-card__source-panel {
    display: flex !important;
    flex-wrap: wrap;
    align-items: baseline;
    column-gap: 6px;
    row-gap: 2px;
  }
  .catalog-card__source-panel > span { flex: 0 0 auto; }
  .catalog-card__source-panel > strong { flex: 1 1 auto; text-align: right; }
  .catalog-card__source-panel > em { flex: 1 1 100%; }
  .catalog-card__meta { gap: 6px !important; }
}

/* r7: на компьютере чуть плотнее блок фильтров */
@media (min-width: 900px) {
  .vehicle-catalog__filters { padding: 14px !important; gap: 10px !important; }
  .vehicle-catalog__filters-head { margin-bottom: 0; }
}

/* r8: «Радиус от города» не влезал в свою колонку — текст «Точно в выбранном
   городе» обрезался. На широком экране отдаём ему две колонки. */
@media (min-width: 900px) {
  .vehicle-catalog__radius-filter { grid-column: span 2; }
  .vehicle-catalog__radius-filter select { text-overflow: ellipsis; padding-right: 34px; }
}
/* r15: строка «Сейчас ищем» — включённые фильтры, каждый снимается крестиком */
.catalog-plus__active {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0 0 10px;
}
.catalog-plus__active-label { font-size: 14px; color: #5a6672; }
.catalog-plus__pill {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 6px 10px 6px 12px;
  border: 1px solid #b7d4bf;
  border-radius: 999px;
  background: #eef7f0;
  color: #23502f;
  font-size: 14px;
  line-height: 1.2;
  cursor: pointer;
  max-width: 100%;
  overflow-wrap: anywhere;
  text-align: left;
}
.catalog-plus__pill:hover { border-color: #2f6f3e; background: #e2f1e7; }
.catalog-plus__pill-x {
  font-size: 17px;
  line-height: 1;
  color: #4e7a5c;
  flex: 0 0 auto;
}
.catalog-plus__pill:hover .catalog-plus__pill-x { color: #23502f; }
.catalog-plus__pill--all {
  background: #fff;
  border-color: #cfd8dc;
  color: #5a6672;
  padding: 6px 12px;
}
.catalog-plus__pill--all:hover { border-color: #b0413e; color: #b0413e; background: #fff; }
@media (max-width: 640px) { .catalog-plus__pill { min-height: 38px; } }

/* ряд «Уточнить» */
.catalog-plus__refine {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0 0 10px;
}
.catalog-plus__refine-label { font-size: 14px; color: #5a6672; }
.catalog-plus__refine-group {
  font-size: 13px;
  color: #78848f;
  margin-left: 4px;
}
.catalog-plus__refine-group:first-of-type { margin-left: 0; }
.catalog-plus__chip {
  padding: 7px 12px;
  border: 1px solid #cfd8dc;
  border-radius: 999px;
  background: #fff;
  font-size: 14px;
  line-height: 1.2;
  cursor: pointer;
  max-width: 100%;
  overflow-wrap: anywhere;
}
.catalog-plus__chip:hover { border-color: #2f6f3e; color: #2f6f3e; }
@media (max-width: 640px) {
  .catalog-plus__chip { min-height: 38px; }
  /* r19: на телефоне подсказки занимали треть экрана до первой карточки.
     Оставляем одну строку с горизонтальной прокруткой пальцем. */
  .catalog-plus__refine,
  .catalog-plus__active {
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 2px;
  }
  .catalog-plus__refine::-webkit-scrollbar,
  .catalog-plus__active::-webkit-scrollbar { display: none; }
  .catalog-plus__refine > *,
  .catalog-plus__active > * { flex: 0 0 auto; white-space: nowrap; }
  .catalog-plus__chip,
  .catalog-plus__pill { overflow-wrap: normal; }
}

/* r9: узкая панель поиска сверху при прокрутке (только компьютер) */
.catalog-plus__sticky {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 40;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 20px;
  background: rgba(255, 255, 255, 0.97);
  border-bottom: 1px solid #e1e7ea;
  box-shadow: 0 2px 10px rgba(16, 32, 48, 0.08);
}
.catalog-plus__sticky-input {
  flex: 1 1 420px;
  min-width: 0;
  max-width: 640px;
  height: 42px;
  padding: 0 14px;
  border: 1px solid #cfd8dc;
  border-radius: 10px;
  font-size: 15px;
}
.catalog-plus__sticky-go {
  flex: 0 0 auto;
  height: 42px;
  padding: 0 20px;
  border: 0;
  border-radius: 10px;
  background: #0f7a63;
  color: #fff;
  font-size: 15px;
  cursor: pointer;
}
.catalog-plus__sticky-go:hover { background: #0c6552; }
.catalog-plus__sticky-count { flex: 0 0 auto; font-size: 14px; color: #5a6672; }
.catalog-plus__sticky-link {
  flex: 0 0 auto;
  margin-left: auto;
  border: 0;
  background: none;
  color: #0f7a63;
  font-size: 14px;
  text-decoration: underline;
  cursor: pointer;
}
@media (max-width: 899px) { .catalog-plus__sticky { display: none !important; } }
/* r9: карточка на компьютере чуть плотнее */
@media (min-width: 900px) {
  .catalog-card__body { gap: 8px !important; padding: 13px !important; }
  .catalog-card__source-panel {
    display: flex !important;
    flex-wrap: wrap;
    align-items: baseline;
    column-gap: 6px;
    row-gap: 2px;
  }
  .catalog-card__source-panel > strong { flex: 1 1 auto; text-align: right; }
  .catalog-card__source-panel > em { flex: 1 1 100%; }
}

/* r20: свёрнутая витрина «Самые интересные предложения» */
.catalog-plus__featured-restore {
  display: block;
  width: 100%;
  margin: 0 0 12px;
  padding: 10px 14px;
  border: 1px dashed #cfd8dc;
  border-radius: 12px;
  background: #fafbfc;
  color: #5a6672;
  font-size: 14px;
  text-align: left;
  cursor: pointer;
}
.catalog-plus__featured-restore:hover { border-color: #2f6f3e; color: #2f6f3e; }

/* r21: на телефоне панель каталога — flex с заданным порядком блоков, и всё,
   что добавлено скриптом, без явного order улетает в самый верх. Ставим
   подсказки прямо перед сеткой карточек (у неё order: 8), а свёрнутую
   витрину — на место самой витрины (order: 3). */
@media (max-width: 767px) {
  #catalogActiveFilters { order: 7; }
  #catalogRefineChips { order: 7; }
  #catalogFeaturedRestore { order: 3; }
}

/* r22: пояснение под полем ИНН в форме заявки */
.catalog-plus__lead-hint {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  line-height: 1.35;
  color: #6b7681;
}

/* r27: предложение продолжить прошлый поиск */
.catalog-plus__resume {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 0 0 12px;
  padding: 10px 14px;
  border: 1px solid #cfe0d4;
  border-radius: 12px;
  background: #f4faf6;
  font-size: 14px;
  color: #23502f;
}
.catalog-plus__resume-go {
  padding: 8px 14px;
  border: 0;
  border-radius: 999px;
  background: #2f6f3e;
  color: #fff;
  font-size: 14px;
  cursor: pointer;
}
.catalog-plus__resume-go:hover { background: #275c34; }
.catalog-plus__resume-no {
  padding: 8px 12px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #5a6672;
  font-size: 14px;
  cursor: pointer;
  text-decoration: underline;
}
@media (max-width: 767px) { #catalogResumeBar { order: 7; } }

/* ==== r28: вид карточки и спецпрограмм ====
   Фирменный цвет каталога — бирюзовый #05777d, он же на кнопке «Подобрать».
   Раньше главная кнопка в карточке была чёрной, а мои подсказки — зелёными;
   свожу всё к одному цвету. Включается классом на <body>, отключается
   адресом ?design=old. */

/* моя же мобильная панель подтверждения показывалась на компьютере
   двумя необорудованными кнопками под сортировкой */
@media (min-width: 900px) {
  .catalog-plus__sheet-apply { display: none !important; }
}

/* подсказки и «продолжить поиск» — в фирменный цвет */
.catalog-plus__chip:hover { border-color: #05777d; color: #05777d; }
.catalog-plus__pill { border-color: #bfe0e1; background: #eef8f8; color: #16484b; }
.catalog-plus__pill:hover { border-color: #05777d; background: #e2f2f2; }
.catalog-plus__pill-x { color: #3d7b7e; }
.catalog-plus__pill:hover .catalog-plus__pill-x { color: #05777d; }
.catalog-plus__resume { border-color: #cfe6e7; background: #f2fafa; color: #16484b; }
.catalog-plus__resume-go { background: #05777d; }
.catalog-plus__resume-go:hover { background: #045f64; }
.catalog-plus__featured-restore:hover { border-color: #05777d; color: #05777d; }
.catalog-plus__sticky-go { background: #05777d; }

/* --- карточка r29: одна колонка смысла вместо стопки коробок --- */
/* было: 877 px высоты, шесть рамок, НДС трижды, «Спецтехника» дважды,
   «Платёж: расчёт временно недоступен». Оставляю то, ради чего человек
   смотрит карточку: фото, что это, сколько стоит, сколько со скидкой,
   одно действие. Остальное — в окне «Подробнее». */

.opl-card-v2 .catalog-card {
  border: 1px solid #e6edee;
  border-radius: 14px;
  box-shadow: 0 1px 2px rgba(16, 40, 44, .04);
  transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease;
}
.opl-card-v2 .catalog-card:hover {
  border-color: #cfe3e4;
  box-shadow: 0 8px 22px rgba(16, 40, 44, .10);
  transform: translateY(-2px);
}
.opl-card-v2 .catalog-card__image { min-height: 196px; }
.opl-card-v2 .catalog-card__image img { transition: transform .35s ease; }
.opl-card-v2 .catalog-card:hover .catalog-card__image img { transform: scale(1.03); }

/* тип техники — плашкой на фото, а не второй строкой рядом с названием */
.opl-card-v2 .catalog-card__image .catalog-card__type {
  position: absolute; z-index: 2; left: 10px; top: 10px;
  padding: 4px 9px; border-radius: 999px; border: 0;
  background: rgba(11, 32, 34, .72); color: #fff;
  font-size: 11px; font-weight: 700; letter-spacing: .01em;
  backdrop-filter: blur(2px);
}
.opl-card-v2 .catalog-card--no-photo .catalog-card__type {
  background: #eef5f5; color: #4a6367; border: 0; font-size: 11px; padding: 3px 8px;
}

.opl-card-v2 .catalog-card__body {
  display: flex; flex-direction: column; align-items: stretch;
  padding: 14px 14px 13px; gap: 8px;
}
/* кнопки прижимаются к низу, чтобы в одной строке каталога они стояли ровно */
.opl-card-v2 .catalog-card__source-panel { margin-top: auto !important; }
.opl-card-v2 .catalog-card__top { display: block; }
.opl-card-v2 .catalog-card__top h3 { margin: 0; }
.opl-card-v2 .catalog-card__title-button {
  font-size: 16.5px; line-height: 1.28; font-weight: 700; color: #14211f;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden; text-align: left;
}
.opl-card-v2 .catalog-card__title-button:hover { color: #05777d; }

/* строка характеристик: «2026 · 120 000 км · Калининский» */
.opl-card-v2 .oplc-line {
  margin: -3px 0 0; font-size: 12.5px; line-height: 1.4; color: #6d7f82; font-weight: 500;
}
.opl-card-v2 .oplc-line b { font-weight: 500; color: #6d7f82; }

/* цена */
.opl-card-v2 .catalog-card__price { margin: 0; display: flex; align-items: baseline; flex-wrap: wrap; gap: 0 7px; }
.opl-card-v2 .catalog-card__price > span { display: none; }
.opl-card-v2 .catalog-card__price strong { font-size: clamp(21px, 1.5vw, 25px); line-height: 1.1; letter-spacing: -.01em; }
.opl-card-v2 .catalog-card__price small {
  color: #7b8b8e; font-size: 11.5px; font-weight: 600; text-transform: none; letter-spacing: 0;
}

/* скидка — одна полоса, а не панель в три этажа */
.opl-card-v2 .catalog-card__discount {
  margin: 0; padding: 9px 11px; border-radius: 11px;
  display: flex; align-items: baseline; flex-wrap: wrap; gap: 0 8px;
  background: #fff6e4; border: 1px solid #f4dcae;
}
.opl-card-v2 .catalog-card__discount > span {
  font-size: 11px; font-weight: 800; letter-spacing: .02em; color: #8a5d10; text-transform: uppercase;
}
.opl-card-v2 .catalog-card__discount strong { font-size: 18.5px; line-height: 1.15; color: #6f4a08; }
.opl-card-v2 .catalog-card__discount small {
  flex: 1 0 100%; margin-top: 2px; font-size: 10.5px; line-height: 1.35; color: #8d7a55; font-weight: 500;
}

/* источник — одна тихая строка внизу */
.opl-card-v2 .catalog-card__source-panel {
  border: 0; background: transparent; padding: 6px 0 0; margin: 0;
  border-top: 1px solid #eef3f4;
  display: flex; align-items: center; gap: 5px; flex-wrap: wrap;
  order: 90;
}
.opl-card-v2 .catalog-card__source-panel span {
  flex: 0 0 auto; font-size: 11.5px; color: #8a999c; font-weight: 500;
  letter-spacing: 0; text-transform: none; text-align: left;
}
.opl-card-v2 .catalog-card__source-panel strong {
  flex: 0 0 auto; font-size: 11.5px; color: #55696c; font-weight: 700; text-align: left;
}
.opl-card-v2 .catalog-card__source-panel em { display: none; }
.opl-card-v2 .oplc-checked {
  margin-left: auto; flex: 0 0 auto; font-size: 11px; font-weight: 600;
  font-style: normal; color: #4a8f68; white-space: nowrap;
}
.opl-card-v2 .oplc-checked::before {
  content: ""; display: inline-block; width: 5px; height: 5px; margin-right: 5px;
  border-radius: 50%; background: #63b487; vertical-align: middle;
}
.opl-card-v2 .oplc-checked--soft { color: #97a5a8; }
.opl-card-v2 .oplc-checked--soft::before { background: #c6d2d4; }

/* то, что перегружало карточку и повторяло само себя */
.opl-card-v2 .catalog-card__facts,
.opl-card-v2 .catalog-card__meta,
.opl-card-v2 .catalog-card__economics,
.opl-card-v2 .catalog-card__badges,
.opl-card-v2 .catalog-card__checking,
.opl-card-v2 .catalog-card__condition { display: none !important; }

.opl-card-v2 .catalog-card__group-summary {
  order: 91; border: 0; background: transparent; padding: 0; margin: 0;
  color: #05777d; font-size: 12px; font-weight: 600; text-decoration: underline; text-align: left;
}
.opl-card-v2 .catalog-card__group-summary:hover { color: #045f64; }

/* действия: одна главная кнопка и две тихие ссылки */
.opl-card-v2 .catalog-card__actions {
  order: 92; display: grid; grid-template-columns: 1fr 1fr; gap: 7px 12px; margin-top: 1px;
}
.opl-card-v2 .catalog-card__actions .catalog-card__lead {
  grid-column: 1 / -1;
  background: #05777d; color: #fff; border: 0; border-radius: 11px;
  padding: 12px 14px; font-size: 14px; font-weight: 700; box-shadow: none;
}
.opl-card-v2 .catalog-card__actions .catalog-card__lead:hover { background: #045f64; }
.opl-card-v2 .catalog-card__actions .catalog-card__details,
.opl-card-v2 .catalog-card__actions .catalog-card__calculation {
  background: transparent; border: 0; padding: 2px 0; box-shadow: none;
  color: #46777a; font-size: 12.5px; font-weight: 600; text-decoration: underline;
  text-underline-offset: 3px; text-decoration-color: #cfe0e1;
}
.opl-card-v2 .catalog-card__actions .catalog-card__details { text-align: left; }
.opl-card-v2 .catalog-card__actions .catalog-card__calculation { text-align: right; }
.opl-card-v2 .catalog-card__actions .catalog-card__details:hover,
.opl-card-v2 .catalog-card__actions .catalog-card__calculation:hover {
  color: #05777d; text-decoration-color: #05777d; background: transparent;
}

/* --- спецпрограммы --- */
/* --- спецпрограммы r29 --- */
/* Была узкая колонка текста слева и пустая половина полосы справа, кнопки
   столбиком, а «Скрыть» — крупной кнопкой в углу. Делаю так: когда программа
   одна, она разворачивается в широкую полосу — текст слева, действия справа;
   когда их несколько, это ровные карточки по 380 точек. */

.opl-hints-v2 .catalog-program-hints {
  padding: 15px 16px; border-color: #ddeef0; border-radius: 14px;
  background: linear-gradient(180deg, #f8fdfd 0%, #f2fafa 100%);
}
.opl-hints-v2 .catalog-program-hints .vehicle-catalog__eyebrow { display: none; }
.opl-hints-v2 .catalog-program-hints__head { align-items: start; gap: 14px; }
.opl-hints-v2 .catalog-program-hints__head h3 { font-size: 17px; line-height: 1.3; }
.opl-hints-v2 .catalog-program-hints__head > div > p { font-size: 12.5px; line-height: 1.45; color: #66787b; max-width: 78ch; }
.opl-hints-v2 .catalog-program-hints__head button {
  flex: 0 0 auto; min-height: 0; padding: 2px 0; border: 0; background: transparent;
  color: #6d8285; font-size: 12.5px; font-weight: 600;
  text-decoration: underline; text-underline-offset: 3px; text-decoration-color: #cfe0e1;
}
.opl-hints-v2 .catalog-program-hints__head button:hover { color: #05777d; text-decoration-color: #05777d; }

.opl-hints-v2 .catalog-program-hints__grid {
  grid-template-columns: repeat(auto-fill, minmax(300px, 380px));
  justify-content: start; gap: 12px;
}
.opl-hints-v2 .catalog-program-hints__card {
  border-color: #e6eff0; border-radius: 12px; padding: 14px; gap: 9px;
  box-shadow: 0 1px 2px rgba(16, 40, 44, .04);
}
.opl-hints-v2 .catalog-program-hints__card h4 { font-size: 14px; line-height: 1.35; font-weight: 700; color: #1b2826; }
.opl-hints-v2 .catalog-program-hints__card > strong { font-size: 14px; line-height: 1.45; color: #05777d; font-weight: 700; }
.opl-hints-v2 .catalog-program-hints__card > p { font-size: 11.5px; line-height: 1.45; color: #7d8b8e; }

.opl-hints-v2 .catalog-program-hints__status {
  font-weight: 700; font-size: 11px; border-color: #dde7e8; background: #f4f8f8; color: #55696c;
}
.opl-hints-v2 .catalog-program-hints__status--exact { border-color: #b6e0c9; color: #1c6c46; background: #eef9f2; }
.opl-hints-v2 .catalog-program-hints__status--analog {
  border-color: #d5e5e6; color: #4f6a6d; background: #f2f8f8;
}
.opl-hints-v2 .catalog-program-hints__status--verification {
  border-color: #f0d7a4; color: #8a5d10; background: #fff7e6;
}

.opl-hints-v2 .catalog-program-hints__actions { gap: 8px; align-items: center; }
.opl-hints-v2 .catalog-program-hints__actions button {
  min-height: 36px; border-radius: 10px; font-size: 13px; font-weight: 700; padding: 9px 14px;
  border-color: #d8e8e9; background: #f3fafa;
}
.opl-hints-v2 .catalog-program-hints__actions button:last-child {
  background: #05777d; color: #fff; border-color: #05777d;
}
.opl-hints-v2 .catalog-program-hints__actions button:last-child:hover { background: #045f64; border-color: #045f64; }

/* одна программа — широкая полоса, а не колонка в треть экрана */
.opl-hints-v2 .oplh-body { display: grid; gap: 8px; align-content: start; min-width: 0; }
.opl-hints-v2 .catalog-program-hints__grid.oplh-single { grid-template-columns: minmax(0, 1fr); }
.opl-hints-v2 .oplh-single .catalog-program-hints__card {
  display: flex; align-items: center; gap: 22px; padding: 16px 18px;
}
.opl-hints-v2 .oplh-single .oplh-body { flex: 1 1 auto; }
.opl-hints-v2 .oplh-single .catalog-program-hints__card h4 { font-size: 15px; }
.opl-hints-v2 .oplh-single .catalog-program-hints__actions {
  flex: 0 0 auto; flex-direction: column; align-items: stretch; min-width: 190px;
}

@media (max-width: 760px) {
  .opl-hints-v2 .oplh-single .catalog-program-hints__card { display: grid; gap: 10px; }
  .opl-hints-v2 .oplh-single .catalog-program-hints__actions { flex-direction: row; }
}

/* --- доступ к подробным фильтрам r29 --- */
.catalog-plus__quick {
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
  margin: 2px 0 10px;
}
.catalog-plus__quick-btn {
  min-height: 36px; padding: 8px 13px; border: 1px solid #d7e5e6; border-radius: 999px;
  background: #fff; color: #3f5d60; font-size: 13px; font-weight: 600; cursor: pointer;
  transition: border-color .15s ease, background .15s ease, color .15s ease;
}
.catalog-plus__quick-btn:hover { border-color: #05777d; color: #05777d; }
.catalog-plus__quick-btn[aria-pressed="true"] {
  border-color: #05777d; background: #05777d; color: #fff;
}
.catalog-plus__quick-more {
  display: inline-flex; align-items: center; gap: 7px;
  min-height: 36px; margin-left: auto; padding: 8px 14px;
  border: 1px solid #05777d; border-radius: 999px;
  background: #eef8f8; color: #05777d; font-size: 13px; font-weight: 700; cursor: pointer;
}
.catalog-plus__quick-more:hover { background: #e2f2f2; }
.catalog-plus__quick-count {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 20px; height: 20px; padding: 0 5px; border-radius: 999px;
  background: #05777d; color: #fff; font-size: 11px; font-weight: 800; font-style: normal;
}
@media (max-width: 700px) {
  .catalog-plus__quick-more { margin-left: 0; }
}

/* r29: «Радиус от города» занимал целую строку и рядом оставалось 640 px
   пустоты — владелец про это и сказал. Ставлю его пятой колонкой в ту же
   строку, что запрос, тип и город. */
@media (min-width: 1100px) {
  .vehicle-catalog__filters .vehicle-catalog__radius-filter { grid-column: auto; }
}
.catalog-plus__quick { grid-column: 1 / -1; }
.catalog-plus__quick-count[hidden] { display: none !important; }

/* r30: окно «Подробнее». Фото 4:3 лежало в квадратной панели 448×560 —
   сверху и снизу оставалось по 112 точек пустой заливки. Панель теперь
   по высоте фотографии. */
.opl-card-v2 .catalog-lot-dialog__image {
  height: auto; min-height: 0; aspect-ratio: 4 / 3; max-height: 62vh;
}
@media (max-width: 760px) {
  .opl-card-v2 .catalog-lot-dialog__image { aspect-ratio: 3 / 2; max-height: 46vh; }
}

/* --- витрина «Самые интересные предложения» r30 --- */
/* Фото лежали в белой рамке (contain), под ценой шла строка «Платёж: расчёт
   временно недоступен», и пять плашек подряд, две из которых повторяли текст
   выше. Привожу к тому же виду, что и карточки выдачи. */
.opl-card-v2 .catalog-featured-card {
  border-radius: 14px; border-color: #e6edee; overflow: hidden;
  box-shadow: 0 1px 2px rgba(16, 40, 44, .04);
  transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease;
}
.opl-card-v2 .catalog-featured-card:hover {
  border-color: #cfe3e4; box-shadow: 0 8px 22px rgba(16, 40, 44, .10); transform: translateY(-2px);
}
.opl-card-v2 .catalog-featured-card__image { padding: 0; border-radius: 0; }
/* базовая вёрстка ставит здесь contain, и фото лежало в белой рамке; в выдаче
   рядом такие же карточки с cover — свожу к одному виду */
.opl-card-v2 .vehicle-catalog .catalog-featured-card--with-photo .catalog-featured-card__image img,
.opl-card-v2 .vehicle-catalog[data-catalog-shell="content-first"] .catalog-featured-card--with-photo .catalog-featured-card__image img,
.opl-card-v2 .catalog-featured-card__image img {
  width: 100%; height: 100%; object-fit: cover; border-radius: 0; transition: transform .35s ease;
}
.opl-card-v2 .catalog-featured-card:hover .catalog-featured-card__image img { transform: scale(1.03); }
.opl-card-v2 .catalog-featured-card__body { padding: 14px; gap: 8px; }
.opl-card-v2 .catalog-featured-card__body h4 { font-size: 16px; line-height: 1.28; font-weight: 700; color: #14211f; }
.opl-card-v2 .catalog-featured-card__price { font-size: 22px; line-height: 1.1; color: #14211f; letter-spacing: -.01em; }
.opl-card-v2 .catalog-featured-card__discount {
  margin: 0; padding: 9px 11px; border-radius: 11px;
  display: flex; align-items: baseline; flex-wrap: wrap; gap: 0 8px;
  background: #fff6e4; border: 1px solid #f4dcae;
}
.opl-card-v2 .catalog-featured-card__discount > span {
  font-size: 11px; font-weight: 800; letter-spacing: .02em; color: #8a5d10; text-transform: uppercase;
}
.opl-card-v2 .catalog-featured-card__discount strong { font-size: 17.5px; line-height: 1.15; color: #6f4a08; }
.opl-card-v2 .catalog-featured-card__discount small {
  flex: 1 0 100%; margin-top: 2px; font-size: 10.5px; line-height: 1.35; color: #8d7a55; font-weight: 500;
}
/* «Платёж: расчёт временно недоступен» и налоговая присказка — в окно «Подробнее» */
.opl-card-v2 .catalog-featured-card__finance,
.opl-card-v2 .catalog-featured-card__tax { display: none !important; }
.opl-card-v2 .catalog-featured-card__body > p { font-size: 12.5px; color: #6d7f82; margin: 0; }
.opl-card-v2 .catalog-featured-card__badges { gap: 6px; }
/* оставляем только статус проверки и год */
.opl-card-v2 .catalog-featured-card__badges .catalog-card__badge--neutral:nth-of-type(n + 2) { display: none; }
.opl-card-v2 .catalog-featured-card__badges .catalog-card__badge--check { display: none; }
.opl-card-v2 .catalog-featured-card__badges .catalog-card__badge {
  font-size: 11px; font-weight: 600; border-radius: 999px; padding: 3px 9px;
}
.opl-card-v2 .catalog-featured-card__actions { margin-top: auto; }
.opl-card-v2 .catalog-featured-card__actions button {
  width: 100%; min-height: 42px; border-radius: 11px; border: 1px solid #05777d;
  background: #05777d; color: #fff; font-size: 13.5px; font-weight: 700;
}
.opl-card-v2 .catalog-featured-card__actions button:hover { background: #045f64; border-color: #045f64; }

/* --- постраничная навигация r30 --- */
/* «Вперёд» — то, что человек нажимает чаще всего; делаю её основной. */
.opl-card-v2 #catalogPagination { gap: 10px; }
.opl-card-v2 #catalogPagination button {
  min-height: 42px; padding: 10px 20px; border-radius: 11px;
  font-size: 14px; font-weight: 700; border: 1px solid #d7e5e6; background: #fff; color: #3f5d60;
}
.opl-card-v2 #catalogPagination button:hover:not(:disabled) { border-color: #05777d; color: #05777d; }
.opl-card-v2 #catalogPagination #catalogNext {
  background: #05777d; border-color: #05777d; color: #fff;
}
.opl-card-v2 #catalogPagination #catalogNext:hover:not(:disabled) { background: #045f64; border-color: #045f64; color: #fff; }
.opl-card-v2 #catalogPagination button:disabled { opacity: .45; cursor: default; }
.opl-card-v2 #catalogPageStatus { font-size: 13.5px; color: #6d7f82; font-weight: 600; }

/* r31: атрибут hidden проигрывал моим же правилам display, и кнопка
   «Показать "Самые интересные предложения"» висела над уже открытой
   витриной. Прячем по атрибуту во всём слое. */
[class^="catalog-plus__"][hidden],
[class*=" catalog-plus__"][hidden] { display: none !important; }

/* --- форма заявки r33 --- */
/* На телефоне кнопка «Отправить запрос» была ниже экрана: сначала жёлтая
   рамка «работаем только с юрлицами», потом четыре поля и трёхстрочный
   комментарий. Человек, который дошёл до заявки, не должен ещё и искать
   кнопку. Форма ужата так, что целиком помещается на экран телефона,
   а кнопка прилипает к низу окна, если всё-таки не помещается.
   Условие «только юрлица и ИП» осталось на месте — просто не кричит. */
.opl-card-v2 .catalog-lead-dialog__form { gap: 10px; }
.opl-card-v2 .catalog-lead-dialog__notice {
  background: transparent; border: 0; border-left: 3px solid #e6c98a; border-radius: 0;
  padding: 2px 0 2px 10px; margin: 0;
  color: #6f7b7e; font-size: 12px; line-height: 1.45; font-weight: 500;
}
.opl-card-v2 .catalog-lead-dialog__lot { font-size: 13px; padding: 9px 11px; margin: 0; }
.opl-card-v2 .catalog-lead-dialog__form > label { gap: 5px; margin: 0; }
.opl-card-v2 .catalog-lead-dialog__form > label > span { font-size: 12.5px; font-weight: 600; color: #46565a; }
.opl-card-v2 #catalogLeadInnHint { font-size: 11px; line-height: 1.4; color: #8a999c; }
.opl-card-v2 #catalogLeadComment { min-height: 56px; height: 56px; }
.opl-card-v2 .catalog-lead-dialog__consent span { font-size: 12px; line-height: 1.45; }
.opl-card-v2 .catalog-lead-dialog__actions {
  position: sticky; bottom: -1px; z-index: 3;
  display: grid; grid-template-columns: auto 1fr; gap: 10px; align-items: center;
  margin: 2px -16px -14px; padding: 11px 16px 13px;
  background: #fff; border-top: 1px solid #eef3f4;
}
.opl-card-v2 .catalog-lead-dialog__submit {
  width: 100%; background: #05777d; border-color: #05777d; color: #fff;
  border-radius: 11px; min-height: 46px; font-size: 15px; font-weight: 700;
}
.opl-card-v2 .catalog-lead-dialog__submit:hover { background: #045f64; border-color: #045f64; }
.opl-card-v2 #catalogLeadCancel { border-radius: 11px; min-height: 46px; padding: 10px 14px; }

/* моя нижняя панель «Поиск и фильтры» выглядывала из-под открытого окна */
body.catalog-modal-open .catalog-plus__filters-btn,
body.catalog-modal-open .catalog-plus__top-btn { display: none !important; }

/* --- «Показать ещё» r33 --- */
.catalog-plus__more-wrap { display: flex; justify-content: center; margin: 14px 0 4px; }
.catalog-plus__more-wrap[hidden] { display: none !important; }
.catalog-plus__more {
  min-height: 46px; min-width: 240px; padding: 12px 26px;
  border: 1px solid #05777d; border-radius: 12px;
  background: #fff; color: #05777d; font-size: 15px; font-weight: 700; cursor: pointer;
  transition: background .15s ease, color .15s ease;
}
.catalog-plus__more:hover:not(:disabled) { background: #05777d; color: #fff; }
.catalog-plus__more:disabled { opacity: .6; cursor: default; }
@media (max-width: 560px) { .catalog-plus__more { width: 100%; min-width: 0; } }

/* r37: три крупные плашки «39 599 / 19 / дата» занимали 82 точки над формой
   поиска. Это полезные цифры доверия, но не заголовок страницы — сворачиваю
   в одну строку. На телефоне оставляю как было: там они читаются столбиком. */
@media (min-width: 900px) {
  .opl-card-v2 .vehicle-catalog__stats {
    display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 26px;
    padding: 10px 14px; border: 1px solid #eaf1f2; border-radius: 12px; background: #fbfdfd;
  }
  .opl-card-v2 .vehicle-catalog__stats > div {
    display: flex; align-items: baseline; gap: 7px;
    min-height: 0; padding: 0; border: 0; background: transparent; box-shadow: none;
  }
  .opl-card-v2 .vehicle-catalog__stats strong { font-size: 17px; line-height: 1.2; }
  .opl-card-v2 .vehicle-catalog__stats span { font-size: 12.5px; color: #6d7f82; }
}

/* r38: панель сортировки занимала 89 точек ради одного выпадающего списка:
   надзаголовок, заголовок в три слова и два пояснения. Собираю в одну
   строку. Пояснение «порядок применяется ко всей выдаче» оставляю — люди
   обычно думают, что сортируется только текущая страница. Вторую подсказку
   прячу визуально, но не из разметки: на неё ссылается aria-describedby. */
@media (min-width: 900px) {
  .opl-card-v2 .vehicle-catalog__sort-panel {
    display: flex; align-items: center; justify-content: space-between;
    gap: 20px; padding: 10px 14px; border-radius: 12px;
  }
  .opl-card-v2 .vehicle-catalog__sort-panel > div { display: grid; gap: 1px; min-width: 0; }
  .opl-card-v2 .vehicle-catalog__sort-panel .vehicle-catalog__eyebrow { display: none; }
  .opl-card-v2 .vehicle-catalog__sort-panel h3 { font-size: 14px; line-height: 1.3; margin: 0; }
  .opl-card-v2 .vehicle-catalog__sort-panel > div > p { font-size: 11.5px; line-height: 1.35; color: #7d8b8e; margin: 0; }
  .opl-card-v2 .vehicle-catalog__sort {
    display: flex; align-items: center; gap: 9px; flex: 0 0 auto; margin: 0;
  }
  .opl-card-v2 .vehicle-catalog__sort > span { font-size: 12.5px; color: #6d7f82; white-space: nowrap; }
  .opl-card-v2 .vehicle-catalog__sort select { min-width: 262px; width: auto; }
  .opl-card-v2 #catalogSortHint {
    position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0;
    overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0;
  }
}

/* --- полоска «страница из кэша» r40 --- */
.catalog-plus__stale {
  position: fixed; left: 50%; transform: translateX(-50%); bottom: 16px; z-index: 60;
  display: flex; align-items: center; gap: 12px;
  max-width: min(680px, calc(100vw - 24px));
  padding: 11px 12px 11px 16px; border-radius: 12px;
  background: #16292b; color: #eef6f6; font-size: 13.5px; line-height: 1.35;
  box-shadow: 0 10px 28px rgba(9, 24, 26, .28);
}
.catalog-plus__stale-go {
  flex: 0 0 auto; min-height: 34px; padding: 7px 14px; border: 0; border-radius: 9px;
  background: #10b0a0; color: #06231f; font-size: 13px; font-weight: 800; cursor: pointer;
}
.catalog-plus__stale-go:hover { background: #14c6b3; }
.catalog-plus__stale-no {
  flex: 0 0 auto; width: 28px; height: 28px; padding: 0; border: 0; border-radius: 8px;
  background: transparent; color: #9fb6b7; font-size: 19px; line-height: 1; cursor: pointer;
}
.catalog-plus__stale-no:hover { color: #eef6f6; background: rgba(255, 255, 255, .08); }
@media (max-width: 700px) {
  .catalog-plus__stale { bottom: 74px; font-size: 12.5px; padding: 10px 10px 10px 13px; }
}

/* r67 (Claude): полоска «страница из кэша» — при left:50% ширина считалась от
   половины экрана, и на телефоне текст сжимался в столбик по одному слову */
.catalog-plus__stale { left: 12px; right: 12px; transform: none; width: auto; max-width: 680px; margin: 0 auto; flex-wrap: wrap; }
@media (max-width: 700px) {
  .catalog-plus__stale { gap: 8px 10px; }
  .catalog-plus__stale > span { flex: 1 1 100%; }
}

/* claude-lead-ux-css-START (r69) */
.oplc-lead-call { margin: 10px 0 0; font-size: 13px; line-height: 1.45; color: #5b6b70; text-align: center; }
.oplc-lead-call a { color: var(--teal-dark, #0c7c80); font-weight: 800; white-space: nowrap; text-decoration: none; }
.oplc-lead-call a:hover { text-decoration: underline; }
.oplc-thanks { position: fixed; left: 12px; right: 12px; bottom: 16px; z-index: 1200; max-width: 600px; margin: 0 auto;
  padding: 14px 46px 14px 18px; border-radius: 12px; background: #0f2f33; color: #fff;
  box-shadow: 0 10px 32px rgba(0, 0, 0, 0.28); font-size: 15px; line-height: 1.45; }
.oplc-thanks strong { color: #9be3e6; }
.oplc-thanks a { color: #9be3e6; font-weight: 800; white-space: nowrap; text-decoration: none; }
.oplc-thanks__close { position: absolute; top: 6px; right: 6px; width: 34px; height: 34px; border: 0; border-radius: 8px;
  background: transparent; color: #fff; font-size: 22px; line-height: 1; cursor: pointer; }
.oplc-thanks__close:hover { background: rgba(255, 255, 255, 0.12); }
#catalogPlusBar .catalog-plus__call-btn { display: none; }
@media (max-width: 767px) {
  body.has-catalog-plus-bar .oplc-thanks { bottom: calc(72px + env(safe-area-inset-bottom)); }
  #catalogPlusBar .catalog-plus__call-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px;
    flex: 0 0 auto; min-height: 44px; padding: 0 12px; border-radius: 6px; border: 1px solid #b9dedf;
    background: #e8f6f6; color: var(--teal-dark, #0c7c80); font-size: 14px; font-weight: 900; text-decoration: none; }
  body.catalog-modal-open .catalog-plus__call-btn { display: none !important; }
}
/* claude-lead-ux-css-END */


/* claude-visual-r74-css-START */
/* r74 (Claude): шлифовка визуала 17.09 */
/* 1. узкая панель поиска при прокрутке — непрозрачная (сквозь 0.97 просвечивал текст страницы) */
.catalog-plus__sticky { background: #fff; }
/* 2. телефон: статус выдачи короче и тише; техническая строка «на этой странице» скрыта */
@media (max-width: 767px) {
  #catalogResultStatus {
    font-size: 13px; line-height: 1.35; font-weight: 500; color: #5f6d73;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  }
  #catalogQualitySummary { display: none; }
  .vehicle-catalog__result-head h3 { font-size: 21px; line-height: 1.2; }
  /* витрина «Самые интересные»: ссылка «Перейти к поиску» лишняя — поиск прямо над ней */
  #catalogFeaturedSearchLink { display: none; }
  .catalog-featured__head h3 { font-size: 19px; line-height: 1.2; }
}
/* 3. окно «Подробнее» на телефоне: фото во всю ширину, без рамки и полос; подзаголовок легче */
@media (max-width: 760px) {
  .opl-card-v2 .catalog-lot-dialog__media { display: grid; padding: 0; background: #dfe8ea; }
  .opl-card-v2 .catalog-lot-dialog__image { border-radius: 0; aspect-ratio: auto; height: 100%; max-height: none; background: #dfe8ea; }
  .opl-card-v2 .catalog-lot-dialog__image .catalog-photo-gallery { height: 100%; }
  .opl-card-v2 .catalog-lot-dialog__image img { width: 100%; height: 100%; object-fit: cover; }
  #catalogLotSubtitle { font-size: 14px; font-weight: 600; line-height: 1.4; color: #59656b; }
}
/* 4. карточка в сетке на телефоне: плотнее, заголовок не рвётся по одному слову */
@media (max-width: 767px) {
  .opl-card-v2 .catalog-card__body { gap: 8px; padding: 12px 14px 14px; }
  .opl-card-v2 .catalog-card h3, .opl-card-v2 .catalog-card__title-button { font-size: 17px; line-height: 1.25; overflow-wrap: anywhere; }
  .opl-card-v2 .catalog-card__image { min-height: 0; aspect-ratio: 16 / 9; }
  .opl-card-v2 .catalog-card__image img { object-fit: cover; }
}
/* r76: форма заявки — ссылки на согласие в фирменном цвете; на телефоне лишняя плашка «Все фильтры»
   в листе фильтров (ниже есть «Уточнить бюджет, фото и другие фильтры») */
.catalog-lead-dialog__consent a { color: #0c7c80; }
@media (max-width: 767px) { .catalog-plus__quick-more { display: none; } }
/* claude-visual-r74-css-END */

/* claude-lot-ux-css-START (r77) */
/* карточка «Подробнее»: цена крупно, ключевые факты плиткой, второстепенное — строками */
#catalogLotFacts.oplc-facts { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; }
#catalogLotFacts .oplc-fact--price { grid-column: 1 / -1; order: 0; display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 10px;
  padding: 12px 14px; border-color: #bfe5e6; background: linear-gradient(135deg, #f1fbfb, #fff 70%); }
#catalogLotFacts .oplc-fact--price strong { order: 2; margin: 0; text-transform: none; letter-spacing: 0; font-size: 12.5px; color: #536268; }
#catalogLotFacts .oplc-fact--price span { font-size: 26px; font-weight: 900; line-height: 1.1; letter-spacing: -0.3px; color: var(--teal-dark, #0c7c80); }
#catalogLotFacts .oplc-fact--key { grid-column: span 2; order: 1; }
#catalogLotFacts .oplc-fact--minor { grid-column: 1 / -1; order: 2; display: grid; grid-template-columns: 118px minmax(0, 1fr); gap: 8px; align-items: baseline;
  padding: 6px 4px; border: 0; border-top: 1px solid #edf2f3; border-radius: 0; background: transparent; }
#catalogLotFacts .oplc-fact--minor strong { margin: 0; font-size: 11px; }
#catalogLotFacts .oplc-fact--minor span { font-size: 12.5px; font-weight: 650; color: #3a4c50; }
#catalogLotFacts .oplc-fact--minor + .oplc-fact--minor { margin-top: -8px; }
#catalogLotFacts .oplc-fact--condition { grid-column: 1 / -1; border-color: #f0d39c; background: #fff8e8; }
#catalogLotFacts .oplc-fact--condition strong { color: #8a5a00; }
#catalogLotFacts .oplc-fact--condition span { color: #5a3d00; font-weight: 700; }
/* r77: окно «Подробнее» на ширине 761–1100 px (ноутбук 1024, планшет боком, узкое окно): в catalog.css
   правило для узких экранов ставит две строки (фото сверху, текст снизу), а более позднее правило без
   медиазапроса возвращает две колонки — выходило 2×2, текст ужимался в 270 px, ниже пустота. Здесь:
   от 900 px — две колонки в одну строку, 761–899 px — одна колонка, как и задумано. */
@media (min-width: 900px) and (max-width: 1100px) { .opl-card-v2 .catalog-lot-dialog__panel { grid-template-rows: minmax(0, 1fr); } }
@media (min-width: 761px) and (max-width: 899px) {
  .opl-card-v2 .catalog-lot-dialog__panel { grid-template-columns: 1fr; }
  .opl-card-v2 .catalog-lot-dialog__media { align-self: stretch; padding: 10px 14px; }
  .opl-card-v2 .catalog-lot-dialog__image { height: 100%; aspect-ratio: auto; max-height: none; border-radius: 10px; }
  .opl-card-v2 .catalog-lot-dialog__image .catalog-photo-gallery { height: 100%; }
  .opl-card-v2 .catalog-lot-dialog__image img { width: 100%; height: 100%; object-fit: cover; }
}
/* r77: блок скидки под фотографией (компьютер); левая колонка тянется на всю высоту окна */
@media (min-width: 900px) { .opl-card-v2 .catalog-lot-dialog__media { align-self: stretch; } }
.catalog-lot-dialog__media .oplc-discount-in-media { margin: 12px 0 0; }
.catalog-lot-dialog__media .oplc-discount-in-media h3 { font-size: 15px; }
.catalog-lot-dialog__media .oplc-discount-in-media .catalog-lot-dialog__discount-copy { font-size: 12px; }
.catalog-lot-dialog__discount h3 { font-size: 16px; }
.catalog-lot-dialog__discount-copy { font-size: 12.5px; font-weight: 600; }
#catalogLotSource { font-size: 12.5px; font-weight: 650; }
#catalogLotFinance .catalog-finance__manager-check { display: none; }
#catalogLotFinance .oplc-tax-tile strong { color: #1f6b3a; }
.oplc-tax { display: grid; gap: 6px; margin: 6px 0 4px; }
.oplc-tax > div { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-size: 13px; line-height: 1.35; }
.oplc-tax dt { margin: 0; color: #35524f; font-weight: 700; }
.oplc-tax dd { margin: 0; font-weight: 900; white-space: nowrap; color: var(--ink, #111617); }
.oplc-tax__total { padding-top: 6px; border-top: 1px dashed #b9dfcc; }
.oplc-tax__total dd { color: var(--teal-dark, #0c7c80); font-size: 15px; }
.oplc-tax__net dd { color: #1f6b3a; }
#catalogLotFinance .catalog-finance__tax p { font-size: 12px; }
/* обрезанные подписи на компьютере: радиус и сортировка */
@media (min-width: 1180px) {
  .vehicle-catalog__filters { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(150px, 0.9fr) minmax(215px, 1fr) minmax(225px, 1fr); }
  .vehicle-catalog__sort { width: min(100%, 470px); }
}
@media (max-width: 767px) {
  #catalogLotFacts.oplc-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #catalogLotFacts .oplc-fact--key { grid-column: span 1; }
  #catalogLotFacts .oplc-fact--condition { grid-column: 1 / -1; }
  #catalogLotFacts .oplc-fact--price span { font-size: 24px; }
  #catalogLotFacts .oplc-fact--minor { grid-template-columns: 1fr; gap: 2px; }
  #catalogLotFinance .catalog-finance__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  #catalogLotFinance .catalog-finance__grid > *:not(:nth-last-child(-n+2)) { grid-column: 1 / -1; }
}
/* claude-lot-ux-css-END */

/* claude-card-r78-css-START */
/* r78 (Claude): карточка — одна шкала шрифтов (ничего мельче 12 px), контраст ≥ 4.5:1, зоны нажатия,
   единые скругления; от 1366 px четыре карточки в ряду */
.opl-card-v2 .catalog-card { border-radius: 14px; }
.opl-card-v2 .catalog-card__image .catalog-card__type { font-size: 12px; padding: 4px 10px; }
.opl-card-v2 .catalog-card--no-photo .catalog-card__type { font-size: 12px; }
.opl-card-v2 .catalog-card__title-button { font-size: 16px; line-height: 1.3; }
.opl-card-v2 .oplc-line, .opl-card-v2 .oplc-line b { font-size: 13px; color: #4f6064; }
.opl-card-v2 .catalog-card__price strong { font-size: 21px; }
.opl-card-v2 .catalog-card__price small { font-size: 12.5px; color: #5f6f73; }
.opl-card-v2 .catalog-card__discount { padding: 8px 11px; border-radius: 10px; }
.opl-card-v2 .catalog-card__discount > span { font-size: 12px; color: #7a5209; }
.opl-card-v2 .catalog-card__discount strong { font-size: 17px; color: #5c3d06; }
.opl-card-v2 .catalog-card__discount small { font-size: 12px; color: #6f5b34; }
.opl-card-v2 .catalog-card__source-panel span { font-size: 12.5px; color: #5f6f73; }
.opl-card-v2 .catalog-card__source-panel strong { font-size: 12.5px; color: #33474a; }
.opl-card-v2 .oplc-checked { font-size: 12px; color: #2f7a52; }
.opl-card-v2 .oplc-checked--soft { color: #5f6f73; }
.opl-card-v2 .catalog-card__group-summary { font-size: 13px; padding: 4px 0; min-height: 28px; display: inline-flex; align-items: center; }
.opl-card-v2 .catalog-card__actions .catalog-card__lead { border-radius: 10px; min-height: 44px; }
.opl-card-v2 .catalog-card__actions .catalog-card__details,
.opl-card-v2 .catalog-card__actions .catalog-card__calculation { font-size: 13px; color: #3f6a6d; padding: 6px 0; min-height: 32px; }
/* фото: строка сетки карточки была 176 px, а фото — 196 px, и его низ накрывал первую строку названия
   (фото позиционировано ради плашки типа и рисуется поверх). Теперь строка под фото — по его высоте,
   а высота — от ширины карточки (3:2 на компьютере, 16:9 на телефоне) */
@media (min-width: 768px) {
  .opl-card-v2 .catalog-card:not(.catalog-card--no-photo) { grid-template-rows: auto minmax(0, 1fr); }
  .opl-card-v2 .catalog-card__image { min-height: 0; aspect-ratio: 3 / 2; }
  .opl-card-v2 .catalog-card__image img { width: 100%; height: 100%; object-fit: cover; }
}
@media (min-width: 1366px) {
  .opl-card-v2 .vehicle-catalog__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
  .opl-card-v2 .catalog-card__body { padding: 12px 13px 12px; gap: 7px; }
  .opl-card-v2 .catalog-card__price strong { font-size: 20px; }
  .opl-card-v2 .catalog-card__discount strong { font-size: 16px; }
}
/* claude-card-r78-css-END */
