/* ==== ОП Лизинг · каталог: слой удобства (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; }
}
/* r79: подписи «карточек опубликовано» и «Сначала показывать» — контраст до 4.5:1 */
.opl-card-v2 .vehicle-catalog__stats span, .opl-card-v2 .vehicle-catalog__sort > span { color: #5f6f73; }
/* r79: остатки мелкого текста вне карточки — счётчики в «Быстром выборе» и подписи шапки */
.vehicle-catalog__category-card > span, .vehicle-catalog__chip > span { font-size: 12px; }
.brand-row .eyebrow, .brand-row .brand-subtitle { font-size: 12px; }
/* claude-card-r78-css-END */

/* claude-desk-r80-css-START */
/* r80 (Claude): компьютер и планшет (от 768 px) — плотнее верх страницы: первая карточка была на 1546 px
   (две высоты экрана ноутбука). Шапка каталога, форма и «Быстрый выбор» компактнее; сортировка — в строке
   результатов */
@media (min-width: 768px) {
  #catalogViewPanel.vehicle-catalog { padding: 24px 28px 30px; gap: 16px; }
  /* 1. шапка каталога */
  #catalogViewPanel .vehicle-catalog__header { gap: 10px 20px; }
  #catalogViewPanel .vehicle-catalog__header h2 { margin: 2px 0 4px; font-size: clamp(24px, 2.3vw, 30px); }
  #catalogViewPanel .vehicle-catalog__stats { padding: 7px 14px; }
  /* 2. форма поиска: подзаголовок-дубль меньше, «Поиск по каталогу» скрыт, кнопки 48 px */
  #catalogViewPanel .vehicle-catalog__filters { padding: 12px 14px 14px; }
  #catalogViewPanel .vehicle-catalog__filters-head { padding-bottom: 0; }
  #catalogViewPanel .vehicle-catalog__filters-head .vehicle-catalog__eyebrow { display: none; }
  #catalogViewPanel .vehicle-catalog__filters-head h3 { margin: 0; font-size: 16px; line-height: 1.3; }
  #catalogViewPanel .catalog-plus__quick { margin: 0 0 6px; }
  #catalogViewPanel .vehicle-catalog__actions { padding-top: 12px; }
  #catalogViewPanel .vehicle-catalog__actions-buttons button { min-height: 48px; padding-top: 9px; padding-bottom: 9px; }
  /* 3. быстрый выбор: типы в один ряд, заголовок и раскрывашки компактнее */
  #catalogViewPanel .vehicle-catalog__showcase { padding: 12px 14px 14px; gap: 10px; }
  #catalogViewPanel .vehicle-catalog__showcase-head .vehicle-catalog__eyebrow { display: none; }
  #catalogViewPanel .vehicle-catalog__showcase-head h3 { margin: 0; font-size: 16px; line-height: 1.3; }
  #catalogViewPanel .vehicle-catalog__category-rail { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
  #catalogViewPanel .vehicle-catalog__category-card { min-height: 44px; padding: 8px 10px; gap: 2px 8px; }
  #catalogViewPanel .vehicle-catalog__category-card strong { font-size: 13px; line-height: 1.2; }
  #catalogViewPanel .vehicle-catalog__category-icon { width: 36px; height: 36px; }
  #catalogViewPanel .vehicle-catalog__showcase-group > summary { min-height: 40px; padding: 7px 12px; }
  #catalogViewPanel .vehicle-catalog__rail-toggle { min-height: 36px; padding: 5px 12px; font-size: 14px; margin-bottom: 10px; }
  #catalogViewPanel .vehicle-catalog__quick-panels { gap: 8px; }
  /* 4. сортировка в строке результатов (перенос делает JS-блок claude-desk-r80) */
  #catalogViewPanel .vehicle-catalog__sort-panel.oplc-sort-moved { display: none; }
  #catalogViewPanel .vehicle-catalog__result-head { flex-wrap: wrap; align-items: center; gap: 4px 16px; }
  #catalogViewPanel .vehicle-catalog__result-head .vehicle-catalog__sort { margin-left: auto; gap: 8px; font-size: 14px; }
  #catalogViewPanel .vehicle-catalog__result-head .vehicle-catalog__sort > span { font-size: 13px; color: #5f6f73; }
  #catalogViewPanel .vehicle-catalog__result-head .vehicle-catalog__sort select { height: 40px; padding: 6px 34px 6px 12px; font-size: 14px; }
  #catalogViewPanel .vehicle-catalog__result-head #catalogResultStatus { flex: 1 1 100%; order: 5; max-width: none; margin: 0; text-align: left; font-size: 13px; line-height: 1.4; color: #5f6f73; }
  /* 5. витрина «Самые интересные»: заголовок в масштабе остальных; ссылка «Перейти к поиску» лишняя —
     форма поиска прямо над витриной (на телефоне скрыта с r74) */
  #catalogViewPanel .catalog-featured__head h3 { font-size: 24px; }
  #catalogFeaturedSearchLink { display: none; }
}
/* 5а. витрина «Самые интересные предложения»: те же размеры и контраст, что в карточках выдачи (в моих
   правилах r30 остались 10.5–11 px и серый 3.9:1); на компьютере карточки компактнее и в четыре колонки
   от 1366 px — блок с тремя карточками был 719 px высотой */
.opl-card-v2 .catalog-featured-card__discount > span { font-size: 12px; color: #7a5209; }
.opl-card-v2 .catalog-featured-card__discount strong { font-size: 17px; color: #5c3d06; }
.opl-card-v2 .catalog-featured-card__discount small { font-size: 12px; color: #6f5b34; }
.opl-card-v2 .catalog-featured-card__body > p { font-size: 12.5px; color: #5f6f73; }
.opl-card-v2 .catalog-featured-card__badges .catalog-card__badge { font-size: 12px; }
@media (min-width: 768px) {
  #catalogViewPanel .catalog-featured { padding: 14px 16px; gap: 10px; }
  #catalogViewPanel .catalog-featured__head .vehicle-catalog__eyebrow { display: none; }
  #catalogViewPanel .catalog-featured__head > div { max-width: none; }
  #catalogViewPanel .catalog-featured-card--with-photo .catalog-featured-card__image { aspect-ratio: 3 / 2; }
  #catalogViewPanel .catalog-featured-card__body { padding: 12px; gap: 6px; }
  #catalogViewPanel .catalog-featured-card__body h4 { min-height: 0; font-size: 15px; }
  #catalogViewPanel .catalog-featured-card__price { font-size: 20px; }
  #catalogViewPanel .catalog-featured-card__discount { padding: 8px 10px; }
  #catalogViewPanel .catalog-featured-card__discount strong { font-size: 16px; }
  #catalogViewPanel .catalog-featured-card__actions button { min-height: 40px; }
  #catalogViewPanel .catalog-featured__toggle { min-height: 40px; }
}
/* телефон: витрина — горизонтальная лента карточек (листается пальцем), а не одна высокая карточка на весь
   экран с кнопкой «Показать ещё»; так устроены подборки на маркетплейсах */
@media (max-width: 767px) {
  #catalogViewPanel .catalog-featured__grid { display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch; margin: 0 -12px; padding: 0 12px 6px; scrollbar-width: none; }
  #catalogViewPanel .catalog-featured__grid::-webkit-scrollbar { display: none; }
  #catalogViewPanel .catalog-featured__grid[data-expanded="false"] > .catalog-featured-card:nth-child(n + 2) { display: grid; }
  #catalogViewPanel .catalog-featured-card { flex: 0 0 78%; max-width: 300px; scroll-snap-align: start; }
  #catalogViewPanel .catalog-featured-card--with-photo .catalog-featured-card__image { min-height: 0; aspect-ratio: 16 / 9; }
  #catalogViewPanel .catalog-featured-card__body { padding: 12px; gap: 6px; }
  #catalogViewPanel .catalog-featured-card__body h4 { min-height: 0; font-size: 15px; }
  #catalogViewPanel .catalog-featured__toggle { display: none !important; }
}
@media (min-width: 1366px) {
  #catalogViewPanel .catalog-featured__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  #catalogViewPanel .catalog-featured__grid[data-expanded="false"] > .catalog-featured-card:nth-child(4) { display: grid; }
}
/* 5б. узкая панель поиска при прокрутке — и на планшете 768–899 px (правило r14 прятало её ниже 900 px;
   лист «Поиск и фильтры» с нижней панелью работает только до 767 px, и на планшете после прокрутки
   к поиску было не вернуться) */
@media (min-width: 768px) and (max-width: 899px) {
  #catalogStickyBar.catalog-plus__sticky:not([hidden]) { display: flex !important; padding: 8px 14px; }
}
/* 5в. свёрнутая витрина после поиска — заметная кнопка (владелец 23.09: «должна быть примечательнее и
   выделяться»): была серая пунктирная строка 14 px, теперь бирюзовая таблетка со звёздочкой, 46 px */
.catalog-plus__featured-restore, .opl-card-v2 .catalog-plus__featured-restore {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px; width: auto; min-height: 46px;
  justify-self: start; align-self: flex-start; margin: 0 0 12px; padding: 10px 24px; border: 2px solid #0c7c80; border-radius: 999px;
  background: #e6f6f6; color: #075e62; font-size: 15px; font-weight: 700; text-align: center; cursor: pointer;
  box-shadow: 0 3px 10px rgba(12, 124, 128, .14); transition: background .15s, color .15s, transform .15s;
}
.catalog-plus__featured-restore::before { content: "★"; font-size: 17px; line-height: 1; color: #e2a11b; }
.catalog-plus__featured-restore:hover, .opl-card-v2 .catalog-plus__featured-restore:hover { background: #0c7c80; color: #fff; border-color: #0c7c80; transform: translateY(-1px); }
.catalog-plus__featured-restore:hover::before { color: #ffd166; }
@media (max-width: 767px) { .catalog-plus__featured-restore, .opl-card-v2 .catalog-plus__featured-restore { width: 100%; align-self: stretch; } }
/* 6. карточка без фото в сетке на компьютере: заглушка на месте фото той же пропорции (3:2) — иначе
   карточка начиналась с названия и заканчивалась пустотой на высоту соседей с фото */
@media (min-width: 768px) {
  .opl-card-v2 .catalog-card--no-photo { grid-template-rows: auto minmax(0, 1fr); }
  .opl-card-v2 .catalog-card--no-photo::before {
    content: "Фото по запросу"; display: grid; place-items: center; aspect-ratio: 3 / 2;
    background: linear-gradient(135deg, #eef3f4 0%, #dde6e8 100%); color: #5f6f73; font-size: 13px; font-weight: 600;
  }
}
/* 6а. пока каталог грузится (1–2 с на бою), сетка была пустой — под заголовком «Загружаем…» сразу шли
   ссылки подвала. Теперь на месте выдачи два «скелета» карточек с мерцанием, как на маркетплейсах;
   показываются только пока сетка пуста и нет сообщения «ничего не найдено»; через 12 с гаснут сами
   (если поиск упал с ошибкой, вечной загрузки не будет) */
.opl-card-v2 #catalogEmpty[hidden] ~ #catalogGrid:empty::before,
.opl-card-v2 #catalogEmpty[hidden] ~ #catalogGrid:empty::after {
  content: ""; display: block; min-height: 380px; border-radius: 14px; border: 1px solid #e6edee;
  background:
    linear-gradient(90deg, #e9eef0 0%, #f4f7f8 50%, #e9eef0 100%) 0 0 / 200% 55% repeat-x,
    linear-gradient(#e9eef0, #e9eef0) 14px 62% / 70% 14px no-repeat,
    linear-gradient(#eef2f3, #eef2f3) 14px 70% / 50% 12px no-repeat,
    linear-gradient(#e9eef0, #e9eef0) 14px 80% / 40% 18px no-repeat,
    #fff;
  animation: oplc-shimmer 1.4s linear infinite, oplc-skel-off .3s 12s forwards;
}
@keyframes oplc-shimmer { from { background-position: 200% 0, 14px 62%, 14px 70%, 14px 80%; } to { background-position: -200% 0, 14px 62%, 14px 70%, 14px 80%; } }
@keyframes oplc-skel-off { to { visibility: hidden; min-height: 0; height: 0; border: 0; } }
/* 6б. пустая выдача: под моим объяснением («…сейчас в каталоге нет») шёл ещё общий абзац catalog.js
   «В текущем каталоге нет точного совпадения…» — дубль; из трёх кнопок две были главными (тёмными) —
   «Сбросить фильтры» теперь второстепенная; заголовок выдачи без чёрной рамки фокуса */
.opl-card-v2 #catalogEmpty .catalog-plus__alts ~ p { display: none; }
.opl-card-v2 #catalogEmpty .vehicle-catalog__city-suggestions > p { font-size: 13px; color: #5f6f73; }
.opl-card-v2 #catalogEmpty #catalogEmptySearch { background: #fff; color: #0c7c80; border: 1px solid #b9dedf; }
.opl-card-v2 #catalogEmpty #catalogEmptySearch:hover { border-color: #0c7c80; }
#catalogResultTitle:focus { outline: none; }
/* 6в. окно «Подробнее» на телефоне и планшете (одна колонка): блок скидки шёл до цены и характеристик
   (241 px текста до цены) — теперь порядок: цена и характеристики, скидка, расчёт; текст оговорки о скидке
   обычным начертанием (жирный абзац на 130 px читался тяжело), бейдж «Не гарантирована» 12 px */
@media (max-width: 899px) {
  .opl-card-v2 .catalog-lot-dialog__scroll > .catalog-lot-dialog__head { order: 0; }
  .opl-card-v2 .catalog-lot-dialog__scroll > #catalogLotFacts { order: 1; }
  .opl-card-v2 .catalog-lot-dialog__scroll > #catalogLotDiscount { order: 2; }
  .opl-card-v2 .catalog-lot-dialog__scroll > #catalogLotFinance { order: 3; }
  .opl-card-v2 .catalog-lot-dialog__scroll > #catalogLotSource { order: 4; }
  .opl-card-v2 .catalog-lot-dialog__scroll > .catalog-lot-dialog__actions { order: 5; }
}
.opl-card-v2 .catalog-lot-dialog__discount-copy { font-weight: 500; line-height: 1.5; }
.opl-card-v2 .catalog-lot-dialog__discount-badge { font-size: 12px; }
/* 7. ссылка «Ещё N похожих» в карточке: зона нажатия 32 px на компьютере и 40 px на телефоне,
   раскладка не сдвигается (отрицательные поля уходят в зазоры карточки) */
.opl-card-v2 .catalog-card__group-summary { min-height: 32px; padding: 2px 0; margin: -2px 0; }
@media (max-width: 767px) {
  .opl-card-v2 .catalog-card__group-summary { min-height: 40px; padding: 4px 0; margin: -4px 0; }
}
/* claude-desk-r80-css-END */

/* claude-r81-css-START */
/* r81 (Claude): шлифовка после r80 — кнопка витрины в пустой выдаче, кнопки карточек по одной линии,
   плашка типа на заглушке без фото, форма заявки */
/* 1. кнопка «★ Показать «Самые интересные предложения»» внутри блока «карточек нет» */
#catalogEmpty .catalog-plus__featured-restore,
.opl-card-v2 #catalogEmpty .catalog-plus__featured-restore { margin: 2px auto 6px; justify-self: center; align-self: center; }
@media (max-width: 767px) {
  .catalog-plus__featured-restore, .opl-card-v2 .catalog-plus__featured-restore {
    font-size: 13.5px; padding: 10px 12px; gap: 7px; min-height: 46px;
  }
  .catalog-plus__featured-restore::before, .opl-card-v2 .catalog-plus__featured-restore::before { font-size: 15px; }
  .oplc-restore-q { display: none; }
  #catalogEmpty .catalog-plus__featured-restore, .opl-card-v2 #catalogEmpty .catalog-plus__featured-restore { width: 100%; }
  .oplc-restore-verb { display: none; }
  /* r21 давал кнопке order:3 для порядка блоков панели — внутри блока «карточек нет» порядок по DOM */
  #catalogEmpty #catalogFeaturedRestore { order: 0; }
  /* блок «карточек нет» на телефоне: поля 28 px съедали ширину — 16 px */
  .opl-card-v2 #catalogEmpty { padding: 22px 16px; }
}
/* 2а. над заголовком выдачи была надпись «РЕЗУЛЬТАТЫ» + «Результаты подбора» — дважды одно слово (владелец 23.09) */
.vehicle-catalog__result-head .vehicle-catalog__eyebrow, .opl-card-v2 .vehicle-catalog__result-head .vehicle-catalog__eyebrow { display: none; }
/* 3. кнопки карточки прижаты к низу (в ряду — на одной линии) */
@media (min-width: 768px) {
  .opl-card-v2 .catalog-card__actions { margin-top: auto; }
  /* 4. карточка без фото: плашка типа техники — на заглушке «Фото по запросу» */
  .opl-card-v2 .catalog-card--no-photo { position: relative; }
  .opl-card-v2 .catalog-card--no-photo .catalog-card__top .catalog-card__type {
    position: absolute; z-index: 2; left: 10px; top: 10px;
    padding: 4px 10px; border-radius: 999px; border: 0;
    background: rgba(11, 32, 34, .72); color: #fff;
    font-size: 12px; font-weight: 700; letter-spacing: .01em;
  }
  .opl-card-v2 .catalog-card--no-photo .catalog-card__top h3 { display: block; }
}
/* 5. «Ещё N похожих» без тени базового стиля */
.opl-card-v2 .catalog-card__group-summary, .opl-card-v2 .catalog-card__group-summary:hover,
.opl-card-v2 .catalog-card__group-summary:focus-visible { box-shadow: none; background: transparent; }
/* 6. форма заявки: комментарий целиком, галочка согласия заметнее */
.opl-card-v2 #catalogLeadComment { min-height: 92px; height: auto; }
@media (min-width: 768px) {
  .opl-card-v2 #catalogLeadComment { min-height: 84px; font-size: 14px; line-height: 1.45; }
}
.opl-card-v2 .catalog-lead-dialog__consent input {
  width: 18px; height: 18px; min-height: 18px; margin: 1px 0 0; accent-color: #0c7c80; flex: 0 0 auto;
}
/* claude-r81-css-END */

/* claude-assistant-r82-css-START */
/* r82 (Claude): ИИ-помощник подбора — кнопка «Опишите своими словами», окно описания, полоса «понял так» */
.catalog-plus__ai-trigger {
  display: inline-flex; align-items: center; justify-content: center; gap: 7px;
  min-height: 36px; padding: 6px 14px; border: 1px solid #b9dedf; border-radius: 999px;
  background: linear-gradient(135deg, #eefaf9, #fff); color: #075e62;
  font: inherit; font-size: 13px; font-weight: 700; line-height: 1.2; cursor: pointer;
  box-shadow: 0 2px 8px rgba(12, 124, 128, .10); transition: background .15s ease, border-color .15s ease, transform .15s ease;
}
.catalog-plus__ai-trigger:hover { border-color: #0c7c80; background: #e6f6f6; transform: translateY(-1px); }
.catalog-plus__ai-trigger .catalog-plus__ai-spark { font-size: 15px; line-height: 1; }
.catalog-plus__ai-trigger--quick { margin-left: auto; }
@media (max-width: 767px) {
  .catalog-plus__ai-trigger--quick { margin-left: 0; width: 100%; min-height: 44px; font-size: 14px; }
  .catalog-plus__ai-trigger--toolbar { width: 100%; min-height: 46px; margin-top: 8px; font-size: 14.5px; border-radius: 10px; }
}
@media (min-width: 768px) {
  .catalog-plus__ai-trigger--toolbar { display: none; }
  /* строка быстрых кнопок: «Только с фото», «Со свежей проверкой», «✨ Опишите…», справа — «Все фильтры» */
  .catalog-plus__quick .catalog-plus__ai-trigger--quick { order: 1; margin-left: 0; }
  .catalog-plus__quick .catalog-plus__quick-more { order: 2; margin-left: auto; }
}
/* окно */
.catalog-plus__ai-dialog { width: min(600px, calc(100% - 24px)); max-height: min(92vh, 720px); margin: auto; padding: 0; border: 0; border-radius: 16px; box-shadow: 0 24px 60px rgba(7, 40, 42, .28); background: #fff; color: #1f2f33; }
.catalog-plus__ai-dialog::backdrop { background: rgba(7, 40, 42, .48); }
.catalog-plus__ai-form { display: grid; gap: 12px; padding: 20px 22px 18px; }
.catalog-plus__ai-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 12px; align-items: start; }
.catalog-plus__ai-eyebrow { grid-column: 1; margin: 0; color: #0c7c80; font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.catalog-plus__ai-head h3 { grid-column: 1; margin: 0; font-size: 20px; line-height: 1.25; font-weight: 800; }
.catalog-plus__ai-close { grid-column: 2; grid-row: 1 / span 2; width: 40px; height: 40px; border: 1px solid #d7e5e6; border-radius: 999px; background: #fff; color: #3f5d60; font: inherit; font-size: 22px; line-height: 1; cursor: pointer; }
.catalog-plus__ai-close:hover { border-color: #0c7c80; color: #0c7c80; }
.catalog-plus__ai-label { font-size: 13px; font-weight: 700; color: #46565a; }
#catalogAssistantText { width: 100%; min-height: 96px; padding: 11px 12px; border: 1px solid #b9c9cc; border-radius: 10px; font: inherit; font-size: 16px; line-height: 1.45; resize: vertical; box-sizing: border-box; }
#catalogAssistantText:focus { outline: 2px solid #0c7c80; outline-offset: 0; border-color: #0c7c80; }
.catalog-plus__ai-examples { display: flex; flex-wrap: wrap; gap: 6px 8px; align-items: center; margin: -2px 0 0; font-size: 12.5px; color: #5f6f73; }
.catalog-plus__ai-examples button { padding: 5px 10px; border: 1px solid #d7e5e6; border-radius: 999px; background: #f7fafb; color: #0c7c80; font: inherit; font-size: 12.5px; font-weight: 600; cursor: pointer; }
.catalog-plus__ai-examples button:hover { border-color: #0c7c80; background: #e6f6f6; }
.catalog-plus__ai-status { min-height: 18px; margin: 0; font-size: 13.5px; color: #5f6f73; }
.catalog-plus__ai-status[data-kind="error"] { color: #a33; }
.catalog-plus__ai-status[data-kind="busy"]::before { content: ""; display: inline-block; width: 12px; height: 12px; margin: 0 8px -1px 0; border: 2px solid #b9dedf; border-top-color: #0c7c80; border-radius: 50%; animation: oplc-ai-spin .8s linear infinite; }
@keyframes oplc-ai-spin { to { transform: rotate(360deg); } }
.catalog-plus__ai-actions { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 10px; }
.catalog-plus__ai-cancel { min-height: 46px; padding: 10px 18px; border: 1px solid #d7e5e6; border-radius: 12px; background: #fff; color: #3f5d60; font: inherit; font-size: 15px; font-weight: 700; cursor: pointer; }
.catalog-plus__ai-go { min-height: 46px; padding: 10px 18px; border: 0; border-radius: 12px; background: #0c7c80; color: #fff; font: inherit; font-size: 15px; font-weight: 800; cursor: pointer; }
.catalog-plus__ai-go:hover { background: #075e62; }
.catalog-plus__ai-go:disabled, .catalog-plus__ai-cancel:disabled { opacity: .6; cursor: default; }
.catalog-plus__ai-note { margin: 0; font-size: 12px; line-height: 1.45; color: #7a8a8d; }
@media (max-width: 767px) {
  .catalog-plus__ai-dialog { width: 100%; max-width: 100%; max-height: 100dvh; margin: auto 0 0; border-radius: 16px 16px 0 0; }
  .catalog-plus__ai-form { padding: 16px 16px 18px; }
  .catalog-plus__ai-head h3 { font-size: 18px; }
}
/* полоса над результатами */
.catalog-plus__ai-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin: -4px 0 4px; padding: 10px 14px; border: 1px solid #b9dedf; border-radius: 12px; background: #eefaf9; color: #1f2f33; font-size: 14px; line-height: 1.4; }
.catalog-plus__ai-bar[hidden] { display: none; }
.catalog-plus__ai-bar > span { flex: 1 1 260px; min-width: 0; }
.catalog-plus__ai-bar b { font-weight: 700; }
.catalog-plus__ai-bar small { display: block; color: #5f6f73; font-size: 12.5px; }
.catalog-plus__ai-bar button { min-height: 32px; padding: 4px 12px; border: 1px solid #b9dedf; border-radius: 999px; background: #fff; color: #0c7c80; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
.catalog-plus__ai-bar button:hover { border-color: #0c7c80; background: #e6f6f6; }
@media (max-width: 767px) { #catalogViewPanel > .catalog-plus__ai-bar { order: 4; } }
/* claude-assistant-r82-css-END */

/* claude-r83-css-START */
.catalog-plus__ai-dialog :where(button, textarea):focus-visible { outline: 2px solid #0c7c80; outline-offset: 2px; }
.catalog-plus__ai-bar button:focus-visible, .catalog-plus__ai-trigger:focus-visible { outline: 2px solid #0c7c80; outline-offset: 2px; }
/* claude-r83-css-END */

/* claude-auto-alias-css-START */
.catalog-plus__alt-bar { background: #fff8e6; border-color: #f1d99a; }
.catalog-plus__alt-bar button { color: #7a5209; border-color: #e5c980; }
.catalog-plus__alt-bar button:hover { background: #fff2cc; border-color: #c9a24a; }
.catalog-plus__alt-bar[hidden] { display: none; }
@media (max-width: 767px) { #catalogViewPanel > .catalog-plus__alt-bar { order: 4; } }
/* claude-auto-alias-css-END */

/* claude-r92-css-START */
/* r92 (Claude, 23.09): единая визуальная система — скругления 16/12/999/8, одна мягкая тень, иерархия карточки,
   компактная плашка скидки, кнопки-призраки вместо ссылок, единый фокус. Структура и функции без изменений. */
:root {
  --oplc-ink: #111617; --oplc-ink2: #33474a; --oplc-muted: #5f6f73; --oplc-line: #e3ebec; --oplc-line-strong: #cfe0e1;
  --oplc-accent: #05777d; --oplc-accent-dark: #045f64; --oplc-accent-soft: #eef8f8; --oplc-accent-soft2: #dff0f1;
  --oplc-r-card: 16px; --oplc-r-ctl: 12px; --oplc-r-badge: 8px;
  --oplc-shadow-rest: 0 1px 2px rgba(16, 40, 44, .05);
  --oplc-shadow-hover: 0 10px 26px rgba(16, 40, 44, .10), 0 2px 6px rgba(16, 40, 44, .06);
  --oplc-shadow-bar: 0 4px 18px rgba(16, 32, 48, .10);
  --oplc-focus: 0 0 0 3px rgba(5, 119, 125, .22);
}
/* контейнеры */
.vehicle-catalog { border-radius: var(--oplc-r-card); border-color: var(--oplc-line); }
.opl-card-v2 .vehicle-catalog__stats { border-radius: 12px; }
.opl-card-v2 .catalog-featured, .catalog-plus__resume, #catalogEmpty, .vehicle-catalog__empty { border-radius: 14px; }
/* поля и кнопки формы */
.vehicle-catalog input[type="search"], .vehicle-catalog input[type="text"], .vehicle-catalog input[type="number"],
.vehicle-catalog input[type="tel"], .vehicle-catalog select, .vehicle-catalog textarea {
  border-radius: var(--oplc-r-ctl); border-color: var(--oplc-line-strong); box-shadow: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.vehicle-catalog input:focus-visible, .vehicle-catalog select:focus-visible, .vehicle-catalog textarea:focus-visible {
  outline: 0; border-color: var(--oplc-accent); box-shadow: var(--oplc-focus);
}
.vehicle-catalog :where(button, a, [role="button"], summary):focus-visible { outline: 2px solid var(--oplc-accent); outline-offset: 2px; }
.vehicle-catalog input[type="search"]:not(.catalog-plus__sticky-input), .vehicle-catalog select, .vehicle-catalog input[type="text"], .vehicle-catalog input[type="number"] { min-height: 52px; }
#catalogApply, .vehicle-catalog__apply {
  border-radius: var(--oplc-r-ctl); box-shadow: 0 6px 16px rgba(0, 121, 128, .20); font-weight: 800;
  transition: box-shadow .15s ease, transform .1s ease, filter .15s ease;
}
#catalogApply:hover, .vehicle-catalog__apply:hover { filter: brightness(1.04); box-shadow: 0 8px 20px rgba(0, 121, 128, .26); }
#catalogApply:active, .vehicle-catalog__apply:active { transform: translateY(1px); box-shadow: 0 3px 10px rgba(0, 121, 128, .22); }
#catalogReset, .vehicle-catalog__reset { border-radius: var(--oplc-r-ctl); font-weight: 800; }
#catalogReset:hover, .vehicle-catalog__reset:hover { background: var(--oplc-accent-soft); }
.catalog-plus__quick .catalog-plus__quick-btn, .catalog-plus__quick .catalog-plus__quick-more, .catalog-plus__ai-trigger { min-height: 38px; }
.catalog-plus__quick .catalog-plus__quick-btn:hover { background: var(--oplc-accent-soft); border-color: #bcd9db; }
/* шапка выдачи */
.opl-card-v2 .vehicle-catalog__result-head h3 { font-size: 22px; font-weight: 800; letter-spacing: -.01em; color: var(--oplc-ink); }
.opl-card-v2 #catalogResultStatus { color: var(--oplc-muted); }
.opl-card-v2 .vehicle-catalog__sort select { border-radius: var(--oplc-r-ctl); min-height: 44px; }
/* карточка */
.opl-card-v2 .catalog-card {
  border-radius: var(--oplc-r-card); border: 1px solid var(--oplc-line); box-shadow: var(--oplc-shadow-rest);
  transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease;
}
@media (hover: hover) and (pointer: fine) {
  .opl-card-v2 .catalog-card:hover { box-shadow: var(--oplc-shadow-hover); border-color: var(--oplc-line-strong); transform: translateY(-2px); }
  .opl-card-v2 .catalog-card:hover .catalog-card__title-button { color: var(--oplc-accent); }
}
.opl-card-v2 .catalog-card__image { border-radius: var(--oplc-r-card) var(--oplc-r-card) 0 0; background: #e9eff0; }
.opl-card-v2 .catalog-card__image .catalog-card__type, .opl-card-v2 .catalog-card--no-photo .catalog-card__type {
  background: rgba(17, 22, 23, .74); color: #fff; font-weight: 700; letter-spacing: 0; border-radius: 999px;
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
.opl-card-v2 .catalog-card__title-button { font-weight: 700; color: var(--oplc-ink); transition: color .15s ease; }
.opl-card-v2 .oplc-line, .opl-card-v2 .oplc-line b { color: var(--oplc-muted); font-weight: 500; }
.opl-card-v2 .catalog-card__price strong { font-weight: 800; letter-spacing: -.01em; color: var(--oplc-ink); }
.opl-card-v2 .catalog-card__price small { font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--oplc-muted); }
/* плашка скидки: одно предложение «Возможная скидка 5–30 % по согласованию» + строка оговорки (было три строки, 85 px) */
.opl-card-v2 .catalog-card__discount {
  display: block; padding: 8px 10px; border-radius: 10px; background: #fff8e8; border: 1px solid #f1e0bd; font-size: 12.5px; line-height: 1.3;
}
.opl-card-v2 .catalog-card__discount > span { display: inline; font-size: 12.5px; line-height: 1.3; font-weight: 800; color: #7a5209; text-transform: none; letter-spacing: 0; }
.opl-card-v2 .catalog-card__discount > span::after { content: " "; }
.opl-card-v2 .catalog-card__discount strong { display: inline; font-size: 12.5px; line-height: 1.3; font-weight: 800; color: #7a5209; }
.opl-card-v2 .catalog-card__discount small { display: block; margin-top: 2px; font-size: 12px; line-height: 1.35; color: #6f5b34; }
.opl-card-v2 .catalog-card__group-summary { font-size: 13px; font-weight: 700; text-decoration-color: #b9dedf; text-underline-offset: 3px; }
/* действия: одна цветная кнопка + два тихих действия как кнопки */
.opl-card-v2 .catalog-card__actions { gap: 6px 8px; }
.opl-card-v2 .catalog-card__actions .catalog-card__lead {
  border-radius: var(--oplc-r-ctl); min-height: 44px; font-size: 14.5px; font-weight: 800; letter-spacing: .01em;
  transition: background .15s ease, transform .1s ease;
}
.opl-card-v2 .catalog-card__actions .catalog-card__lead:active { transform: translateY(1px); }
.opl-card-v2 .catalog-card__actions .catalog-card__details,
.opl-card-v2 .catalog-card__actions .catalog-card__calculation {
  min-height: 40px; padding: 6px 10px; border-radius: 10px; border: 1px solid transparent;
  text-align: center; text-decoration: none; font-size: 13.5px; font-weight: 700; color: #2f6a6d;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.opl-card-v2 .catalog-card__actions .catalog-card__details:hover,
.opl-card-v2 .catalog-card__actions .catalog-card__calculation:hover { background: var(--oplc-accent-soft); border-color: var(--oplc-accent-soft2); color: var(--oplc-accent-dark); text-decoration: none; }
/* витрина «Самые интересные предложения» — те же токены, что у карточек выдачи */
.opl-card-v2 .catalog-featured-card { border-radius: var(--oplc-r-card); border: 1px solid var(--oplc-line); box-shadow: var(--oplc-shadow-rest); transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease; }
@media (hover: hover) and (pointer: fine) { .opl-card-v2 .catalog-featured-card:hover { box-shadow: var(--oplc-shadow-hover); border-color: var(--oplc-line-strong); transform: translateY(-2px); } }
.opl-card-v2 .catalog-featured-card__image { border-radius: var(--oplc-r-card) var(--oplc-r-card) 0 0; background: #e9eff0; }
.opl-card-v2 .catalog-featured-card__body h4 { font-size: 16px; font-weight: 700; color: var(--oplc-ink); }
.opl-card-v2 .catalog-featured-card__price { font-size: 20px; font-weight: 800; letter-spacing: -.01em; color: var(--oplc-ink); }
.opl-card-v2 .catalog-featured-card__discount { display: block; padding: 8px 10px; border-radius: 10px; background: #fff8e8; border: 1px solid #f1e0bd; font-size: 12.5px; line-height: 1.3; }
.opl-card-v2 .catalog-featured-card__discount > span { display: inline; font-size: 12.5px; line-height: 1.3; font-weight: 800; color: #7a5209; text-transform: none; letter-spacing: 0; }
.opl-card-v2 .catalog-featured-card__discount > span::after { content: " "; }
.opl-card-v2 .catalog-featured-card__discount strong { display: inline; font-size: 12.5px; line-height: 1.3; font-weight: 800; color: #7a5209; }
.opl-card-v2 .catalog-featured-card__discount small { display: block; margin-top: 2px; font-size: 12px; line-height: 1.35; color: #6f5b34; }
.opl-card-v2 .catalog-featured-card__actions button { border-radius: var(--oplc-r-ctl); min-height: 44px; font-size: 14.5px; font-weight: 800; letter-spacing: .01em; }
.opl-card-v2 .catalog-card__badge { border-radius: var(--oplc-r-badge); font-weight: 700; }
.opl-card-v2 .catalog-featured__toggle, .opl-card-v2 .catalog-featured__more { border-radius: var(--oplc-r-ctl); }
/* пустая выдача: кнопки одной семьи */
#catalogEmpty .catalog-plus__alt, #catalogEmptySearch { border-radius: var(--oplc-r-ctl); min-height: 44px; font-size: 15px; font-weight: 800; }
#catalogEmpty .catalog-plus__alt:hover { background: var(--oplc-accent-dark); }
#catalogEmptySearch:hover { background: var(--oplc-accent-soft); }
.catalog-plus__sticky-count:empty { display: none; }
/* заглушка без фото: пиктограмма камеры над подписью (свой рисунок), спокойный фон */
@media (min-width: 768px) {
  .opl-card-v2 .catalog-card--no-photo::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238fa3a7' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8h3l2-2h6l2 2h3v11H4z'/%3E%3Ccircle cx='12' cy='13' r='3.5'/%3E%3C/svg%3E"), linear-gradient(135deg, #eef3f4 0%, #e3eaec 100%);
    background-repeat: no-repeat, no-repeat; background-position: center calc(50% - 16px), 0 0; background-size: 30px 30px, auto;
    padding-top: 30px; font-weight: 600; color: #6b7c80;
  }
}
.opl-card-v2 .catalog-card__image:not([data-photo-state="available"]) {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238fa3a7' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8h3l2-2h6l2 2h3v11H4z'/%3E%3Ccircle cx='12' cy='13' r='3.5'/%3E%3C/svg%3E"), linear-gradient(135deg, #eef3f4 0%, #e3eaec 100%);
  background-repeat: no-repeat, no-repeat; background-position: center calc(50% - 16px), 0 0; background-size: 30px 30px, auto;
}
.opl-card-v2 .catalog-card__image:not([data-photo-state="available"])::after { padding-top: 30px; font-weight: 600; color: #6b7c80; }
/* диалоги: тот же фокус полей, что и в форме поиска */
.catalog-lead-dialog input:focus-visible, .catalog-lead-dialog textarea:focus-visible, .catalog-lead-dialog select:focus-visible,
.catalog-lot-dialog input:focus-visible, .catalog-lot-dialog select:focus-visible, .catalog-plus__ai-dialog textarea:focus-visible {
  outline: 0; border: 1px solid var(--oplc-accent); box-shadow: var(--oplc-focus);
}
/* пагинация, sticky-панель, диалоги */
.opl-card-v2 .vehicle-catalog__pagination button, .opl-card-v2 .catalog-pager button { border-radius: var(--oplc-r-ctl); min-height: 44px; }
#catalogStickyBar { box-shadow: var(--oplc-shadow-bar); border-bottom: 1px solid var(--oplc-line); }
#catalogStickyBar .catalog-plus__sticky-input { border-radius: var(--oplc-r-ctl); min-height: 44px; border-color: var(--oplc-line-strong); }
#catalogStickyBar .catalog-plus__sticky-go { border-radius: var(--oplc-r-ctl); min-height: 44px; font-weight: 800; }
#catalogStickyBar .catalog-plus__sticky-count { padding: 6px 10px; border-radius: 999px; background: var(--oplc-accent-soft); color: var(--oplc-accent-dark); font-size: 13px; font-weight: 700; white-space: nowrap; }
.catalog-lot-dialog, .catalog-lead-dialog { border-radius: var(--oplc-r-card); }
/* телефон */
@media (max-width: 767px) {
  .vehicle-catalog input[type="search"]:not(.catalog-plus__sticky-input), .vehicle-catalog select, .vehicle-catalog input[type="text"], .vehicle-catalog input[type="number"] { min-height: 48px; }
  .opl-card-v2 .catalog-card__body { padding: 13px 14px 14px !important; gap: 8px !important; }
  .opl-card-v2 .catalog-card__title-button { font-size: 17px; }
  .opl-card-v2 .catalog-card__price strong { font-size: 22px; }
  .opl-card-v2 .catalog-card__actions .catalog-card__lead { min-height: 48px; font-size: 15px; }
  .opl-card-v2 .catalog-card__actions .catalog-card__details,
  .opl-card-v2 .catalog-card__actions .catalog-card__calculation { min-height: 44px; font-size: 14px; border-color: var(--oplc-line); }
  .opl-card-v2 .vehicle-catalog__result-head h3 { font-size: 20px; }
  #catalogPlusBar .catalog-plus__filters-btn, #catalogPlusBar .catalog-plus__top-btn, #catalogPlusBar .catalog-plus__call-btn { border-radius: var(--oplc-r-ctl); }
}
/* claude-r92-css-END */

/* claude-r93-css-START */
/* r93 (Claude, 23.09): токены r92 в окнах «Подробнее» и «Заявка», в быстром выборе и на панели фильтров телефона */
.catalog-lot-dialog .catalog-lot-dialog__fact, .catalog-lot-dialog .catalog-lot-dialog__source, .catalog-lot-dialog .catalog-lot-dialog__discount,
.catalog-lot-dialog .catalog-finance__price, .catalog-lot-dialog .catalog-finance__tile, .catalog-lot-dialog .catalog-finance__tax,
.catalog-lot-dialog .catalog-lot-dialog__image { border-radius: 12px; }
.catalog-lot-dialog .catalog-finance { border-radius: 14px; box-shadow: none; }
.catalog-lot-dialog select, .catalog-lot-dialog input[type="number"], .catalog-lot-dialog input[type="text"] { border-radius: var(--oplc-r-ctl); }
.catalog-lot-dialog .catalog-lot-dialog__calculation, .catalog-lot-dialog .catalog-lot-dialog__similar {
  border-radius: var(--oplc-r-ctl); min-height: 48px; font-weight: 800; transition: background .15s ease, border-color .15s ease;
}
.catalog-lot-dialog .catalog-lot-dialog__calculation:hover, .catalog-lot-dialog .catalog-lot-dialog__similar:hover { background: var(--oplc-accent-soft); border-color: #bcd9db; }
.catalog-lot-dialog .catalog-lot-dialog__lead { border-radius: var(--oplc-r-ctl); min-height: 50px; font-weight: 800; letter-spacing: .01em; }
.catalog-lot-dialog .catalog-lot-dialog__lead:hover { background: var(--oplc-accent-dark); }
.catalog-lot-dialog .catalog-photo-gallery__counter { border-radius: 8px; }
.catalog-lead-dialog input, .catalog-lead-dialog textarea, .catalog-lead-dialog select { border-radius: var(--oplc-r-ctl); }
.catalog-lead-dialog input:not([type="checkbox"]):not([type="radio"]) { min-height: 48px; }
.catalog-lead-dialog .vehicle-catalog__reset, .opl-card-v2 #catalogLeadCancel, .catalog-lead-dialog .catalog-lead-dialog__submit { border-radius: var(--oplc-r-ctl); min-height: 48px; font-weight: 800; }
.catalog-lead-dialog .catalog-lead-dialog__submit:hover { background: var(--oplc-accent-dark); }
.catalog-lead-dialog .catalog-lead-dialog__lot { border-radius: 10px; }
.catalog-plus__ai-dialog .catalog-plus__ai-go, .catalog-plus__ai-dialog .catalog-plus__ai-cancel { border-radius: var(--oplc-r-ctl); min-height: 48px; }
.catalog-plus__ai-dialog textarea { border-radius: var(--oplc-r-ctl); }
/* быстрый выбор и чипы */
.vehicle-catalog__category-card, .vehicle-catalog__chip { border-radius: var(--oplc-r-ctl); }
.vehicle-catalog__category-card { transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
@media (hover: hover) and (pointer: fine) { .vehicle-catalog__category-card:hover { border-color: var(--oplc-line-strong); box-shadow: var(--oplc-shadow-rest); } }
/* телефон: панель фильтров */
#catalogPlusSheet .catalog-plus__close-btn, #catalogPlusSheet .catalog-plus__apply-btn, #catalogPlusSheet .catalog-plus__reset-btn { border-radius: var(--oplc-r-ctl); }
/* claude-r93-css-END */

/* claude-r94-css-START */
/* r94 (Claude): плашка «Найдётся: N предложений» у кнопки «Подобрать» (компьютер) */
.catalog-plus__live-count { display: inline-flex; align-items: center; min-height: 34px; padding: 6px 12px; border-radius: 999px;
  background: var(--oplc-accent-soft); color: var(--oplc-accent-dark); font-size: 13.5px; font-weight: 700; white-space: nowrap; margin-right: 4px; }
.catalog-plus__live-count--none { background: #fff3e6; color: #8a4b00; }
.catalog-plus__live-count[hidden] { display: none; }
@media (max-width: 767px) { .catalog-plus__live-count { display: none !important; } }
/* claude-r94-css-END */

/* claude-r95-css-START */
/* r95 (Claude, 23.09): шлифовка после сравнения «до/после» */
@media (min-width: 768px) {
  .opl-card-v2 .catalog-card--no-photo::before { box-sizing: border-box; }
  .opl-card-v2 .catalog-card__actions .catalog-card__details,
  .opl-card-v2 .catalog-card__actions .catalog-card__calculation { border-color: var(--oplc-line); }
  .opl-card-v2 .catalog-card__actions .catalog-card__details:hover,
  .opl-card-v2 .catalog-card__actions .catalog-card__calculation:hover { border-color: #bcd9db; }
}
/* claude-r95-css-END */

/* claude-r96-css-START */
/* r96 (Claude, 23.09): строка ежемесячного платежа под ценой — как у auto.ru и Европлана */
.opl-card-v2 .catalog-card__economics { display: block !important; order: 5; margin: -3px 0 0; padding: 0; background: none; border: 0; }
.opl-card-v2 .catalog-card__economics > div { display: flex !important; flex-wrap: wrap; align-items: baseline; column-gap: 5px; row-gap: 0; padding: 0; margin: 0; background: none; border: 0; }
.opl-card-v2 .catalog-card__economics > div:nth-child(2), .opl-card-v2 .catalog-card__economics > div:nth-child(3) { display: none !important; }
.opl-card-v2 .catalog-card__economics > div > span { display: none; }
.opl-card-v2 .catalog-card__economics > div > strong { font-size: 13px; font-weight: 700; color: var(--oplc-accent-dark); line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.opl-card-v2 .catalog-card__discount { order: 6; }
@media (max-width: 767px) {
  .opl-card-v2 .catalog-card__economics > div > span { display: inline; font-size: 13px; font-weight: 500; color: var(--oplc-muted); text-transform: none; letter-spacing: 0; }
  .opl-card-v2 .catalog-card__economics > div > span::after { content: " в лизинг:"; }
  .opl-card-v2 .catalog-card__economics > div > strong { font-size: 14px; white-space: normal; }
}
/* claude-r96-css-END */

/* claude-r97-css-START */
/* r97 (Claude, 23.09): CRM — селект «Лизинговая компания» и плашка ЛК в карточке (рисуются только менеджерам) */
.catalog-plus__lk-filter { min-width: 0; }
@media (min-width: 768px) { .vehicle-catalog__filters .catalog-plus__lk-filter { grid-column: span 2; } }
.catalog-plus__lk-filter select { width: 100%; }
.opl-card-v2 .catalog-plus__lk-line { margin: 0; line-height: 1; }
.opl-card-v2 .catalog-plus__lk { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; padding: 3px 9px; border-radius: var(--oplc-r-badge, 8px);
  background: var(--oplc-accent-soft, #e6f2f3); color: var(--oplc-accent-dark, #05777d); font-size: 12px; font-weight: 700; line-height: 1.3; cursor: pointer;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: background .15s ease; }
.opl-card-v2 .catalog-plus__lk::before { content: "ЛК"; font-size: 10.5px; font-weight: 800; letter-spacing: .05em; opacity: .65; }
.opl-card-v2 .catalog-plus__lk:hover, .opl-card-v2 .catalog-plus__lk:focus-visible { background: var(--oplc-accent-soft2, #d6e9ea); outline: none; }
.opl-card-v2 .catalog-featured-card .catalog-plus__lk-line { margin: 2px 0 4px; }
/* claude-r97-css-END */








/* claude-r98-css-START */
/* r98 (Claude, 23.09): код предложения в карточке, в окне «Подробнее», в заявке; плашка поиска по коду */
.opl-card-v2 .catalog-plus__code { margin: 0; order: 7; display: flex; align-items: center; flex-wrap: wrap; gap: 6px 8px; font-size: 12px; line-height: 1.3; color: var(--oplc-muted, #5f6f73); }
.opl-card-v2 .catalog-plus__code b { font-weight: 800; letter-spacing: .06em; color: var(--oplc-ink2, #33474a); font-variant-numeric: tabular-nums; }
.catalog-plus__code-copy { border: 1px solid var(--oplc-line, #e3ebec); background: #fff; border-radius: 8px; padding: 2px 8px; min-height: 24px; font: inherit; font-size: 11.5px; font-weight: 700; color: var(--oplc-accent-dark, #05777d); cursor: pointer; transition: background .15s ease; }
.catalog-plus__code-copy::before { content: "Скопировать"; }
.catalog-plus__code-copy[data-done="1"]::before { content: "Скопировано"; }
.catalog-plus__code-copy:hover, .catalog-plus__code-copy[data-done="1"] { background: var(--oplc-accent-soft, #e6f2f3); }
.opl-card-v2 .catalog-lot-dialog__scroll > .catalog-plus__code--lot, .catalog-lot-dialog .catalog-plus__code--lot { order: 0; margin: -6px 0 12px; display: flex; align-items: center; flex-wrap: wrap; gap: 6px 10px; font-size: 14px; color: var(--oplc-ink2, #33474a); }
.catalog-lot-dialog .catalog-plus__code--lot .catalog-plus__code-copy { width: auto; height: auto; border-radius: 10px; }
.catalog-lot-dialog .catalog-plus__code--lot b { font-size: 18px; font-weight: 800; letter-spacing: .08em; color: var(--oplc-accent-dark, #05777d); }
.catalog-lot-dialog .catalog-plus__code--lot .catalog-plus__code-copy { min-height: 30px; font-size: 12.5px; padding: 4px 10px; border-radius: 10px; }
.catalog-plus__code-hint { flex-basis: 100%; font-size: 12.5px; color: var(--oplc-muted, #5f6f73); }
.catalog-plus__code-notice { margin: 10px 0 0; padding: 10px 14px; border-radius: 12px; background: var(--oplc-accent-soft, #e6f2f3); color: var(--oplc-ink2, #33474a); font-size: 14px; line-height: 1.45; }
.catalog-plus__code-notice[hidden] { display: none; }
.catalog-plus__code-notice--gone, .catalog-plus__code-notice--none { background: #fff3e6; color: #8a4b00; }
.catalog-plus__code-similar { margin-left: 6px; border: 1px solid #e3c9a5; background: #fff; border-radius: 10px; padding: 4px 10px; min-height: 30px; font: inherit; font-size: 13px; font-weight: 700; color: #8a4b00; cursor: pointer; }
.opl-card-v2 .catalog-featured-card .catalog-plus__code { margin: 2px 0 6px; }
@media (max-width: 767px) { .opl-card-v2 .catalog-plus__code { font-size: 12.5px; } .catalog-lot-dialog .catalog-plus__code--lot b { font-size: 17px; } }
/* claude-r98-css-END */

/* claude-r99-css-START */
/* r99 (Claude, 23.09): шлифовка — кнопка копирования кода крупнее, подпись платежа на телефоне, контраст пагинации */
.catalog-plus__code-copy { font-size: 12.5px; min-height: 30px; padding: 4px 10px; border-radius: 9px; }
@media (max-width: 767px) {
  .catalog-plus__code-copy { min-height: 40px; padding: 8px 12px; font-size: 13px; }
  .opl-card-v2 .catalog-card__economics > div > span { display: none !important; }
  .opl-card-v2 .catalog-card__economics > div > strong { white-space: normal; }
}
.opl-card-v2 #catalogPageStatus, .opl-card-v2 #programCatalogPageStatus, .opl-card-v2 .vehicle-catalog__stats span { color: var(--oplc-muted); }
/* claude-r99-css-END */

/* claude-r100-css-START */
/* r100 (Claude, 23.09): код предложения в карточке — над кнопками, на компьютере компактная кнопка копирования */
.opl-card-v2 .catalog-card .catalog-plus__code { order: 91; margin: 2px 0 0; }
@media (min-width: 768px) {
  .opl-card-v2 .catalog-card .catalog-plus__code { flex-wrap: nowrap; }
  .opl-card-v2 .catalog-card .catalog-plus__code b { white-space: nowrap; }
  .opl-card-v2 .catalog-card .catalog-plus__code-copy { width: 30px; min-width: 30px; min-height: 28px; padding: 0; margin-left: auto; display: inline-flex; align-items: center; justify-content: center; }
  .opl-card-v2 .catalog-card .catalog-plus__code-copy::before { content: "⧉"; font-size: 15px; line-height: 1; color: var(--oplc-accent-dark); }
  .opl-card-v2 .catalog-card .catalog-plus__code-copy[data-done="1"]::before { content: "✓"; }
}
/* claude-r100-css-END */

/* claude-r101-css-START */
/* r101 (Claude, 23.09): планшет 768–899 — мобильная панель подтверждения не показывается; число найденного крупнее */
@media (min-width: 768px) { .catalog-plus__sheet-apply { display: none !important; } }
#catalogResultStatus .catalog-plus__count { font-size: 1.25em; font-weight: 800; color: var(--oplc-ink); font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
/* claude-r101-css-END */

/* claude-lot-details-r107: характеристики и описание в карточке «Подробнее» */
.oplc-lot-details { margin: 12px 0 4px; padding: 14px 16px 12px; border: 1px solid var(--line, #dfe6e8); border-radius: 12px; background: #fbfdfd; }
.oplc-lot-details__title { margin: 0 0 8px; font-size: 15px; font-weight: 850; color: var(--ink, #111617); }
.oplc-lot-details__title + .oplc-lot-specs, .oplc-lot-details__title + .oplc-lot-desc { margin-top: 0; }
.oplc-lot-specs + .oplc-lot-details__title, .oplc-lot-desc + .oplc-lot-details__title { margin-top: 14px; }
.oplc-lot-specs { display: grid; gap: 10px; }
.oplc-lot-specs__group h4 { margin: 0 0 4px; font-size: 11.5px; font-weight: 800; letter-spacing: .3px; text-transform: uppercase; color: #5b6b70; }
.oplc-lot-specs dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; margin: 0; }
.oplc-lot-specs dl > div { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; padding: 5px 0; border-bottom: 1px dashed #e3eaec; font-size: 13px; line-height: 1.35; }
.oplc-lot-specs dt { flex: 1 1 auto; min-width: 0; margin: 0; color: #4d5f63; }
.oplc-lot-specs dd { flex: 0 1 auto; max-width: 58%; margin: 0; font-weight: 750; color: var(--ink, #111617); text-align: right; overflow-wrap: break-word; hyphens: manual; }
.oplc-lot-specs.is-clamped .is-extra { display: none; }
.oplc-lot-specs-wrap > .oplc-lot-desc__more { margin-top: 6px; }
.oplc-lot-features-wrap + .oplc-lot-details__title { margin-top: 14px; }
.oplc-lot-specs-wrap + .oplc-lot-details__title { margin-top: 14px; }
.oplc-lot-features { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.oplc-lot-features li { padding: 4px 9px; border: 1px solid #dbe7e8; border-radius: 999px; background: #fff; font-size: 12.5px; line-height: 1.3; color: #2c3b3e; }
.oplc-lot-features.is-clamped li.is-extra { display: none; }
.oplc-lot-desc__text { margin: 0; font-size: 13.5px; line-height: 1.5; color: #273336; white-space: pre-line; }
.oplc-lot-desc__text.is-clamped { display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; }
.oplc-lot-desc__more { margin-top: 4px; padding: 2px 0; border: 0; background: none; font: inherit; font-size: 13px; font-weight: 750; color: var(--teal-dark, #0c7c80); cursor: pointer; }
.oplc-lot-desc__more:hover { text-decoration: underline; }
.oplc-lot-details__note { margin: 10px 0 0; font-size: 11.5px; line-height: 1.4; color: #6a7a7e; }
#catalogLotFacts .oplc-fact--details span { color: var(--ink, #111617); }
.oplc-ask-photos { display: block; width: 100%; margin: 8px 0 0; padding: 9px 12px; border: 1px dashed var(--teal-dark, #0c7c80); border-radius: 10px;
  background: var(--teal-soft, #e8f5f5); color: var(--teal-dark, #0c7c80); font: inherit; font-size: 13.5px; font-weight: 800; cursor: pointer; }
.oplc-ask-photos:hover { background: #d9efef; }
.oplc-ask-photos { height: auto; min-height: 0; align-self: start; }
@media (max-width: 899px) {
  .catalog-lot-dialog__scroll > #oplcLotDetails, .catalog-lot-dialog__scroll > .oplc-ask-photos { order: 1; }
  .catalog-lot-dialog__scroll > .oplc-ask-photos { margin: 0; }
  .oplc-lot-details { margin: 0; }
}
@media (max-width: 767px) {
  .oplc-lot-details { padding: 12px 12px 10px; }
  .oplc-lot-specs dl { grid-template-columns: 1fr; }
}

/* claude-lot-details-r107c: замечания по состоянию из подробностей */
#catalogLotFacts .oplc-fact--dcond { grid-column: 1 / -1; border-color: #f0d39c; background: #fff8e8; }
#catalogLotFacts .oplc-fact--dcond strong { color: #8a5a00; }
#catalogLotFacts .oplc-fact--dcond span { color: #5a3d00; font-weight: 700; }

/* claude-r108-css-START */
/* r108 (Claude, 25.09): новая техника дилера — плашка «Новая техника» на карточке и спокойная справка вместо блока скидки */
.catalog-card__new {
  display: inline-flex; align-items: center; width: max-content; max-width: 100%;
  padding: 4px 10px; border-radius: 999px;
  background: #127a4a; color: #fff;
  font-size: 12px; line-height: 1.25; font-weight: 800; letter-spacing: .01em;
}
.catalog-card__image .catalog-card__new {
  position: absolute; z-index: 2; right: 10px; top: 10px;
  box-shadow: 0 1px 6px rgba(9, 40, 26, .22);
}
.catalog-card__top .catalog-card__new { margin: 0 0 7px; }
.catalog-lot-dialog__discount[data-state="new_vehicle"] { border-color: #b7dcc6; background: #eef8f2; }
.catalog-lot-dialog__discount[data-state="new_vehicle"] .catalog-lot-dialog__discount-badge { background: #d3eedd; color: #0f5e39; }
/* claude-r108-css-END */

/* bc7: compact explanation, shared by the static header, mobile search and quiz. */
.catalog-intro { display: grid; gap: 4px; min-width: 0; max-width: 72ch; color: #263c40; }
.catalog-intro[hidden] { display: none !important; }
.catalog-intro p { display: block; margin: 0; font-size: 16px; line-height: 1.4; white-space: normal; overflow-wrap: anywhere; overflow: visible; -webkit-line-clamp: unset; }
.catalog-intro__copy { font-weight: 600; }
.catalog-intro .catalog-intro__price { color: #52666a; }
.catalog-intro__scope { margin: 0; color: #045f64; font-size: 16px; line-height: 1.35; font-weight: 700; }
.catalog-intro__terms { min-width: 0; font-size: 16px; line-height: 1.4; }
.catalog-intro__terms > summary { box-sizing: border-box; min-height: 44px; padding: 10px 0; cursor: pointer; color: #045f64; white-space: normal; overflow-wrap: anywhere; }
.catalog-intro__terms > summary:focus-visible { outline: 3px solid #045f64; outline-offset: 2px; border-radius: 4px; }
.catalog-intro__terms[open] > p { padding-bottom: 8px; }

/* claude-m109-css-START — r109 (Claude, 26.09): мобильная версия проще — строка «Что ищете?», шапка в одну строку,
   «Оставить заявку» внизу, компактная витрина. Только телефон (до 767 px); компьютер не меняется. */
.oplc-ms, .oplc-bar-lead, .oplc-empty-lead { display: none; }
@media (max-width: 767px) {
  /* шапка: логотип + выбор сервиса в одну строку; телефон — кнопка «Позвонить» внизу экрана */
  html.oplc-m109 main.shell > .hero { display: flex; align-items: center; justify-content: space-between; gap: 10px;
    min-height: 0; padding: 8px 12px; margin-bottom: 8px; }
  html.oplc-m109 main.shell > .hero .hero-main { display: contents; }
  html.oplc-m109 main.shell > .hero .brand-row { display: flex; align-items: center; gap: 0; margin: 0; }
  html.oplc-m109 main.shell > .hero .brand-row > div,
  html.oplc-m109 main.shell > .hero h1 { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  html.oplc-m109 main.shell > .hero .brand-logo { height: 46px; width: auto; max-width: 150px; object-fit: contain; }
  html.oplc-m109 main.shell > .hero nav.service-navigation { margin: 0; padding: 0; border: 0; background: none; box-shadow: none; flex: 0 1 auto; min-width: 0; }
  html.oplc-m109 main.shell > .hero .service-navigation__mobile { margin: 0; padding: 0; }
  html.oplc-m109 main.shell > .hero .service-navigation__mobile-select { min-height: 38px; height: 38px; max-width: 176px; padding: 0 30px 0 12px;
    border-radius: 999px; font-size: 13.5px; font-weight: 700; }
  html.oplc-m109 main.shell > .opl-extras { display: none; }

  /* заголовок каталога: число предложений и дата — в подзаголовке строки поиска */
  html.oplc-m109 #catalogViewPanel > .vehicle-catalog__header { display: none; }
  html.oplc-m109 #catalogViewPanel { gap: 10px; padding-top: 14px; }

  /* строка поиска */
  html.oplc-m109 #catalogPlusToolbar > .catalog-plus__search-btn { display: none; }
  html.oplc-m109 .oplc-ms { display: grid; gap: 10px; }
  .oplc-ms__title { display: block; margin: 0; font-size: 24px; line-height: 1.15; font-weight: 800; letter-spacing: -.01em; color: var(--oplc-ink, #111617); }
  .oplc-ms__sub { margin: -4px 0 0; font-size: 13.5px; line-height: 1.35; color: var(--oplc-muted, #5f6f73); }
  .oplc-ms__row { display: flex; align-items: stretch; gap: 0; border: 2px solid var(--oplc-accent, #05777d); border-radius: 14px; background: #fff;
    box-shadow: 0 6px 18px rgba(5, 119, 125, .14); overflow: hidden; }
  .oplc-ms__row:focus-within { box-shadow: 0 0 0 4px rgba(5, 119, 125, .18), 0 6px 18px rgba(5, 119, 125, .14); }
  .oplc-ms__input { flex: 1 1 auto; min-width: 0; height: 54px; margin: 0; padding: 0 12px 0 14px; border: 0 !important; border-radius: 0 !important;
    background: transparent; box-shadow: none !important; outline: none; font: inherit; font-size: 17px; font-weight: 600; color: var(--oplc-ink, #111617); }
  .oplc-ms__input::placeholder { color: #7c8b8e; font-weight: 500; }
  .oplc-ms__input::-webkit-search-cancel-button { -webkit-appearance: none; }
  .oplc-ms__go { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-width: 96px; padding: 0 16px;
    border: 0; border-radius: 0; background: var(--oplc-accent, #05777d); color: #fff; font: inherit; font-size: 16px; font-weight: 800; cursor: pointer; }
  .oplc-ms__go:active { background: var(--oplc-accent-dark, #045f64); }
  .oplc-ms__chips { display: flex; gap: 8px; overflow-x: auto; margin: 0 -2px; padding: 2px 2px 4px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .oplc-ms__chips::-webkit-scrollbar { display: none; }
  .oplc-ms__chip { flex: 0 0 auto; min-height: 40px; padding: 0 15px; border: 1px solid var(--oplc-line-strong, #cfe0e1); border-radius: 999px; background: #fff;
    color: var(--oplc-ink2, #33474a); font: inherit; font-size: 14.5px; font-weight: 700; white-space: nowrap; cursor: pointer; }
  .oplc-ms__chip[aria-pressed="true"] { border-color: var(--oplc-accent, #05777d); background: var(--oplc-accent-soft, #eef8f8); color: var(--oplc-accent-dark, #045f64); }
  .oplc-ms__more { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 8px; }
  .oplc-ms__filters { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 46px; padding: 0 16px;
    border: 1px solid var(--oplc-line-strong, #cfe0e1); border-radius: 12px; background: #fff; color: var(--oplc-ink2, #33474a);
    font: inherit; font-size: 14.5px; font-weight: 800; cursor: pointer; }
  html.oplc-m109 .oplc-ms__more .catalog-plus__ai-trigger--toolbar { width: 100%; min-height: 46px; margin: 0; padding: 0 10px; border-radius: 12px; font-size: 14px; }

  /* витрина: компактнее (налоги, код и служебные значки — в «Подробнее») */
  html.oplc-m109 #catalogFeaturedTitle { font-size: 18px; line-height: 1.2; letter-spacing: -.01em; }
  html.oplc-m109 .catalog-featured__head .vehicle-catalog__eyebrow,
  html.oplc-m109 #catalogFeaturedStatus,
  html.oplc-m109 .catalog-featured__search-link { display: none !important; }
  html.oplc-m109 .catalog-featured-card__tax,
  html.oplc-m109 .catalog-featured-card .catalog-plus__code,
  html.oplc-m109 .catalog-featured-card__badges .catalog-card__badge--check,
  html.oplc-m109 .catalog-featured-card__badges .catalog-card__badge--ok { display: none !important; }
  html.oplc-m109 .catalog-featured-card__discount { padding: 8px 10px; font-size: 13px; line-height: 1.3; }
  html.oplc-m109 .catalog-featured-card__discount small { font-size: 11.5px; }

  /* нижняя панель: «Позвонить» · «Оставить заявку» · «Наверх» */
  html.oplc-m109 #catalogPlusBar .catalog-plus__filters-btn { display: none !important; }
  html.oplc-m109 #catalogPlusBar .oplc-bar-lead { display: inline-flex; flex: 1; align-items: center; justify-content: center; min-height: 48px; padding: 0 12px;
    border: 0; border-radius: var(--oplc-r-ctl, 12px); background: var(--oplc-accent, #05777d); color: #fff; font: inherit; font-size: 16px; font-weight: 800; cursor: pointer; }
  html.oplc-m109 #catalogPlusBar .oplc-bar-lead:active { background: var(--oplc-accent-dark, #045f64); }
  html.oplc-ql-open #catalogPlusBar { display: none !important; }
  html.oplc-m109 #catalogPlusBar .oplc-bar-lead { white-space: nowrap; }

  /* пустая выдача → заявка */
  html.oplc-m109 .oplc-empty-lead { display: grid; gap: 10px; margin-top: 12px; padding: 14px; border: 1px solid var(--oplc-line, #e3ebec); border-radius: 14px; background: var(--oplc-accent-soft, #eef8f8); }
  .oplc-empty-lead p { margin: 0; font-size: 14.5px; line-height: 1.45; color: var(--oplc-ink2, #33474a); }
  .oplc-empty-lead__btn { min-height: 48px; border: 0; border-radius: 12px; background: var(--oplc-accent, #05777d); color: #fff; font: inherit; font-size: 16px; font-weight: 800; cursor: pointer; }
}

@media (max-width: 374px) {
  html.oplc-m109 #catalogPlusBar .oplc-bar-lead { font-size: 15px; padding: 0 8px; }
  html.oplc-m109 #catalogPlusBar .catalog-plus__call-btn { padding: 0 10px; font-size: 14px; }
  html.oplc-m109 #catalogFeaturedTitle { font-size: 16.5px; }
  html.oplc-m109 .oplc-ms__more .catalog-plus__ai-trigger--toolbar { font-size: 13.5px; padding: 0 8px; gap: 5px; }
  .oplc-ms__filters { padding: 0 12px; }
  .oplc-ms__go { min-width: 88px; padding: 0 12px; }
}

/* окно «Оставить заявку» (открывается с телефона; на компьютере — только из пустой выдачи) */
.oplc-ql { width: min(560px, calc(100% - 20px)); max-height: calc(100% - 20px); margin: auto; padding: 0; border: 0; border-radius: 18px;
  background: #fff; color: #1f2f33; box-shadow: 0 24px 60px rgba(7, 40, 42, .28); }
.oplc-ql::backdrop { background: rgba(7, 40, 42, .5); }
.oplc-ql__form { display: grid; gap: 12px; padding: 18px 18px 16px; }
.oplc-ql__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.oplc-ql__head h2 { margin: 0; font-size: 21px; line-height: 1.2; font-weight: 800; color: #111617; }
.oplc-ql__close { flex: 0 0 auto; width: 40px; height: 40px; margin: -6px -6px 0 0; border: 0; border-radius: 999px; background: #f1f5f5; color: #33474a; font-size: 24px; line-height: 1; cursor: pointer; }
.oplc-ql__lead { margin: -4px 0 2px; font-size: 14.5px; line-height: 1.45; color: #4d5d61; }
.oplc-ql__form label { display: grid; gap: 5px; font-size: 13.5px; font-weight: 700; color: #2b3c3e; }
.oplc-ql__form label em { font-style: normal; font-weight: 500; font-size: 12.5px; line-height: 1.35; color: #5f6f73; }
.oplc-ql__form input:not([type="checkbox"]) { width: 100%; min-height: 50px; padding: 0 13px; border: 1px solid #c9d9dc; border-radius: 12px; background: #fff;
  font: inherit; font-size: 16px; color: #111617; box-sizing: border-box; }
.oplc-ql__form input:not([type="checkbox"]):focus { outline: none; border-color: #05777d; box-shadow: 0 0 0 3px rgba(5, 119, 125, .18); }
.oplc-ql__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.oplc-ql__consent { display: flex !important; gap: 10px; align-items: flex-start; font-weight: 500 !important; font-size: 13px !important; line-height: 1.45; color: #3d4f52 !important; }
.oplc-ql__consent input { width: 20px; height: 20px; margin-top: 1px; flex: 0 0 auto; }
.oplc-ql__consent a { color: #05777d; }
.oplc-ql__send { min-height: 52px; border: 0; border-radius: 12px; background: #05777d; color: #fff; font: inherit; font-size: 17px; font-weight: 800; cursor: pointer; }
.oplc-ql__send[disabled] { opacity: .7; cursor: default; }
.oplc-ql__status { margin: 0; min-height: 1.2em; font-size: 14px; line-height: 1.4; font-weight: 600; color: #8a4b1f; }
.oplc-ql__status.is-ok { color: #1f6b3a; }
.oplc-ql__tel { justify-self: center; color: #05777d; font-weight: 700; text-decoration: none; }
.oplc-ql__done { padding: 14px 16px; border-radius: 12px; background: #eaf7ef; border: 1px solid #bfe3cf; font-size: 16px; line-height: 1.5; }
.oplc-ql__done strong { color: #1f6b3a; }
.oplc-ql__done a { color: #05777d; font-weight: 700; white-space: nowrap; }
html.oplc-ql-open { overflow: hidden; }
@media (min-width: 768px) { html.oplc-m109 .oplc-empty-lead { display: grid; gap: 10px; max-width: 640px; margin: 14px auto 0; padding: 16px; border: 1px solid #e3ebec; border-radius: 14px; background: #eef8f8; text-align: center; }
  .oplc-empty-lead p { margin: 0; font-size: 15px; line-height: 1.45; color: #33474a; }
  .oplc-empty-lead__btn { justify-self: center; min-height: 46px; padding: 0 22px; border: 0; border-radius: 12px; background: #05777d; color: #fff; font: inherit; font-size: 15.5px; font-weight: 800; cursor: pointer; } }
/* claude-m109-css-END */
/* ==== r111 (Claude, 26.09.2026): «с НДС» у цены на витрине — как у карточек выдачи ==== claude-m111-css-START */
.catalog-featured-card__price .oplc-vat {
  display: inline-block; margin-left: 3px; vertical-align: .14em;
  font-size: 12px; line-height: 1; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
  color: var(--oplc-muted, #6b7c80); white-space: nowrap;
}
/* claude-m111-css-END */
/* ==== r113 (Claude, 26.09.2026): ИНН — только настоящий; подсветка поля ==== claude-m114-css-START */
#catalogLeadInn[aria-invalid="true"], #oplcQuickLead [name="inn"][aria-invalid="true"] {
  border-color: #c0392b !important; box-shadow: 0 0 0 3px rgba(192, 57, 43, .14) !important;
}
/* claude-m114-css-END */
/* ==== r114 (Claude, 26.09.2026): «Что ищете?» своими словами + уточняющие вопросы над выдачей — вариант B ==== claude-m113-css-START */
.oplc-ms__hint { margin: -4px 0 0; font-size: 13px; line-height: 1.35; color: var(--oplc-muted, #5f6f73); }
.oplc-ask { display: grid; gap: 8px; margin: 0 0 14px; padding: 12px 12px 10px; border: 1px solid #cfe6e7; border-radius: 14px;
  background: linear-gradient(180deg, #f2fafa 0%, #fbfefe 100%); box-shadow: 0 4px 14px rgba(5, 119, 125, .08); }
.oplc-ask[hidden] { display: none; }
/* на телефоне панель каталога — flex с order у блоков (r21): без order вопрос улетел бы наверх; у сетки тоже 8, вопрос раньше неё в DOM */
@media (max-width: 767px) { .oplc-ask { order: 8; } }
.oplc-ask__head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.oplc-ask__eyebrow { font-size: 12.5px; line-height: 1.3; font-weight: 800; letter-spacing: .02em; color: var(--oplc-accent-dark, #045f64); }
.oplc-ask__x { flex: 0 0 auto; width: 40px; height: 40px; margin: -10px -8px -10px 0; border: 0; border-radius: 999px; background: transparent; color: #6b7c80;
  font: inherit; font-size: 22px; line-height: 1; cursor: pointer; }
.oplc-ask__q { margin: 0; font-size: 17px; line-height: 1.3; font-weight: 800; color: var(--oplc-ink, #111617); }
.oplc-ask__chips { display: flex; gap: 8px; overflow-x: auto; margin: 0 -2px; padding: 2px 2px 4px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.oplc-ask__chips::-webkit-scrollbar { display: none; }
.oplc-ask__chip { flex: 0 0 auto; min-height: 42px; padding: 0 15px; border: 1px solid var(--oplc-accent, #05777d); border-radius: 999px; background: #fff;
  color: var(--oplc-accent-dark, #045f64); font: inherit; font-size: 15px; font-weight: 800; white-space: nowrap; cursor: pointer; }
.oplc-ask__chip:active { background: var(--oplc-accent-soft, #eef8f8); }
.oplc-ask__chip--other { border-style: dashed; }
.oplc-ask__chip--skip { border-color: var(--oplc-line-strong, #cfe0e1); color: #5f6f73; font-weight: 700; }
.oplc-ask__other { display: flex; gap: 8px; }
.oplc-ask__other[hidden] { display: none; }
.oplc-ask__input { flex: 1 1 auto; min-width: 0; height: 46px; padding: 0 12px; border: 1px solid var(--oplc-line-strong, #cfe0e1); border-radius: 12px;
  background: #fff; font: inherit; font-size: 16px; color: var(--oplc-ink, #111617); }
.oplc-ask__go { flex: 0 0 auto; min-height: 46px; padding: 0 16px; border: 0; border-radius: 12px; background: var(--oplc-accent, #05777d); color: #fff;
  font: inherit; font-size: 15px; font-weight: 800; cursor: pointer; }
@media (min-width: 768px) {
  .oplc-ask { padding: 14px 16px 12px; }
  .oplc-ask__chips { flex-wrap: wrap; overflow: visible; }
}
/* claude-m113-css-END */
/* ==== r117 (Claude, 26.09.2026): вариант C — вопросы перед каталогом (телефон) ==== claude-m116-css-START */
html.oplc-quiz-open, html.oplc-quiz-open body { overflow: hidden; }
.oplc-quiz { position: fixed; inset: 0; z-index: 2147483000; overflow-y: auto; -webkit-overflow-scrolling: touch;
  background: linear-gradient(180deg, #eef8f8 0%, #ffffff 42%); color: var(--oplc-ink, #111617); }
.oplc-quiz__in { box-sizing: border-box; min-height: 100%; max-width: 560px; margin: 0 auto; padding: 12px 16px 28px;
  display: flex; flex-direction: column; gap: 10px; }
.oplc-quiz__top { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 44px; }
.oplc-quiz__brand { font-size: 13px; font-weight: 800; letter-spacing: .02em; color: var(--oplc-accent-dark, #045f64); }
.oplc-quiz__skip { flex: 0 0 auto; min-height: 44px; padding: 0 4px; border: 0; background: transparent; color: #5f6f73;
  font: inherit; font-size: 15px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.oplc-quiz__bar { height: 6px; border-radius: 99px; background: #d9ecec; overflow: hidden; }
.oplc-quiz__bar i { display: block; height: 100%; width: 20%; border-radius: 99px; background: var(--oplc-accent, #05777d); transition: width .25s ease; }
.oplc-quiz__hello { margin: 6px 0 0; font-size: 16px; line-height: 1.4; color: #2a3a3d; }
.oplc-quiz__hello[hidden] { display: none; }
.oplc-quiz__step { margin: 8px 0 0; font-size: 13px; font-weight: 700; color: #5f6f73; }
.oplc-quiz__q { margin: 0; font-size: 24px; line-height: 1.2; font-weight: 900; outline: none; }
.oplc-quiz__opts { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 4px; }
.oplc-quiz__opt { min-height: 56px; padding: 8px 12px; border: 1.5px solid var(--oplc-accent, #05777d); border-radius: 14px; background: #fff;
  color: var(--oplc-accent-dark, #045f64); font: inherit; font-size: 16px; font-weight: 800; line-height: 1.2; text-align: center; cursor: pointer;
  -webkit-tap-highlight-color: transparent; }
.oplc-quiz__opt:active { background: var(--oplc-accent-soft, #eef8f8); }
.oplc-quiz__opt:disabled { opacity: .45; }
.oplc-quiz__opt--skip { border-color: #cfe0e1; color: #5f6f73; font-weight: 700; }
.oplc-quiz__opt--main { grid-column: 1 / -1; min-height: 58px; border: 0; background: var(--oplc-accent, #05777d); color: #fff; font-size: 18px; }
.oplc-quiz__opt--main:active { background: var(--oplc-accent-dark, #045f64); }
.oplc-quiz__opts .oplc-quiz__opt--skip:last-child:nth-child(odd) { grid-column: 1 / -1; }
.oplc-quiz__opt--main ~ .oplc-quiz__opt--skip { grid-column: 1 / -1; }
.oplc-quiz__other { display: flex; gap: 8px; margin-top: 2px; }
.oplc-quiz__other[hidden] { display: none; }
.oplc-quiz__input { flex: 1 1 auto; min-width: 0; height: 52px; padding: 0 14px; border: 1.5px solid #cfe0e1; border-radius: 14px; background: #fff;
  font: inherit; font-size: 16px; color: var(--oplc-ink, #111617); }
.oplc-quiz__go { flex: 0 0 auto; min-height: 52px; padding: 0 18px; border: 0; border-radius: 14px; background: var(--oplc-accent, #05777d); color: #fff;
  font: inherit; font-size: 16px; font-weight: 800; cursor: pointer; }
.oplc-quiz__note { margin: 0; font-size: 15px; font-weight: 600; line-height: 1.35; color: #4b5c60; }
.oplc-quiz__note[hidden] { display: none; }
.oplc-quiz__nav { margin-top: auto; padding-top: 8px; }
.oplc-quiz__back { min-height: 44px; padding: 0 4px; border: 0; background: transparent; color: #5f6f73; font: inherit; font-size: 15px; font-weight: 700; cursor: pointer; }
.oplc-quiz__back[hidden] { display: none; }
/* claude-m116-css-END */
/* ==== r118 (Claude, 26.09.2026): форма заявки — сначала вопросы кнопками (вариант форм B, телефон) ==== claude-m117-css-START */
#catalogLeadForm.oplc-fq-on > label,
#catalogLeadForm.oplc-fq-on > #catalogLeadPurchase,
#catalogLeadForm.oplc-fq-on > #catalogLeadStatus,
#catalogLeadForm.oplc-fq-on > .catalog-lead-dialog__actions { display: none !important; }
.oplc-fq { display: grid; gap: 10px; margin: 4px 0 6px; }
.oplc-fq__step { margin: 0; font-size: 13px; font-weight: 700; color: #5f6f73; }
.oplc-fq__q { margin: 0; font-size: 20px; line-height: 1.25; font-weight: 900; color: var(--oplc-ink, #111617); outline: none; }
.oplc-fq__text { margin: 0; font-size: 15px; line-height: 1.4; color: #3d4d51; }
.oplc-fq__opts { display: grid; gap: 10px; }
.oplc-fq__opt { min-height: 54px; padding: 8px 14px; border: 1.5px solid var(--oplc-accent, #05777d); border-radius: 14px; background: #fff;
  color: var(--oplc-accent-dark, #045f64); font: inherit; font-size: 17px; font-weight: 800; text-align: left; cursor: pointer;
  -webkit-tap-highlight-color: transparent; }
.oplc-fq__opt:active { background: var(--oplc-accent-soft, #eef8f8); }
.oplc-fq__opt--muted { border-color: #cfe0e1; color: #5f6f73; font-weight: 700; }
.oplc-fq__opt--back { min-height: 44px; border: 0; background: transparent; color: #5f6f73; font-size: 15px; font-weight: 700; padding: 0 2px; }
.oplc-fq__q:focus, .oplc-fq__q:focus-visible, .oplc-quiz__q:focus, .oplc-quiz__q:focus-visible { outline: none !important; box-shadow: none !important; }
/* claude-m117-css-END */
/* Explicit purchase choice in both lead-form variants; native radios support older iOS. */
#catalogLeadPurchase { min-width: 0; margin: 2px 0; padding: 0; border: 0; }
#catalogLeadPurchase[hidden] { display: none !important; }
#catalogLeadPurchase legend { padding: 0; margin-bottom: 8px; font-size: 15px; line-height: 1.4; font-weight: 700; color: #263c40; }
#catalogLeadPurchase legend span { font-size: 12px; font-weight: 400; }
#catalogLeadPurchase .catalog-lead-purchase__options { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px; }
#catalogLeadPurchase label { display: flex; align-items: center; gap: 8px; min-width: 0; min-height: 52px; margin: 0; padding: 8px 10px; border: 1px solid #aacfd1; border-radius: 12px; cursor: pointer; background: #f3fafb; box-sizing: border-box; }
#catalogLeadPurchase input[type="radio"] { flex: 0 0 20px; width: 20px; height: 20px; min-height: 20px; margin: 0; padding: 0; accent-color: #05777d; }
#catalogLeadPurchase label span { min-width: 0; color: #263c40; font-size: 15px; line-height: 1.35; white-space: normal; overflow-wrap: normal; }
#catalogLeadPurchase input:checked + span { color: #045f64; font-weight: 800; }
#catalogLeadPurchase label:focus-within { outline: 2px solid #05777d; outline-offset: 2px; }
#catalogLeadPurchase p { margin: 6px 0 0; font-size: 12px; line-height: 1.4; color: #52676b; }
#catalogLeadPurchase #catalogLeadPurchaseError { color: #a62a20; }
#catalogLeadPurchase #catalogLeadPurchaseError[hidden] { display: none; }
#catalogLeadPurchase[aria-invalid="true"] label { border-color: #a62a20; }
@media (max-width: 380px) { #catalogLeadPurchase .catalog-lead-purchase__options { grid-template-columns: minmax(0, 1fr); } }
/* codex-bc2-css: optional refinement, readable fields and safe mobile controls. */
.oplc-ask__why { margin: 0; font-size: 14px; line-height: 1.5; color: #43575b; }
.oplc-ask__browse { justify-self: start; min-height: 44px; padding: 8px 2px; border: 0; background: transparent;
  color: var(--oplc-accent-dark, #045f64); font: inherit; font-size: 15px; font-weight: 700; text-decoration: underline; cursor: pointer; }
.oplc-ask__x { width: 44px; height: 44px; margin: -6px -4px -6px 0; }
.oplc-ask__chip { min-height: 44px; }
.oplc-quiz__in { padding-bottom: calc(28px + env(safe-area-inset-bottom, 0px)); padding-top: calc(12px + env(safe-area-inset-top, 0px)); }
.oplc-quiz__other { display: grid; grid-template-columns: minmax(0, 1fr); }
.oplc-quiz__input { box-sizing: border-box; width: 100%; }
.oplc-quiz__input-hint { margin: 0; color: #43575b; font-size: 14px; line-height: 1.5; overflow-wrap: break-word; }
.oplc-quiz__label { grid-column: 1 / -1; color: #43575b; font-size: 14px; font-weight: 700; line-height: 1.5; }
.oplc-quiz__opt { min-width: 0; overflow-wrap: anywhere; }
.oplc-quiz__opt:focus-visible, .oplc-quiz__back:focus-visible, .oplc-quiz__skip:focus-visible,
.oplc-ask button:focus-visible { outline: 3px solid #045f64; outline-offset: 3px; }
@media (max-width: 360px) {
  .oplc-quiz__top { flex-wrap: wrap; }
  .oplc-quiz__other { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) { .oplc-quiz__bar i { transition: none; } }

/* c2: mobile-only reopen; desktop retains its original catalog layout. */
@media (max-width: 767px) {
.oplc-quiz-launch {
  box-sizing: border-box; min-height: 44px; width: fit-content; max-width: 100%; padding: 10px 16px;
  border: 1.5px solid var(--oplc-accent, #05777d); border-radius: 12px; background: #fff;
  color: var(--oplc-accent-dark, #045f64); font: inherit; font-size: 16px; line-height: 1.35; font-weight: 800;
  white-space: normal; overflow-wrap: anywhere; cursor: pointer;
}
.oplc-quiz-launch:active { background: var(--oplc-accent-soft, #eef8f8); }
.oplc-quiz-launch:focus-visible { outline: 3px solid var(--oplc-accent-dark, #045f64); outline-offset: 2px; }
  .oplc-ms > .oplc-quiz-launch { width: 100%; }
}

/* catalogQuiz r119: genuine, explicitly labelled zero-result alternatives. New rules only. */
.oplc-quiz__alt {
  grid-column: 1 / -1;
  min-width: 0;
  padding: 14px;
  border: 1px solid #cfe0e1;
  border-radius: 16px;
  background: #fff;
}
.oplc-quiz__alt-title {
  margin: 0;
  color: var(--oplc-ink, #111617);
  font-size: 17px;
  font-weight: 850;
  line-height: 1.3;
}
.oplc-quiz__alt-note,
.oplc-quiz__alt-count {
  margin: 6px 0 0;
  color: #43575b;
  font-size: 14px;
  line-height: 1.45;
}
.oplc-quiz__alt-count { color: #23484b; font-weight: 800; }
.oplc-quiz__previews {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
  margin-top: 12px;
}
.oplc-quiz__preview {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 10px;
  min-height: 72px;
  box-sizing: border-box;
  padding: 10px 12px;
  border: 1px solid #d8e5e6;
  border-radius: 12px;
  background: #f7fbfb;
  color: var(--oplc-ink, #111617);
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
.oplc-quiz__preview-title {
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: 15px;
  line-height: 1.35;
}
.oplc-quiz__preview--photo {
  grid-template-columns: 96px minmax(0, 1fr);
}
.oplc-quiz__preview-image {
  grid-column: 1;
  grid-row: 1 / span 4;
  align-self: start;
  width: 96px;
  height: 72px;
  border-radius: 9px;
  background: #eaf2f2;
  object-fit: cover;
}
.oplc-quiz__preview--photo .oplc-quiz__preview-title,
.oplc-quiz__preview--photo .oplc-quiz__preview-meta,
.oplc-quiz__preview--photo .oplc-quiz__preview-price,
.oplc-quiz__preview--photo .oplc-quiz__preview-open {
  grid-column: 2;
}
.oplc-quiz__preview-meta,
.oplc-quiz__preview-price,
.oplc-quiz__preview-open {
  font-size: 13px;
  line-height: 1.4;
}
.oplc-quiz__preview-meta { grid-column: 1 / -1; color: #53666a; }
.oplc-quiz__preview-price { color: #23484b; font-weight: 800; }
.oplc-quiz__preview-open {
  align-self: end;
  color: var(--oplc-accent-dark, #045f64);
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.oplc-quiz__alt-apply {
  width: 100%;
  margin-top: 12px;
}
.oplc-quiz__preview:active { background: var(--oplc-accent-soft, #eef8f8); }
.oplc-quiz__preview:focus-visible {
  outline: 3px solid #045f64;
  outline-offset: 3px;
}
@media (min-width: 480px) {
  .oplc-quiz__previews { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) {
  .oplc-quiz__preview { scroll-behavior: auto; }
}

/* Proposed CSS append — review fragment, not loaded by baseline. */
@media (max-width: 767px) {
  html.oplc-m109 .oplc-ms__hint {
    min-width: 0;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  /* Do not crop a category word at the viewport edge. */
  html.oplc-m109 .oplc-ms__chips {
    flex-wrap: wrap;
    overflow: visible;
    align-items: center;
    max-width: 100%;
  }
  html.oplc-m109 .oplc-ms__chips-primary,
  html.oplc-m109 .oplc-ms__chips-extra {
    display: flex;
    flex: 0 1 auto;
    flex-wrap: wrap;
    gap: 8px;
    min-width: 0;
  }
  html.oplc-m109 .oplc-ms__chips-extra[hidden],
  html.oplc-m109 .oplc-ms__chip[hidden],
  html.oplc-m109 .oplc-ms__chips-toggle[hidden] {
    display: none !important;
  }
  html.oplc-m109 .oplc-ms__chip,
  html.oplc-m109 .oplc-ms__chips-toggle {
    min-height: 44px;
    box-sizing: border-box;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  /* The three default labels fit at 320px without reducing the 44px target. */
  html.oplc-m109 .oplc-ms__chip {
    padding-inline: 12px;
    font-size: 14px;
  }
  html.oplc-m109 .oplc-ms__chips-toggle {
    padding: 0 12px;
    border: 1px solid var(--oplc-line-strong, #cfe0e1);
    border-radius: 999px;
    background: #fff;
    color: var(--oplc-accent-dark, #045f64);
    font: inherit;
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
  }
  html.oplc-m109 .oplc-ms__chip:focus-visible,
  html.oplc-m109 .oplc-ms__chips-toggle:focus-visible {
    outline: 3px solid var(--oplc-accent-dark, #045f64);
    outline-offset: 2px;
  }
}

/* codex-mobile-lot-v1: one reading surface; desktop rules stay untouched.
   The class is set only after existing nodes have been safely relocated. */
@media (max-width: 899px) {
  #catalogLotDialog.catalog-lot-mobile {
    width: 100%;
    max-width: 100vw;
    height: 100vh;
    height: 100dvh;
    max-height: 100vh;
    max-height: 100dvh;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    overflow: hidden;
    background: var(--oplc-surface, #fff);
  }
  #catalogLotDialog.catalog-lot-mobile .catalog-lot-dialog__panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
    height: 100%;
    max-height: none;
    min-height: 0;
    overflow: hidden;
  }
  #catalogLotDialog.catalog-lot-mobile .catalog-lot-dialog__content {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    height: 100%;
    max-height: none;
    min-height: 0;
    min-width: 0;
    overflow: hidden;
  }
  #catalogLotDialog.catalog-lot-mobile .catalog-lot-mobile__toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: calc(4px + env(safe-area-inset-top, 0px)) 14px 4px;
    border-bottom: 1px solid var(--oplc-line, #e0e9ea);
    color: var(--oplc-accent-dark, #045f64);
    background: #fff;
    font-size: 14px;
    font-weight: 750;
  }
  #catalogLotDialog.catalog-lot-mobile #catalogLotClose {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    border: 1px solid var(--oplc-line-strong, #cfe0e1);
    border-radius: 12px;
    color: var(--oplc-accent-dark, #045f64);
    background: var(--oplc-accent-soft, #e6f2f3);
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
    touch-action: manipulation;
  }
  #catalogLotDialog.catalog-lot-mobile .catalog-lot-dialog__scroll {
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-height: 0;
    min-width: 0;
    padding: 16px 14px 24px;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: auto;
    -webkit-overflow-scrolling: touch;
  }
  #catalogLotDialog.catalog-lot-mobile .catalog-lot-dialog__scroll > * { flex-shrink: 0; }
  #catalogLotDialog.catalog-lot-mobile .catalog-lot-dialog__head { order: 0; display: block; }
  #catalogLotDialog.catalog-lot-mobile .catalog-lot-dialog__head .vehicle-catalog__eyebrow { display: none; }
  #catalogLotDialog.catalog-lot-mobile #catalogLotTitle {
    margin: 0 0 8px;
    font-size: 22px;
    font-weight: 800;
    line-height: 1.25;
    overflow-wrap: anywhere;
  }
  #catalogLotDialog.catalog-lot-mobile #catalogLotSubtitle { font-size: 14px; font-weight: 500; line-height: 1.45; }
  #catalogLotDialog.catalog-lot-mobile .catalog-plus__code--lot { order: 0; margin: -8px 0 0; }
  #catalogLotDialog.catalog-lot-mobile .catalog-plus__code-copy { min-height: 44px; padding: 8px 12px; }
  #catalogLotDialog.catalog-lot-mobile .catalog-lot-dialog__media {
    order: 1;
    display: block;
    height: auto;
    min-height: 0;
    padding: 0;
    border: 1px solid var(--oplc-line, #e0e9ea);
    border-radius: 16px;
    background: var(--oplc-accent-soft, #e6f2f3);
    overflow: hidden;
  }
  #catalogLotDialog.catalog-lot-mobile .catalog-lot-dialog__image {
    display: block;
    width: 100%;
    height: auto;
    min-height: 0;
    max-height: none;
    aspect-ratio: auto;
    border-radius: 0;
  }
  #catalogLotDialog.catalog-lot-mobile #catalogLotImage:empty,
  #catalogLotDialog.catalog-lot-mobile #catalogLotImage[data-photo-state="unavailable"] {
    display: grid;
    min-height: 72px;
    height: auto;
    padding: 16px;
    text-align: center;
  }
  #catalogLotDialog.catalog-lot-mobile .catalog-photo-gallery { display: block; height: auto; min-height: 0; }
  #catalogLotDialog.catalog-lot-mobile .catalog-photo-gallery > img,
  #catalogLotDialog.catalog-lot-mobile #catalogLotImage > img {
    position: relative;
    inset: auto;
    display: block;
    width: 100%;
    height: clamp(160px, 34vh, 300px);
    height: clamp(160px, 34dvh, 300px);
    object-fit: contain;
    background: #f2f6f6;
  }
  #catalogLotDialog.catalog-lot-mobile .catalog-photo-gallery__counter {
    position: absolute;
    top: 8px;
    left: 8px;
    margin: 0;
    max-width: calc(100% - 16px);
    font-size: 12px;
    line-height: 1.4;
    white-space: normal;
  }
  #catalogLotDialog.catalog-lot-mobile #catalogLotImage[data-photo-state="unavailable"] .catalog-photo-gallery__counter {
    position: static;
    max-width: none;
  }
  #catalogLotDialog.catalog-lot-mobile .catalog-photo-gallery__controls { position: absolute; top: 40%; padding: 0 8px; }
  #catalogLotDialog.catalog-lot-mobile .catalog-photo-gallery__thumbnails {
    position: relative;
    display: flex;
    gap: 8px;
    padding: 8px;
    background: #fff;
    overflow-x: auto;
    overscroll-behavior-x: contain;
  }
  #catalogLotDialog.catalog-lot-mobile .catalog-photo-gallery__control,
  #catalogLotDialog.catalog-lot-mobile .catalog-photo-gallery__thumbnail { min-width: 44px; min-height: 44px; touch-action: manipulation; }
  #catalogLotDialog.catalog-lot-mobile .catalog-photo-gallery__thumbnail { width: 48px; height: 48px; flex-shrink: 0; }
  #catalogLotDialog.catalog-lot-mobile .catalog-photo-gallery [hidden] { display: none !important; }
  #catalogLotDialog.catalog-lot-mobile #catalogLotFacts { order: 2; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  #catalogLotDialog.catalog-lot-mobile #catalogLotFacts .catalog-lot-dialog__fact { min-width: 0; border-radius: 12px; padding: 12px; }
  #catalogLotDialog.catalog-lot-mobile #catalogLotFacts .oplc-fact--price {
    grid-column: 1 / -1;
    background: var(--oplc-accent-soft, #e6f2f3);
    border: 1px solid var(--oplc-line-strong, #cfe0e1);
    margin: 0 0 4px;
  }
  #catalogLotDialog.catalog-lot-mobile #catalogLotFacts strong { font-size: 12px; line-height: 1.4; letter-spacing: 0; }
  #catalogLotDialog.catalog-lot-mobile #catalogLotFacts span { font-size: 16px; line-height: 1.4; overflow-wrap: anywhere; }
  #catalogLotDialog.catalog-lot-mobile #catalogLotFacts .oplc-fact--price span { font-size: 28px; line-height: 1.15; color: var(--oplc-accent-dark, #045f64); }
  #catalogLotDialog.catalog-lot-mobile #catalogLotFacts .oplc-fact--minor,
  #catalogLotDialog.catalog-lot-mobile #catalogLotFacts .oplc-fact--condition,
  #catalogLotDialog.catalog-lot-mobile #catalogLotFacts .oplc-fact--dcond { grid-column: 1 / -1; }
  #catalogLotDialog.catalog-lot-mobile #catalogLotFacts .oplc-fact--minor span { font-size: 14px; }
  #catalogLotDialog.catalog-lot-mobile #oplcLotDetails { order: 3; margin: 0; }
  #catalogLotDialog.catalog-lot-mobile .oplc-lot-specs dl { grid-template-columns: minmax(0, 1fr); }
  #catalogLotDialog.catalog-lot-mobile .oplc-lot-desc__text { font-size: 15px; line-height: 1.55; }
  #catalogLotDialog.catalog-lot-mobile .oplc-ask-photos { order: 4; }
  #catalogLotDialog.catalog-lot-mobile #catalogLotDiscount { order: 5; margin: 0; }
  #catalogLotDialog.catalog-lot-mobile .catalog-lot-dialog__discount-copy { font-size: 14px; line-height: 1.5; }
  #catalogLotDialog.catalog-lot-mobile #catalogLotMobileFinance { order: 6; border: 1px solid var(--oplc-line-strong, #cfe0e1); border-radius: 14px; background: #fff; }
  #catalogLotDialog.catalog-lot-mobile #catalogLotMobileFinance > summary {
    min-height: 48px;
    padding: 14px;
    color: var(--oplc-accent-dark, #045f64);
    font-size: 16px;
    font-weight: 750;
    line-height: 1.4;
    cursor: pointer;
    touch-action: manipulation;
  }
  #catalogLotDialog.catalog-lot-mobile #catalogLotMobileFinance[open] > summary { border-bottom: 1px solid var(--oplc-line, #e0e9ea); }
  #catalogLotDialog.catalog-lot-mobile #catalogLotFinance { margin: 0; }
  #catalogLotDialog.catalog-lot-mobile #catalogLotSource { order: 7; font-size: 13px; line-height: 1.5; }
  #catalogLotDialog.catalog-lot-mobile .catalog-lot-dialog__actions { order: 8; grid-template-columns: minmax(0, 1fr); gap: 8px; }
  #catalogLotDialog.catalog-lot-mobile .catalog-lot-dialog__actions :is(a, button),
  #catalogLotDialog.catalog-lot-mobile .oplc-ask-photos,
  #catalogLotDialog.catalog-lot-mobile .oplc-lot-desc__more { min-height: 44px; white-space: normal; line-height: 1.4; }
  #catalogLotDialog.catalog-lot-mobile .catalog-lot-dialog__sticky-cta {
    position: static;
    display: grid;
    gap: 6px;
    padding: 8px 14px calc(8px + env(safe-area-inset-bottom, 0px));
    border-top: 1px solid var(--oplc-line, #e0e9ea);
    box-shadow: 0 -4px 16px rgba(10, 55, 59, .06);
    background: #fff;
  }
  #catalogLotDialog.catalog-lot-mobile #catalogLotCtaNote { display: block; margin: 0; font-size: 12px; line-height: 1.4; -webkit-line-clamp: unset; }
  #catalogLotDialog.catalog-lot-mobile #catalogLotLead { min-height: 48px; font-size: 16px; line-height: 1.3; white-space: normal; }
  #catalogLotDialog.catalog-lot-mobile :is(button, summary, a):focus-visible { outline: 3px solid var(--oplc-accent-dark, #045f64); outline-offset: 2px; }
  #catalogLotDialog.catalog-lot-mobile :is(button, summary):active { filter: brightness(.96); }
}

/* codex-card-hint-arrows-20260928: scoped controls, no modal layout change. */
.catalog-plus__code-hint { white-space: pre-line; line-height: 1.5; }
.catalog-photo-gallery__control { display: inline-flex; align-items: center; justify-content: center; padding: 0; flex: 0 0 44px; box-sizing: border-box; touch-action: manipulation; }
.catalog-photo-gallery__control[hidden] { display: none !important; }
.catalog-photo-gallery__control > svg { display: block; flex: none; width: 24px; height: 24px; pointer-events: none; }
/* ==== r119 (Claude, 29.09.2026): поле «Вид» рядом с «Тип техники» ==== claude-m119-css-START */
.oplc-kind select option[hidden] { display: none; }
.oplc-kind__hint { color: #637278; font-size: 12px; line-height: 1.35; }
/* верхний ряд фильтров — сетка по ширине панели (container catalog-filters, правила catalog-roomy.css грузятся после нас,
   поэтому класс oplc-has-kind — для веса): с пятым полем «Вид» одна строка «Что ищете» · Тип · Вид · Город · Радиус на
   широкой панели и три колонки на средней */
@container catalog-filters (min-width: 800px) {
  #catalogFilters .vehicle-catalog__filter-primary.oplc-has-kind { grid-template-columns: minmax(0, 1.3fr) repeat(2, minmax(0, 1fr)); }
}
@container catalog-filters (min-width: 1200px) {
  #catalogFilters .vehicle-catalog__filter-primary.oplc-has-kind { grid-template-columns: minmax(0, 1.45fr) repeat(4, minmax(0, 1fr)); }
}
/* claude-m119-css-END */

/* claude-m123-START — «КП в Word» (панель в окне «Подробнее», только для менеджеров) */
.oplc-kp-btn[hidden] { display: none !important; }
.oplc-kp { margin: 10px 0 4px; padding: 12px 14px; border: 1px solid #cfe3e2; border-radius: 12px; background: #f2fbfa; font-size: 14px; }
.oplc-kp[hidden] { display: none !important; }
.oplc-kp__head { display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: baseline; margin-bottom: 8px; }
.oplc-kp__head strong { font-size: 15px; }
.oplc-kp__who { color: #4b5563; font-size: 13px; }
.oplc-kp__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 12px; }
.oplc-kp__field { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.oplc-kp__field--wide { grid-column: 1 / -1; }
.oplc-kp__field span { font-size: 12px; color: #4b5563; }
.oplc-kp__field input, .oplc-kp__field textarea { width: 100%; box-sizing: border-box; font: inherit; font-size: 14px; padding: 8px 10px; border: 1px solid #c7d2d9; border-radius: 8px; background: #fff; }
.oplc-kp__field textarea { resize: vertical; min-height: 44px; }
.oplc-kp__row { display: flex; flex-wrap: wrap; gap: 8px 10px; align-items: center; margin-top: 10px; }
.oplc-kp__go { font: inherit; font-weight: 600; padding: 9px 16px; border: 0; border-radius: 999px; background: #119f9b; color: #fff; cursor: pointer; }
.oplc-kp__go:disabled { opacity: .6; cursor: default; }
.oplc-kp__cancel { font: inherit; padding: 9px 14px; border: 1px solid #c7d2d9; border-radius: 999px; background: #fff; color: #1f2937; cursor: pointer; }
.oplc-kp__status { font-size: 13px; color: #4b5563; flex: 1 1 200px; }
.oplc-kp__status[data-kind="ok"] { color: #0f766e; }
.oplc-kp__status[data-kind="err"] { color: #b91c1c; }
.oplc-kp__hint { margin: 8px 0 0; font-size: 12px; color: #6b7280; line-height: 1.35; }
@media (max-width: 640px) { .oplc-kp__grid { grid-template-columns: 1fr; } .oplc-kp { padding: 10px 12px; } }
.oplc-kp__check { display: flex; align-items: center; gap: 8px; margin: 6px 0 0; font-size: 13px; color: #374151; }
.oplc-kp__check input { width: 16px; height: 16px; margin: 0; }
.oplc-kp__go--pdf { background: #fff; color: #10233f; border: 1px solid #10233f; }
.oplc-kp__go--pdf:hover { background: #f3f6fa; }
/* claude-m123-END */


/* claude-m126-START — плашка «позиция из лида» во вкладке Битрикс24 */
.oplc-leadbar { order: -5; margin: 0 0 12px; padding: 12px 16px; border: 1px solid #b9e3e1; border-radius: 14px; background: #eefaf9; font-size: 14px; color: #1f2937; }
.oplc-leadbar__head { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: baseline; margin-bottom: 8px; }
.oplc-leadbar__head strong { font-size: 15px; color: #063f43; }
.oplc-leadbar__text { margin: 0; color: #374151; }
.oplc-leadbar__list { display: flex; flex-direction: column; gap: 8px; }
.oplc-leadbar__row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; grid-template-areas: "title b2 b1" "meta b2 b1"; gap: 2px 10px; align-items: center; padding: 8px 10px; background: #fff; border: 1px solid #d5e9e8; border-radius: 10px; }
.oplc-leadbar__title { grid-area: title; font-weight: 700; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.oplc-leadbar__meta { grid-area: meta; color: #4b5563; font-size: 13px; }
.oplc-leadbar__btn { font: inherit; font-size: 13px; font-weight: 700; padding: 8px 14px; border-radius: 999px; border: 1px solid #c7d2d9; background: #fff; color: #1f2937; cursor: pointer; white-space: nowrap; }
.oplc-leadbar__btn:nth-of-type(1) { grid-area: b2; }
.oplc-leadbar__btn--main { grid-area: b1; background: #119f9b; border-color: #119f9b; color: #fff; }
.oplc-leadbar__btn:disabled { opacity: .55; cursor: default; }
.oplc-leadbar__hint { margin: 8px 0 0; font-size: 12px; color: #6b7280; }
@media (max-width: 640px) { .oplc-leadbar__row { grid-template-columns: 1fr 1fr; grid-template-areas: "title title" "meta meta" "b2 b1"; } }
/* claude-m126-END */


/* claude-m127-START — форма A */
.oplc-fa .catalog-lead-purchase, .oplc-fa .oplc-fa-hidden { display: none !important; }
.oplc-fa .oplc-fa__pay { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 2px 0 6px; font-size: 14px; color: #4b5563; }
.oplc-fa .oplc-fa__chip { font: inherit; font-size: 14px; font-weight: 600; padding: 7px 14px; border-radius: 999px; border: 1px solid #c7d2d9; background: #fff; color: #1f2937; cursor: pointer; }
.oplc-fa .oplc-fa__chip.is-on { background: #10233f; border-color: #10233f; color: #fff; }
.oplc-fa .oplc-fa__chip[hidden] { display: none; }
.oplc-fa .oplc-fa__link { font: inherit; font-size: 14px; padding: 0; border: 0; background: none; color: #0f766e; cursor: pointer; text-align: left; text-decoration: underline; text-underline-offset: 3px; margin: 2px 0 4px; }
.oplc-fa .oplc-fa__link[hidden] { display: none; }
.oplc-fa .oplc-fa__consent { margin: 4px 0 0; font-size: 12px; line-height: 1.4; color: #6b7280; }
.oplc-fa .oplc-fa__consent a { color: #0f766e; }
.oplc-fa .catalog-lead-dialog__submit { min-height: 48px; font-size: 16px; }
@media (max-width: 640px) { .oplc-fa .catalog-lead-dialog__actions { flex-direction: column-reverse; } .oplc-fa .catalog-lead-dialog__submit { width: 100%; } }
/* claude-m127-END */


/* claude-m129-START — подсказка ИНН */
.oplc-inn { margin: -4px 0 8px; font-size: 13px; }
.oplc-inn[hidden] { display: none; }
.oplc-inn__check { margin: 4px 0 6px; padding: 6px 10px; border-radius: 8px; background: #f3f6fa; color: #374151; }
.oplc-inn__check.is-ok { background: #ecfdf5; color: #065f46; }
.oplc-inn__check.is-warn { background: #fffbeb; color: #92400e; }
.oplc-inn__check.is-bad { background: #fef2f2; color: #991b1b; }
.oplc-inn__check[hidden], .oplc-inn__search[hidden], .oplc-inn__link[hidden] { display: none; }
.oplc-inn__link { font: inherit; font-size: 13px; padding: 0; border: 0; background: none; color: #0f766e; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.oplc-inn__q { width: 100%; box-sizing: border-box; font: inherit; font-size: 15px; padding: 9px 11px; border: 1px solid #c7d2d9; border-radius: 8px; margin-top: 6px; }
.oplc-inn__list { display: flex; flex-direction: column; gap: 4px; margin-top: 6px; }
.oplc-inn__item { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; width: 100%; text-align: left; font: inherit; padding: 8px 10px; border: 1px solid #d5e9e8; border-radius: 8px; background: #fff; cursor: pointer; }
.oplc-inn__item:hover { background: #eefaf9; border-color: #b9e3e1; }
.oplc-inn__name { font-weight: 600; color: #1f2937; }
.oplc-inn__meta { color: #6b7280; font-size: 12px; }
.oplc-inn__empty { padding: 8px 10px; color: #6b7280; }
/* claude-m129-END */

/* claude-m130-START — подсказка про условия в пустой выдаче */
.oplc-terms-hint { margin: 8px auto 4px; max-width: 640px; padding: 10px 14px; border-radius: 10px; background: #eaf6f7; color: #0b4f52; font-size: 14px; line-height: 1.4; }
.oplc-terms-hint[hidden] { display: none; }
/* claude-m130-END */

/* claude-m132-START — кнопки бюджета в вопросах: где 0 — приглушённо (выбрать можно) */
.oplc-quiz__opt--zero { border-color: #dfe8e9; color: #8a9a9d; background: #fafcfc; font-weight: 600; }
/* claude-m132-END */

/* claude-m134 (01.10): панели «КП в Word» и «Письмо на скидку» — под кнопками карточки (окно — flex с order, у кнопок 8) */
.catalog-lot-dialog__scroll > #oplcKpPanel { order: 9; }
.catalog-lot-dialog__scroll > #oplcDlPanel { order: 10; }
.oplc-dl__sum { margin: 2px 0 8px; font-weight: 600; color: #0b6b70; }
.oplc-dl__sum:empty { display: none; }

/* claude-r136-START — доработки витрины (владелец 01.10.2026: компьютер «первое окей, второе, третье, четвёртое хорошо»;
   телефон — компактные карточки и карточки в итогах пошагового подбора). Только новые правила. */

/* Компьютер, 1: «Подобрать пошагово» — аккуратная кнопка, а не серая полоса во всю ширину. Пошаговый подбор открывается
   на телефоне; на компьютере кнопка появляется, если страницу открыли в узком окне и потом развернули. */
@media (min-width: 768px) {
  .oplc-quiz-launch {
    box-sizing: border-box; justify-self: start; align-self: start; width: auto; max-width: 100%; min-height: 40px;
    margin: 6px 0 0; padding: 8px 16px; border: 1.5px solid var(--oplc-accent, #05777d); border-radius: 12px;
    background: #fff; color: var(--oplc-accent-dark, #045f64); font: inherit; font-size: 14.5px; line-height: 1.3;
    font-weight: 800; cursor: pointer; transition: background .15s ease, box-shadow .15s ease;
  }
  .oplc-quiz-launch:hover { background: var(--oplc-accent-soft, #eef8f8); }
  .oplc-quiz-launch:focus-visible { outline: 3px solid var(--oplc-accent-dark, #045f64); outline-offset: 2px; }
}

/* Компьютер, 2: «Найти» прямо в строке «Что ищете» — поиск одним нажатием на первом экране. */
.oplc-qgo { display: none; }
@media (min-width: 768px) {
  .oplc-qgo-box { position: relative; }
  .oplc-qgo-box #catalogQuery { padding-right: 112px; }
  .oplc-qgo {
    position: absolute; right: 6px; bottom: 6px; z-index: 1; display: inline-flex; align-items: center; justify-content: center;
    gap: 6px; height: 40px; padding: 0 14px; border: 0; border-radius: 10px; background: var(--oplc-accent, #05777d);
    color: #fff; font: inherit; font-size: 15px; font-weight: 800; letter-spacing: .01em; cursor: pointer;
    box-shadow: 0 2px 8px rgba(5, 119, 125, .22); transition: background .15s ease, transform .15s ease;
  }
  .oplc-qgo:hover { background: var(--oplc-accent-dark, #045f64); }
  .oplc-qgo:active { transform: translateY(1px); }
  .oplc-qgo:focus-visible { outline: 3px solid var(--oplc-accent-dark, #045f64); outline-offset: 2px; }
  .oplc-qgo svg { flex: 0 0 auto; }
}

/* Компьютер, 4: четыре карточки в ряд уже с 1200 px (раньше — с 1366 px; на ноутбуках 1280 px было три). */
@media (min-width: 1200px) and (max-width: 1365px) {
  .opl-card-v2 .vehicle-catalog__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
  .opl-card-v2 .catalog-card__body { padding: 11px 12px 12px; gap: 7px; }
  .opl-card-v2 .catalog-card__price strong { font-size: 19px; }
  .opl-card-v2 .catalog-card__discount strong { font-size: 15px; }
  .opl-card-v2 .catalog-card__actions .catalog-card__details,
  .opl-card-v2 .catalog-card__actions .catalog-card__calculation { padding-left: 6px; padding-right: 6px; font-size: 13.5px; }
}

/* Телефон: компактные карточки выдачи. Код предложения — в «Подробнее» и в заявке; оговорка о скидке — одной строкой.
   Заодно: на экранах 400–767 px (iPhone Plus/Pro Max — 414–430 px) строка под фото была 180 px, а фото 16:9 выше —
   и накрывало название. Теперь строка под фото — по высоте фото. */
@media (max-width: 767px) {
  .opl-card-v2 #catalogGrid .catalog-card:not(.catalog-card--no-photo) { grid-template-rows: auto minmax(0, 1fr); }
  .opl-card-v2 #catalogGrid .catalog-card .catalog-plus__code { display: none; }
  .opl-card-v2 #catalogGrid .catalog-card .catalog-card__discount { padding: 7px 10px; }
  .opl-card-v2 #catalogGrid .catalog-card .catalog-card__discount small {   /* одна строка с многоточием; переносы r3 не трогаем */
    display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; line-clamp: 1; overflow: hidden; margin-top: 1px;
  }
}
/* итоги пошагового подбора: три карточки сразу */
.oplc-quiz__opts > .oplc-quiz__previews--found { grid-column: 1 / -1; margin: 0 0 4px; }
/* claude-r136-END */

/* claude-m137-START — значки видов техники и плашки в вопросах, подсказки ИНН (Claude, 02.10.2026) */
.oplc-quiz .oplc-m137-opt { display: flex; align-items: center; justify-content: flex-start; gap: 8px; padding: 8px 8px 8px 8px; text-align: left;
  font-size: 15.5px; letter-spacing: -.005em; overflow-wrap: normal; word-break: normal; -webkit-hyphens: manual; hyphens: manual; }
.oplc-m137-ico { flex: 0 0 auto; width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round;
  stroke-linejoin: round; color: var(--oplc-accent, #05777d); background: var(--oplc-accent-soft, #eef8f8); border-radius: 9px; padding: 3px; box-sizing: border-box; }
.oplc-quiz .oplc-m137-opt:active .oplc-m137-ico { background: #fff; }
.oplc-quiz.oplc-m137-hello .oplc-quiz__hello { display: none; }
.oplc-m137-badges { display: flex; flex-direction: column; gap: 6px; margin: 6px 0 0; }
.oplc-m137-badges[hidden] { display: none; }
.oplc-m137-badges__row { display: flex; flex-wrap: wrap; gap: 6px; }
.oplc-m137-badge { display: inline-flex; align-items: center; min-height: 30px; padding: 0 10px; border-radius: 99px; background: var(--oplc-accent-soft, #eef8f8);
  color: var(--oplc-accent-dark, #045f64); font-size: 14px; font-weight: 800; letter-spacing: .01em; white-space: nowrap; }
.oplc-m137-badges__note { margin: 0; font-size: 14px; line-height: 1.35; color: #4b5d61; }
@media (max-width: 380px) { .oplc-m137-badge { font-size: 13px; padding: 0 9px; } .oplc-quiz .oplc-m137-opt { gap: 6px; font-size: 15px; } .oplc-m137-ico { width: 26px; height: 26px; } }
/* ИНН: подсказка под полем и заметная кнопка поиска по названию */
.oplc-m137-innhint { margin: -2px 0 6px; padding: 6px 10px; border-radius: 8px; background: #fffbeb; color: #92400e; font-size: 13px; line-height: 1.35; }
.oplc-m137-innhint[hidden] { display: none; }
#catalogLeadForm .oplc-inn__link { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; margin: 2px 0; padding: 0 12px;
  border: 1px solid #cfe0e1; border-radius: 99px; background: #fff; color: var(--oplc-accent-dark, #045f64); font-size: 14px; font-weight: 700;
  text-decoration: none; }
#catalogLeadForm .oplc-inn__link::before { content: ""; width: 14px; height: 14px; flex: 0 0 auto;
  background: no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23045f64' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.5 15.5L21 21'/%3E%3C/svg%3E"); }
#catalogLeadForm .oplc-inn__link:active { background: var(--oplc-accent-soft, #eef8f8); }
#catalogLeadForm .oplc-inn__link[hidden] { display: none; }
/* мало результатов — расширить поиск */
.oplc-m137-few { margin: 12px 0 4px; padding: 12px 14px; border: 1px dashed #cfe0e1; border-radius: 14px; background: #fbfdfd; }
.oplc-m137-few__t { margin: 0 0 8px; font-size: 15px; font-weight: 700; color: #33474a; }
.oplc-m137-few__row { display: flex; flex-wrap: wrap; gap: 8px; }
.oplc-m137-few__btn { min-height: 40px; padding: 0 14px; border: 1.5px solid var(--oplc-accent, #05777d); border-radius: 99px; background: #fff;
  color: var(--oplc-accent-dark, #045f64); font: inherit; font-size: 14.5px; font-weight: 800; cursor: pointer; }
.oplc-m137-few__btn:active { background: var(--oplc-accent-soft, #eef8f8); }
/* «Подобрать спецусловия» под выдачей была с оформлением браузера по умолчанию (серая, 24 px) — делаем обычной кнопкой */
#catalogProgramHints #catalogProgramGenericLead { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 18px;
  border: 1.5px solid var(--oplc-accent, #05777d); border-radius: 12px; background: #fff; color: var(--oplc-accent-dark, #045f64);
  font: inherit; font-size: 15px; font-weight: 800; letter-spacing: .01em; cursor: pointer; box-shadow: none; }
#catalogProgramHints #catalogProgramGenericLead:hover { background: var(--oplc-accent-soft, #eef8f8); }
#catalogProgramHints #catalogProgramGenericLead:active { background: var(--oplc-accent-soft2, #dff0f1); }
@media (max-width: 767px) { #catalogProgramHints #catalogProgramGenericLead { width: 100%; } }
/* claude-m137-END */

/* ==== r138 (Claude, 02.10.2026): строка доверия в окне заявки ==== claude-m138-START */
.oplc-trust { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 18px; margin: 8px 0 0; font-size: 13px; line-height: 1.4; color: #46565a; }
.oplc-trust__g { display: inline-flex; align-items: center; white-space: nowrap; }
.oplc-trust__g i { margin: 0 7px; color: #b7c4c7; font-style: normal; font-weight: 700; }
.oplc-trust__r { display: inline-flex; align-items: center; color: #0c7c80; font-weight: 800; }
.oplc-trust__r b { margin: 0 4px 0 5px; }
.oplc-trust__r svg { width: 14px; height: 14px; fill: #f5a623; flex: none; }
#catalogLeadForm.oplc-fq-on > .oplc-trust { display: none !important; }
/* claude-m138-END */

/* ==== r139 (Claude, 02.10.2026): блок «Недавно выдали клиентам» на главной каталога ==== claude-m139-START */
.opl-vd { max-width: 1120px; margin: 30px auto 4px; padding: 0 16px; font: 14px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #25454a; }
.opl-vd__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px 18px; flex-wrap: wrap; margin: 0 0 12px; }
.opl-vd h2 { margin: 0; font-size: 22px; line-height: 1.2; color: #12292b; }
.opl-vd__sub { margin: 4px 0 0; color: #5d7376; }
.opl-vd__btns { display: flex; gap: 8px; flex-wrap: wrap; }
.opl-vd__all, .opl-vd__tg { display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border: 1.5px solid #05777d; border-radius: 999px; color: #05777d; font-weight: 700; text-decoration: none; white-space: nowrap; background: #fff; }
.opl-vd__all:hover, .opl-vd__tg:hover { background: #05777d; color: #fff; }
.opl-vd__tg svg { width: 16px; height: 16px; fill: currentColor; }
.opl-vd__row { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(250px, 1fr); gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 2px 2px 10px; scrollbar-width: thin; -webkit-overflow-scrolling: touch; }
@media (min-width: 900px) { .opl-vd__row { grid-auto-flow: row; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: visible; } }
.opl-vd__card { scroll-snap-align: start; display: block; background: #fff; border: 1px solid #e7eef0; border-radius: 16px; overflow: hidden; color: inherit; text-decoration: none; transition: box-shadow .15s, transform .15s; }
.opl-vd__card:hover { box-shadow: 0 12px 30px rgba(18, 43, 46, .13); transform: translateY(-1px); }
.opl-vd__img { display: block; position: relative; aspect-ratio: 16/10; background: #eef3f4; }
.opl-vd__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.opl-vd__chip { position: absolute; left: 10px; top: 10px; padding: 4px 10px; border-radius: 999px; background: rgba(5, 119, 125, .92); color: #fff; font-size: 12px; font-weight: 700; }
.opl-vd__body { display: block; padding: 12px 14px 14px; }
.opl-vd__body b { display: block; margin: 0 0 4px; font-size: 16px; line-height: 1.3; color: #12292b; }
.opl-vd__body span { display: block; color: #5d7376; font-size: 13px; }
/* claude-m139-END */

/* ==== r140 (Claude, 02.10.2026): «Куда обращаться по этой позиции» — только режим менеджера ==== claude-m140-START */
.oplc-lkc { margin: 2px 0 0; padding: 9px 11px; border-left: 3px solid #0c7c80; border-radius: 10px; background: #f1f8f8; font-size: 12.5px; line-height: 1.45; color: #25454a; text-align: left; }
.oplc-lkc__h { font-weight: 800; color: #0a5c60; margin: 0 0 3px; }
.oplc-lkc__lk { font-weight: 800; color: #12292b; }
.oplc-lkc__p { margin: 2px 0 0; }
.oplc-lkc__p--main b { color: #12292b; }
.oplc-lkc__p:not(.oplc-lkc__p--main) { color: #5d7376; }
.oplc-lkc__note { margin: 4px 0 0; font-size: 12px; color: #6f7b7e; }
/* ссылки внутри блока — обычные, не кнопки (у .catalog-card__actions a и .catalog-lot-dialog__actions a стиль кнопок) */
.catalog-card__actions .oplc-lkc .oplc-lkc__p a, .catalog-card .catalog-card__actions--manager .oplc-lkc .oplc-lkc__p a,
.catalog-lot-dialog__actions .oplc-lkc .oplc-lkc__p a {
  display: inline; min-height: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; filter: none;
  font: inherit; font-weight: 700; color: #0c7c80; text-decoration: none; white-space: nowrap; text-align: left; cursor: pointer;
}
.catalog-card__actions .oplc-lkc .oplc-lkc__p a:hover, .catalog-lot-dialog__actions .oplc-lkc .oplc-lkc__p a:hover { text-decoration: underline; filter: none; }
.catalog-lot-dialog__actions .oplc-lkc { flex-basis: 100%; width: 100%; }
/* claude-m140-END */

/* ==== r141 (Claude, 02.10.2026): окно «Подробнее» — фото по клику в полном размере ==== claude-m141-START */
.catalog-photo-gallery > img[data-oplc-full] { cursor: zoom-in; }
.catalog-photo-gallery.oplc-full > img { cursor: default; }
.oplc-gal-hint { margin: 4px 0 0; font-size: 12px; line-height: 1.3; color: #6f7b7e; text-align: center; }
.catalog-photo-gallery.oplc-full .oplc-gal-hint { display: none; }
/* claude-m141-END */

/* claude-m144-START — «Характеристики из объявления» в окне «Подробнее» (r144, Солид). Плитки — те же, что у фактов карточки. */
.oplc-specs { display: grid; gap: 10px; margin: 2px 0 4px; }
.oplc-specs__h { margin: 4px 0 0; font-size: 15px; font-weight: 900; color: var(--ink, #111617); }
.oplc-specs__grid { margin: 0; }
.oplc-specs__g { grid-column: 1 / -1; margin: 6px 0 -2px; font-size: 11px; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; color: #6a7b80; }
.oplc-specs--short .oplc-specs__x { display: none; }
.oplc-specs__f--wide { grid-column: 1 / -1; }
@media (max-width: 640px) { .catalog-lot-dialog__facts.oplc-specs__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; } .oplc-specs__grid > div { padding: 8px 9px; } }
.oplc-specs__more { justify-self: start; appearance: none; border: 1px solid #cfdcde; background: #fff; color: #07646a; font: 800 13px/1.2 inherit; padding: 9px 14px; border-radius: 999px; cursor: pointer; }
.oplc-specs__more:hover { border-color: #087f86; }
.oplc-specs__more:focus-visible { outline: 2px solid #087f86; outline-offset: 2px; }
.oplc-specs__text { margin: 0; padding: 11px 12px; border: 1px solid #e5ecee; border-radius: 7px; background: #fbfdfd; color: var(--ink, #111617); font-size: 13.5px; line-height: 1.5; white-space: pre-line; overflow-wrap: anywhere; }
.oplc-specs__note { margin: -4px 0 0; color: #6a7b80; font-size: 12px; }
/* claude-m144-END */

/* claude-m145-START — тест частных лиц (r145b): ссылка «Покупаете как частное лицо? Оставить заявку без ИНН» внизу формы заявки,
   только на позициях Газпрома/Совкома (спецтехника, грузовые, коммерческие, прицепы) */
.oplc-priv { margin: 2px 0 4px; }
.oplc-priv__link { appearance: none; background: none; border: 0; padding: 4px 0; color: #07646a; font: 700 14px/1.35 inherit; text-align: left; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; transition: background-color .2s; }
.oplc-priv__link:hover { color: #087f86; }
.oplc-priv__link:focus-visible { outline: 2px solid #087f86; outline-offset: 2px; border-radius: 4px; }
.oplc-priv--ask .oplc-priv__link { background: #e3f1f1; border-radius: 6px; padding: 4px 8px; }
#catalogLeadForm .oplc-m145-off { display: none !important; }
@media (prefers-reduced-motion: reduce) { .oplc-priv__link { transition: none; } }
/* claude-m145-END */

/* claude-m146-START — число фото на карточке, строка доверия на первом вопросе подбора (Claude, 02.10.2026) */
.catalog-card__image { position: relative; cursor: pointer; }   /* r146c: снимок открывает «Подробнее» */
.oplc-pc { position: absolute; right: 8px; bottom: 8px; z-index: 2; display: inline-flex; align-items: center; gap: 4px;
  padding: 4px 8px 4px 7px; border-radius: 999px; background: rgba(15, 23, 42, .68); color: #fff; font: 600 12px/1.1 inherit;
  letter-spacing: .01em; pointer-events: none; -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); }
.oplc-pc svg { width: 14px; height: 14px; fill: currentColor; flex: 0 0 auto; }
.oplc-m146-trust { margin: 18px 0 4px; padding: 12px 14px; border-radius: 14px; background: #f3faf9; border: 1px solid #d6ecea;
  text-align: center; color: #33525a; }
.oplc-m146-trust[hidden] { display: none !important; }
.oplc-m146-trust p { margin: 0; font-size: 13px; line-height: 1.4; }
.oplc-m146-trust__r { display: flex; align-items: center; justify-content: center; gap: 5px; font-size: 14px !important; color: #0f3b40; }
.oplc-m146-trust__r svg { width: 16px; height: 16px; fill: #f5a623; flex: 0 0 auto; }
.oplc-m146-trust__r b { font-weight: 700; }
.oplc-m146-trust__l { margin-top: 3px !important; color: #4b6b72; }
.oplc-m146-trust__l span { white-space: nowrap; }
.catalog-photo-gallery__thumbnail.oplc-mt { padding: 0; overflow: hidden; }
.catalog-photo-gallery__thumbnail.oplc-mt img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* r146e (жалоба владельца 03.10 «фото должны быть выровнены»): галерея «Подробнее» строго по ширине окна. Причина: рамка снимка
   (.catalog-lot-dialog__media, align-self:start) брала ширину по ленте миниатюр (8 × 48 px не сжимаются) и вылезала за экран —
   стрелка «вперёд», лента и подсказка обрезались, снимок смещался вправо. Теперь рамка тянется на всю ширину; миниатюры одной
   высоты 44 px во всём каталоге (одинаковая высота ленты у всех лотов), ширина гибкая (34–56 px): до 8–9 штук входят в строку на телефоне 360–430 px, больше — лента
   листается внутри рамки (на телефоне — с затуханием у края); если миниатюры входят с запасом — лента по центру. */
#catalogLotDialog .catalog-lot-dialog__media, #catalogLotDialog #catalogLotImage, #catalogLotDialog .catalog-photo-gallery { min-width: 0; max-width: 100%; box-sizing: border-box; }
#catalogLotDialog .catalog-photo-gallery__thumbnails { min-width: 0; max-width: 100%; box-sizing: border-box; align-items: flex-start; scroll-behavior: smooth; }
#catalogLotDialog .catalog-photo-gallery__thumbnail { flex: 1 0 0; width: auto; min-width: 34px; max-width: 44px; height: 44px; box-sizing: border-box; }
#catalogLotDialog .catalog-photo-gallery__thumbnail.is-unavailable { font-size: 0; }
#catalogLotDialog .catalog-photo-gallery__thumbnail-fallback { position: relative; font-size: 0; padding: 0; }
#catalogLotDialog .catalog-photo-gallery__thumbnail-fallback::before { content: ""; position: absolute; left: 50%; top: 50%; width: 14px; height: 14px; margin: -7px 0 0 -7px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M2.5 2.5l9 9M11.5 2.5l-9 9' stroke='%238a9a9e' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") center / 14px 14px no-repeat; }
@media (hover: none), (pointer: coarse) {
  #catalogLotDialog .catalog-photo-gallery__thumbnails.oplc-ths { -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 30px), transparent); mask-image: linear-gradient(to right, #000 calc(100% - 30px), transparent); }
  #catalogLotDialog .catalog-photo-gallery__thumbnails.oplc-ths.oplc-thm { -webkit-mask-image: linear-gradient(to right, transparent, #000 30px, #000 calc(100% - 30px), transparent); mask-image: linear-gradient(to right, transparent, #000 30px, #000 calc(100% - 30px), transparent); }
  #catalogLotDialog .catalog-photo-gallery__thumbnails.oplc-ths.oplc-the { -webkit-mask-image: linear-gradient(to right, transparent, #000 30px); mask-image: linear-gradient(to right, transparent, #000 30px); }
}
@media (prefers-reduced-motion: reduce) { #catalogLotDialog .catalog-photo-gallery__thumbnails { scroll-behavior: auto; } }
#catalogLotDialog.catalog-lot-mobile .catalog-lot-dialog__media { align-self: stretch; width: auto; }
#catalogLotDialog.catalog-lot-mobile .catalog-photo-gallery__thumbnails { gap: 5px; padding: 6px; }
#catalogLotDialog.catalog-lot-mobile .catalog-photo-gallery__thumbnail { flex: 1 0 0; width: auto; min-width: 34px; max-width: 56px; min-height: 0; height: 44px; }
#catalogLotDialog.catalog-lot-mobile .catalog-photo-gallery__thumbnail:first-child { margin-left: auto; }
#catalogLotDialog.catalog-lot-mobile .catalog-photo-gallery__thumbnail:last-child { margin-right: auto; }
@media (min-width: 600px) and (min-height: 600px) {
  #catalogLotDialog.catalog-lot-mobile .catalog-photo-gallery > img,
  #catalogLotDialog.catalog-lot-mobile #catalogLotImage > img { height: clamp(220px, 42vh, 460px); height: clamp(220px, 42dvh, 460px); }
}
/* claude-m146-END */

/* claude-m147-START — визуал, пачка 1 (Claude, 03.10.2026): шапка выдачи и карточка на телефоне, порядок блоков окна «Подробнее» */
#catalogPhotoFirstNote .oplc-pf-short { display: none; }
/* окно «Подробнее» на телефоне: «Характеристики из объявления» (m144) шли первыми (order 0) — фото и цена уезжали на второй экран */
#catalogLotDialog.catalog-lot-mobile .oplc-specs { order: 3; }
/* r147b: «0 вариантов» в подборе — читаемо (было #8a9a9d на #fafcfc, контраст 2,8:1; стало 5,3:1), но спокойнее обычных кнопок */
.oplc-quiz__opt--zero { color: #5f6f73; }
@media (max-width: 767px) {
  /* шапка выдачи: «Найдено N карточек.» без хвоста (страница 1–24, повторы ниже — видно на компьютере) */
  #catalogResultStatus .oplc-st-more { display: none; }
  /* подпись фото-фильтра — одна короткая строка со ссылкой «Показать все» */
  #catalogPhotoFirstNote .oplc-pf-long { display: none; }
  #catalogPhotoFirstNote .oplc-pf-short { display: inline; }
  #catalogPhotoFirstNote { margin: 0; font-size: 13px; line-height: 1.45; }
  #catalogPhotoFirstNote .catalog-plus__alt {
    display: inline; min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none;
    color: var(--oplc-accent-dark, #045f64); font: inherit; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; cursor: pointer;
    padding: 5px 0; margin: -5px 0;   /* зона нажатия чуть больше строки и не залезает на текст подписи; строку не раздвигает */
  }
  /* карточка: оговорка о скидке одной строкой («по согласованию / размер подтвердит менеджер» — в окне «Подробнее») */
  .opl-card-v2 #catalogGrid .catalog-card .catalog-card__discount strong,
  .opl-card-v2 #catalogGrid .catalog-card .catalog-card__discount small { display: none; }
  .opl-card-v2 #catalogGrid .catalog-card .catalog-card__discount > span::after { content: " · не гарантирована"; font-size: 12px; font-weight: 600; color: #8a6a2c; }
  /* название в одну строку не держит место под вторую; сводка «Ещё N похожих» — по высоте текста */
  .opl-card-v2 #catalogGrid .catalog-card .catalog-card__title-button { min-height: 24px; }
  .opl-card-v2 #catalogGrid .catalog-card .catalog-card__group-summary { min-height: 0; padding-top: 12px; padding-bottom: 12px; margin-top: -8px; margin-bottom: -8px; }   /* зона нажатия 40 px, место — по строке */
}
@media (max-width: 374px) {   /* 360 px: «не гарантирована» не входит в строку — то же короче */
  .opl-card-v2 #catalogGrid .catalog-card .catalog-card__discount > span::after { content: " · без гарантии"; }
}
/* claude-m147-END */

/* claude-m149-START — визуал, пачка 2 (Claude, 04.10.2026): подбор с нулём, код предложения в окне, плитка цены, конец выдачи */
/* подбор с нулём: «Показать одним нажатием» — все варианты на первом экране */
.oplc-quiz__chips { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 4px; }
.oplc-quiz__chips-t { flex: 1 0 100%; margin: 0; font-size: 14px; font-weight: 700; color: #43575b; }
.oplc-quiz__chips .oplc-quiz__chip {
  min-height: 44px; padding: 8px 14px; border: 1.5px solid var(--oplc-accent, #05777d); border-radius: 999px; background: #fff;
  color: var(--oplc-accent-dark, #045f64); font: inherit; font-size: 15px; font-weight: 800; line-height: 1.25; text-align: left; cursor: pointer;
}
.oplc-quiz__chips .oplc-quiz__chip:focus-visible { outline: 3px solid var(--oplc-accent-dark, #045f64); outline-offset: 2px; }

/* окно «Подробнее»: код предложения одной строкой */
#catalogLotDialog .catalog-plus__code--lot { flex-wrap: nowrap; gap: 8px; }
#catalogLotDialog .catalog-plus__code--lot > span, #catalogLotDialog .catalog-plus__code--lot b { white-space: nowrap; }
#catalogLotDialog .catalog-plus__code--lot .catalog-plus__code-lbl-m { display: none; }
#catalogLotDialog .catalog-plus__code--lot .catalog-plus__code-hint {
  flex: 1 1 auto; flex-basis: auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12.5px; line-height: 1.4;
}
@media (max-width: 767px) {
  #catalogLotDialog .catalog-plus__code--lot .catalog-plus__code-lbl,
  #catalogLotDialog .catalog-plus__code--lot .catalog-plus__code-hint { display: none; }
  #catalogLotDialog .catalog-plus__code--lot .catalog-plus__code-lbl-m { display: inline; font-size: 13.5px; color: var(--oplc-muted, #5f6f73); }
  #catalogLotDialog .catalog-plus__code--lot .catalog-plus__code-copy {
    flex: 0 0 44px; width: 44px; min-width: 44px; min-height: 44px; padding: 0; margin-left: auto;
    display: inline-flex; align-items: center; justify-content: center;
  }
  #catalogLotDialog .catalog-plus__code--lot .catalog-plus__code-copy::before { content: "⧉"; font-size: 18px; line-height: 1; }
  #catalogLotDialog .catalog-plus__code--lot .catalog-plus__code-copy[data-done="1"]::before { content: "✓"; }
}
@media (max-width: 340px) {
  #catalogLotDialog .catalog-plus__code--lot .catalog-plus__code-lbl-m { font-size: 0; }
  #catalogLotDialog .catalog-plus__code--lot .catalog-plus__code-lbl-m::after { content: "Код:"; font-size: 13.5px; }
}

/* окно «Подробнее»: в плитке цены — платёж в месяц и (телефон) строка о скидке */
#catalogLotFacts .oplc-fact--price .oplc-pt { order: 3; flex-basis: 100%; display: grid; gap: 2px; margin: 2px 0 0; }
#catalogLotFacts .oplc-fact--price .oplc-pt__pay { margin: 0; font-size: 13.5px; line-height: 1.4; font-weight: 700; color: #24474b; }
#catalogLotFacts .oplc-fact--price .oplc-pt__disc {
  justify-self: start; margin: 0; padding: 6px 0; min-height: 0; border: 0; background: none; box-shadow: none;
  font: inherit; font-size: 13.5px; line-height: 1.4; font-weight: 700; color: #7a4b00; text-align: left; cursor: pointer;
}
#catalogLotFacts .oplc-fact--price .oplc-pt__disc::after { content: "\00a0›"; }
#catalogLotFacts .oplc-fact--price .oplc-pt__disc:focus-visible { outline: 3px solid var(--oplc-accent-dark, #045f64); outline-offset: 2px; }

/* конец выдачи: «Скрыть» у спецпрограмм читаемо (было #6d8285 — 3,9:1); первая догруженная карточка коротко подсвечивается */
.opl-hints-v2 .catalog-program-hints__head button { color: #5f6f73; }
#catalogGrid > [data-oplc-batch] { animation: oplcBatch149 2.4s ease-out 1; }
@keyframes oplcBatch149 { 0%, 35% { box-shadow: 0 0 0 3px #05777d, 0 8px 24px rgba(5, 119, 125, .25); } 100% { box-shadow: 0 0 0 3px rgba(5, 119, 125, 0); } }
@media (prefers-reduced-motion: reduce) { #catalogGrid > [data-oplc-batch] { animation: none; outline: 3px solid #05777d; outline-offset: 2px; } }
/* claude-m149-END */

/* claude-m151-START — r151 (Claude, 04.10.2026): выдача «сначала с фото, в конце без фото»; у карточек без фото — белая плашка
   «Фото по запросу» (владелец 04.10: «фотку ставить… белый фон и фото по запросу»). */
/* подпись у итога: «Сначала N с фото, в конце списка — M без фото: фото по запросу» */
.oplc-pf-note { margin: 2px 0 10px; font-size: 14px; line-height: 1.45; font-weight: 600; color: #43575b; }
.oplc-pf-note[hidden] { display: none; }
.vehicle-catalog__result-head > .oplc-pf-note { order: 6; flex: 1 0 100%; }   /* на компьютере — строкой под итогом, а не между заголовком и сортировкой */
/* карточка без фото — компьютер: белая плашка той же пропорции, что и фото (3:2) */
@media (min-width: 768px) {
  .opl-card-v2 .catalog-card--no-photo::before {
    content: "Фото по запросу";
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238fa3a7' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8h3l2-2h6l2 2h3v11H4z'/%3E%3Ccircle cx='12' cy='13' r='3.5'/%3E%3C/svg%3E") no-repeat center calc(50% - 16px) / 30px 30px;
    border-bottom: 1px solid #e6edee; color: #5f6f73; font-size: 14px; font-weight: 700;
  }
}
/* карточка без фото — телефон: раньше начиналась сразу с названия; теперь та же белая плашка 16:9, что и место под фото */
@media (max-width: 767px) {
  .opl-card-v2 .catalog-card--no-photo { grid-template-rows: auto minmax(0, 1fr); position: relative; }
  .opl-card-v2 .catalog-card--no-photo::before {
    content: "Фото по запросу"; display: grid; place-items: center; aspect-ratio: 16 / 9; box-sizing: border-box; width: 100%;
    padding-top: 30px; border-bottom: 1px solid #e6edee; border-radius: var(--oplc-r-card, 14px) var(--oplc-r-card, 14px) 0 0;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238fa3a7' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8h3l2-2h6l2 2h3v11H4z'/%3E%3Ccircle cx='12' cy='13' r='3.5'/%3E%3C/svg%3E") no-repeat center calc(50% - 16px) / 30px 30px;
    color: #5f6f73; font-size: 14px; font-weight: 700;
  }
  .opl-card-v2 .catalog-card--no-photo .catalog-card__top .catalog-card__type {   /* вид техники — на плашке, как у карточек с фото */
    position: absolute; z-index: 2; left: 10px; top: 10px; margin: 0;
    padding: 4px 10px; border-radius: 999px; border: 0; background: rgba(11, 32, 34, .72); color: #fff;
    font-size: 12px; font-weight: 700; letter-spacing: .01em;
  }
}
/* окно «Подробнее» без фото: белая плашка «Фото по запросу» (было серое «Фото уточним у источника») */
.catalog-lot-dialog__image:not([data-photo-state])::after { content: "Фото по запросу"; font-size: 15px; font-weight: 700; color: #5f6f73; padding-top: 34px; }
#catalogLotDialog .catalog-lot-dialog__image:not([data-photo-state]) {
  min-height: 150px; aspect-ratio: auto; border: 1px solid #e6edee; border-radius: 12px;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238fa3a7' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8h3l2-2h6l2 2h3v11H4z'/%3E%3Ccircle cx='12' cy='13' r='3.5'/%3E%3C/svg%3E") no-repeat center calc(50% - 14px) / 34px 34px;
}
@media (max-width: 767px) {
  #catalogLotDialog.catalog-lot-mobile #catalogLotImage:not([data-photo-state]) { display: grid; place-items: center; min-height: 132px; padding: 16px; border-radius: 0; }
}
/* заявка частного лица: «Как планируете покупать?» — три ответа-кнопки в ряд (у формы свои стили label/input — сбрасываем) */
#catalogLeadForm .oplc-priv__pay { margin: 0 0 12px; padding: 0; border: 0; min-width: 0; }
#catalogLeadForm .oplc-priv__pay[hidden] { display: none; }
#catalogLeadForm .oplc-priv__pay-t { float: none; width: auto; margin: 0 0 8px; padding: 0; font-size: 15px; font-weight: 800; line-height: 1.3; color: #1f2d30; }
#catalogLeadForm .oplc-priv__pay-opts { display: flex; flex-wrap: wrap; gap: 8px; }
#catalogLeadForm label.oplc-priv__pay-opt {
  display: inline-flex; align-items: center; gap: 8px; width: auto; min-height: 44px; margin: 0; padding: 8px 14px; box-sizing: border-box;
  border: 1.5px solid #c9d8da; border-radius: 999px; background: #fff; color: #24474b; font-size: 15px; font-weight: 700; line-height: 1.25; cursor: pointer;
}
#catalogLeadForm label.oplc-priv__pay-opt input {
  flex: 0 0 auto; width: 18px; height: 18px; min-height: 0; margin: 0; padding: 0; border: 0; box-shadow: none; accent-color: #05777d;
}
#catalogLeadForm label.oplc-priv__pay-opt > span { margin: 0; font-size: 15px; font-weight: 700; line-height: 1.25; color: inherit; text-transform: none; letter-spacing: 0; }   /* у подписей полей формы свой мелкий шрифт */
#catalogLeadForm label.oplc-priv__pay-opt:has(input:checked) { border-color: #05777d; background: #e6f2f3; color: #045f64; }
#catalogLeadForm label.oplc-priv__pay-opt:focus-within { outline: 3px solid #045f64; outline-offset: 2px; }
#catalogLeadForm .oplc-priv__pay--ask .oplc-priv__pay-t { color: #8a4b00; }
#catalogLeadForm .oplc-priv__pay--ask label.oplc-priv__pay-opt { border-color: #d97706; background: #fffaf0; }
@media (max-width: 360px) { #catalogLeadForm label.oplc-priv__pay-opt { padding: 8px 12px; font-size: 14.5px; } }
/* claude-m151-END */

/* claude-m153-START — r153 (Claude, 04.10.2026): окно заявки на телефоне — лист во всю видимую часть экрана (с клавиатурой и без);
   класс ставит m153 только на телефонах */
#catalogLeadDialog.oplc-kb-sheet { border: 0; box-shadow: none; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; scroll-padding-top: 12px; scroll-padding-bottom: 104px; }
#catalogLeadDialog.oplc-kb-sheet .catalog-lead-dialog__actions { padding-bottom: max(13px, env(safe-area-inset-bottom)); }
#catalogLeadDialog.oplc-kb-sheet.oplc-kb-open .catalog-lead-dialog__actions { padding-bottom: 11px; }   /* клавиатура закрывает «полоску» iPhone */
/* claude-m153-END */

/* ==== catalogLoadMore r152 (Claude, 04.10.2026) ==== claude-m152-START
   «Показать ещё» — основная кнопка конца выдачи: заливка, крупнее, с числом; под ней «Показано 48 из 31 545».
   Стрелки страниц — второстепенные (раньше залитой была «Вперёд», и её нажимали чаще: 103 против 61 за 04.10).
   html.oplc-more-hold — на время дозагрузки браузер не подстраивает прокрутку сам: экран держит m152. */
.catalog-plus__more-wrap.oplc-more { flex-direction: column; align-items: center; gap: 7px; margin: 18px 0 6px; }
.oplc-more .catalog-plus__more {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 52px; min-width: 300px; padding: 13px 28px;
  border: 1px solid #05777d; border-radius: 12px; background: #05777d; color: #fff;
  font-size: 16px; font-weight: 800; letter-spacing: .01em;
  box-shadow: 0 6px 16px rgba(5, 119, 125, .22);
}
.oplc-more .catalog-plus__more:hover:not(:disabled) { background: #045f64; border-color: #045f64; color: #fff; }
.oplc-more .catalog-plus__more:focus-visible { outline: 3px solid #f2b84b; outline-offset: 2px; }
.oplc-more .catalog-plus__more:disabled { opacity: 1; background: #4d9ea2; border-color: #4d9ea2; cursor: progress; box-shadow: none; }
.oplc-more__spin {
  display: none; width: 16px; height: 16px; flex: 0 0 16px; border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, .45); border-top-color: #fff; animation: oplcMoreSpin152 .8s linear infinite;
}
.oplc-more.is-loading .oplc-more__spin { display: inline-block; }
@keyframes oplcMoreSpin152 { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .oplc-more__spin { animation: none; border-top-color: rgba(255, 255, 255, .45); } }
.oplc-more__cap { margin: 0; font-size: 13px; line-height: 1.35; font-weight: 600; color: #6d7f82; text-align: center; }
.oplc-more__cap:empty { display: none; }
@media (max-width: 767px) {
  #catalogViewPanel > .oplc-more { order: 9; }
  .oplc-more .catalog-plus__more { width: 100%; min-width: 0; }
}
html.oplc-more-on .opl-card-v2 #catalogPagination #catalogNext { background: #fff; border-color: #d7e5e6; color: #3f5d60; }
html.oplc-more-on .opl-card-v2 #catalogPagination #catalogNext:hover:not(:disabled) { background: #fff; border-color: #05777d; color: #05777d; }
html.oplc-more-hold { overflow-anchor: none; }
/* claude-m152-END */

/* ==== r156 (Claude, 05.10.2026): «Запросить расчёт» у менеджера ЛК — только режим менеджера, окно «Подробнее» ==== claude-m156-START */
.oplc-lkr { margin: 9px 0 2px; padding: 9px 0 0; border-top: 1px dashed #b9d6d8; }
.oplc-lkr__h { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-weight: 800; color: #0a5c60; font-size: 13px; }
.catalog-lot-dialog__actions .oplc-lkc select.oplc-lkr__to {
  flex: 1 1 200px; min-width: 0; max-width: 100%; height: 32px; min-height: 0; margin: 0; padding: 4px 28px 4px 9px; box-sizing: border-box;
  border: 1px solid #b9d6d8; border-radius: 8px; background-color: #fff; color: #12292b; font: inherit; font-weight: 700; font-size: 13px; line-height: 1.2;
}
.catalog-lot-dialog__actions .oplc-lkc select.oplc-lkr__to--one { appearance: none; -webkit-appearance: none; padding-right: 9px; border-color: transparent; background: transparent; opacity: 1; color: #12292b; }
.oplc-lkr__btns { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0 0; }
.catalog-lot-dialog__actions .oplc-lkc .oplc-lkr__b {
  display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; min-height: 36px; margin: 0; padding: 6px 13px; box-sizing: border-box;
  border: 1.5px solid #0c7c80; border-radius: 999px; background: #fff; color: #0a5c60; box-shadow: none; filter: none;
  font: inherit; font-size: 13.5px; font-weight: 800; line-height: 1.2; text-decoration: none; white-space: nowrap; cursor: pointer;
}
.catalog-lot-dialog__actions .oplc-lkc .oplc-lkr__b--tg { border-color: #1f8acb; color: #146a9f; }
.catalog-lot-dialog__actions .oplc-lkc .oplc-lkr__b--tg::before { content: ""; width: 15px; height: 15px; margin-right: 6px; flex: 0 0 auto;
  background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23229ED9' d='M21.9 4.3 18.7 19.5c-.2 1.1-.9 1.4-1.8.9l-4.9-3.6-2.4 2.3c-.3.3-.5.5-1 .5l.3-5 9.1-8.2c.4-.4-.1-.6-.6-.2L6.2 13.3l-4.8-1.5c-1-.3-1.1-1 .2-1.5L20.4 3c.9-.3 1.7.2 1.5 1.3z'/%3E%3C/svg%3E"); }
.catalog-lot-dialog__actions .oplc-lkc .oplc-lkr__b--max { border-color: #7b5cff; color: #5a3fd6; }
.catalog-lot-dialog__actions .oplc-lkc .oplc-lkr__b:hover:not([aria-disabled="true"]):not(:disabled) { background: #eef7f7; }
.catalog-lot-dialog__actions .oplc-lkc .oplc-lkr__b[aria-disabled="true"], .catalog-lot-dialog__actions .oplc-lkc .oplc-lkr__b:disabled {
  border-color: #d3dfe0; color: #9aaaad; background: #f6f9f9; cursor: default; pointer-events: auto; }
.catalog-lot-dialog__actions .oplc-lkc .oplc-lkr__b:focus-visible { outline: 3px solid #045f64; outline-offset: 2px; }
.oplc-lkr__who { margin: 7px 0 0; font-size: 12.5px; color: #25454a; }
.oplc-lkr__who[data-kind="warn"] { color: #8a4b00; }
.oplc-lkr__st { margin: 4px 0 0; min-height: 0; font-size: 12.5px; font-weight: 700; color: #0a5c60; }
.oplc-lkr__st:empty { display: none; }
.oplc-lkr__st[data-kind="err"] { color: #a33b20; }
.oplc-lkr__pv { margin: 6px 0 0; font-size: 12.5px; }
.oplc-lkr__pv > summary { cursor: pointer; color: #0c7c80; font-weight: 700; }
.oplc-lkr__txt { margin: 6px 0 0; padding: 8px 10px; max-height: 220px; overflow: auto; border: 1px solid #d3e3e4; border-radius: 8px; background: #fff;
  white-space: pre-wrap; word-break: break-word; font: 12.5px/1.45 inherit; font-family: inherit; color: #1f2d30; }
@media (max-width: 560px) {
  .oplc-lkr__btns { display: grid; grid-template-columns: 1fr 1fr; }
  .catalog-lot-dialog__actions .oplc-lkc .oplc-lkr__b { min-height: 44px; width: 100%; }
}
/* claude-m156-END */

/* ==== r159 (Claude, 06.10.2026) ==== claude-m159-START
   Окно «Подробнее» на компьютере: миниатюры, счётчик и стрелки лежали ПОВЕРХ фото (сетка catalog.css: фото — фон на всю
   рамку, полоса миниатюр прижата к низу). У вертикальных фото (25 % обложек) миниатюры закрывали саму технику — «фото съехало».
   Теперь галерея — сетка из трёх строк: фото (счётчик и стрелки поверх него), полоса миниатюр, подсказка. Только для живой
   галереи (data-photo-state="available") и только от 1024 px: 900–1023 оставлены как были (там свой старый дефект, см. журнал),
   768–899 и телефон — catalog-lot-mobile (r146), не трогаем. Без :has() (старые Safari/Firefox) рамка остаётся прежней 4:3,
   перекрытия всё равно нет — фото лишь чуть меньше. Ревью: независимый прогон на стенде (12 сценариев, ≤520 px высоты). */
@media (min-width: 1024px) {
  #catalogLotDialog:not(.catalog-lot-mobile) .catalog-lot-dialog__image[data-photo-state="available"]:has(.catalog-photo-gallery__thumbnails) {
    height: clamp(280px, 58vh, 540px); aspect-ratio: auto; max-height: none; grid-template-rows: minmax(0, 1fr);
  }
  #catalogLotDialog:not(.catalog-lot-mobile) .catalog-lot-dialog__image[data-photo-state="available"] .catalog-photo-gallery {
    display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 1fr) auto auto; height: auto; align-self: stretch; min-height: 0;
  }
  #catalogLotDialog:not(.catalog-lot-mobile) .catalog-lot-dialog__image[data-photo-state="available"] .catalog-photo-gallery > img {
    grid-area: 1 / 1; position: relative; inset: auto; width: 100%; height: 100%; min-height: 0; object-fit: contain; background: #f7fbfb;
  }
  #catalogLotDialog:not(.catalog-lot-mobile) .catalog-lot-dialog__image[data-photo-state="available"] .catalog-photo-gallery__counter,
  #catalogLotDialog:not(.catalog-lot-mobile) .catalog-lot-dialog__image[data-photo-state="available"] .catalog-photo-gallery__controls {
    grid-area: 1 / 1; z-index: 3;
  }
  #catalogLotDialog:not(.catalog-lot-mobile) .catalog-lot-dialog__image[data-photo-state="available"] .catalog-photo-gallery__thumbnails {
    grid-row: 2; grid-column: 1; align-self: stretch; margin: 0; padding: 8px 10px; background: #fff; border-top: 1px solid #e0e9ea; z-index: 3;
  }
  #catalogLotDialog:not(.catalog-lot-mobile) .catalog-lot-dialog__image[data-photo-state="available"] .catalog-photo-gallery .oplc-gal-hint {
    grid-row: 3; grid-column: 1; margin: 0; padding: 0 0 4px; background: #fff;
  }
}
/* claude-m159-END */

/* codex-mobile-20261008: r77 left a single explicit row below the two-column breakpoint.
   Keep the existing stacked tablet layout, with an actual image row and a scrollable details row. */
@media (min-width: 900px) and (max-width: 1023px) {
  #catalogLotDialog:not(.catalog-lot-mobile) .catalog-lot-dialog__panel { grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(220px, 34vh) minmax(0, 1fr); grid-template-rows: minmax(220px, 34dvh) minmax(0, 1fr); }
  #catalogLotDialog:not(.catalog-lot-mobile) .catalog-lot-dialog__media { min-height: 0; height: 100%; overflow: hidden; }
  #catalogLotDialog:not(.catalog-lot-mobile) #catalogLotImage { height: 100%; max-height: 100%; aspect-ratio: auto; }
}
@media (min-width: 900px) and (max-width: 1023px) and (max-height: 520px) and (orientation: landscape) {
  #catalogLotDialog:not(.catalog-lot-mobile) .catalog-lot-dialog__panel { grid-template-rows: minmax(104px, 29vh) minmax(0, 1fr); grid-template-rows: minmax(104px, 29dvh) minmax(0, 1fr); }
}
@supports selector(.catalog-lot-dialog__panel:has(.catalog-lot-dialog__image:empty)) {
  @media (min-width: 900px) and (max-width: 1023px) {
    #catalogLotDialog:not(.catalog-lot-mobile) .catalog-lot-dialog__panel:has(.catalog-lot-dialog__image:empty),
    #catalogLotDialog:not(.catalog-lot-mobile) .catalog-lot-dialog__panel:has(.catalog-lot-dialog__image[data-photo-state="unavailable"]) { grid-template-rows: auto minmax(0, 1fr); }
    #catalogLotDialog:not(.catalog-lot-mobile) #catalogLotImage:empty { height: 150px; }
  }
}
