/*
 * Задача 2 (26.09): «Личный кабинет» в шапке, «Документы» в подвале, две
 * галочки согласия, каталог «ЖК / Объекты», блок и страницы лотов,
 * страницы «больше не в продаже» и «недоступно», кнопка «Показать карту»
 * (Google Карты — только по нажатию), кнопки заявки «Обсудить объект с
 * брокером» на карточках и на первом экране. Подключается всегда, поверх
 * сборки вёрстки (её минифицированный CSS не правим). Цвета — токены сборки;
 * размеры — по её сетке: широкий экран — доли 1440, узкий (≤700px) — доли 390.
 */

/* ---------- Шапка: «Личный кабинет» (полоса и выдвижное меню) ---------- */
.site-header__cabinet {
  order: 4;
  display: flex;
  align-items: center;
  gap: min(6px, .416667vw);
  height: min(38px, 2.63889vw);
  margin-left: min(20px, 1.38889vw);
  padding: 0 min(15px, 1.04167vw) min(2px, .138889vw);
  color: var(--color-text-dim, #fff9);
  background: var(--color-icon-btn-bg, #ffffff05);
  font-size: min(12px, .833333vw);
  white-space: nowrap;
  transition: color .2s, background-color .2s;
}
.site-header__cabinet:hover { color: var(--color-white, #fff); background: #ffffff14; }
.site-header__cabinet-arrow {
  --chevron-ink-w: min(4px, calc(4 / 1440 * 100vw));
  --chevron-ink-h: min(2px, calc(2 / 1440 * 100vw));
  margin-top: min(2px, .138889vw);
  color: var(--color-teal-500, #6d928d);
}
.site-header__cabinet + .site-header__cta { margin-left: min(10px, .694445vw); }
@media (width <= 700px) {
  .site-header__cabinet {
    order: 0;
    justify-content: space-between;
    gap: min(10px, 2.5641vw);
    height: auto;
    min-height: min(60px, 15.3846vw);
    margin: min(25px, 6.41026vw) 0 0;
    padding: 0 min(30px, 7.69231vw) min(4px, 1.02564vw);
    color: var(--color-white, #fff);
    background: var(--color-menu-row-bg, #00000059);
    font-size: min(18px, 4.61538vw);
  }
  .site-header__cabinet:hover { background: var(--color-menu-row-bg, #00000059); }
  .site-header__cabinet-arrow {
    --chevron-ink-w: min(6px, calc(6 / 390 * 100vw));
    --chevron-ink-h: min(3px, calc(3 / 390 * 100vw));
  }
  .site-header__cabinet + .site-header__cta { margin-top: min(10px, 2.5641vw); margin-left: 0; }
}

/* ---------- Подвал: «Документы» и «Настройки cookie» ---------- */
.site-footer__docs {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: min(6px, .416667vw) min(18px, 1.25vw);
  font-size: min(11px, .763889vw);
  line-height: 1.45;
}
.site-footer__docs-title {
  color: var(--color-white, #fff);
  opacity: .55;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.site-footer__docs a,
.site-footer__docs button {
  position: relative;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  text-decoration: underline;
  text-underline-offset: .2em;
  cursor: pointer;
  transition: color .2s;
}
.site-footer__docs a:hover,
.site-footer__docs button:hover { color: var(--color-white, #fff); }
@media (width <= 700px) {
  .site-footer__docs {
    justify-content: center;
    gap: min(10px, 2.5641vw) min(16px, 4.10256vw);
    font-size: min(12px, 3.07692vw);
    text-align: center;
  }
  .site-footer__docs-title { flex-basis: 100%; }
}

/* ---------- Формы заявки: две галочки согласия ---------- */
.modal__consent a,
.lead-cta__consent a { color: inherit; text-decoration: underline; text-underline-offset: .15em; }
.modal__consent--marketing { margin-top: min(10px, .694445vw); }
.lead-cta__consents { display: flex; flex-direction: column; gap: min(10px, .694445vw); }
.modal__text.rh-lead-note { font-weight: 400; }

/* The lead photo must never show through consent copy. The source bundle makes
   this text 40% white, which becomes unreadable over a face or bright detail. */
.lead-cta { padding-bottom: clamp(48px, 5vw, 80px); }
.lead-cta__consents {
  box-sizing: border-box;
  grid-column: 1 / -1;
  min-width: 0;
  padding: min(16px, 1.11111vw) min(18px, 1.25vw);
  background: var(--color-surface-dark, #191919);
}
.lead-cta__submit { grid-column: 1 / -1; }
.lead-cta__consent span {
  min-width: 0;
  max-width: none;
  color: var(--color-white, #fff);
  opacity: 1;
  line-height: 1.45;
}
.lead-cta__consent a { color: var(--color-teal-highlight, #97dbd1); }
.lead-cta__consent input { border: 1px solid #ffffffbf; }
.lead-cta__consent input:focus-visible {
  outline: 2px solid var(--color-teal-highlight, #97dbd1);
  outline-offset: 3px;
}
@media (width <= 700px) {
  .modal__consent--marketing { margin-top: min(10px, 2.5641vw); }
  .lead-cta__consents { gap: min(10px, 2.5641vw); }

  /* On phones the portrait follows the form, so neither its face nor the
     mandatory and optional consents are covered by the other. */
  .lead-cta {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-height: 0;
    padding-bottom: 0;
    background: var(--color-surface-dark, #191919);
  }
  .lead-cta > picture {
    order: 1;
    display: block;
    align-self: stretch;
    width: auto;
    height: clamp(340px, 105vw, 560px);
    margin: min(32px, 8.20513vw)
      calc(0px - var(--mobile-side) - min(30px, 7.69231vw)) 0;
    overflow: hidden;
  }
  .lead-cta__background {
    display: block;
    position: static;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center bottom;
  }
  .lead-cta__consents { padding: 0; background: transparent; }
  .lead-cta__consent span { font-size: clamp(13px, 3.33333vw, 15px); line-height: 1.5; }
  .lead-cta__input::placeholder { opacity: .7; }
}

/* ---------- Каталог: строки о данных, режимы ---------- */
.rh-ta-visually-hidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}
.rh-ta-dates {
  display: flex;
  flex-wrap: wrap;
  gap: min(4px, .277778vw) min(20px, 1.38889vw);
  margin: min(14px, .972222vw) 0 0;
  padding: 0;
  list-style: none;
  color: var(--color-teal-muted, #94a29e);
  font-size: min(13px, .902778vw);
  line-height: 1.45;
}
.rh-ta-modes {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: min(12px, .833333vw) min(20px, 1.38889vw);
  margin: min(40px, 2.77778vw) var(--catalog-side) 0;
}
.rh-ta-modes__toggle { width: auto; }
.rh-ta-modes__toggle .catalog-toggle__option {
  justify-content: center;
  min-width: min(130px, 9.02778vw);
  font-size: min(14px, .972222vw);
}
.rh-ta-modes__hint { margin: 0; color: var(--color-text-dim, #fff9); font-size: min(13px, .902778vw); line-height: 1.4; }

/* ---------- Каталог и лоты ЖК: поиск, фильтры, сортировка ---------- */
.rh-ta-filters {
  position: relative;
  z-index: 20;
  display: flex;
  flex-direction: column;
  gap: min(12px, .833333vw);
  margin: min(24px, 1.66667vw) var(--catalog-side) 0;
}
.rh-ta-search { display: flex; background: var(--color-catalog-filter-bar, #6a8a8599); }
.rh-ta-search__input {
  flex: 1;
  min-width: 0;
  height: min(60px, 4.16667vw);
  padding: 0 min(24px, 1.66667vw);
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--color-white, #fff);
  font: inherit;
  font-size: min(16px, 1.11111vw);
}
.rh-ta-search__input::placeholder { color: var(--color-filter-placeholder, #ffffff80); opacity: 1; }
.rh-ta-search__input:focus-visible { outline: 1px solid var(--color-white, #fff); outline-offset: -1px; }
.rh-ta-search__submit,
.rh-ta-filters__toggle {
  display: flex;
  align-items: center;
  gap: min(8px, .555556vw);
  border: 0;
  border-radius: 0;
  font: inherit;
  cursor: pointer;
}
.rh-ta-search__submit {
  padding: 0 min(28px, 1.94444vw);
  color: var(--color-filter-apply-text, #1c1c1c);
  background: var(--color-filter-apply-bg, #fff);
  font-size: min(14px, .972222vw);
  transition: background-color .2s;
}
.rh-ta-search__submit:hover { background: var(--color-filter-apply-hover, #dbe7e4); }
.rh-ta-search__arrow,
.rh-ta-filter__arrow,
.rh-ta-filters__arrow {
  --chevron-ink-w: min(5px, calc(5 / 1440 * 100vw));
  --chevron-ink-h: min(2.5px, calc(2.5 / 1440 * 100vw));
  color: var(--color-filter-arrow, #8fada9);
}
.rh-ta-search__arrow { color: var(--color-filter-apply-icon, #5c817b); }

.rh-ta-filters__toggle { display: none; }
.rh-ta-filters__bar { display: flex; flex-wrap: wrap; background: var(--color-catalog-filter-bar, #6a8a8599); }
.rh-ta-filter { position: relative; flex: 1 1 auto; }
.rh-ta-filter + .rh-ta-filter { box-shadow: inset 1px 0 0 var(--color-catalog-filter-divider, #405653); }
.rh-ta-filter__head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: min(8px, .555556vw);
  height: min(56px, 3.88889vw);
  padding: 0 min(16px, 1.11111vw);
  color: var(--color-text-dim, #fff9);
  font-size: min(15px, 1.04167vw);
  white-space: nowrap;
  list-style: none;
  cursor: pointer;
  transition: color .2s;
}
.rh-ta-filter__head::-webkit-details-marker { display: none; }
.rh-ta-filter__head:hover,
.rh-ta-filter[open] > .rh-ta-filter__head { color: var(--color-white, #fff); }
.rh-ta-filter__head:focus-visible { outline: 1px solid var(--color-white, #fff); outline-offset: -3px; }
.rh-ta-filter[open] .rh-ta-filter__arrow { transform: rotate(180deg); }
.rh-ta-filter__arrow { transition: transform var(--filter-arrow-turn, .3s); }
.rh-ta-filter__mark,
.rh-ta-filters__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  box-sizing: border-box;
  border-radius: 9px;
  color: var(--color-filter-option-active-text, #2d2d2d);
  background: var(--color-white, #fff);
  font-size: 11px;
  line-height: 1;
}
.rh-ta-filter__panel {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 30;
  box-sizing: border-box;
  width: max(100%, min(380px, 26.3889vw));
  max-height: min(520px, 70vh);
  overflow: auto;
  padding: min(20px, 1.38889vw);
  background: var(--color-filter-panel-bg, #6a8a8599);
  -webkit-backdrop-filter: blur(var(--color-filter-panel-blur, 25px));
  backdrop-filter: blur(var(--color-filter-panel-blur, 25px));
}
.rh-ta-filter:last-child .rh-ta-filter__panel { left: auto; right: 0; }
.rh-ta-options { display: grid; gap: min(6px, .416667vw); }
.rh-ta-options--long { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rh-ta-option {
  display: flex;
  align-items: center;
  gap: min(10px, .694445vw);
  min-height: min(34px, 2.36111vw);
  padding: min(8px, .555556vw) min(12px, .833333vw);
  color: var(--color-white, #fff);
  background: var(--color-filter-option, #ffffff0d);
  font-size: min(13px, .902778vw);
  line-height: 1.3;
  cursor: pointer;
  transition: background-color .2s, color .2s;
}
.rh-ta-option[hidden] { display: none; }
.rh-ta-option:hover { background: var(--color-filter-option-hover, #ffffff1f); }
.rh-ta-option:has(input:checked) { color: var(--color-filter-option-active-text, #2d2d2d); background: var(--color-filter-option-active, #fff); }
.rh-ta-option.is-empty { opacity: .55; }
.rh-ta-option input {
  flex: none;
  width: 14px;
  height: 14px;
  margin: 0;
  border: 1px solid #ffffff66;
  border-radius: 0;
  background: #ffffff1a;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}
.rh-ta-option input[type="radio"] { border-radius: 50%; }
.rh-ta-option input:checked {
  border-color: var(--color-teal-600, #6a8a85);
  background: var(--color-teal-600, #6a8a85) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 13'%3E%3Cpath d='M3 6.8l2.3 2.3L10 4.3' fill='none' stroke='%23ffffff' stroke-width='1.6'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
}
.rh-ta-option input:focus-visible { outline: 1px solid currentColor; outline-offset: 2px; }
.rh-ta-option__label { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.rh-ta-option__count { flex: none; opacity: .6; font-size: .92em; }
.rh-ta-filter__find {
  box-sizing: border-box;
  width: 100%;
  height: min(38px, 2.63889vw);
  margin: 0 0 min(10px, .694445vw);
  padding: 0 min(12px, .833333vw);
  border: 1px solid var(--color-filter-field-line, #fff3);
  border-radius: 0;
  background: transparent;
  color: var(--color-white, #fff);
  font: inherit;
  font-size: min(13px, .902778vw);
}
.rh-ta-filter__find[hidden] { display: none; }
.rh-ta-range { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: min(12px, .833333vw); }
.rh-ta-range__field {
  display: flex;
  align-items: center;
  gap: min(8px, .555556vw);
  border-bottom: 1px solid var(--color-filter-field-line, #fff3);
  color: var(--color-filter-placeholder, #ffffff80);
  font-size: min(13px, .902778vw);
}
.rh-ta-range__field input {
  flex: 1;
  min-width: 0;
  height: min(44px, 3.05556vw);
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--color-white, #fff);
  font: inherit;
  font-size: min(15px, 1.04167vw);
}
.rh-ta-range__field input::placeholder { color: var(--color-filter-placeholder, #ffffff80); opacity: 1; }
.rh-ta-range__field input:focus-visible { outline: none; }
.rh-ta-range__field:focus-within { border-bottom-color: var(--color-white, #fff); }
.rh-ta-filter__hint { margin: min(12px, .833333vw) 0 0; color: #ffffffb3; font-size: min(12px, .833333vw); line-height: 1.45; }
.rh-ta-filter__apply { min-height: min(48px, 3.33333vw); margin-top: min(16px, 1.11111vw); }
.rh-ta-filters__foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: min(12px, .833333vw) min(20px, 1.38889vw);
}
.rh-ta-sort { display: flex; align-items: center; gap: min(10px, .694445vw); min-width: 0; max-width: 100%; color: var(--color-text-dim, #fff9); font-size: min(13px, .902778vw); }
.rh-ta-sort__select {
  height: min(44px, 3.05556vw);
  padding: 0 min(34px, 2.36111vw) 0 min(14px, .972222vw);
  border: 1px solid var(--color-filter-field-line, #fff3);
  border-radius: 0;
  color: var(--color-white, #fff);
  background: var(--color-chip-bg, #151515) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%238fada9' stroke-width='1.2'/%3E%3C/svg%3E") right min(12px, .833333vw) center / 10px 6px no-repeat;
  font: inherit;
  font-size: min(13px, .902778vw);
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}
.rh-ta-sort__select:focus-visible { outline: 1px solid var(--color-white, #fff); }
.rh-ta-filters__apply { width: auto; min-height: min(44px, 3.05556vw); margin: 0; padding: 0 min(28px, 1.94444vw); }
.rh-ta-filters__reset { margin-left: 0; }
.rh-ta-applied { margin-top: min(14px, .972222vw); }
.rh-ta-applied .catalog-hero__chips,
.rh-ta-applied--block { flex-wrap: wrap; }

@media (width <= 700px) {
  .rh-ta-dates { gap: min(4px, 1.02564vw) min(12px, 3.07692vw); margin-top: min(10px, 2.5641vw); font-size: min(12px, 3.07692vw); }
  .rh-ta-modes { gap: min(8px, 2.05128vw); margin-top: min(24px, 6.15385vw); }
  .rh-ta-modes__toggle { width: 100%; }
  .rh-ta-modes__toggle .catalog-toggle__option { min-width: 0; min-height: min(44px, 11.2821vw); font-size: min(14px, 3.58974vw); }
  .rh-ta-modes__hint { font-size: min(12px, 3.07692vw); }

  .rh-ta-filters { gap: min(8px, 2.05128vw); margin-top: min(16px, 4.10256vw); }
  .rh-ta-search__input { height: min(52px, 13.3333vw); padding: 0 min(16px, 4.10256vw); font-size: 16px; }
  .rh-ta-search__submit { gap: min(6px, 1.53846vw); padding: 0 min(16px, 4.10256vw); font-size: min(14px, 3.58974vw); }
  .rh-ta-search__arrow,
  .rh-ta-filter__arrow,
  .rh-ta-filters__arrow {
    --chevron-ink-w: min(6px, calc(6 / 390 * 100vw));
    --chevron-ink-h: min(3px, calc(3 / 390 * 100vw));
  }
  .rh-js .rh-ta-filters__toggle {
    display: flex;
    justify-content: space-between;
    min-height: min(50px, 12.8205vw);
    padding: 0 min(16px, 4.10256vw);
    color: var(--color-white, #fff);
    background: var(--color-catalog-filter-bar, #6a8a8599);
    font-size: min(15px, 3.84615vw);
  }
  .rh-js .rh-ta-filters__toggle > span:first-child { flex: 1; text-align: left; }
  .rh-js .rh-ta-filters__toggle[aria-expanded="true"] .rh-ta-filters__arrow { transform: rotate(180deg); }
  .rh-js .rh-ta-filters__bar:not(.is-open) { display: none; }
  .rh-ta-filters__bar { flex-direction: column; flex-wrap: nowrap; gap: min(4px, 1.02564vw); background: none; }
  .rh-ta-filter { background: var(--color-catalog-filter-bar, #6a8a8599); }
  .rh-ta-filter + .rh-ta-filter { box-shadow: none; }
  .rh-ta-filter__head {
    justify-content: flex-start;
    gap: min(8px, 2.05128vw);
    height: auto;
    min-height: min(50px, 12.8205vw);
    padding: 0 min(16px, 4.10256vw);
    color: var(--color-white, #fff);
    font-size: min(15px, 3.84615vw);
  }
  .rh-ta-filter__label { flex: 1; }
  .rh-ta-filter__panel {
    position: static;
    width: auto;
    max-height: none;
    overflow: visible;
    padding: 0 min(16px, 4.10256vw) min(16px, 4.10256vw);
    background: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  .rh-ta-options { gap: min(4px, 1.02564vw); }
  .rh-ta-options--long { grid-template-columns: minmax(0, 1fr); max-height: min(330px, 84.6154vw); overflow: auto; }
  .rh-ta-option { gap: min(10px, 2.5641vw); min-height: min(42px, 10.7692vw); padding: min(8px, 2.05128vw) min(12px, 3.07692vw); font-size: min(14px, 3.58974vw); }
  .rh-ta-filter__find { height: min(42px, 10.7692vw); margin-bottom: min(8px, 2.05128vw); padding: 0 min(12px, 3.07692vw); font-size: 16px; }
  .rh-ta-range { gap: min(12px, 3.07692vw); }
  .rh-ta-range__field { gap: min(8px, 2.05128vw); font-size: min(13px, 3.33333vw); }
  .rh-ta-range__field input { height: min(46px, 11.7949vw); font-size: 16px; }
  .rh-ta-filter__hint { margin-top: min(10px, 2.5641vw); font-size: min(12px, 3.07692vw); }
  .rh-ta-filter__apply { min-height: min(48px, 12.3077vw); margin-top: min(12px, 3.07692vw); }
  .rh-ta-filters__foot { gap: min(8px, 2.05128vw); }
  .rh-ta-sort { flex: 1 1 100%; gap: min(10px, 2.5641vw); font-size: min(13px, 3.33333vw); }
  .rh-ta-sort__select { flex: 1; width: 0; min-width: 0; text-overflow: ellipsis; height: min(46px, 11.7949vw); padding: 0 min(34px, 8.71795vw) 0 min(12px, 3.07692vw); background-position: right min(12px, 3.07692vw) center; font-size: 16px; }
  .rh-ta-filters__apply { flex: 1; min-height: min(50px, 12.8205vw); padding: 0 min(20px, 5.12821vw); }
  .rh-ta-applied { margin-top: min(12px, 3.07692vw); }
}

/* ---------- Выдача: «нет данных», пусто, страницы, карточки ---------- */
.rh-ta-unknown {
  margin: 0 0 min(24px, 1.66667vw);
  padding: min(14px, .972222vw) min(18px, 1.25vw);
  list-style: none;
  border-left: 2px solid var(--color-teal-600, #6a8a85);
  color: var(--color-teal-lead, #dbe7e4);
  background: #ffffff08;
  font-size: min(13px, .902778vw);
  line-height: 1.5;
}
.rh-ta-empty {
  padding: min(48px, 3.33333vw) min(40px, 2.77778vw);
  text-align: center;
  background: var(--color-surface-plate, #212423);
}
.rh-ta-empty__title {
  margin: 0;
  color: var(--color-white, #fff);
  font-family: var(--font-display, serif);
  font-size: min(32px, 2.22222vw);
  font-weight: 400;
  line-height: 1.1;
  text-transform: uppercase;
}
.rh-ta-empty__text { max-width: 62ch; margin: min(14px, .972222vw) auto 0; color: var(--color-text-dim, #fff9); font-size: min(15px, 1.04167vw); line-height: 1.55; }
.rh-ta-empty__reset { margin-top: min(24px, 1.66667vw); padding-inline: min(28px, 1.94444vw); }
.rh-ta-pagination { margin-top: min(40px, 2.77778vw); }

.card__price-note { margin: min(6px, .416667vw) 0 0; color: var(--color-card-rating-label, #ababab); font-size: min(12px, .833333vw); line-height: 1.4; text-align: center; }
.card__price--muted { color: var(--color-card-text, #2d2d2d); font-size: min(14px, .972222vw); font-weight: 400; }
.rh-ta-card__lots,
.rh-ta-card__types { margin: min(10px, .694445vw) 0 0; color: var(--color-card-text, #2d2d2d); font-size: min(13px, .902778vw); line-height: 1.4; text-align: center; }
.rh-ta-card__types { margin-top: min(4px, .277778vw); color: var(--color-card-rating-label, #ababab); font-size: min(12px, .833333vw); }
.rh-ta-lot-card__plan { background: var(--color-white, #fff); }
.rh-ta-lot-card__plan .rh-ta-img > img,
.rh-ta-plan-img { object-fit: contain !important; }
.rh-ta-lot-card__plan .rh-ta-img > img { box-sizing: border-box; padding: min(10px, .694445vw); }
.rh-ta-lot-card:hover .card__image { transform: none; }
.rh-ta-lot-card__title { font-size: min(26px, 1.80556vw); line-height: min(30px, 2.08333vw); }
.rh-ta-lot-card__complex a { position: relative; z-index: 2; text-decoration: underline; text-underline-offset: .2em; }
/*
 * Подписи лота длинные («Приведённая площадь»), а значения ЖК из фида — тоже
 * («ГО Одинцовский, МО», «Granard Development»; типограф к тому же связывает
 * короткое слово со следующим неразрывным пробелом: «ГО Одинцовский», «MR Group»).
 * Сетка сборки 155fr/203fr с подписью слева без зазора между колонками и
 * overflow-wrap: anywhere у значения рвала их посреди буквы («5-й ДОНСКО|Й»,
 * «Granard Developme|nt») и прижимала район к «Метро:». Поэтому: подпись над
 * значением, две равные колонки с зазором, значение переносится по словам;
 * внутри слова — только слово длиннее всей колонки (break-word, не anywhere).
 */
.rh-ta-card .card__facts,
.rh-ta-lot-card .card__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: min(16px, 1.11111vw); }
.rh-ta-card .card__fact,
.rh-ta-lot-card .card__fact { flex-direction: column; gap: min(3px, .208333vw); min-width: 0; }
.rh-ta-card .card__fact dt,
.rh-ta-lot-card .card__fact dt { white-space: normal; }
.rh-ta-card .card__fact dd,
.rh-ta-lot-card .card__fact dd { display: block; overflow-wrap: break-word; }
@media (width <= 700px) {
  .rh-ta-unknown { margin-bottom: min(16px, 4.10256vw); padding: min(12px, 3.07692vw) min(14px, 3.58974vw); font-size: min(13px, 3.33333vw); }
  .rh-ta-empty { padding: min(32px, 8.20513vw) min(20px, 5.12821vw); }
  .rh-ta-empty__title { font-size: min(24px, 6.15385vw); }
  .rh-ta-empty__text { margin-top: min(12px, 3.07692vw); font-size: min(14px, 3.58974vw); }
  .rh-ta-empty__reset { margin-top: min(20px, 5.12821vw); padding-inline: min(20px, 5.12821vw); }
  .rh-ta-pagination { margin-top: min(30px, 7.69231vw); }
  .card__price-note { margin-top: min(6px, 1.53846vw); font-size: min(12px, 3.07692vw); }
  .card__price--muted { font-size: min(14px, 3.58974vw); }
  .rh-ta-card__lots { margin-top: min(10px, 2.5641vw); font-size: min(13px, 3.33333vw); }
  .rh-ta-card__types { margin-top: min(4px, 1.02564vw); font-size: min(12px, 3.07692vw); }
  .rh-ta-card .card__facts,
  .rh-ta-lot-card .card__facts { column-gap: min(16px, 4.10256vw); }
  .rh-ta-card .card__fact,
  .rh-ta-lot-card .card__fact { gap: min(3px, .769231vw); }
  .rh-ta-lot-card__plan .rh-ta-img > img { padding: min(10px, 2.5641vw); }
  .rh-ta-lot-card__title { font-size: min(24px, 6.15385vw); line-height: min(28px, 7.17949vw); }
}

/* ---------- Заявка: «Обсудить объект с брокером» (решение владельца 26.09, п. 2) ---------- */
/*
 * Карточка ЖК и лота: главная кнопка — заявка (сплошная, .card__button сборки,
 * она же прижата к низу карточки margin-top: auto); «Подробнее» — контурная
 * под ней. Контурная кнопка сборки рассчитана на тёмный фон (белый текст),
 * карточка белая — текст цветом второй ссылки карточки (.card__link).
 */
.card__button.rh-ta-card__more { margin-top: min(10px, .694445vw); color: var(--color-card-selection, #5c817b); }
.card__button.rh-ta-card__more:hover { color: var(--color-white, #fff); }
/* Первый экран каталога: заметная кнопка заявки и строка под ней. */
.rh-ta-hero-cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: min(12px, .833333vw) min(24px, 1.66667vw);
  margin-top: min(28px, 1.94444vw);
}
.rh-ta-hero-cta__button { min-width: min(300px, 20.8333vw); height: min(60px, 4.16667vw); padding-inline: min(28px, 1.94444vw); }
.rh-ta-hero-cta__note { max-width: min(420px, 29.1667vw); margin: 0; color: var(--color-text-dim, #fff9); font-size: min(13px, .902778vw); line-height: 1.45; }
@media (width <= 700px) {
  .card__button.rh-ta-card__more { margin-top: min(10px, 2.5641vw); }
  .card__button.rh-ta-card__more:hover { color: var(--color-card-selection, #5c817b); }
  .rh-ta-hero-cta { flex-direction: column; align-items: stretch; gap: min(10px, 2.5641vw); margin-top: min(20px, 5.12821vw); }
  .rh-ta-hero-cta__button { width: 100%; min-width: 0; height: min(60px, 15.3846vw); padding-inline: min(20px, 5.12821vw); }
  .rh-ta-hero-cta__note { max-width: none; font-size: min(12px, 3.07692vw); }
}

/* ---------- Страница ЖК: «Объекты в продаже» ---------- */
.rh-ta-lots {
  --catalog-side: calc(min(303px, calc(303 / 1440 * 100vw)) - var(--crop, 0px));
  position: relative;
  padding: min(100px, 6.94444vw) var(--catalog-side) 0;
}
.rh-ta-lots__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: min(10px, .694445vw) min(40px, 2.77778vw);
  margin-bottom: min(24px, 1.66667vw);
}
.rh-ta-lots__title {
  margin: 0;
  color: var(--color-white, #fff);
  font-family: var(--font-display, serif);
  font-size: min(60px, 4.16667vw);
  font-weight: 400;
  line-height: 1;
  text-transform: uppercase;
}
.rh-ta-lots__dates { margin-top: 0; }
.rh-ta-lots .rh-ta-filters { margin: 0; }
.rh-ta-lots .catalog-found { margin-top: min(32px, 2.22222vw); }
.rh-ta-applied--block { display: flex; align-items: center; gap: min(5px, .347222vw); margin-top: min(14px, .972222vw); }
.rh-ta-lots__all { margin: min(24px, 1.66667vw) 0 0; text-align: center; font-size: min(14px, .972222vw); }
.rh-ta-lots__all a { color: var(--color-teal-highlight, #97dbd1); text-decoration: underline; text-underline-offset: .2em; }
.page-catalog--lots .rh-ta-lots { padding-top: min(40px, 2.77778vw); }
@media (width <= 700px) {
  .rh-ta-lots { --catalog-side: calc(var(--mobile-side, 0px) + min(10px, calc(10 / 390 * 100vw))); padding-top: min(60px, 15.3846vw); }
  .rh-ta-lots__head { gap: min(8px, 2.05128vw); margin-bottom: min(16px, 4.10256vw); padding: 0 min(10px, 2.5641vw); }
  .rh-ta-lots__title { font-size: min(34px, 8.71795vw); }
  .rh-ta-lots .catalog-found { margin-top: min(24px, 6.15385vw); }
  .rh-ta-applied--block { gap: min(5px, 1.28205vw); margin-top: min(12px, 3.07692vw); }
  .rh-ta-lots__all { margin-top: min(20px, 5.12821vw); font-size: min(14px, 3.58974vw); }
  .page-catalog--lots .rh-ta-lots { padding-top: min(30px, 7.69231vw); }
}

/* ---------- Страница лота ---------- */
.rh-ta-lot {
  position: relative;
  overflow: hidden;
  padding: min(154px, 10.6944vw) calc(min(303px, calc(303 / 1440 * 100vw)) - var(--crop, 0px)) 0;
}
.rh-ta-crumbs { margin-bottom: min(20px, 1.38889vw); }
.rh-ta-lot__eyebrow a { color: inherit; text-decoration: underline; text-underline-offset: .2em; }
.rh-ta-lot__title { margin-top: min(12px, .833333vw); }
.rh-ta-lot__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  align-items: start;
  gap: min(40px, 2.77778vw);
  margin-top: min(36px, 2.5vw);
}
.rh-ta-lot__plan { position: relative; margin: 0; aspect-ratio: 4 / 3; background: var(--color-white, #fff); }
.rh-ta-lot__plan > .rh-ta-img,
.rh-ta-lot__plan > .rh-placeholder { position: absolute; inset: 0; }
.rh-ta-lot__plan .rh-ta-img > img { box-sizing: border-box; padding: min(24px, 1.66667vw); }
.rh-ta-lot__credit { position: absolute; left: 0; top: calc(100% + min(6px, .416667vw)); color: var(--color-text-dim, #fff9); font-size: min(12px, .833333vw); }
.rh-ta-lot__side { display: flex; flex-direction: column; gap: min(14px, .972222vw); }
.rh-ta-lot__price { padding: min(24px, 1.66667vw); background: var(--color-fact-panel, #27312f); }
.rh-ta-lot__price-value { margin: 0; color: var(--color-white, #fff); font-size: min(36px, 2.5vw); font-weight: 400; line-height: 1.15; }
.rh-ta-lot__price-value--muted { font-size: min(20px, 1.38889vw); }
.rh-ta-lot__price-note,
.rh-ta-lot__price-m2 { margin: min(8px, .555556vw) 0 0; color: var(--color-fact-note, #99a7a4); font-size: min(14px, .972222vw); line-height: 1.45; }
.rh-ta-lot__price-m2 { color: var(--color-teal-lead, #dbe7e4); }
.rh-ta-lot__cta { width: 100%; }
.rh-ta-lot__warn { margin: 0; color: var(--color-text-dim, #fff9); font-size: min(13px, .902778vw); line-height: 1.4; }
.rh-ta-lot__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rh-ta-lot__facts .fact__value { font-size: min(20px, 1.38889vw); line-height: 1.2; }
.rh-ta-lot__index { margin-top: min(60px, 4.16667vw); padding: min(32px, 2.22222vw); color: #f6f6f6; background: #202624; }
.rh-ta-lot__index-title { margin: 0; font-family: var(--font-display, serif); font-size: min(32px, 2.22222vw); font-weight: 400; line-height: 1.1; text-transform: uppercase; }
/* «TA-v1» в заголовке прописными (rh_ta_index_label_html()): прописное «TA-V1» в Oranienbaum читается «TA-VI». */
.rh-ta-v1 { text-transform: none; }
.rh-ta-lot__index-title .rh-ta-v1 { font-family: var(--font-main, "Ubuntu", Arial, sans-serif); font-size: .8em; font-weight: 300; letter-spacing: 0; white-space: nowrap; }
.rh-ta-lot__index-value { margin: min(12px, .833333vw) 0 0; color: #d4ddda; font-size: min(22px, 1.52778vw); }
.rh-ta-lot__index-parts { display: grid; gap: min(8px, .555556vw); margin: min(16px, 1.11111vw) 0 0; padding: 0; list-style: none; }
.rh-ta-lot__index-parts li { display: flex; justify-content: space-between; gap: min(16px, 1.11111vw); padding-top: min(8px, .555556vw); border-top: 1px solid #ffffff1f; color: #c8d0ce; font-size: min(14px, .972222vw); }
.rh-ta-lot__index-parts b { color: var(--color-white, #fff); font-weight: 400; }
.rh-ta-lot__index-note { margin: min(16px, 1.11111vw) 0 0; color: #a8b2af; font-size: min(13px, .902778vw); line-height: 1.5; }
.rh-ta-lot__disclaimer { max-width: 90ch; margin: min(24px, 1.66667vw) 0 0; color: var(--color-teal-muted, #94a29e); font-size: min(13px, .902778vw); line-height: 1.55; }
.rh-ta-lot__nav,
.rh-ta-status__links { display: flex; flex-wrap: wrap; gap: min(12px, .833333vw); margin: min(32px, 2.22222vw) 0 0; padding: 0; list-style: none; }
.rh-ta-empty .rh-ta-status__links { justify-content: center; }
.rh-ta-lot__nav .btn,
.rh-ta-status__links .btn { height: min(56px, 3.88889vw); padding-inline: min(24px, 1.66667vw); }
@media (width <= 700px) {
  .rh-ta-lot { padding: min(85px, 21.7949vw) calc(var(--mobile-side, 0px) + min(20px, calc(20 / 390 * 100vw))) 0; }
  .rh-ta-crumbs { margin-bottom: min(14px, 3.58974vw); }
  .rh-ta-lot__title { margin-top: min(8px, 2.05128vw); }
  .rh-ta-lot__grid { grid-template-columns: minmax(0, 1fr); gap: min(28px, 7.17949vw); margin-top: min(20px, 5.12821vw); }
  .rh-ta-lot__plan .rh-ta-img > img { padding: min(12px, 3.07692vw); }
  .rh-ta-lot__credit { top: calc(100% + min(4px, 1.02564vw)); font-size: min(11px, 2.82051vw); }
  .rh-ta-lot__side { gap: min(12px, 3.07692vw); }
  .rh-ta-lot__price { padding: min(20px, 5.12821vw); }
  .rh-ta-lot__price-value { font-size: min(28px, 7.17949vw); }
  .rh-ta-lot__price-value--muted { font-size: min(18px, 4.61538vw); }
  .rh-ta-lot__price-note,
  .rh-ta-lot__price-m2 { margin-top: min(6px, 1.53846vw); font-size: min(13px, 3.33333vw); }
  .rh-ta-lot__warn { font-size: min(12px, 3.07692vw); }
  .rh-ta-lot__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; padding: min(10px, 2.5641vw); }
  .rh-ta-lot__facts .fact { padding: min(12px, 3.07692vw); }
  .rh-ta-lot__facts .fact__label { font-size: min(11px, 2.82051vw); line-height: 1.3; }
  .rh-ta-lot__facts .fact__value { font-size: min(15px, 3.84615vw); }
  .rh-ta-lot__index { margin-top: min(40px, 10.2564vw); padding: min(20px, 5.12821vw); }
  .rh-ta-lot__index-title { font-size: min(24px, 6.15385vw); }
  .rh-ta-lot__index-value { margin-top: min(10px, 2.5641vw); font-size: min(18px, 4.61538vw); }
  .rh-ta-lot__index-parts { gap: min(8px, 2.05128vw); margin-top: min(12px, 3.07692vw); }
  .rh-ta-lot__index-parts li { gap: min(12px, 3.07692vw); padding-top: min(8px, 2.05128vw); font-size: min(13px, 3.33333vw); }
  .rh-ta-lot__index-note,
  .rh-ta-lot__disclaimer { margin-top: min(14px, 3.58974vw); font-size: min(12px, 3.07692vw); }
  .rh-ta-lot__nav,
  .rh-ta-status__links { flex-direction: column; gap: min(10px, 2.5641vw); margin-top: min(24px, 6.15385vw); }
  .rh-ta-lot__nav .btn,
  .rh-ta-status__links .btn { width: 100%; height: min(60px, 15.3846vw); padding-inline: min(20px, 5.12821vw); }
}

/* ---------- «Больше не в продаже», «недоступно», «не найдено» ---------- */
.page-status { position: relative; overflow: hidden; }
.rh-ta-status .catalog-hero__lead { max-width: min(760px, 52.7778vw); }
@media (width <= 700px) {
  .rh-ta-status .catalog-hero__lead { max-width: none; }
}

/* ---------- Карта: Google Карты — только по нажатию «Показать карту» ---------- */
/*
 * Кнопка лежит поверх снимка (над тонировкой — её смешение цветов кнопку не
 * красит): у каталога — посередине, у карты объекта — у нижнего края, чтобы
 * не закрыть метку объекта на снимке. Видна, только когда загрузчик
 * dist/rh-task2.js на странице (html.rh-maps); после загрузки карты её нет
 * (.map.is-live).
 */
.map__gate { display: none; }
.rh-maps .map__gate {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: min(10px, .694445vw);
  padding: min(15px, 1.04167vw);
  text-align: center;
  pointer-events: none;
}
.rh-maps .map__gate--low { justify-content: flex-end; padding-bottom: min(20px, 1.38889vw); }
.map.is-live .map__gate { display: none; }
.map__load {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0 min(6.5px, .451389vw);
  max-width: 100%;
  min-height: min(50px, 3.47222vw);
  padding: min(8px, .555556vw) min(24px, 1.66667vw);
  border: 1px solid var(--color-teal-600, #6a8a85);
  background: var(--color-slab-veil-1, #191919e6);
  color: var(--color-white, #fff);
  font-size: min(14px, .972222vw);
  font-weight: 400;
  line-height: 1.25;
  pointer-events: auto;
  transition: background-color .2s;
}
.map__load:hover { background: var(--color-teal-600, #6a8a85); }
.map__load:focus-visible { outline: 1px solid var(--color-white, #fff); outline-offset: 3px; }
.map__load[aria-busy="true"] { cursor: progress; }
.map__load-accent { color: var(--color-btn-accent, #7eaaa3); transition: color .2s; }
.map__load:hover .map__load-accent { color: var(--color-white, #fff); }
.map__load-note {
  margin: 0;
  padding: min(3px, .208333vw) min(8px, .555556vw);
  background: var(--color-slab-veil-2, #191919b3);
  color: var(--color-text-dim, #fff9);
  font-size: min(11px, .763889vw);
  font-weight: 300;
  line-height: 1.35;
}
@media (width <= 700px) {
  .rh-maps .map__gate { gap: min(8px, 2.05128vw); padding: min(10px, 2.5641vw); }
  .rh-maps .map__gate--low { padding-bottom: min(15px, 3.84615vw); }
  .map__load {
    gap: 0 min(6px, 1.53846vw);
    min-height: min(46px, 11.7949vw);
    padding: min(6px, 1.53846vw) min(18px, 4.61538vw);
    font-size: min(14px, 3.58974vw);
  }
  .map__load:hover { background: var(--color-slab-veil-1, #191919e6); }
  .map__load:hover .map__load-accent { color: var(--color-btn-accent, #7eaaa3); }
  .map__load-note { padding: min(3px, .769231vw) min(8px, 2.05128vw); font-size: min(11px, 2.82051vw); }
}
