/*
 * Вторичная недвижимость агентства: каталог /catalog-flats/ и страница объекта
 * /catalog-flats/obekty/<id>/ (28.09, премиальная вёрстка).
 *
 * Слой поверх сборки: шрифты, цвета и оболочка (crumbs, page-eyebrow,
 * page-title, bar-note, catalog-toggle, catalog-found, btn, glow) — из неё;
 * здесь только своё. Токены сборки с запасными значениями — страница не
 * разваливается, если главный CSS не загрузился. Ширина: 1440 — эталон,
 * ≤1100 — две колонки, ≤700 — телефон (как narrowMedia сборки).
 */

.rh-sec {
  --rh-side: max(20px, calc(min(303px, calc(303 / 1440 * 100vw)) - var(--crop, 0px)));
  --rh-plate: #1e2221;
  --rh-panel: var(--color-fact-panel, #27312f);
  --rh-line: #ffffff14;
  --rh-teal: var(--color-teal-600, #6a8a85);
  --rh-teal-hi: var(--color-teal-highlight, #97dbd1);
  --rh-label: var(--color-fact-label, #95c2b9);
  --rh-muted: var(--color-teal-muted, #94a29e);
  --rh-dim: #ffffffa6;
  --rh-text: #e4e8e6;
  position: relative;
  overflow-x: clip;
  color: var(--color-white, #fff);
  font-family: var(--font-main, "Ubuntu", "Arial", sans-serif);
}
.rh-sec *, .rh-sec *::before, .rh-sec *::after { box-sizing: border-box; }
.rh-sec img { max-width: 100%; }
.rh-sec a:focus-visible, .rh-sec button:focus-visible, .rh-sec input:focus-visible,
.rh-sec select:focus-visible, .rh-sec summary:focus-visible, .rh-sec [tabindex]:focus-visible {
  outline: 2px solid var(--rh-teal-hi);
  outline-offset: 2px;
}
.rh-sec-sr {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

/* ---------- Кнопки ---------- */
.rh-sec-btn { height: 60px; min-width: 260px; padding-inline: 28px; gap: 10px; }
.rh-sec-btn__arrow { display: inline-flex; }
.rh-sec-btn__arrow svg { width: 18px; height: 18px; transition: transform .25s; }
.rh-sec-btn:hover .rh-sec-btn__arrow svg { transform: translateX(3px); }

/* ---------- Первый экран каталога ---------- */
.rh-sec-hero { position: relative; padding: min(154px, 10.6944vw) var(--rh-side) 0; }
.rh-sec-crumbs { margin-bottom: 22px; }
.rh-sec-crumbs a.crumbs__item { transition: color .2s; }
.rh-sec-crumbs a.crumbs__item:hover { color: var(--rh-teal-hi); }
.rh-sec-hero__eyebrow { margin: 0; }
.rh-sec-hero__title { margin: 12px 0 18px; }
.rh-sec-hero__lead { max-width: 760px; color: var(--color-teal-lead, #dbe7e4); font-size: 16px; font-weight: 300; line-height: 1.65; }
.rh-sec-hero__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 28px; margin-top: 30px; }
.rh-sec-hero__cta p { max-width: 420px; margin: 0; color: var(--rh-dim); font-size: 13px; line-height: 1.5; }
.rh-sec-deals { width: max-content; max-width: 100%; margin-top: 44px; }
.rh-sec-deals .catalog-toggle__option { padding-inline: 22px; }

/* ---------- Поиск и фильтры ---------- */
.rh-sec-filters { display: flex; flex-direction: column; gap: 10px; margin-top: 14px; }
.rh-sec-search { display: flex; height: 60px; background: var(--color-catalog-filter-bar, #6a8a8599); }
.rh-sec-search input {
  flex: 1; min-width: 0; height: 100%; padding: 0 24px; border: 0; border-radius: 0;
  background: transparent; color: #fff; font: 300 16px/1 var(--font-main, "Ubuntu", sans-serif);
  -webkit-appearance: none; appearance: none;
}
.rh-sec-search input::placeholder { color: #ffffffb8; }
.rh-sec-search input::-webkit-search-cancel-button { filter: invert(1); }
.rh-sec-search__submit {
  flex: none; padding: 0 36px; border: 0; background: #fff; color: #191919; cursor: pointer;
  font: 400 14px/1 var(--font-main, "Ubuntu", sans-serif); transition: background-color .2s;
}
.rh-sec-search__submit:hover { background: #e3ecea; }
.rh-sec-filters__row {
  display: flex; flex-wrap: wrap; align-items: flex-end; gap: 18px 28px;
  padding: 20px 24px; background: #212423cc; border: 1px solid #ffffff0f;
}
.rh-sec-rooms { margin: 0; padding: 0; border: 0; min-width: 0; }
.rh-sec-rooms legend, .rh-sec-range__label {
  display: block; margin: 0 0 10px; padding: 0; color: var(--rh-label); font-size: 12px; line-height: 1.2; letter-spacing: .02em;
}
.rh-sec-rooms__options { display: flex; flex-wrap: wrap; gap: 6px; }
.rh-sec-chip { position: relative; display: inline-flex; cursor: pointer; }
.rh-sec-chip input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; }
.rh-sec-chip span {
  display: inline-flex; align-items: center; justify-content: center; min-width: 48px; height: 40px; padding: 0 14px;
  border: 1px solid #ffffff29; color: #ffffffd9; font-size: 14px; transition: background-color .2s, border-color .2s, color .2s;
}
.rh-sec-chip:hover span { border-color: var(--rh-teal); }
.rh-sec-chip input:checked + span { background: var(--rh-teal); border-color: var(--rh-teal); color: #fff; }
.rh-sec-chip input:focus-visible + span { outline: 2px solid var(--rh-teal-hi); outline-offset: 2px; }
.rh-sec-filters__toggle { display: none; }
.rh-sec-filters__more { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 18px 20px; }
.rh-sec-range { display: flex; flex-direction: column; margin: 0; }
.rh-sec-range__pair { display: flex; }
.rh-sec-range input, .rh-sec-range select {
  width: 130px; height: 40px; padding: 0 12px; border: 1px solid #ffffff29; border-radius: 0;
  background: transparent; color: #fff; font: 300 14px/1 var(--font-main, "Ubuntu", sans-serif);
  -moz-appearance: textfield; appearance: none;
}
.rh-sec-range input::-webkit-outer-spin-button, .rh-sec-range input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.rh-sec-range__pair input + input { margin-left: -1px; }
.rh-sec-range--single input, .rh-sec-range select { width: 160px; }
.rh-sec-range select {
  padding-right: 32px; cursor: pointer;
  background-image: linear-gradient(45deg, transparent 50%, #ffffffb3 50%), linear-gradient(135deg, #ffffffb3 50%, transparent 50%);
  background-position: calc(100% - 17px) 18px, calc(100% - 12px) 18px; background-size: 5px 5px; background-repeat: no-repeat;
}
.rh-sec-range select option { color: #191919; }
.rh-sec-range input::placeholder { color: #ffffff73; }
.rh-sec-range input:focus, .rh-sec-range select:focus { border-color: var(--rh-teal-hi); outline: none; }
.rh-sec-filters__actions { display: flex; align-items: center; gap: 20px; margin-left: auto; }
.rh-sec-filters__apply { height: 40px; min-width: 150px; padding-inline: 24px; border: 0; cursor: pointer; font-family: inherit; }
.rh-sec-filters__reset { color: var(--rh-teal-hi); font-size: 14px; text-decoration: underline; text-underline-offset: .25em; }

/* ---------- Выдача ---------- */
.rh-sec-results { padding: 56px var(--rh-side) 0; }
.rh-sec-results__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 24px; margin-bottom: 28px; }
.rh-sec-found { margin: 0; }
.rh-sec-results__note { margin: 0; color: var(--rh-muted); font-size: 13px; }
.rh-sec-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 24px; }

/* ---------- Карточка ---------- */
.rh-sec-card {
  position: relative; display: flex; flex-direction: column; min-width: 0;
  background: var(--rh-plate); border: 1px solid #ffffff0f; transition: border-color .3s;
}
.rh-sec-card:hover { border-color: #6a8a8599; }
.rh-sec-card__media { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; background: #232827; }
.rh-sec-card__media-link { position: absolute; inset: 0; z-index: 2; display: block; }
.rh-sec-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2, .7, .2, 1); }
.rh-sec-card:hover .rh-sec-card__media img { transform: scale(1.03); }
.rh-sec-card__count {
  position: absolute; z-index: 3; right: 12px; bottom: 12px; display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px;
  background: #191919b3; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); color: #fff; font-size: 12px; line-height: 1;
  pointer-events: none;
}
.rh-sec-card__count svg { width: 14px; height: 14px; }
.rh-sec-card__nav {
  position: absolute; z-index: 4; top: 50%; display: flex; align-items: center; justify-content: center;
  width: 42px; height: 42px; padding: 0; transform: translateY(-50%); border: 1px solid #ffffff52;
  border-radius: 50%; background: #191919c9; color: #fff; cursor: pointer;
}
.rh-sec-card__nav--prev { left: 10px; }
.rh-sec-card__nav--next { right: 10px; }
.rh-sec-card__nav svg { width: 19px; height: 19px; }
.rh-sec-card__nav:hover:not(:disabled) { background: var(--rh-teal); }
.rh-sec-card__nav:disabled { opacity: .35; cursor: default; }
.rh-sec-card__nav[hidden] { display: none; }
.rh-sec-card__media[data-rh-card-gallery] { touch-action: pan-y; }
.rh-sec-card__placeholder {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; width: 100%; height: 100%;
  padding: 24px; text-align: center; color: #ffffff8c; font-size: 13px; line-height: 1.5;
  background: radial-gradient(120% 90% at 20% 0%, #2c3a38 0%, #1f2423 60%);
}
.rh-sec-card__monogram {
  display: inline-flex; align-items: center; justify-content: center; width: 72px; height: 72px;
  border: 1px solid #6a8a8566; color: var(--rh-teal); font-family: var(--font-display, "Oranienbaum", serif); font-size: 30px; letter-spacing: .06em;
}
.rh-sec-card__body { display: flex; flex: 1; flex-direction: column; padding: 22px 24px 22px; }
.rh-sec-card__title { margin: 0; color: #fff; font: 400 19px/1.3 var(--font-main, "Ubuntu", sans-serif); }
.rh-sec-card__link { color: inherit; text-decoration: none; }
.rh-sec-card__link::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.rh-sec-card__address { margin: 8px 0 0; color: var(--rh-text); font-size: 15px; font-weight: 300; line-height: 1.45; overflow-wrap: anywhere; }
.rh-sec-card__locality { margin: 2px 0 0; color: var(--rh-muted); font-size: 13px; font-weight: 300; line-height: 1.45; }
.rh-sec-card__metro { margin: 8px 0 0; color: var(--rh-text); font-size: 13px; font-weight: 300; line-height: 1.45; }
.rh-sec-card__metro span { color: var(--rh-muted); }
.rh-sec-card__facts { display: flex; flex-wrap: wrap; gap: 6px; margin: 14px 0 0; padding: 0; list-style: none; }
.rh-sec-card__facts li { padding: 6px 10px; background: var(--color-tag-bg, #6d928d1a); color: #b0d0ca; font-size: 12px; line-height: 1.2; }
.rh-sec-card__foot { margin-top: auto; padding-top: 18px; }
.rh-sec-card__price { margin: 0; padding-top: 16px; border-top: 1px solid var(--rh-line); color: #fff; font-size: 26px; font-weight: 300; line-height: 1.15; white-space: nowrap; }
.rh-sec-card__price span { color: var(--rh-muted); font-size: 14px; }
.rh-sec-card__m2 { margin: 5px 0 0; color: var(--rh-muted); font-size: 13px; }
.rh-sec-card__lead {
  position: relative; z-index: 2; align-self: flex-start; display: inline-flex; align-items: center; gap: 6px; margin-top: 16px;
  color: var(--rh-teal-hi); font-size: 14px; text-decoration: none; transition: color .2s, gap .25s;
}
.rh-sec-card__lead:hover { color: #fff; gap: 10px; }
.rh-sec-card__arrow { display: inline-flex; }
.rh-sec-card__arrow svg { width: 16px; height: 16px; }

/* ---------- Страницы ---------- */
.rh-sec-pages { display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 52px; }
.rh-sec-pages__list { display: flex; gap: 8px; margin: 0; padding: 0; list-style: none; }
.rh-sec-pages__cell, .rh-sec-pages__step, .rh-sec-pages__gap {
  display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px;
  color: var(--color-page-number, #828a8a); font-size: 15px; text-decoration: none;
}
.rh-sec-pages__cell { background: var(--color-page-cell, #24242480); transition: color .2s, background-color .2s; }
.rh-sec-pages__cell:hover { color: #fff; background: #6a8a854d; }
.rh-sec-pages__cell.is-current { background: transparent; border: 1px solid #9acfc466; color: var(--color-page-current, #9acfc4); }
.rh-sec-pages__step { border: 1px solid #ffffff1f; color: #fff; transition: border-color .2s; }
.rh-sec-pages__step:hover { border-color: var(--rh-teal); }
.rh-sec-pages__step svg { width: 20px; height: 20px; }

/* ---------- Состояния: пусто, нет данных, снят ---------- */
.rh-sec-state { max-width: 880px; padding: 48px; background: #212423; border: 1px solid #ffffff0f; }
.rh-sec-state--page { margin-top: 18px; }
.rh-sec--status { padding-bottom: min(140px, 9.7222vw); }
.rh-sec-state__eyebrow { margin: 0; color: var(--color-teal-eyebrow, #8bc0b8); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }
.rh-sec-state__title, .rh-sec-state__heading {
  margin: 12px 0 16px; color: #fff; font-family: var(--font-display, "Oranienbaum", serif);
  font-size: 36px; font-weight: 400; line-height: 1.1; text-transform: uppercase;
}
.rh-sec-state__heading { font-size: clamp(34px, 4.2vw, 60px); line-height: 1.05; }
.rh-sec-state p:not([class]) { max-width: 60ch; margin: 0; color: #d5dbd9; font-size: 16px; font-weight: 300; line-height: 1.6; }
.rh-sec-state__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.rh-sec-state__actions .rh-sec-btn { height: 56px; min-width: 220px; }

/* ---------- Страница объекта ---------- */
.rh-sec-object { position: relative; padding: min(154px, 10.6944vw) var(--rh-side) 0; }
.rh-sec-object__eyebrow { margin: 0; }
.rh-sec-object__title { margin: 12px 0 0; overflow-wrap: anywhere; }
.rh-sec-object__address { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin: 18px 0 0; color: var(--rh-text); font-size: 16px; font-weight: 300; line-height: 1.5; }
.rh-sec-object__pin { display: inline-flex; align-self: center; color: var(--rh-teal); }
.rh-sec-object__pin svg { width: 18px; height: 18px; }
.rh-sec-object__map { color: var(--rh-teal-hi); font-size: 14px; text-decoration: underline; text-underline-offset: .25em; }
.rh-sec-object__metro { display: flex; align-items: center; gap: 8px; margin: 8px 0 0; color: var(--rh-text); font-size: 15px; font-weight: 300; }
.rh-sec-object__metro span { color: var(--rh-muted); }
.rh-sec-object__metro-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--rh-teal-hi); }
.rh-sec-object__grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(320px, 1fr); align-items: start; gap: 40px; margin-top: 36px; }

/* Галерея: лента со снапом работает и без скрипта. */
.rh-sec-gallery { min-width: 0; }
.rh-sec-gallery__stage { position: relative; background: #1b1f1e; }
.rh-sec-gallery__track {
  display: flex; aspect-ratio: 4 / 3; overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none;
}
.rh-sec-gallery__track::-webkit-scrollbar { display: none; }
.rh-sec-gallery__slide { flex: 0 0 100%; display: flex; align-items: center; justify-content: center; margin: 0; scroll-snap-align: start; scroll-snap-stop: always; }
.rh-sec-gallery__slide img { display: block; width: 100%; height: 100%; object-fit: contain; }
.rh-sec-gallery.is-ready .rh-sec-gallery__slide img { cursor: zoom-in; }
.rh-sec-gallery__nav, .rh-sec-gallery__expand, .rh-sec-gallery__counter {
  position: absolute; z-index: 2; display: inline-flex; align-items: center; justify-content: center;
  background: #191919b3; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); color: #fff; border: 1px solid #ffffff1f;
}
.rh-sec-gallery__nav { top: 50%; width: 52px; height: 52px; padding: 0; transform: translateY(-50%); cursor: pointer; transition: background-color .2s, opacity .2s; }
.rh-sec-gallery__nav:hover { background: var(--rh-teal); }
.rh-sec-gallery__nav[disabled] { opacity: .35; cursor: default; }
.rh-sec-gallery__nav[disabled]:hover { background: #191919b3; }
.rh-sec-gallery__nav[hidden], .rh-sec-gallery__expand[hidden] { display: none; }
.rh-sec-gallery__nav--prev { left: 16px; }
.rh-sec-gallery__nav--next { right: 16px; }
.rh-sec-gallery__nav svg { width: 22px; height: 22px; }
.rh-sec-gallery__counter { left: 16px; bottom: 16px; margin: 0; padding: 7px 11px; font-size: 13px; letter-spacing: .04em; }
.rh-sec-gallery__expand { right: 16px; bottom: 16px; gap: 8px; padding: 7px 12px; font: 400 13px/1 var(--font-main, "Ubuntu", sans-serif); cursor: pointer; transition: background-color .2s; }
.rh-sec-gallery__expand:hover { background: var(--rh-teal); }
.rh-sec-gallery__expand svg { width: 16px; height: 16px; }
.rh-sec-gallery__thumbs { position: relative; display: flex; gap: 8px; margin-top: 10px; padding-bottom: 4px; overflow-x: auto; scrollbar-width: thin; scrollbar-color: #6a8a8566 transparent; }
.rh-sec-gallery__thumb { position: relative; flex: 0 0 96px; aspect-ratio: 4 / 3; overflow: hidden; background: #232827; opacity: .5; transition: opacity .2s; }
.rh-sec-gallery__thumb::after { content: ""; position: absolute; inset: 0; border: 1px solid transparent; transition: border-color .2s; }
.rh-sec-gallery__thumb:hover { opacity: .85; }
.rh-sec-gallery__thumb.is-active { opacity: 1; }
.rh-sec-gallery__thumb.is-active::after { border-color: var(--rh-teal-hi); }
.rh-sec-gallery__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.rh-sec-gallery--empty .rh-sec-gallery__placeholder {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; aspect-ratio: 4 / 3; padding: 32px;
  background: radial-gradient(120% 90% at 20% 0%, #2c3a38 0%, #1f2423 60%); text-align: center;
}
.rh-sec-gallery__placeholder p { max-width: 340px; margin: 0; color: #ffffffa6; font-size: 14px; line-height: 1.55; }

/* Цена, заявка, характеристики. */
.rh-sec-side { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.rh-sec-price { padding: 28px; background: var(--rh-panel); }
.rh-sec-price__label { margin: 0; color: var(--rh-label); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }
.rh-sec-price__value { margin: 10px 0 0; color: #fff; font-size: 44px; font-weight: 300; line-height: 1.1; white-space: nowrap; }
.rh-sec-price__m2 { margin: 8px 0 0; color: var(--color-teal-lead, #dbe7e4); font-size: 15px; }
.rh-sec-price__date { margin: 14px 0 0; color: var(--color-fact-note, #99a7a4); font-size: 13px; }
.rh-sec-cta { width: 100%; height: 64px; min-width: 0; }
.rh-sec-side__note { margin: 0; color: var(--rh-dim); font-size: 13px; line-height: 1.5; }
.rh-sec-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin: 6px 0 0; background: var(--rh-line); border: 1px solid var(--rh-line); }
.rh-sec-facts__row { min-width: 0; padding: 16px 18px; background: var(--rh-plate); }
.rh-sec-facts__row:last-child:nth-child(odd) { grid-column: 1 / -1; }
.rh-sec-facts dt { color: var(--rh-label); font-size: 12px; line-height: 1.2; }
.rh-sec-facts dd { margin: 6px 0 0; color: #fff; font-size: 17px; line-height: 1.3; overflow-wrap: anywhere; }
.rh-sec-facts__row--ref dd { color: var(--rh-muted); font-size: 15px; }

/* Разделы ниже первого экрана. */
.rh-sec-section-title {
  margin: 0; color: #fff; font-family: var(--font-display, "Oranienbaum", serif);
  font-size: min(44px, 3.0556vw); font-weight: 400; line-height: 1.05; text-transform: uppercase;
}
.rh-sec-about { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 40px; padding: 88px var(--rh-side) 0; }
.rh-sec-about__text { max-width: 70ch; }
.rh-sec-about__text p { margin: 0 0 1.1em; color: #d9dfdd; font-size: 17px; font-weight: 300; line-height: 1.7; }
.rh-sec-about__more summary {
  display: inline-flex; align-items: center; gap: 8px; margin-bottom: 1.1em; color: var(--rh-teal-hi); font-size: 14px; cursor: pointer; list-style: none;
}
.rh-sec-about__more summary::-webkit-details-marker { display: none; }
.rh-sec-about__more summary::after { content: ""; width: 7px; height: 7px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .2s; }
.rh-sec-about__more[open] summary::after { transform: translateY(2px) rotate(-135deg); }
.rh-sec-about__close, .rh-sec-about__more[open] .rh-sec-about__open { display: none; }
.rh-sec-about__more[open] .rh-sec-about__close { display: inline; }
.rh-sec-steps { padding: 88px var(--rh-side) 0; }
.rh-sec-steps__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin: 32px 0 0; padding: 0; list-style: none; }
.rh-sec-steps__list li { padding: 28px 28px 30px; background: var(--rh-plate); border-top: 1px solid var(--rh-teal); }
.rh-sec-steps__num { color: var(--rh-teal); font-family: var(--font-display, "Oranienbaum", serif); font-size: 40px; line-height: 1; }
.rh-sec-steps__list h3 { margin: 18px 0 8px; color: #fff; font-size: 19px; font-weight: 400; }
.rh-sec-steps__list p { margin: 0; color: #c9d0ce; font-size: 15px; font-weight: 300; line-height: 1.6; }
.rh-sec-similar { padding: 88px var(--rh-side) 0; }
.rh-sec-similar__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 12px 24px; margin-bottom: 32px; }
.rh-sec-similar__all { display: inline-flex; align-items: center; gap: 6px; color: var(--rh-teal-hi); font-size: 14px; text-decoration: none; }
.rh-sec-similar__all svg { width: 16px; height: 16px; }
.rh-sec-similar__all:hover { color: #fff; }
.rh-sec-sticky, .rh-sec-sticky[hidden] { display: none; }

/* ---------- Просмотр во весь экран (создаётся скриптом) ---------- */
.rh-sec-lightbox {
  position: fixed; inset: 0; width: 100vw; max-width: none; height: 100vh; height: 100dvh; max-height: none;
  margin: 0; padding: 0; border: 0; background: #0e100fcc; color: #fff; overflow: hidden;
}
.rh-sec-lightbox::backdrop { background: #000000d9; }
.rh-sec-lightbox__figure { position: absolute; inset: 64px 96px 72px; display: flex; align-items: center; justify-content: center; margin: 0; }
.rh-sec-lightbox__figure img { max-width: 100%; max-height: 100%; object-fit: contain; user-select: none; }
.rh-sec-lightbox button {
  position: absolute; display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; padding: 0;
  border: 1px solid #ffffff29; background: #191919b3; color: #fff; cursor: pointer; transition: background-color .2s;
}
.rh-sec-lightbox button:hover { background: var(--rh-teal, #6a8a85); }
.rh-sec-lightbox button svg { width: 22px; height: 22px; }
.rh-sec-lightbox__close { top: 16px; right: 16px; }
.rh-sec-lightbox__prev { left: 24px; top: 50%; transform: translateY(-50%); }
.rh-sec-lightbox__next { right: 24px; top: 50%; transform: translateY(-50%); }
.rh-sec-lightbox__counter { position: absolute; left: 0; right: 0; bottom: 24px; margin: 0; color: #ffffffb3; font: 400 14px/1 var(--font-main, "Ubuntu", sans-serif); text-align: center; letter-spacing: .06em; }
.rh-sec-lightbox button:focus-visible { outline: 2px solid var(--rh-teal-hi, #97dbd1); outline-offset: 2px; }
html.rh-sec-locked { overflow: hidden; }

/* ---------- ≤1100: две колонки ---------- */
@media (max-width: 1100px) {
  .rh-sec-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rh-sec-object__grid { grid-template-columns: minmax(0, 1.2fr) minmax(300px, 1fr); gap: 28px; }
  .rh-sec-price__value { font-size: 36px; }
  .rh-sec-filters__actions { margin-left: 0; }
}
@media (max-width: 900px) {
  .rh-sec-object__grid { grid-template-columns: minmax(0, 1fr); }
  .rh-sec-about { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .rh-sec-section-title { font-size: 36px; }
}

/* ---------- Телефон (как narrowMedia сборки) ---------- */
@media (max-width: 700px) {
  .rh-sec { --rh-side: calc(var(--mobile-side, 0px) + 20px); }
  .rh-sec-hero, .rh-sec-object { padding-top: min(96px, 24.6154vw); }
  .rh-sec-crumbs { margin-bottom: 16px; }
  .rh-sec-hero__title { margin: 10px 0 14px; }
  .rh-sec-hero__lead { font-size: 14px; line-height: 1.6; }
  .rh-sec-hero__cta { flex-direction: column; align-items: stretch; gap: 10px; margin-top: 22px; }
  .rh-sec-hero__cta p { max-width: none; font-size: 12px; }
  .rh-sec-btn { width: 100%; min-width: 0; height: 56px; }
  .rh-sec-deals { width: 100%; margin-top: 32px; }
  .rh-sec-deals .catalog-toggle__option { padding-inline: 8px; }
  .rh-sec-search { height: 52px; }
  .rh-sec-search input { padding: 0 16px; font-size: 15px; }
  .rh-sec-search__submit { padding: 0 20px; }
  .rh-sec-filters__row { flex-direction: column; align-items: stretch; gap: 16px; padding: 16px; }
  .rh-sec-rooms__options { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 4px; }
  .rh-sec-rooms__options .rh-sec-chip span { width: 100%; min-width: 0; padding: 0 4px; font-size: 13px; }
  .rh-sec-rooms__options .rh-sec-chip:first-child span { font-size: 12px; }
  .rh-sec-filters__more { flex-direction: column; align-items: stretch; gap: 14px; }
  .rh-sec-range__pair input, .rh-sec-range--single input, .rh-sec-range select { flex: 1; width: 100%; min-width: 0; height: 44px; }
  .rh-sec-filters__actions { flex-direction: column; align-items: stretch; gap: 12px; }
  .rh-sec-filters__apply { width: 100%; height: 48px; }
  .rh-sec-filters__reset { text-align: center; }
  /* Со скриптом «Цена и площадь» свёрнуты, пока их не раскрыли (класс rh-js ставится до отрисовки). */
  .rh-js .rh-sec-filters__toggle {
    display: flex; align-items: center; justify-content: space-between; width: 100%; height: 44px; padding: 0 14px;
    border: 1px solid #ffffff29; background: transparent; color: #fff; font: 400 14px/1 var(--font-main, "Ubuntu", sans-serif); cursor: pointer;
  }
  .rh-js .rh-sec-filters__toggle::after { content: ""; width: 7px; height: 7px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .2s; }
  .rh-js .rh-sec-filters.is-open .rh-sec-filters__toggle::after { transform: translateY(2px) rotate(-135deg); }
  .rh-js .rh-sec-filters:not(.is-open) .rh-sec-filters__more { display: none; }
  .rh-sec-results { padding-top: 40px; }
  .rh-sec-results__head { margin-bottom: 18px; }
  .rh-sec-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .rh-sec-card__body { padding: 18px 18px 20px; }
  .rh-sec-card__title { font-size: 18px; }
  .rh-sec-card__price { font-size: 24px; }
  .rh-sec-pages { flex-wrap: wrap; gap: 8px; margin-top: 36px; }
  .rh-sec-pages__cell, .rh-sec-pages__step, .rh-sec-pages__gap { width: 44px; height: 44px; }
  .rh-sec-state { padding: 28px 22px; }
  .rh-sec--status { padding-bottom: 72px; }
  .rh-sec-state__title { font-size: 26px; }
  .rh-sec-state__heading { font-size: 32px; }
  .rh-sec-state p:not([class]) { font-size: 15px; }
  .rh-sec-state__actions { flex-direction: column; }
  .rh-sec-state__actions .rh-sec-btn { width: 100%; min-width: 0; }
  .rh-sec-object__address { margin-top: 14px; font-size: 15px; }
  .rh-sec-object__grid { gap: 20px; margin-top: 24px; }
  .rh-sec-gallery { margin-inline: calc(var(--rh-side) * -1); }
  .rh-sec-gallery__nav { width: 40px; height: 40px; }
  .rh-sec-gallery__nav--prev { left: 10px; }
  .rh-sec-gallery__nav--next { right: 10px; }
  .rh-sec-gallery__counter { left: 12px; bottom: 12px; }
  .rh-sec-gallery__expand { right: 12px; bottom: 12px; padding: 7px 9px; }
  .rh-sec-gallery__expand span { display: none; }
  .rh-sec-gallery__thumbs { display: none; }
  .rh-sec-price { padding: 22px 20px; }
  .rh-sec-price__value { font-size: 34px; }
  .rh-sec-cta { height: 58px; }
  .rh-sec-facts__row { padding: 14px 14px; }
  .rh-sec-facts dd { font-size: 16px; }
  .rh-sec-section-title { font-size: 28px; }
  .rh-sec-about, .rh-sec-steps, .rh-sec-similar { padding-top: 56px; }
  .rh-sec-about__text p { font-size: 15px; line-height: 1.65; }
  .rh-sec-steps__list { grid-template-columns: minmax(0, 1fr); gap: 0; margin-top: 18px; }
  .rh-sec-steps__list li { display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: 12px; padding: 18px 0; background: none; border-top: 1px solid var(--rh-line); }
  .rh-sec-steps__list li:first-child { border-top-color: var(--rh-teal); }
  .rh-sec-steps__num { grid-row: span 2; font-size: 30px; }
  .rh-sec-steps__list h3 { margin: 2px 0 6px; font-size: 17px; }
  .rh-sec-steps__list p { font-size: 14px; }
  .rh-sec-similar__head { margin-bottom: 20px; }
  .rh-js .rh-sec-sticky:not([hidden]) {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; display: flex; align-items: center; justify-content: space-between; gap: 12px;
    padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px)); background: #191919eb;
    -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border-top: 1px solid var(--rh-line);
  }
  .rh-sec-sticky__price { min-width: 0; margin: 0; color: #fff; font-size: 18px; font-weight: 300; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .rh-sec-sticky__price span { color: var(--rh-muted); font-size: 12px; }
  .rh-sec-sticky__btn { flex: none; height: 46px; padding-inline: 20px; font-size: 14px; }
  .rh-sec-lightbox__figure { inset: 60px 0 76px; }
  .rh-sec-lightbox__prev, .rh-sec-lightbox__next { top: auto; bottom: 12px; transform: none; }
  .rh-sec-lightbox__prev { left: 16px; }
  .rh-sec-lightbox__next { right: 16px; }
  .rh-sec-lightbox__counter { bottom: 30px; }
}

@media (prefers-reduced-motion: reduce) {
  .rh-sec *, .rh-sec-lightbox * { transition: none !important; }
  .rh-sec-gallery__track { scroll-behavior: auto; }
  .rh-sec-card:hover .rh-sec-card__media img { transform: none; }
}
