/**
 * RentVerified Installed App — Phase 1 foundation (standalone only).
 * Browser mode never loads meaningful rules without html.rv-standalone.
 */

/* App UI font after cold-start boot (boot shell stays system-ui inline). */
@font-face {
  font-family: "Plus Jakarta Sans";
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url("../assets/fonts/plus-jakarta-sans.woff2") format("woff2");
}

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../assets/fonts/inter.woff2") format("woff2");
}

html.rv-standalone {
  --rv-app-bg: #eef2f6;
  --rv-app-surface: #ffffff;
  --rv-app-ink: var(--ink-800, #0f1426);
  --rv-app-ink-soft: var(--ink-600, #1d2742);
  --rv-app-muted: var(--muted, #6a6a6a);
  --rv-app-primary: var(--primary, #0a9d6a);
  --rv-app-primary-strong: var(--primary-strong, #088a5c);
  --rv-app-fav: #e11d48;
  --rv-app-line: rgba(15, 20, 38, 0.08);
  --rv-app-line-strong: rgba(15, 20, 38, 0.12);
  --rv-app-pad-x: 12px;
  --rv-app-header-h: 52px;
  --rv-app-tabs-h: 52px;
  --rv-app-radius: 10px;
  --rv-app-radius-lg: 12px;
  --rv-app-section-gap: 20px;
  --rv-app-shadow: 0 2px 10px rgba(15, 20, 38, 0.08);
  --rv-app-safe-top: env(safe-area-inset-top, 0px);
  --rv-app-safe-bottom: env(safe-area-inset-bottom, 0px);
  /* CASE 1 final calibration: chrome already at physical bottom; compact INTERNAL
     inset only. sab=34 → 2px; sab=0 → 0px. */
  --rv-app-bottom-content-inset: clamp(0px, calc(var(--rv-app-safe-bottom) - 32px), 6px);
  --rv-app-chrome-top: calc(var(--rv-app-safe-top) + var(--rv-app-header-h));
  --rv-app-chrome-bottom: calc(var(--rv-app-tabs-h) + var(--rv-app-bottom-content-inset));
  --header-height: var(--rv-app-chrome-top);
  --font-ui: "Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-heading: var(--font-ui);
  --font-body: var(--font-ui);
  /* Installed PWA only — declare light scheme; browser website colors unchanged. */
  color-scheme: light;
  /* Override site html ink-900 so launch never flashes black while main is hidden */
  background: #ffffff !important;
}

html.rv-standalone body {
  background: var(--rv-app-bg) !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  font-family: var(--font-ui);
}

/* Website chrome never shares the frame with app chrome */
html.rv-standalone .site-header,
html.rv-standalone .site-footer,
html.rv-standalone .mobile-app-nav,
html.rv-standalone .cookie-banner,
html.rv-standalone #cookie-banner {
  display: none !important;
}

/* Anti-flash: hide website main until app ready or fallback */
html.rv-standalone:not(.rv-app-ready):not(.rv-app-fallback) main,
html.rv-standalone:not(.rv-app-ready):not(.rv-app-fallback) .site-footer {
  visibility: hidden !important;
}

/* ---------- App root ---------- */
#rv-app-root {
  display: none;
}

html.rv-standalone.rv-app-ready #rv-app-root {
  display: flex;
  flex-direction: column;
  position: fixed;
  inset: 0;
  z-index: 10000;
  background: var(--rv-app-bg);
  color: var(--rv-app-ink);
  font-family: var(--font-ui, inherit);
  pointer-events: none;
}

html.rv-standalone.rv-app-ready #rv-app-root .rv-app-header,
html.rv-standalone.rv-app-ready #rv-app-root .rv-app-tabs,
html.rv-standalone.rv-app-ready #rv-app-root .rv-app-stage,
html.rv-standalone.rv-app-ready #rv-app-root .rv-app-search,
html.rv-standalone.rv-app-ready #rv-app-root .rv-app-more,
html.rv-standalone.rv-app-ready #rv-app-root .rv-app-loading,
html.rv-standalone.rv-app-ready #rv-app-root .rv-app-all-photos,
html.rv-standalone.rv-app-ready #rv-app-root .rv-app-photo-viewer {
  pointer-events: auto;
}

/* Phase 1: non-home screens keep website main between chrome */
html.rv-standalone.rv-app-ready.rv-app-legacy-main #rv-app-root {
  background: transparent;
}

html.rv-standalone.rv-app-ready.rv-app-legacy-main body > main {
  position: fixed !important;
  top: var(--rv-app-chrome-top) !important;
  bottom: var(--rv-app-chrome-bottom) !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  overflow: auto !important;
  -webkit-overflow-scrolling: touch;
  z-index: 1 !important;
  visibility: visible !important;
  background: var(--rv-app-bg);
}

html.rv-standalone.rv-app-ready:has(.rv-app-tabs[hidden]) {
  --rv-app-chrome-bottom: var(--rv-app-safe-bottom);
}

html.rv-standalone.rv-app-ready.rv-app-home-foundation body > main {
  display: none !important;
}

html.rv-standalone.rv-app-ready.rv-app-overlay-open .rv-app-tabs,
html.rv-standalone.rv-app-ready.rv-app-more-open .rv-app-tabs {
  visibility: hidden;
  pointer-events: none;
}

html.rv-standalone.rv-app-ready.rv-app-overlay-open.rv-app-legacy-main body > main,
html.rv-standalone.rv-app-ready.rv-app-more-open.rv-app-legacy-main body > main {
  visibility: hidden !important;
  pointer-events: none !important;
}

/* ---------- Header ---------- */
.rv-app-header {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: var(--rv-app-header-h);
  padding: var(--rv-app-safe-top) var(--rv-app-pad-x) 0;
  background: var(--rv-app-surface);
  border-bottom: 1px solid var(--rv-app-line);
  box-sizing: content-box;
}

.rv-app-header__inner {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: var(--rv-app-header-h);
}

.rv-app-header__brand {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--rv-app-ink);
  text-decoration: none;
  font-weight: 700;
  font-size: 1.05rem;
  letter-spacing: -0.02em;
  min-height: 44px;
}

.rv-app-header__brand-mark {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: var(--rv-app-primary);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.72rem;
  font-weight: 800;
  flex: 0 0 auto;
}

.rv-app-header__brand-mark-img {
  width: 28px;
  height: 28px;
  flex: 0 0 auto;
  display: block;
  object-fit: contain;
}

.rv-app-header__title {
  flex: 1 1 auto;
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--rv-app-ink);
  line-height: 1.2;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.rv-app-header__back,
.rv-app-header__action {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
  min-width: 44px;
  height: 44px;
  margin: 0;
  padding: 0 6px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--rv-app-ink);
  cursor: pointer;
}

.rv-app-header__back {
  padding-left: 2px;
  padding-right: 8px;
}

.rv-app-header__back-text {
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1;
}

/* App icons: consistent geometry; path presentation attrs control stroke vs fill */
#rv-app-root svg.icon.rv-app-icon {
  width: 22px;
  height: 22px;
  display: block;
  fill: currentColor;
  stroke: currentColor;
  flex-shrink: 0;
}
#rv-app-root .rv-app-tab__icon svg.icon.rv-app-icon,
#rv-app-root .rv-app-header__action svg.icon.rv-app-icon,
#rv-app-root .rv-app-header__back svg.icon.rv-app-icon {
  width: 22px;
  height: 22px;
}

.rv-app-header__back:focus-visible,
.rv-app-header__action:focus-visible,
.rv-app-tab:focus-visible,
.rv-app-search__back:focus-visible,
.rv-app-search__clear:focus-visible,
.rv-app-more__close:focus-visible,
.rv-app-row:focus-visible,
.rv-app-chip:focus-visible,
.rv-app-cta:focus-visible {
  outline: 2px solid var(--rv-app-primary);
  outline-offset: 2px;
}

.rv-app-header__back .icon,
.rv-app-header__action .icon,
.rv-app-tab__icon .icon,
.rv-app-search__back .icon,
.rv-app-search__clear .icon,
.rv-app-row__chevron .icon,
.rv-app-more__close .icon {
  width: 22px;
  height: 22px;
  display: block;
}

.rv-app-header__actions {
  display: flex;
  align-items: center;
  gap: 2px;
  margin-left: auto;
}

.rv-app-header__spacer {
  flex: 1 1 auto;
}

/* ---------- Stage / foundation ---------- */
.rv-app-stage {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-y: none;
  scroll-behavior: auto;
  padding: 0;
  touch-action: pan-y;
}

html.rv-standalone.rv-app-ready,
html.rv-standalone.rv-app-ready body {
  overscroll-behavior-y: none;
}

html.rv-standalone.rv-app-ready #rv-app-root {
  overscroll-behavior-y: none;
}

.rv-app-stage--empty {
  /* Keep flex growth so bottom tabs stay pinned when website main is framed. */
  flex: 1 1 auto;
  min-height: 0;
  visibility: hidden;
  pointer-events: none;
  overflow: hidden;
}

.rv-app-foundation {
  padding: var(--rv-app-section-gap) var(--rv-app-pad-x) calc(var(--rv-app-section-gap) + 8px);
  max-width: 520px;
  margin: 0 auto;
}

.rv-app-foundation__card {
  background: var(--rv-app-surface);
  border: 1px solid var(--rv-app-line);
  border-radius: var(--rv-app-radius-lg);
  box-shadow: var(--rv-app-shadow);
  padding: 20px;
}

.rv-app-foundation__eyebrow {
  margin: 0 0 6px;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--rv-app-muted);
}

.rv-app-foundation__title {
  margin: 0 0 8px;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--rv-app-ink);
}

.rv-app-foundation__copy {
  margin: 0 0 18px;
  font-size: 0.95rem;
  line-height: 1.45;
  color: var(--rv-app-muted);
}

.rv-app-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  min-height: 48px;
  padding: 12px 16px;
  border: 0;
  border-radius: var(--rv-app-radius);
  background: var(--rv-app-primary);
  color: #fff;
  font-size: 1rem;
  font-weight: 650;
  cursor: pointer;
}

.rv-app-cta--ghost {
  margin-top: 10px;
  background: transparent;
  color: var(--rv-app-ink-soft);
  border: 1px solid var(--rv-app-line-strong);
}

.rv-app-foundation__note {
  margin: 16px 0 0;
  font-size: 0.8rem;
  line-height: 1.4;
  color: var(--rv-app-muted);
}

/* ---------- Bottom tabs (content inset ≠ full safe-area lift) ---------- */
.rv-app-tabs {
  flex: 0 0 auto;
  position: relative;
  margin-top: auto;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: stretch;
  gap: 0;
  min-height: calc(var(--rv-app-tabs-h) + var(--rv-app-bottom-content-inset));
  padding: 4px 0 var(--rv-app-bottom-content-inset);
  background: #fff;
  border-top: 0.5px solid rgba(60, 60, 67, 0.18);
  box-shadow: none;
  box-sizing: border-box;
  z-index: 20;
}

.rv-app-tab {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 2px;
  min-height: 44px;
  min-width: 0;
  margin: 0;
  padding: 2px 1px 0;
  border: 0;
  background: transparent;
  color: #8e8e93;
  text-decoration: none;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: color 0.12s ease;
}

.rv-app-tab.is-active,
.rv-app-tab[aria-current="page"],
.rv-app-tab[aria-current="true"] {
  color: var(--rv-app-primary);
}

.rv-app-tab__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 26px;
  line-height: 0;
  position: relative;
}

.rv-app-tab__icon .icon,
#rv-app-root .rv-app-tab__icon svg.icon.rv-app-icon {
  width: 24px;
  height: 24px;
}

/* Bayut home sun — outside SVG so fill:currentColor cannot wipe it */
.rv-app-tab__sun {
  position: absolute;
  top: 0;
  left: 3px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #f5c518;
  box-shadow: 0 0 0 0.5px rgba(255, 255, 255, 0.4);
  pointer-events: none;
  z-index: 1;
}

.rv-app-tab__label {
  font-size: 10px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -0.01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  color: inherit;
}

.rv-app-tab.is-active .rv-app-tab__icon,
.rv-app-tab[aria-current="page"] .rv-app-tab__icon,
.rv-app-tab[aria-current="true"] .rv-app-tab__icon {
  color: var(--rv-app-primary);
}

.rv-app-tab.is-active .rv-app-tab__label,
.rv-app-tab[aria-current="page"] .rv-app-tab__label,
.rv-app-tab[aria-current="true"] .rv-app-tab__label {
  font-weight: 600;
  color: #1c1c1e;
}

/* ---------- Search overlay ---------- */
.rv-app-search {
  position: absolute;
  inset: 0;
  z-index: 30;
  display: none;
  flex-direction: column;
  background: var(--rv-app-bg);
}

.rv-app-search.is-open {
  display: flex;
}

.rv-app-search__top {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: calc(var(--rv-app-safe-top) + 8px) var(--rv-app-pad-x) 10px;
  background: var(--rv-app-surface);
  border-bottom: 1px solid var(--rv-app-line);
}

.rv-app-search__back,
.rv-app-search__clear {
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--rv-app-ink);
  cursor: pointer;
}

.rv-app-search__field-wrap {
  flex: 1 1 auto;
  min-width: 0;
  position: relative;
}

.rv-app-search__input {
  width: 100%;
  min-height: 44px;
  padding: 10px 40px 10px 14px;
  border: 1px solid var(--rv-app-line-strong);
  border-radius: 12px;
  background: var(--rv-app-bg);
  color: var(--rv-app-ink);
  font-size: 16px; /* iOS: avoid zoom */
  line-height: 1.3;
  box-sizing: border-box;
}

.rv-app-search__input:focus {
  outline: 2px solid var(--rv-app-primary);
  outline-offset: 0;
  border-color: transparent;
}

.rv-app-search__clear {
  position: absolute;
  right: 2px;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
}

.rv-app-search__clear[hidden] {
  display: none !important;
}

.rv-app-search__body {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  padding: 12px var(--rv-app-pad-x) calc(16px + var(--rv-app-safe-bottom));
  /* Keyboard: visualViewport JS adjusts --rv-app-kb-inset */
  padding-bottom: calc(16px + var(--rv-app-safe-bottom) + var(--rv-app-kb-inset, 0px));
}

.rv-app-search__section-title {
  margin: 8px 0 10px;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--rv-app-muted);
}

.rv-app-search__list {
  list-style: none;
  margin: 0;
  padding: 0;
  background: var(--rv-app-surface);
  border: 1px solid var(--rv-app-line);
  border-radius: var(--rv-app-radius-lg);
  overflow: hidden;
}

.rv-app-search__item {
  margin: 0;
  border-bottom: 1px solid var(--rv-app-line);
}

.rv-app-search__item:last-child {
  border-bottom: 0;
}

.rv-app-search__item-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  border: 0;
  background: transparent;
  color: var(--rv-app-ink);
  font-size: 0.98rem;
  font-weight: 550;
  text-align: left;
  cursor: pointer;
}

.rv-app-search__item-meta {
  font-size: 0.8rem;
  font-weight: 500;
  color: var(--rv-app-muted);
}

.rv-app-search__empty {
  margin: 24px 8px;
  text-align: center;
  color: var(--rv-app-muted);
  font-size: 0.95rem;
}

.rv-app-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 18px;
}

.rv-app-chip {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 8px 14px;
  border: 1px solid var(--rv-app-line-strong);
  border-radius: 999px;
  background: var(--rv-app-surface);
  color: var(--rv-app-ink-soft);
  font-size: 0.9rem;
  font-weight: 550;
  cursor: pointer;
}

/* ---------- More sheet ---------- */
.rv-app-more {
  position: absolute;
  inset: 0;
  z-index: 25;
  display: none;
  flex-direction: column;
  justify-content: flex-end;
  background: rgba(7, 10, 20, 0.36);
}

.rv-app-more.is-open {
  display: flex;
}

.rv-app-more__panel {
  max-height: min(88vh, 720px);
  display: flex;
  flex-direction: column;
  background: var(--rv-app-surface);
  border-radius: 18px 18px 0 0;
  box-shadow: 0 -4px 24px rgba(15, 20, 38, 0.12);
  padding-bottom: var(--rv-app-safe-bottom);
}

.rv-app-more__head {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 48px;
  padding: 6px var(--rv-app-pad-x) 2px;
  border-bottom: 1px solid var(--rv-app-line);
}

.rv-app-more__head h2 {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: -0.01em;
}

.rv-app-more__close {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  background: rgba(15, 20, 38, 0.05);
  color: var(--rv-app-muted);
  cursor: pointer;
}
.rv-app-more__close:hover,
.rv-app-more__close:active {
  background: rgba(15, 20, 38, 0.09);
  color: var(--rv-app-ink);
}
.rv-app-more__close .icon {
  width: 18px;
  height: 18px;
}

.rv-app-more__body {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  padding: 12px var(--rv-app-pad-x) 20px;
}

.rv-app-more__group {
  margin: 0 0 14px;
}

.rv-app-more__group-title {
  margin: 0 0 6px;
  padding: 0 4px;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--rv-app-muted);
}

.rv-app-more__rows {
  background: var(--rv-app-bg);
  border: 1px solid var(--rv-app-line);
  border-radius: var(--rv-app-radius-lg);
  overflow: hidden;
}

.rv-app-row {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 44px;
  padding: 8px 14px;
  color: var(--rv-app-ink);
  text-decoration: none;
  border-bottom: 1px solid var(--rv-app-line);
  background: var(--rv-app-surface);
}

.rv-app-row:last-child {
  border-bottom: 0;
}

.rv-app-row__icon {
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  color: var(--rv-app-primary-strong);
  opacity: 0.85;
}

.rv-app-row__icon .icon {
  width: 20px;
  height: 20px;
  display: block;
}

.rv-app-row__label {
  flex: 1 1 auto;
  font-size: 0.95rem;
  font-weight: 550;
}

.rv-app-row__chevron {
  flex: 0 0 auto;
  color: var(--rv-app-muted);
  opacity: 0.7;
}

/* ---------- Loading ---------- */
.rv-app-loading {
  position: absolute;
  inset: 0;
  z-index: 40;
  display: none;
  align-items: center;
  justify-content: center;
  background: var(--rv-app-bg);
  color: var(--rv-app-muted);
  font-size: 0.95rem;
}

html.rv-standalone.rv-app-booting #rv-app-root .rv-app-loading {
  display: flex;
}

@media (prefers-reduced-motion: reduce) {
  .rv-app-search,
  .rv-app-more,
  .rv-app-tab,
  .rv-app-cta {
    transition: none !important;
  }
}

/* ========== Phase 2 screens ========== */
html.rv-standalone.rv-app-ready.rv-app-home-screen body > main,
html.rv-standalone.rv-app-ready.rv-app-search-screen body > main,
html.rv-standalone.rv-app-ready.rv-app-saved-screen body > main {
  display: none !important;
}

html.rv-standalone.rv-app-ready.rv-app-sheet-open .rv-app-tabs,
html.rv-standalone.rv-app-ready.rv-app-overlay-open .rv-app-tabs {
  visibility: hidden;
  pointer-events: none;
}

html.rv-standalone.rv-app-ready.rv-app-sheet-open .rv-app-float-dock,
html.rv-standalone.rv-app-ready.rv-app-overlay-open .rv-app-float-dock,
html.rv-standalone.rv-app-ready.rv-app-more-open .rv-app-float-dock {
  visibility: hidden;
  pointer-events: none;
}

.rv-app-home,
.rv-app-serp,
.rv-app-saved {
  padding: 16px var(--rv-app-pad-x) 24px;
  max-width: 640px;
  margin: 0 auto;
}

.rv-app-serp {
  padding-top: 12px;
  padding-bottom: 88px;
  position: relative;
}

.rv-app-serp .rv-app-search-trigger--home {
  margin-bottom: 0;
}

.rv-app-search-trigger--serp {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 48px;
  padding: 10px 14px;
  border: 1px solid var(--rv-app-line-strong);
  border-radius: 12px;
  background: var(--rv-app-surface);
  box-shadow: 0 1px 4px rgba(15, 20, 38, 0.06);
  color: var(--rv-app-ink);
  text-align: left;
  cursor: pointer;
}
.rv-app-search-trigger--serp .rv-app-search-trigger__icon {
  color: var(--rv-app-primary);
}
.rv-app-search-trigger--serp .rv-app-search-trigger__text {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 0.95rem;
  font-weight: 550;
  color: var(--rv-app-ink-soft);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.rv-app-search-trigger--serp .rv-app-search-trigger__trailing {
  color: var(--rv-app-muted);
}
.rv-app-search-trigger--serp .rv-app-search-trigger__trailing .icon {
  width: 18px;
  height: 18px;
}

.rv-app-fchips {
  display: flex;
  align-items: center;
  gap: 8px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x pan-y;
  scrollbar-width: none;
  margin: 10px 0 8px;
  padding: 0 0 2px;
}
.rv-app-fchips::-webkit-scrollbar {
  display: none;
}
.rv-app-fchip {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 6px 12px;
  border: 1px solid var(--rv-app-line-strong);
  border-radius: 999px;
  background: var(--rv-app-surface);
  color: var(--rv-app-ink-soft);
  font-size: 0.8rem;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  max-width: 148px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.rv-app-fchip--icon {
  width: 36px;
  min-width: 36px;
  padding: 0;
  border-radius: 10px;
  max-width: none;
}
.rv-app-fchip__icon {
  display: inline-flex;
}
.rv-app-fchip__icon .icon {
  width: 18px;
  height: 18px;
}
.rv-app-fchip.is-active {
  border-color: rgba(10, 157, 106, 0.55);
  color: var(--rv-app-primary-strong);
  background: rgba(10, 157, 106, 0.1);
}

.rv-app-serp .rv-app-count {
  margin: 4px 2px 12px;
  font-size: 0.86rem;
  font-weight: 650;
}

.rv-app-float-dock {
  position: fixed;
  left: 50%;
  bottom: calc(var(--rv-app-chrome-bottom) + 12px);
  transform: translateX(-50%);
  z-index: 30;
  display: inline-flex;
  align-items: stretch;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid var(--rv-app-line-strong);
  border-radius: 999px;
  box-shadow: 0 8px 24px rgba(15, 20, 38, 0.16);
  overflow: hidden;
  backdrop-filter: blur(8px);
}
.rv-app-float-dock__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 42px;
  padding: 0 18px;
  border: 0;
  border-right: 1px solid var(--rv-app-line);
  background: transparent;
  color: var(--rv-app-ink-soft);
  font-size: 0.82rem;
  font-weight: 650;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
}
.rv-app-float-dock__btn:last-child {
  border-right: 0;
}
.rv-app-float-dock__icon {
  display: inline-flex;
  color: var(--rv-app-primary);
}
.rv-app-float-dock__icon .icon {
  width: 16px;
  height: 16px;
}

.rv-app-serp__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 10px;
}
.rv-app-serp__meta .rv-app-count {
  margin: 0;
  font-size: 0.88rem;
}
.rv-app-serp__actions {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  flex: 0 0 auto;
}
.rv-app-meta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 4px 10px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--rv-app-ink-soft);
  font-size: 0.82rem;
  font-weight: 650;
  text-decoration: none;
  cursor: pointer;
}
.rv-app-meta-btn:hover,
.rv-app-meta-btn:focus-visible {
  color: var(--rv-app-primary-strong);
  background: rgba(10, 157, 106, 0.06);
}

/* ---------- Home (Bayut layout fidelity; RV scope + identity) ---------- */
html.rv-standalone.rv-app-ready.rv-app-home-screen .rv-app-header {
  background: #fff;
  border-bottom: none;
  box-shadow: none;
}
html.rv-standalone.rv-app-ready.rv-app-home-screen .rv-app-header__brand {
  color: var(--rv-app-primary-strong);
}
html.rv-standalone.rv-app-ready.rv-app-home-screen .rv-app-stage {
  background: #fff;
}

.rv-app-home {
  position: relative;
  margin-top: 0;
  padding: 8px var(--rv-app-pad-x) 32px;
  background: #fff;
  max-width: 640px;
}

.rv-app-home .rv-app-section-title {
  margin: 0 0 12px;
  font-size: 1.125rem;
  font-weight: 750;
  letter-spacing: -0.02em;
  color: #111827;
}

/* Hero + soft skyline (abstract; not Bayut art) */
.rv-app-home__hero {
  position: relative;
  margin: 0 calc(-1 * var(--rv-app-pad-x)) 8px;
  padding: 4px var(--rv-app-pad-x) 16px;
  overflow: visible;
  background:
    linear-gradient(
      180deg,
      #e8f4ee 0%,
      #eef7f3 32%,
      #f7faf8 62%,
      #ffffff 100%
    );
}
.rv-app-home__skyline {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 72px;
  pointer-events: none;
  opacity: 0.45;
  z-index: 0;
  background:
    radial-gradient(ellipse 70% 80% at 78% 30%, rgba(170, 210, 230, 0.5), transparent 72%),
    radial-gradient(ellipse 50% 70% at 18% 40%, rgba(150, 200, 180, 0.28), transparent 70%);
}
/* Soft city silhouettes — kept very light so they never read as skeleton blocks */
.rv-app-home__skyline::before,
.rv-app-home__skyline::after {
  content: "";
  position: absolute;
  bottom: 0;
  background: rgba(8, 138, 92, 0.06);
  border-radius: 1px 1px 0 0;
}
.rv-app-home__skyline::before {
  left: 8%;
  width: 14%;
  height: 22px;
  box-shadow:
    18px 6px 0 -2px rgba(8, 138, 92, 0.05),
    40px 2px 0 0 rgba(8, 138, 92, 0.07),
    64px 8px 0 -3px rgba(8, 138, 92, 0.045);
}
.rv-app-home__skyline::after {
  right: 10%;
  width: 10%;
  height: 34px;
  box-shadow:
    -20px 10px 0 -4px rgba(8, 138, 92, 0.05),
    -40px 4px 0 -2px rgba(8, 138, 92, 0.07),
    22px 12px 0 -5px rgba(8, 138, 92, 0.045);
}

/* Segment pills — Bayut capsule track */
.rv-app-home__segments {
  position: relative;
  z-index: 1;
  display: flex;
  gap: 2px;
  margin: 0 0 14px;
  padding: 3px;
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  background: #fff;
  border-radius: 999px;
  border: 1px solid rgba(15, 20, 38, 0.06);
  box-shadow: 0 1px 2px rgba(15, 20, 38, 0.04);
}
.rv-app-home__segments::-webkit-scrollbar {
  display: none;
}
.rv-app-home__seg {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 7px 14px;
  border-radius: 999px;
  border: none;
  background: transparent;
  color: #374151;
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  -webkit-tap-highlight-color: transparent;
}
.rv-app-home__seg.is-active {
  background: #0b6b4a;
  color: #fff;
  box-shadow: none;
  font-weight: 700;
}

/* Primary search pill (Bayut AI-bar geometry; no AI) */
.rv-app-search-trigger--home,
.rv-app-home .rv-app-search-trigger--home {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  min-height: 48px;
  margin: 0 0 12px;
  padding: 11px 15px;
  border-radius: 999px;
  border: 1px solid rgba(15, 20, 38, 0.12);
  background: #fff;
  box-shadow: 0 1px 3px rgba(15, 20, 38, 0.06);
  font-size: 0.94rem;
}
.rv-app-home .rv-app-search-trigger--home .rv-app-search-trigger__text {
  flex: 1;
  color: #9ca3af;
  font-weight: 500;
  text-align: left;
}
.rv-app-home .rv-app-search-trigger--home .rv-app-search-trigger__icon {
  color: var(--rv-app-primary);
  flex: 0 0 auto;
}
.rv-app-home .rv-app-search-trigger--home .rv-app-search-trigger__icon .icon {
  width: 20px;
  height: 20px;
}

/* Bayut divider copy */
.rv-app-home__or {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 12px;
  color: #9ca3af;
  font-size: 0.75rem;
  font-weight: 500;
  text-align: center;
  line-height: 1.2;
}
.rv-app-home__or::before,
.rv-app-home__or::after {
  content: "";
  flex: 1;
  height: 1px;
  background: rgba(15, 20, 38, 0.1);
}

/* Rent lock — Bayut Buy|Rent bar (Rent-only selected, full width) */
.rv-app-home__mode {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: stretch;
  width: 100%;
  margin: 0 0 10px;
  border: 1px solid rgba(15, 20, 38, 0.12);
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
}
.rv-app-home__mode-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 1 1 auto;
  min-height: 44px;
  padding: 10px 14px;
  font-size: 0.92rem;
  font-weight: 700;
  color: #6b7280;
  background: #fff;
}
.rv-app-home__mode-btn.is-active {
  color: #0b6b4a;
  background: #e8f7f0;
}

/* Locality field — Bayut filter row (full width BELOW Rent, not beside) */
.rv-app-search-trigger--home-locality,
.rv-app-home .rv-app-search-trigger--home-locality {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  width: 100%;
  min-height: 48px;
  margin: 0;
  padding: 12px 14px;
  border-radius: 10px;
  border: 1px solid rgba(15, 20, 38, 0.12);
  background: #fff;
  box-shadow: none;
  font-size: 0.9rem;
}
.rv-app-home .rv-app-search-trigger--home-locality .rv-app-search-trigger__icon {
  color: var(--rv-app-primary);
  flex: 0 0 auto;
  order: 0;
}
.rv-app-home .rv-app-search-trigger--home-locality .rv-app-search-trigger__icon .icon {
  width: 18px;
  height: 18px;
}
.rv-app-home .rv-app-search-trigger--home-locality .rv-app-search-trigger__text {
  flex: 1;
  order: 1;
  color: #9ca3af;
  font-weight: 500;
  text-align: left;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Legacy side-by-side mode row — never show */
.rv-app-home__mode-row,
.rv-app-search-trigger--home-secondary {
  display: none !important;
}

/* Recent activity cards */
.rv-app-home__recent {
  margin: 22px 0 8px;
}
.rv-app-home__recent-track {
  display: flex;
  gap: 12px;
  margin: 0 calc(-1 * var(--rv-app-pad-x));
  padding: 2px var(--rv-app-pad-x) 10px;
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  /* pan-x alone blocked vertical page scroll when gesture started on the rail */
  touch-action: pan-x pan-y;
  scroll-snap-type: x proximity;
}
.rv-app-home__recent-track::-webkit-scrollbar {
  display: none;
}
.rv-app-home__recent-card {
  flex: 0 0 228px;
  width: 228px;
  min-height: 72px;
  height: 72px;
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 10px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid rgba(15, 20, 38, 0.08);
  box-shadow: 0 1px 3px rgba(15, 20, 38, 0.05);
  text-decoration: none;
  color: inherit;
  box-sizing: border-box;
  scroll-snap-align: start;
  overflow: hidden;
}
.rv-app-home__recent-thumb {
  flex: 0 0 52px;
  width: 52px;
  height: 52px;
  border-radius: 8px;
  overflow: hidden;
  background: #e8ecf1;
}
.rv-app-home__recent-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.rv-app-home__recent-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2px;
  min-width: 0;
  flex: 1 1 auto;
}
.rv-app-home__recent-copy strong {
  font-size: 0.86rem;
  font-weight: 700;
  color: #111827;
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.rv-app-home__recent-copy > span {
  font-size: 0.75rem;
  color: #6b7280;
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.rv-app-home__recent-tag {
  display: inline-flex !important;
  align-self: flex-start;
  margin-top: 4px;
  padding: 2px 8px;
  border-radius: 999px;
  background: #f3f4f6;
  color: #6b7280 !important;
  font-size: 0.68rem !important;
  font-weight: 600;
}

/* List-property promo (dark teal) */
.rv-app-home__promo {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 18px 0 14px;
  padding: 18px 18px 18px 16px;
  border-radius: 14px;
  background: linear-gradient(135deg, #0a5c52 0%, #0b6b4a 100%);
  color: #fff;
  text-decoration: none;
  overflow: hidden;
  min-height: 88px;
}
.rv-app-home__promo-copy {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
  max-width: 72%;
}
.rv-app-home__promo-copy strong {
  font-size: 1.05rem;
  font-weight: 750;
  letter-spacing: -0.01em;
}
.rv-app-home__promo-copy span {
  font-size: 0.8rem;
  line-height: 1.35;
  color: rgba(255, 255, 255, 0.88);
  font-weight: 500;
}
.rv-app-home__promo-art {
  position: absolute;
  right: -4px;
  bottom: 0;
  width: 110px;
  height: 72px;
  opacity: 0.35;
  background:
    linear-gradient(180deg, transparent 20%, rgba(255, 255, 255, 0.15)),
    repeating-linear-gradient(90deg, transparent 0 8px, rgba(255, 255, 255, 0.25) 8px 12px);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 30%);
  mask-image: linear-gradient(90deg, transparent, #000 30%);
}
.rv-app-home__promo-icon {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.16);
  color: #fff;
  flex: 0 0 auto;
}
.rv-app-home__promo-icon .icon {
  width: 26px;
  height: 26px;
}

/* Service cards */
.rv-app-home__service-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 0 0 22px;
}
.rv-app-home__service {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  min-height: 148px;
  padding: 14px 14px 12px;
  border-radius: 14px;
  text-decoration: none;
  color: inherit;
  position: relative;
  overflow: hidden;
}
.rv-app-home__service-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  margin-bottom: 2px;
}
.rv-app-home__service-icon .icon {
  width: 20px;
  height: 20px;
}
.rv-app-home__service--check .rv-app-home__service-icon {
  background: #fff;
  color: #0b6b4a;
  box-shadow: 0 1px 4px rgba(15, 20, 38, 0.08);
}
.rv-app-home__service--find .rv-app-home__service-icon {
  background: #fff;
  color: #1d4ed8;
  box-shadow: 0 1px 4px rgba(15, 20, 38, 0.08);
}
.rv-app-home__service--check {
  background: linear-gradient(160deg, #e7f7f1 0%, #d7f0e6 100%);
}
.rv-app-home__service--find {
  background: linear-gradient(160deg, #e8f2fb 0%, #dceaf6 100%);
}
.rv-app-home__service strong {
  font-size: 0.98rem;
  font-weight: 750;
  color: #0b6b4a;
}
.rv-app-home__service--find strong {
  color: #0f4c81;
}
.rv-app-home__service > span:not(.rv-app-home__service-cta) {
  flex: 1;
  font-size: 0.78rem;
  line-height: 1.35;
  color: #4b5563;
}
.rv-app-home__service-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 6px;
  min-height: 32px;
  padding: 6px 12px;
  border-radius: 8px;
  background: #fff;
  color: #0b6b4a;
  font-size: 0.78rem;
  font-weight: 700;
  box-shadow: 0 1px 3px rgba(15, 20, 38, 0.08);
}

/* Popular types */
.rv-app-home__types {
  margin: 0 0 22px;
}
.rv-app-home__types-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 12px;
}
.rv-app-home__types-head .rv-app-section-title {
  margin: 0;
}
.rv-app-home__rent-lock {
  display: inline-flex;
  border: 1px solid rgba(15, 20, 38, 0.12);
  border-radius: 999px;
  overflow: hidden;
  background: #fff;
}
.rv-app-home__rent-lock-btn {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 4px 14px;
  font-size: 0.8rem;
  font-weight: 700;
  color: #6b7280;
}
.rv-app-home__rent-lock-btn.is-active {
  color: #0b6b4a;
  background: #e8f7f0;
  box-shadow: inset 0 0 0 1px rgba(10, 157, 106, 0.35);
}
.rv-app-home__type-track {
  display: flex;
  gap: 10px;
  margin: 0 calc(-1 * var(--rv-app-pad-x));
  padding: 0 var(--rv-app-pad-x) 4px;
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x pan-y;
  scroll-snap-type: x proximity;
}
.rv-app-home__type-track::-webkit-scrollbar {
  display: none;
}
.rv-app-home__type-card {
  flex: 0 0 154px;
  width: 154px;
  min-height: 72px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px;
  border-radius: 12px;
  scroll-snap-align: start;
  border: 1px solid rgba(15, 20, 38, 0.1);
  background: #fff;
  text-decoration: none;
  color: inherit;
  box-shadow: 0 1px 3px rgba(15, 20, 38, 0.04);
}
.rv-app-home__type-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: #e8f7f0;
  color: var(--rv-app-primary-strong);
  flex: 0 0 auto;
}
.rv-app-home__type-icon .icon {
  width: 22px;
  height: 22px;
}
.rv-app-home__type-icon--apt {
  background: linear-gradient(145deg, #fff4d6 0%, #ffe08a 100%);
  color: #b45309;
  box-shadow: inset 0 0 0 1px rgba(180, 83, 9, 0.12);
}
.rv-app-home__type-icon--house {
  background: linear-gradient(145deg, #d9f5e8 0%, #9be4c2 100%);
  color: #0b6b4a;
  box-shadow: inset 0 0 0 1px rgba(11, 107, 74, 0.14);
}
.rv-app-home__type-icon--annex {
  background: linear-gradient(145deg, #e8ddff 0%, #c4b5fd 100%);
  color: #6d28d9;
  box-shadow: inset 0 0 0 1px rgba(109, 40, 217, 0.14);
}
.rv-app-home__type-icon--studio {
  background: linear-gradient(145deg, #ddefff 0%, #93c5fd 100%);
  color: #1d4ed8;
  box-shadow: inset 0 0 0 1px rgba(29, 78, 216, 0.14);
}
.rv-app-home__type-icon--room {
  background: linear-gradient(145deg, #ffe4e8 0%, #fda4af 100%);
  color: #be123c;
  box-shadow: inset 0 0 0 1px rgba(190, 18, 60, 0.14);
}
.rv-app-home__type-copy {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}
.rv-app-home__type-copy strong {
  font-size: 0.9rem;
  font-weight: 750;
  color: #0f4c81;
}
.rv-app-home__type-copy span {
  font-size: 0.72rem;
  color: #6b7280;
}

.rv-app-home__areas {
  margin: 0 0 22px;
}

.rv-app-home .rv-app-area-chips {
  margin: 0;
  gap: 8px;
  padding-bottom: 2px;
}

.rv-app-home .rv-app-area-chip {
  min-height: 40px;
  padding: 8px 14px;
  border-radius: 999px;
  font-size: 0.84rem;
  font-weight: 650;
  background: #fff;
  border: 1px solid rgba(15, 20, 38, 0.14);
  color: #374151;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.rv-app-home .rv-app-area-chip:first-child,
.rv-app-home .rv-app-area-chip.is-active {
  border-color: rgba(10, 157, 106, 0.55);
  color: #0b6b4a;
  background: #f2fbf7;
}

.rv-app-home .rv-app-rail {
  margin: 0 0 26px;
}

.rv-app-home .rv-app-rail__head {
  margin: 0 0 12px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.rv-app-home .rv-app-rail__head .rv-app-section-title {
  margin: 0;
}

.rv-app-home .rv-app-rail__see {
  font-size: 0.88rem;
  font-weight: 650;
  color: var(--rv-app-primary-strong);
  text-decoration: none;
}

/* Full-bleed rail track on Home */
.rv-app-home .rv-app-rail__track {
  margin-left: calc(-1 * var(--rv-app-pad-x));
  margin-right: calc(-1 * var(--rv-app-pad-x));
  padding-left: var(--rv-app-pad-x);
  padding-right: var(--rv-app-pad-x);
  gap: 14px;
  scrollbar-width: none;
  scroll-snap-type: x proximity;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  /* Allow vertical page pan when swipe starts on Recommended / Popular rails */
  touch-action: pan-x pan-y;
}
.rv-app-home .rv-app-rail__track::-webkit-scrollbar {
  display: none;
}
.rv-app-home .rv-app-card--rail {
  flex: 0 0 236px;
  width: 236px;
  border-radius: 0;
  border: none;
  box-shadow: none;
  background: transparent;
  overflow: visible;
  scroll-snap-align: start;
}
.rv-app-home__rail-pending {
  margin: 0;
  padding: 18px 4px 8px;
  color: var(--rv-app-muted);
  font-size: 0.88rem;
  font-weight: 500;
}
.rv-app-rail--pending {
  min-height: 72px;
}
.rv-app-home .rv-app-card--rail .rv-app-card__link {
  display: block;
  text-decoration: none;
  color: inherit;
}
.rv-app-home .rv-app-card--rail .rv-app-card__media {
  position: relative;
  aspect-ratio: 4 / 3;
  border-radius: 12px;
  overflow: hidden;
  background: #e8ecf1;
}
.rv-app-home .rv-app-card--rail .rv-app-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.rv-app-home .rv-app-card--rail .rv-app-card__save {
  top: 10px;
  right: 10px;
  bottom: auto;
  left: auto;
  width: 44px;
  height: 44px;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #fff;
  filter: drop-shadow(0 0 1.5px rgba(0, 0, 0, 0.75)) drop-shadow(0 1px 2px rgba(0, 0, 0, 0.55));
}
.rv-app-home .rv-app-card--rail .rv-app-card__save.is-saved {
  color: var(--rv-app-fav);
  background: transparent;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.45));
}
.rv-app-home .rv-app-card--rail .rv-app-card__badge {
  top: 10px;
  left: 10px;
}
.rv-app-home .rv-app-card--rail .rv-app-card__body {
  padding: 10px 2px 4px;
}
.rv-app-home .rv-app-card--rail .rv-app-card__rent {
  margin: 0 0 6px;
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #111827;
}
.rv-app-home .rv-app-card--rail .rv-app-card__per {
  font-size: 0.78rem;
  font-weight: 600;
  color: #6b7280;
  margin-left: 2px;
}
.rv-app-home .rv-app-card--rail .rv-app-card__facts {
  margin: 0 0 6px;
  gap: 10px;
}
.rv-app-home .rv-app-card--rail .rv-app-card__fact {
  font-size: 0.8rem;
  color: #4b5563;
}
.rv-app-home .rv-app-card--rail .rv-app-card__area {
  margin: 0;
  font-size: 0.78rem;
  color: #6b7280;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Browse on map */
.rv-app-home__browse-map {
  margin: 4px 0 8px;
}
.rv-app-home__map-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 22px 16px 18px;
  border-radius: 14px;
  text-align: center;
  text-decoration: none;
  color: inherit;
  background:
    radial-gradient(circle at 50% 28%, rgba(59, 130, 246, 0.14), transparent 55%),
    linear-gradient(180deg, #eef6fb 0%, #f7fbfe 100%);
  border: 1px solid rgba(15, 20, 38, 0.06);
}
.rv-app-home__map-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 999px;
  background: #2563eb;
  color: #fff;
  box-shadow: 0 0 0 10px rgba(37, 99, 235, 0.12);
}
.rv-app-home__map-icon .icon {
  width: 24px;
  height: 24px;
}
.rv-app-home__map-card > span:not(.rv-app-home__map-icon):not(.rv-app-home__map-cta) {
  max-width: 260px;
  font-size: 0.92rem;
  font-weight: 650;
  color: #374151;
  line-height: 1.35;
}
.rv-app-home__map-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 280px;
  min-height: 44px;
  margin-top: 4px;
  padding: 10px 16px;
  border-radius: 10px;
  border: 1.5px solid rgba(10, 157, 106, 0.55);
  background: #fff;
  color: #0b6b4a;
  font-size: 0.92rem;
  font-weight: 750;
}

.rv-app-section-title {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--rv-app-ink);
}

.rv-app-search-trigger {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 48px;
  margin: 0 0 14px;
  padding: 10px 14px;
  border: 1px solid var(--rv-app-line-strong);
  border-radius: 14px;
  background: var(--rv-app-surface);
  color: var(--rv-app-muted);
  font-size: 0.98rem;
  text-align: left;
  cursor: pointer;
  box-shadow: var(--rv-app-shadow);
}

.rv-app-search-trigger__icon {
  color: var(--rv-app-ink-soft);
  display: inline-flex;
}
.rv-app-search-trigger__icon .icon {
  width: 20px;
  height: 20px;
}
.rv-app-search-trigger__text {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--rv-app-ink-soft);
  font-weight: 550;
}

.rv-app-area-chips {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x pan-y;
  padding: 0 0 4px;
  margin: 0 0 20px;
  scrollbar-width: none;
}
.rv-app-area-chips::-webkit-scrollbar { display: none; }

.rv-app-area-chip {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 8px 14px;
  border: 1px solid var(--rv-app-line-strong);
  border-radius: 999px;
  background: var(--rv-app-surface);
  color: var(--rv-app-ink-soft);
  text-decoration: none;
  font-size: 0.88rem;
  font-weight: 550;
  white-space: nowrap;
}

.rv-app-rail {
  margin: 0 0 22px;
}
.rv-app-rail__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 10px;
}
.rv-app-rail__see {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--rv-app-primary);
  text-decoration: none;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}
.rv-app-rail__track {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x pan-y;
  padding: 2px 2px 8px;
  scroll-snap-type: x mandatory;
  scrollbar-width: thin;
}
.rv-app-rail__track:focus-visible {
  outline: 2px solid var(--rv-app-primary);
  outline-offset: 2px;
}

.rv-app-card {
  position: relative;
  background: var(--rv-app-surface);
  border: 0;
  border-radius: var(--rv-app-radius-lg);
  box-shadow: var(--rv-app-shadow);
  overflow: hidden;
}
.rv-app-card--rail {
  flex: 0 0 228px;
  width: 228px;
  scroll-snap-align: start;
}
.rv-app-card__link {
  display: block;
  color: inherit;
  text-decoration: none;
}
.rv-app-card__media-hit {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
}
.rv-app-card__media-hit .rv-app-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.rv-app-card__media {
  position: relative;
  aspect-ratio: 4 / 3;
  background: #e8ecf1;
  overflow: hidden;
}
.rv-app-card--feed .rv-app-card__media {
  aspect-ratio: 16 / 9;
}
.rv-app-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.rv-app-card__img.is-broken,
.rv-app-card__img--empty {
  background: #e8ecf1;
  min-height: 100%;
}
.rv-app-card__photo-count {
  position: absolute;
  left: 10px;
  bottom: 10px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(7, 10, 20, 0.62);
  color: #fff;
  font-size: 0.7rem;
  font-weight: 600;
}
.rv-app-card__photo-count .icon {
  width: 12px;
  height: 12px;
}
.rv-app-card__dots {
  position: absolute;
  left: 50%;
  bottom: 10px;
  transform: translateX(-50%);
  z-index: 2;
  display: flex;
  gap: 4px;
  pointer-events: none;
}
.rv-app-card__dot {
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.45);
}
.rv-app-card__dot.is-active {
  background: #fff;
}
.rv-app-card__badge {
  position: absolute;
  left: 10px;
  top: 10px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.96);
  color: var(--rv-app-primary-strong);
  font-size: 0.7rem;
  font-weight: 700;
  box-shadow: 0 1px 4px rgba(15, 20, 38, 0.12);
}
.rv-app-card__badge .icon {
  width: 14px;
  height: 14px;
  color: var(--rv-app-primary);
}
.rv-app-card__save {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 3;
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--rv-app-fav, #e11d48);
  cursor: pointer;
  box-shadow: none;
  filter: drop-shadow(0 0 1.5px rgba(0, 0, 0, 0.75)) drop-shadow(0 1px 2px rgba(0, 0, 0, 0.55));
  -webkit-tap-highlight-color: transparent;
}
.rv-app-card--feed .rv-app-card__save {
  top: auto;
  bottom: 6px;
  right: 6px;
  width: 44px;
  height: 44px;
  background: transparent;
  box-shadow: none;
  color: var(--rv-app-fav, #e11d48);
  filter: drop-shadow(0 0 1.5px rgba(0, 0, 0, 0.75)) drop-shadow(0 1px 2px rgba(0, 0, 0, 0.55));
  backdrop-filter: none;
}
.rv-app-card--feed .rv-app-card__save::after {
  content: none;
}
.rv-app-card__save.is-saved {
  color: var(--rv-app-fav);
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.45));
}
.rv-app-card--feed .rv-app-card__save.is-saved {
  color: var(--rv-app-fav);
  background: transparent;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.45));
}
.rv-app-card__save .icon {
  width: 23px;
  height: 23px;
}
.rv-app-card--feed .rv-app-card__save .icon {
  width: 23px;
  height: 23px;
}
#rv-app-root .rv-app-card__save svg.icon.rv-app-icon {
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
}
#rv-app-root .rv-app-card__save.is-saved svg.icon.rv-app-icon--heart-fill {
  fill: currentColor;
  stroke: currentColor;
}
#rv-app-root .rv-app-card__save svg.icon.rv-app-icon--heart-fill {
  display: none;
}
#rv-app-root .rv-app-card__save.is-saved svg.icon.rv-app-icon--heart-outline {
  display: none;
}
#rv-app-root .rv-app-card__save.is-saved svg.icon.rv-app-icon--heart-fill {
  display: block;
}
.rv-app-card__body {
  padding: 10px 12px 12px;
}
.rv-app-card--feed .rv-app-card__body {
  padding: 12px 14px 14px;
}
.rv-app-card__rent-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  margin: 0 0 4px;
}
.rv-app-card__rent {
  margin: 0;
  font-size: 1.02rem;
  font-weight: 750;
  color: var(--rv-app-ink);
  letter-spacing: -0.02em;
}
.rv-app-card--feed .rv-app-card__rent {
  font-size: 1.2rem;
  margin: 0 0 8px;
}
.rv-app-card--rail .rv-app-card__rent {
  font-size: 0.95rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}
.rv-app-card--rail .rv-app-card__rent-row {
  gap: 6px;
}
.rv-app-card--rail .rv-app-card__avail {
  display: none;
}
.rv-app-card__per {
  margin-left: 4px;
  font-size: 0.72rem;
  font-weight: 500;
  color: var(--rv-app-muted);
  white-space: nowrap;
}
.rv-app-card__avail {
  flex: 0 0 auto;
  font-size: 0.7rem;
  font-weight: 600;
  color: var(--rv-app-primary-strong);
  background: rgba(10, 157, 106, 0.1);
  border-radius: 999px;
  padding: 3px 8px;
  white-space: nowrap;
}
.rv-app-card__facts {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin: 0 0 8px;
  color: var(--rv-app-ink-soft);
}
.rv-app-card__fact {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.84rem;
  font-weight: 600;
}
.rv-app-card__fact .icon {
  width: 16px;
  height: 16px;
  color: var(--rv-app-muted);
}
.rv-app-card__features {
  margin: 0 0 8px;
  font-size: 0.78rem;
  font-weight: 550;
  color: var(--rv-app-ink-soft);
  line-height: 1.35;
}
.rv-app-card__title {
  margin: 0 0 4px;
  font-size: 0.92rem;
  font-weight: 650;
  line-height: 1.3;
  color: var(--rv-app-ink);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.rv-app-card--feed .rv-app-card__title {
  margin: 0 0 4px;
  font-size: 0.88rem;
  font-weight: 600;
  -webkit-line-clamp: 2;
  color: var(--rv-app-ink-soft);
}
.rv-app-card__meta,
.rv-app-card__area {
  margin: 0;
  font-size: 0.8rem;
  color: var(--rv-app-muted);
  line-height: 1.35;
}
.rv-app-card--feed .rv-app-card__meta {
  margin: 0 0 2px;
  font-size: 0.82rem;
  color: var(--rv-app-ink-soft);
  font-weight: 550;
}
.rv-app-card__area {
  margin-top: 2px;
}
.rv-app-card--feed .rv-app-card__area {
  margin-top: 0;
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 0.8rem;
  color: var(--rv-app-muted);
}
.rv-app-card__area-icon {
  display: inline-flex;
  color: var(--rv-app-primary);
}
.rv-app-card__area-icon .icon {
  width: 14px;
  height: 14px;
}
.rv-app-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}
.rv-app-card__tag {
  display: inline-flex;
  align-items: center;
  padding: 3px 8px;
  border-radius: 999px;
  background: #eef2f6;
  color: var(--rv-app-ink-soft);
  font-size: 0.68rem;
  font-weight: 600;
}
.rv-app-card__tag--avail {
  color: var(--rv-app-primary-strong);
  background: rgba(10, 157, 106, 0.1);
}

.rv-app-feed {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.rv-app-feed .rv-app-card {
  width: 100%;
}

.rv-app-toolbar {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 12px;
}
.rv-app-tool {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 8px 10px;
  border: 1px solid var(--rv-app-line-strong);
  border-radius: 12px;
  background: var(--rv-app-surface);
  color: var(--rv-app-ink-soft);
  font-size: 0.88rem;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
}

.rv-app-count {
  margin: 0 0 12px;
  font-size: 0.9rem;
  font-weight: 650;
  color: var(--rv-app-ink-soft);
}

.rv-app-saved .rv-app-count {
  margin: 0 0 10px;
  font-size: 0.88rem;
}

.rv-app-load-more {
  margin-top: 16px;
}

.rv-app-empty {
  text-align: center;
  padding: 48px 16px 24px;
}
.rv-app-empty__icon {
  width: 56px;
  height: 56px;
  margin: 0 auto 14px;
  border-radius: 999px;
  background: rgba(10, 157, 106, 0.1);
  color: var(--rv-app-primary);
  display: flex;
  align-items: center;
  justify-content: center;
}
.rv-app-empty__icon .icon {
  width: 26px;
  height: 26px;
}
.rv-app-empty h2 {
  margin: 0 0 8px;
  font-size: 1.15rem;
}
.rv-app-empty p {
  margin: 0 0 18px;
  color: var(--rv-app-muted);
  font-size: 0.95rem;
}
.rv-app-empty .rv-app-cta {
  display: inline-flex;
  width: auto;
  min-width: 180px;
  margin: 0 auto;
}

.rv-app-loading-inline,
.rv-app-error {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 40px 16px;
  color: var(--rv-app-muted);
  text-align: center;
}
.rv-app-skeleton {
  display: block;
  background: #e8ecf1;
  border-radius: 8px;
}
.rv-app-skeleton--bar {
  width: 120px;
  height: 10px;
}
.rv-app-home--skeleton {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding-top: 12px;
}
.rv-app-home--skeleton .rv-app-home__hero {
  margin-bottom: 8px;
}
.rv-app-skeleton--seg {
  width: 72%;
  height: 34px;
  margin: 0 0 14px;
  border-radius: 999px;
}
.rv-app-skeleton--search {
  height: 52px;
  border-radius: 999px;
  width: 100%;
}
.rv-app-skeleton--search-secondary {
  height: 46px;
  margin-top: 12px;
  border-radius: 10px;
}
.rv-app-home--skeleton .rv-app-skeleton--search {
  box-shadow: 0 2px 10px rgba(15, 20, 38, 0.06);
}
.rv-app-skeleton--type-card {
  flex: 0 0 158px;
  width: 158px;
  height: 64px;
  border-radius: 12px;
}
.rv-app-skeleton--section-label {
  width: 110px;
  height: 12px;
  margin: 0 0 10px;
  border-radius: 6px;
}
.rv-app-skeleton-chips {
  display: flex;
  gap: 8px;
}
.rv-app-skeleton--chip {
  width: 84px;
  height: 36px;
  border-radius: 999px;
  flex: 0 0 auto;
}
.rv-app-home__rail-skel {
  margin: 0;
}
.rv-app-skeleton-rail {
  display: flex;
  gap: 14px;
  overflow: hidden;
  margin-left: calc(-1 * var(--rv-app-pad-x));
  margin-right: calc(-1 * var(--rv-app-pad-x));
  padding-left: var(--rv-app-pad-x);
  padding-right: var(--rv-app-pad-x);
}
.rv-app-skeleton--rail-card {
  flex: 0 0 236px;
  width: 236px;
  height: 240px;
  border-radius: 12px;
}
.rv-app-skeleton-toolbar {
  display: flex;
  gap: 8px;
  margin: 4px 0 8px;
}
.rv-app-skeleton--tool {
  width: 72px;
  height: 36px;
  border-radius: 10px;
}
.rv-app-skeleton-fchips {
  display: flex;
  gap: 8px;
  margin: 10px 0 8px;
  overflow: hidden;
}
.rv-app-skeleton--fchip {
  width: 68px;
  height: 34px;
  border-radius: 999px;
  flex: 0 0 auto;
}
.rv-app-skeleton-serp-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 10px;
}
.rv-app-skeleton-serp-meta .rv-app-skeleton--count {
  margin: 0;
}
.rv-app-skeleton--meta-btns {
  width: 88px;
  height: 18px;
  border-radius: 6px;
}
.rv-app-skeleton--count {
  width: 120px;
  height: 12px;
  margin: 0 0 12px;
}
.rv-app-skeleton-feed {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.rv-app-skeleton--feed-card {
  width: 100%;
  height: 268px;
  border-radius: 14px;
}
.rv-app-skeleton--gallery,
.rv-app-skeleton--photo,
.rv-app-skeleton--hero {
  width: 100%;
  aspect-ratio: 16 / 10;
  max-height: none;
  border-radius: 0;
  margin: 0;
}
.rv-app-skeleton--photo + .rv-app-skeleton--photo {
  display: none;
}
.rv-app-skeleton--rent {
  width: 160px;
  height: 28px;
  margin: 0 0 6px;
}
.rv-app-skeleton--facts {
  width: 72%;
  height: 14px;
  margin: 0 0 14px;
}
.rv-app-skeleton--title {
  width: 92%;
  height: 18px;
  margin: 0 0 10px;
}
.rv-app-skeleton--lines {
  width: 100%;
  height: 96px;
}
.rv-app-skeleton--map-toolbar {
  height: 44px;
  margin: 0 0 8px;
  border-radius: 10px;
}
.rv-app-skeleton--map-host {
  flex: 1 1 auto;
  min-height: 280px;
  width: 100%;
  border-radius: 12px;
}
.rv-app-map--skeleton {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  padding: 10px var(--rv-app-pad-x);
}

/* Viewport-fixed so sheet never sits at bottom of tall SERP / never scrollIntoView-jumps stage */
.rv-app-sheet {
  position: fixed;
  inset: 0;
  z-index: 40;
  display: none;
  flex-direction: column;
  justify-content: flex-end;
  background: rgba(7, 10, 20, 0.46);
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
}
.rv-app-sheet.is-open {
  display: flex;
}
.rv-app-sheet__panel {
  max-height: min(86vh, 700px);
  width: 100%;
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 20px 20px 0 0;
  box-shadow: 0 -10px 32px rgba(15, 20, 38, 0.18);
  padding-bottom: 0;
  overflow: hidden;
}
.rv-app-sheet__head {
  position: sticky;
  top: 0;
  z-index: 2;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 52px;
  padding: 8px 6px 8px 18px;
  background: #fff;
  border-bottom: 1px solid rgba(15, 20, 38, 0.08);
}
.rv-app-sheet__head h2 {
  margin: 0;
  font-size: 1.06rem;
  font-weight: 750;
  letter-spacing: -0.015em;
  color: #111827;
}

/* Lock Search stage while Filters/Sort open — preserve scrollTop visually */
.rv-app-stage.rv-app-stage--sheet-locked {
  overflow: hidden !important;
  overscroll-behavior: none;
  touch-action: none;
}
.rv-app-sheet__close {
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #374151;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.rv-app-sheet__close:active {
  background: rgba(15, 20, 38, 0.05);
}
.rv-app-sheet__close .icon {
  width: 18px;
  height: 18px;
}
.rv-app-sheet__body {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  touch-action: pan-y;
  padding: 12px 16px 0;
}
.rv-app-sheet--compact .rv-app-sheet__body {
  padding-bottom: calc(16px + var(--rv-app-safe-bottom));
}
/* Sheet panel scrolls even when stage is touch-locked */
.rv-app-sheet__panel,
.rv-app-sheet__body,
.rv-app-sheet__actions {
  touch-action: pan-y;
  pointer-events: auto;
}

/* Filter field family — app rows, native select kept */
.rv-app-field {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin: 0 0 12px;
  font-size: 0.72rem;
  font-weight: 650;
  color: #6b7280;
  letter-spacing: 0.01em;
}
.rv-app-field > span {
  display: block;
  line-height: 1.2;
  padding-left: 2px;
}
.rv-app-field select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  min-height: 48px;
  margin: 0;
  padding: 12px 42px 12px 14px;
  border: 1px solid rgba(15, 20, 38, 0.12);
  border-radius: 12px;
  background-color: #fff;
  background-image: none;
  color: #111827;
  font-size: 0.95rem;
  font-weight: 650;
  line-height: 1.25;
  box-shadow: 0 1px 2px rgba(15, 20, 38, 0.03);
  cursor: pointer;
}
.rv-app-field select::-ms-expand {
  display: none;
}
.rv-app-field select:focus {
  outline: none;
  border-color: rgba(10, 157, 106, 0.55);
  box-shadow: 0 0 0 3px rgba(10, 157, 106, 0.12);
}
.rv-app-field select:focus-visible {
  outline: none;
  border-color: rgba(10, 157, 106, 0.55);
  box-shadow: 0 0 0 3px rgba(10, 157, 106, 0.12);
}
/* App chevron — pointer-events none so native select still receives taps */
.rv-app-field::after {
  content: "";
  position: absolute;
  right: 16px;
  bottom: 18px;
  width: 8px;
  height: 8px;
  border-right: 2px solid #6b7280;
  border-bottom: 2px solid #6b7280;
  transform: rotate(45deg);
  pointer-events: none;
  opacity: 0.85;
}

.rv-app-sheet__actions {
  position: sticky;
  bottom: 0;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 10px;
  margin: 4px -16px 0;
  padding: 12px 16px calc(14px + var(--rv-app-safe-bottom));
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.92) 0%, #fff 28%);
  border-top: 1px solid rgba(15, 20, 38, 0.08);
}
.rv-app-sheet__actions .rv-app-cta {
  min-height: 48px;
  border-radius: 12px;
  font-size: 0.92rem;
  font-weight: 700;
}
.rv-app-sheet__actions .rv-app-cta--ghost {
  margin-top: 0;
  background: #f3f4f6;
  border: 0;
  color: #374151;
}

.rv-app-sort-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 48px;
  margin: 0 0 8px;
  padding: 12px 14px;
  border: 1px solid rgba(15, 20, 38, 0.1);
  border-radius: 12px;
  background: #fff;
  color: #111827;
  font-size: 0.95rem;
  font-weight: 600;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 1px 2px rgba(15, 20, 38, 0.03);
}
.rv-app-sort-row:last-child {
  margin-bottom: 0;
}
.rv-app-sort-row.is-active {
  border-color: rgba(10, 157, 106, 0.45);
  color: #0b6b4a;
  background: #e8f7f0;
  box-shadow: none;
}
.rv-app-sort-row.is-active::after {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #0a9d6a;
  flex: 0 0 auto;
}

@media (max-width: 360px) {
  .rv-app-card--rail {
    flex-basis: 200px;
    width: 200px;
  }
  .rv-app-home .rv-app-card--rail,
  .rv-app-home .rv-app-skeleton--rail-card {
    flex-basis: 220px;
    width: 220px;
  }
}

/* ========== Phase 3 Detail / Map / Sub ========== */
html.rv-standalone.rv-app-ready.rv-app-detail-screen body > main,
html.rv-standalone.rv-app-ready.rv-app-map-screen body > main {
  display: none !important;
}

html.rv-standalone.rv-app-ready.rv-app-detail-screen {
  --rv-app-chrome-bottom: 0px;
  --rv-app-chrome-top: 0px;
}

html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-tabs {
  display: none !important;
}

html.rv-standalone.rv-app-ready.rv-app-detail-screen #rv-app-root {
  padding-bottom: 0;
}

html.rv-standalone.rv-app-ready.rv-app-sub-framed body > main {
  padding-top: 8px !important;
  padding-left: var(--rv-app-pad-x) !important;
  padding-right: var(--rv-app-pad-x) !important;
  padding-bottom: 24px !important;
  background: var(--rv-app-bg) !important;
  max-width: 100%;
}

html.rv-standalone.rv-app-ready.rv-app-sub-framed .site-header,
html.rv-standalone.rv-app-ready.rv-app-sub-framed .site-footer,
html.rv-standalone.rv-app-ready.rv-app-sub-framed .mobile-app-nav,
html.rv-standalone.rv-app-ready.rv-app-sub-framed .bayut-serp__breadcrumb,
html.rv-standalone.rv-app-ready.rv-app-sub-framed .bayut-breadcrumb,
html.rv-standalone.rv-app-ready.rv-app-sub-framed .portal-breadcrumb,
html.rv-standalone.rv-app-ready.rv-app-sub-framed .detail-breadcrumb,
html.rv-standalone.rv-app-ready.rv-app-sub-framed .find-rental-breadcrumb,
html.rv-standalone.rv-app-ready.rv-app-sub-framed .areas-index-breadcrumb,
html.rv-standalone.rv-app-ready.rv-app-sub-framed .agents-directory-breadcrumb,
html.rv-standalone.rv-app-ready.rv-app-sub-framed nav[aria-label="Breadcrumb"],
html.rv-standalone.rv-app-ready.rv-app-sub-framed .detail-scroll-bar,
html.rv-standalone.rv-app-ready.rv-app-sub-framed .page-hero,
html.rv-standalone.rv-app-ready.rv-app-sub-framed .find-rental-hero,
html.rv-standalone.rv-app-ready.rv-app-sub-framed .marketing-strip,
html.rv-standalone.rv-app-ready.rv-app-sub-framed .site-breadcrumbs,
html.rv-standalone.rv-app-ready.rv-app-sub-framed .breadcrumbs,
html.rv-standalone.rv-app-ready [data-detail-mobile-cta],
/* Also match legacy-main (set immediately on sub boot) */
html.rv-standalone.rv-app-ready.rv-app-legacy-main .bayut-serp__breadcrumb,
html.rv-standalone.rv-app-ready.rv-app-legacy-main .bayut-breadcrumb,
html.rv-standalone.rv-app-ready.rv-app-legacy-main .portal-breadcrumb,
html.rv-standalone.rv-app-ready.rv-app-legacy-main .detail-breadcrumb,
html.rv-standalone.rv-app-ready.rv-app-legacy-main .find-rental-breadcrumb,
html.rv-standalone.rv-app-ready.rv-app-legacy-main .areas-index-breadcrumb,
html.rv-standalone.rv-app-ready.rv-app-legacy-main .agents-directory-breadcrumb,
html.rv-standalone.rv-app-ready.rv-app-legacy-main nav[aria-label="Breadcrumb"],
html.rv-standalone.rv-app-ready.rv-app-legacy-main .site-breadcrumbs,
html.rv-standalone.rv-app-ready.rv-app-legacy-main .breadcrumbs,
html.rv-standalone.rv-app-booting.rv-app-sub-framed nav[aria-label="Breadcrumb"],
html.rv-standalone.rv-app-booting.rv-app-sub-framed .bayut-breadcrumb,
html.rv-standalone.rv-app-booting.rv-app-sub-framed .portal-breadcrumb {
  display: none !important;
}

html.rv-standalone.rv-app-ready.rv-app-sub-framed .container {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.rv-app-stage--detail,
.rv-app-stage--map {
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
  position: relative;
}

/* Screen-reader only (detail overlay title must not paint over photos) */
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Final26 — native Detail hero + readable body / enquire comfort @384 */
html.rv-standalone.rv-app-ready.rv-app-detail-screen {
  --rv-app-pad-x: 18px;
}
html.rv-standalone.rv-app-ready.rv-app-enquire-screen {
  --rv-app-pad-x: 16px;
}

.rv-app-detail {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  position: relative;
  background: #fff;
}

html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-header.rv-app-header--detail-overlay {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  z-index: 40;
  /* V72: compact chrome only — hero extends under status bar; Save/Share live on photo. */
  height: auto;
  max-height: none;
  min-height: 0;
  background: transparent;
  border-bottom: 0;
  pointer-events: none;
  padding: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-header.rv-app-header--detail-overlay .rv-app-header__inner {
  position: relative;
  height: auto;
  padding-top: calc(var(--rv-app-safe-top) + 8px);
  padding-left: 12px;
  padding-right: 12px;
  padding-bottom: 0;
  min-height: 0;
  align-items: flex-start;
  pointer-events: none;
}
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-header.rv-app-header--detail-overlay .rv-app-header__spacer {
  pointer-events: none;
}
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-header.rv-app-header--detail-overlay .rv-app-header__back,
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-header.rv-app-header--detail-overlay .rv-app-header__action {
  pointer-events: auto;
  position: relative;
  width: 26px;
  height: 26px;
  min-width: 26px;
  min-height: 26px;
  padding: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 1px 3px rgba(15, 20, 38, 0.14);
  color: var(--rv-app-ink);
}
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-header.rv-app-header--detail-overlay .rv-app-header__action[data-rv-app-save] {
  width: 26px;
  height: 26px;
  min-width: 26px;
  min-height: 26px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 1px 3px rgba(15, 20, 38, 0.14);
  color: #111827;
  filter: none;
}
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-header.rv-app-header--detail-overlay .rv-app-header__action[data-rv-app-save].is-saved,
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-header.rv-app-header--detail-overlay .rv-app-header__action[data-rv-app-save][aria-pressed="true"] {
  color: var(--rv-app-fav, #e11d48);
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 2px 8px rgba(15, 20, 38, 0.18);
}
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-header.rv-app-header--detail-overlay .rv-app-header__actions {
  display: none !important;
}
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-header.rv-app-header--detail-overlay .rv-app-header__detail-meta {
  display: none !important;
}
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-header.rv-app-header--detail-solid {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  z-index: 40;
  background: #fff;
  border-bottom: 1px solid #e8ecf1;
  pointer-events: auto;
  padding: 0 !important;
  box-shadow: 0 1px 0 rgba(15, 20, 38, 0.04);
}
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-header.rv-app-header--detail-solid .rv-app-header__detail-meta {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1 1 auto;
  min-width: 0;
  padding: 0 8px;
  text-align: center;
  pointer-events: none;
}
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-header.rv-app-header--detail-solid .rv-app-header__detail-meta[hidden] {
  display: none !important;
}
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-header.rv-app-header--detail-solid .rv-app-header__detail-price {
  margin: 0;
  font-size: 0.98rem;
  font-weight: 800;
  line-height: 1.15;
  color: #111827;
  letter-spacing: -0.02em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-header.rv-app-header--detail-solid .rv-app-header__detail-specs {
  margin: 2px 0 0;
  font-size: 0.72rem;
  font-weight: 500;
  line-height: 1.2;
  color: #6b7280;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-header.rv-app-header--detail-solid .rv-app-header__spacer {
  display: none;
}
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-header.rv-app-header--detail-solid .rv-app-header__actions {
  position: static;
  display: flex;
  flex-direction: row;
  gap: 8px;
  margin-left: auto;
}
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-header.rv-app-header--detail-solid .rv-app-header__inner {
  padding-top: calc(var(--rv-app-safe-top) + 6px);
  padding-bottom: 6px;
  padding-left: 10px;
  padding-right: 10px;
  min-height: 44px;
  align-items: center;
}
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-header.rv-app-header--detail-solid .rv-app-header__back,
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-header.rv-app-header--detail-solid .rv-app-header__action {
  pointer-events: auto;
  position: relative;
  width: 38px;
  height: 38px;
  min-width: 38px;
  min-height: 38px;
  padding: 0;
  border-radius: 999px;
  background: #f3f4f6;
  box-shadow: none;
  color: var(--rv-app-ink);
}
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-header.rv-app-header--detail-solid .rv-app-header__action[data-rv-app-save] {
  width: 38px;
  height: 38px;
  min-width: 38px;
  min-height: 38px;
  border-radius: 999px;
  background: #f3f4f6;
  box-shadow: none;
  color: #111827;
}
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-header.rv-app-header--detail-solid .rv-app-header__action[data-rv-app-save].is-saved,
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-header.rv-app-header--detail-solid .rv-app-header__action[data-rv-app-save][aria-pressed="true"] {
  color: var(--rv-app-fav, #e11d48);
}
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-header.rv-app-header--detail-solid .rv-app-header__back::after,
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-header.rv-app-header--detail-solid .rv-app-header__action::after {
  content: "";
  position: absolute;
  inset: -4px;
}
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-header.rv-app-header--detail-solid .rv-app-header__action[data-rv-app-save]::after {
  content: none;
}
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-header.rv-app-header--detail-solid .rv-app-header__back-text {
  display: none;
}
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-header.rv-app-header--detail-overlay .rv-app-header__back::after,
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-header.rv-app-header--detail-overlay .rv-app-header__action::after {
  content: "";
  position: absolute;
  inset: -4px;
}
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-header.rv-app-header--detail-overlay .rv-app-header__back-text {
  display: none;
}
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-stage--detail {
  padding-top: 0;
}

.rv-app-detail__scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-y: contain;
  background: #fff;
}

/* Hero: immersive ~44–50vh — facts begin near/below first viewport */
.rv-app-detail-hero {
  position: relative;
  margin: 0;
  padding: 0;
  width: 100%;
  background: #d9dee5;
}
.rv-app-detail-hero--empty,
.rv-app-detail-hero__viewport {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 10;
  min-height: 220px;
  max-height: 280px;
  background: #d9dee5;
  overflow: hidden;
  touch-action: pan-x pinch-zoom;
}
.rv-app-detail-hero--immersive,
.rv-app-detail-hero--immersive .rv-app-detail-hero__viewport,
.rv-app-detail-hero--immersive.rv-app-detail-hero--empty {
  aspect-ratio: auto !important;
  /* V72: edge-to-top under translucent status bar (~50% phone + safe inset). */
  height: calc(50dvh + env(safe-area-inset-top, 0px)) !important;
  height: calc(422px + env(safe-area-inset-top, 0px)) !important;
  min-height: calc(400px + env(safe-area-inset-top, 0px)) !important;
  max-height: calc(480px + env(safe-area-inset-top, 0px)) !important;
}
@supports (height: 50dvh) {
  .rv-app-detail-hero--immersive,
  .rv-app-detail-hero--immersive .rv-app-detail-hero__viewport,
  .rv-app-detail-hero--immersive.rv-app-detail-hero--empty {
    height: calc(min(50dvh, 460px) + env(safe-area-inset-top, 0px)) !important;
  }
}
@media (max-height: 700px) {
  html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-header.rv-app-header--detail-overlay {
    height: auto;
    max-height: none;
  }
  .rv-app-detail-hero--immersive,
  .rv-app-detail-hero--immersive .rv-app-detail-hero__viewport,
  .rv-app-detail-hero--immersive.rv-app-detail-hero--empty {
    height: calc(min(50dvh, 360px) + env(safe-area-inset-top, 0px)) !important;
    min-height: calc(300px + env(safe-area-inset-top, 0px)) !important;
    max-height: calc(380px + env(safe-area-inset-top, 0px)) !important;
  }
}
.rv-app-skeleton--hero-immersive {
  aspect-ratio: auto !important;
  height: calc(min(50dvh, 460px) + env(safe-area-inset-top, 0px)) !important;
  min-height: calc(400px + env(safe-area-inset-top, 0px)) !important;
  max-height: calc(480px + env(safe-area-inset-top, 0px)) !important;
  border-radius: 0 !important;
}
.rv-app-detail-hero__gallery {
  position: absolute;
  inset: 0;
  touch-action: pan-x pinch-zoom;
}
.rv-app-detail-hero__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  pointer-events: none;
  transform: translate3d(0, 0, 0);
  will-change: transform;
  backface-visibility: hidden;
  -webkit-user-drag: none;
  user-select: none;
}
.rv-app-detail-hero__img.is-active,
.rv-app-detail-hero__img.is-drag-peer {
  opacity: 1;
  pointer-events: auto;
}
.rv-app-detail-hero__count {
  position: absolute;
  left: 12px;
  right: auto;
  bottom: 14px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.55);
  color: #fff;
  font-size: 0.78rem;
  font-weight: 650;
  line-height: 1.2;
  pointer-events: none;
}
.rv-app-detail-hero__verified {
  position: absolute;
  top: calc(var(--rv-app-safe-top, 0px) + 8px);
  right: 10px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 3px;
  margin: 0;
  padding: 3px 7px 3px 5px;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 1px 3px rgba(15, 20, 38, 0.12);
  color: #111827;
  font: inherit;
  font-size: 0.58rem;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.01em;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.rv-app-detail-hero__verified-icon {
  display: inline-flex;
  color: #0a7a52;
}
.rv-app-detail-hero__verified-icon .icon {
  width: 9px;
  height: 9px;
}
.rv-app-detail-hero__count-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
}
.rv-app-detail-hero__count-icon .icon {
  width: 13px;
  height: 13px;
}
.rv-app-detail-hero__dots {
  position: absolute;
  left: 50%;
  bottom: 14px;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 5px;
  transform: translateX(-50%);
  pointer-events: none;
}
.rv-app-detail-hero__dot {
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.45);
}
.rv-app-detail-hero__dot.is-active {
  width: 7px;
  height: 7px;
  background: #fff;
}
.rv-app-detail-hero__all {
  display: none !important;
}

/* Legacy vertical stream removed — keep inert if old markup appears */
.rv-app-detail-photos {
  display: none !important;
}

.rv-app-detail__sheet,
.rv-app-detail__body {
  background: #fff;
  padding: 14px 18px 6px;
}
.rv-app-detail--v2 .rv-app-detail__sheet {
  position: relative;
  z-index: 2;
  margin-top: 0;
  padding: 28px 20px 10px;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
}
.rv-app-detail--v70 .rv-app-detail__sheet {
  padding-top: 22px;
}
.rv-app-detail__lead {
  margin: 0 0 6px;
}
.rv-app-detail--v2 .rv-app-detail__rent {
  margin: 0 0 8px;
  font-size: 1.72rem;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.03em;
  color: #111827;
}
.rv-app-detail--v2 .rv-app-detail__per {
  font-size: 0.98rem;
  font-weight: 500;
  color: #6b7280;
}
.rv-app-detail--v2 .rv-app-detail__avail {
  margin: 10px 0 0;
  font-size: 0.84rem;
  font-weight: 600;
  color: #0a7a52;
}
.rv-app-detail--v2 .rv-app-detail__avail--pending {
  color: #64748b;
  font-weight: 600;
}
.rv-app-detail--v2 .rv-app-detail__specs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 16px;
  margin: 0 0 10px;
  padding: 0;
  list-style: none;
  font-size: 0.94rem;
  font-weight: 600;
  color: #374151;
  line-height: 1.3;
}
.rv-app-detail--v2 .rv-app-detail__spec {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
}
.rv-app-detail--v2 .rv-app-detail__spec-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #4b5563;
}
.rv-app-detail--v2 .rv-app-detail__spec-icon .icon {
  width: 17px;
  height: 17px;
}
.rv-app-detail--v2 .rv-app-detail__area {
  margin: 0 0 4px;
  display: flex;
  align-items: flex-start;
  gap: 6px;
  font-size: 0.9rem;
  font-weight: 500;
  color: #6b7280;
  line-height: 1.4;
}
.rv-app-detail--v2 .rv-app-detail__area-icon {
  flex: 0 0 auto;
  margin-top: 1px;
  color: #9ca3af;
}
.rv-app-detail--v2 .rv-app-detail__area-icon .icon {
  width: 14px;
  height: 14px;
}
.rv-app-detail--v2 .rv-app-detail__rule {
  margin: 16px 0 18px;
  border: 0;
  border-top: 1px solid #e5e7eb;
}
.rv-app-detail--v2 .rv-app-detail__title {
  margin: 0 0 12px;
  font-size: 1.18rem;
  font-weight: 750;
  line-height: 1.38;
  color: #111827;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  text-transform: none;
  letter-spacing: -0.015em;
}
.rv-app-detail--v70 .rv-app-detail-section--about-lead {
  padding: 0 0 14px;
  border-top: 0;
  margin: 0 0 2px;
}
.rv-app-detail--v70 .rv-app-detail-section--about-lead .rv-app-detail__copy--about {
  font-size: 0.95rem;
  line-height: 1.55;
  color: #374151;
}
.rv-app-detail--v70 .rv-app-detail-section--about-lead .rv-app-detail__copy--about.is-collapsed {
  max-height: 4.65em;
  overflow: hidden;
}
.rv-app-detail--v2 .rv-app-detail-trust {
  display: none !important;
}
.rv-app-detail--v2 .rv-app-detail-section {
  padding: 18px 0 12px;
  border-top: 1px solid #e5e7eb;
}
.rv-app-detail--v2 .rv-app-section-title {
  margin: 0 0 14px;
  font-size: 1.08rem;
  font-weight: 750;
  color: #111827;
}
.rv-app-detail--v2 .rv-app-detail__copy {
  font-size: 0.95rem;
  line-height: 1.5;
  color: #374151;
}
.rv-app-detail--v2 .rv-app-detail-more,
.rv-app-detail--v2 [data-rv-about-more] {
  margin-top: 6px;
  padding: 0;
  border: 0;
  background: none;
  color: #2563eb;
  font: inherit;
  font-weight: 700;
  font-size: 0.92rem;
  cursor: pointer;
}
.rv-app-detail-kv {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin: 0;
  padding: 2px 0 0;
}
.rv-app-detail-kv__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
  gap: 12px;
  align-items: start;
}
.rv-app-detail-kv__label {
  font-size: 0.92rem;
  font-weight: 500;
  color: #6b7280;
  line-height: 1.35;
}
.rv-app-detail-kv__value {
  font-size: 0.95rem;
  font-weight: 700;
  color: #111827;
  line-height: 1.35;
  text-align: right;
}
.rv-app-detail-facts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.rv-app-detail-facts__item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
  min-height: 48px;
}
.rv-app-detail-facts__icon {
  flex: 0 0 auto;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: #f1f5f9;
  color: var(--rv-app-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.rv-app-detail-facts__icon .icon {
  width: 18px;
  height: 18px;
}
.rv-app-detail-facts__copy {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.rv-app-detail-facts__label {
  font-size: 0.78rem;
  font-weight: 600;
  color: #64748b;
  line-height: 1.2;
}
.rv-app-detail-facts__value {
  font-size: 0.98rem;
  font-weight: 700;
  color: #0f172a;
  line-height: 1.25;
}
.rv-app-detail--v2 .rv-app-detail-features__chip {
  padding: 9px 13px;
  font-size: 0.9rem;
  border-radius: 999px;
  background: #f1f5f9;
}
.rv-app-detail--v2 .rv-app-detail-amenities {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.rv-app-detail--v2 .rv-app-detail-amenities__tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 92px;
  margin: 0;
  padding: 12px 8px;
  border-radius: 14px;
  background: #f5f6f8;
  text-align: center;
}
.rv-app-detail--v2 .rv-app-detail-amenities__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #0a7a52;
}
.rv-app-detail--v2 .rv-app-detail-amenities__icon .icon {
  width: 22px;
  height: 22px;
}
.rv-app-detail--v71 .rv-app-detail-amenities__tile {
  background: #f3faf6;
  border: 1px solid #e6f4ec;
}
.rv-app-detail--v71 .rv-app-detail-amenities__icon {
  color: #0a7a52;
}
.rv-app-detail--v71 .rv-app-detail__rent {
  font-size: 1.78rem;
  margin-bottom: 0;
}
/* Quiet availability — V72: same row as price, right-aligned. */
.rv-app-detail--v71 .rv-app-detail__avail,
.rv-app-detail--v72 .rv-app-detail__avail {
  margin: 0;
  font-size: 0.78rem;
  font-weight: 600;
  color: #64748b;
  opacity: 0.95;
  text-align: right;
  flex: 0 0 auto;
  max-width: 42%;
  line-height: 1.25;
  align-self: center;
}
.rv-app-detail--v72 .rv-app-detail__rent-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 0 0 8px;
}
.rv-app-detail--v72 .rv-app-detail__rent-row .rv-app-detail__rent {
  margin: 0;
  flex: 1 1 auto;
  min-width: 0;
}
.rv-app-detail--v71 .rv-app-detail__title {
  margin-bottom: 10px;
  font-size: 1.2rem;
  line-height: 1.4;
}
.rv-app-detail--v71 .rv-app-detail-section--about-lead {
  padding-bottom: 8px;
  border-top: 0;
}
.rv-app-detail--v71 .rv-app-detail__rule {
  margin: 14px 0 16px;
}

/* V72 — hero float Save/Share, confirmed-on, map, agent, similar */
.rv-app-detail-hero__float-actions {
  position: absolute;
  right: 14px;
  bottom: -18px;
  z-index: 4;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 10px;
  pointer-events: none;
}
.rv-app-detail-hero__float-btn {
  pointer-events: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 2px 8px rgba(15, 20, 38, 0.16);
  color: #111827;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.rv-app-detail-hero__float-btn .icon {
  width: 18px;
  height: 18px;
}
.rv-app-detail-hero__float-btn.is-saved,
.rv-app-detail-hero__float-btn[aria-pressed="true"] {
  color: var(--rv-app-fav, #e11d48);
}
.rv-app-detail--v72 .rv-app-detail__sheet {
  padding-top: 28px;
}
.rv-app-detail--v72 .rv-app-detail-section--about-lead .rv-app-detail__copy--about.is-collapsed {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  max-height: none;
  overflow: hidden;
}
.rv-app-detail--v72 .rv-app-detail-more,
.rv-app-detail--v72 [data-rv-about-more] {
  display: inline-flex;
  margin-top: 4px;
  color: #2563eb;
  font-weight: 700;
  font-size: 0.92rem;
}
.rv-app-detail__confirmed-on {
  margin: 10px 0 0;
  font-size: 0.88rem;
  font-weight: 500;
  color: #6b7280;
  line-height: 1.4;
}
.rv-app-detail-mapview {
  display: block;
  color: inherit;
  text-decoration: none;
}
.rv-app-detail-mapview__addr {
  margin: 0 0 10px;
  font-size: 0.92rem;
  font-weight: 500;
  color: #6b7280;
  line-height: 1.35;
}
.rv-app-detail-mapview__frame {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 12px;
  overflow: hidden;
  background: #e8eef5;
}
.rv-app-detail-mapview__iframe,
.rv-app-detail-mapview__img {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  object-fit: cover;
  object-position: center;
  pointer-events: none;
  transform: scale(1.15);
  transform-origin: center;
}
.rv-app-detail-mapview__fallback {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: #94a3b8;
}
.rv-app-detail-mapview__fallback .icon {
  width: 28px;
  height: 28px;
}
.rv-app-detail-mapview__pin {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -100%);
  width: 36px;
  height: 36px;
  border-radius: 999px;
  background: #2563eb;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(37, 99, 235, 0.35);
  pointer-events: none;
}
.rv-app-detail-mapview__pin .icon {
  width: 16px;
  height: 16px;
}
.rv-app-detail-section--agent {
  text-align: center;
}
.rv-app-detail-agent-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 8px 0 4px;
}
.rv-app-detail-agent-block__photo {
  width: 88px;
  height: 88px;
  border-radius: 14px;
  overflow: hidden;
  background: #e8ecf1;
  color: #374151;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.35rem;
  font-weight: 700;
  margin-bottom: 6px;
}
.rv-app-detail-agent-block__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.rv-app-detail-agent-block__name {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 750;
  color: #111827;
}
.rv-app-detail-agent-block__listings {
  color: #2563eb;
  font-size: 0.92rem;
  font-weight: 650;
  text-decoration: none;
}
.rv-app-detail-agent-block__profile {
  color: #111827;
  font-size: 0.92rem;
  font-weight: 600;
  text-decoration: none;
}
.rv-app-detail-similar {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 12px;
}
.rv-app-detail-similar__card {
  position: relative;
  margin: 0;
  min-width: 0;
}
.rv-app-detail-similar__media {
  display: block;
  position: relative;
  aspect-ratio: 4 / 3;
  border-radius: 10px;
  overflow: hidden;
  background: #e5e7eb;
}
.rv-app-detail-similar__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.rv-app-detail-similar__media-empty {
  display: block;
  width: 100%;
  height: 100%;
  background: #e5e7eb;
}
.rv-app-detail-similar__count {
  position: absolute;
  left: 8px;
  bottom: 8px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 7px;
  border-radius: 6px;
  background: rgba(0, 0, 0, 0.55);
  color: #fff;
  font-size: 0.68rem;
  font-weight: 650;
}
.rv-app-detail-similar__count .icon {
  width: 11px;
  height: 11px;
}
.rv-app-detail-similar__fav {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 2;
  width: 32px;
  height: 32px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #fff;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.45));
  cursor: pointer;
}
.rv-app-detail-similar__fav .icon {
  width: 18px;
  height: 18px;
}
.rv-app-detail-similar__fav.is-saved {
  color: #e11d48;
}
.rv-app-detail-similar__body {
  display: block;
  margin-top: 8px;
  color: inherit;
  text-decoration: none;
}
.rv-app-detail-similar__rent {
  margin: 0 0 2px;
  font-size: 0.92rem;
  font-weight: 750;
  color: #111827;
}
.rv-app-detail-similar__per {
  font-weight: 500;
  color: #6b7280;
  font-size: 0.8rem;
}
.rv-app-detail-similar__title {
  margin: 0 0 4px;
  font-size: 0.82rem;
  font-weight: 500;
  color: #374151;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
}
.rv-app-detail-similar__area {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 0.75rem;
  font-weight: 500;
  color: #9ca3af;
}

.rv-app-detail-similar__area .icon {
  width: 11px;
  height: 11px;
  flex: 0 0 auto;
}

/* ========== V75 — edge-to-top hero, agent filter/logo, similar rail ========== */
html.rv-standalone.rv-app-ready.rv-app-detail-screen #rv-app-root {
  padding-top: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-detail__scroll {
  padding-top: 0 !important;
}
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-detail-hero--immersive {
  margin-top: 0 !important;
  /* Physical top of the app shell (under translucent status bar). */
  position: relative;
  top: 0;
  left: 0;
  right: 0;
}

.rv-app-detail-agent-block__photo.is-logo {
  background: #fff;
  border: 1px solid #e8ecf1;
  padding: 0;
}
.rv-app-detail-agent-block__photo.is-logo img {
  /* Small logos grow to fill; large logos shrink to fit — no crop padding. */
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  padding: 0;
  box-sizing: border-box;
}

.rv-app-detail-similar {
  display: block;
  margin: 0 calc(-1 * var(--rv-app-pad-x, 18px));
  padding: 0;
}
.rv-app-detail-similar__rail {
  display: flex;
  flex-direction: row;
  gap: 12px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  padding: 2px var(--rv-app-pad-x, 18px) 8px;
  scrollbar-width: none;
}
.rv-app-detail-similar__rail::-webkit-scrollbar {
  display: none;
}
.rv-app-detail-similar__card {
  flex: 0 0 min(72vw, 260px);
  max-width: 280px;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

.rv-app-detail--v75 .rv-app-detail-agent-block__listings {
  color: #0a7a52 !important;
}

/* ========== V73 Dubizzle fidelity + brand green ========== */
html.rv-standalone.rv-app-ready.rv-app-detail-screen,
html.rv-standalone.rv-app-ready.rv-app-detail-screen body,
html.rv-standalone.rv-app-ready.rv-app-detail-screen #rv-app-root {
  background: #d9dee5 !important;
}
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-stage--detail {
  padding-top: 0 !important;
  background: transparent;
}
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-detail,
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-detail__scroll {
  background: #fff;
}
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-detail-hero {
  background: #d9dee5;
}

/* Fix duplicate hearts on hero float + similar fav */
#rv-app-root .rv-app-detail-hero__float-btn svg.icon.rv-app-icon--heart-fill,
#rv-app-root .rv-app-detail-similar__fav svg.icon.rv-app-icon--heart-fill {
  display: none;
}
#rv-app-root .rv-app-detail-hero__float-btn.is-saved svg.icon.rv-app-icon--heart-outline,
#rv-app-root .rv-app-detail-hero__float-btn[aria-pressed="true"] svg.icon.rv-app-icon--heart-outline,
#rv-app-root .rv-app-detail-similar__fav.is-saved svg.icon.rv-app-icon--heart-outline,
#rv-app-root .rv-app-detail-similar__fav[aria-pressed="true"] svg.icon.rv-app-icon--heart-outline {
  display: none;
}
#rv-app-root .rv-app-detail-hero__float-btn.is-saved svg.icon.rv-app-icon--heart-fill,
#rv-app-root .rv-app-detail-hero__float-btn[aria-pressed="true"] svg.icon.rv-app-icon--heart-fill,
#rv-app-root .rv-app-detail-similar__fav.is-saved svg.icon.rv-app-icon--heart-fill,
#rv-app-root .rv-app-detail-similar__fav[aria-pressed="true"] svg.icon.rv-app-icon--heart-fill {
  display: block;
}

/* Brand green links (not Dubizzle blue) */
.rv-app-detail--v73 .rv-app-detail-more,
.rv-app-detail--v73 [data-rv-about-more],
.rv-app-detail--v73 .rv-app-detail-amenities__more-btn,
.rv-app-detail--v73 .rv-app-detail-agent-block__listings {
  color: #0a7a52 !important;
}

.rv-app-detail--v73 .rv-app-detail__confirmed-on {
  margin: 12px 0 4px;
  padding: 0;
  background: transparent;
  border: 0;
  font-size: 0.88rem;
  font-weight: 500;
  color: #6b7280;
}

.rv-app-detail--v73 .rv-app-detail-section--about-lead {
  border-top: 1px solid #e5e7eb;
  padding-top: 14px;
  margin-top: 4px;
}

.rv-app-detail--v73 .rv-app-detail__rent-row {
  align-items: baseline;
}
.rv-app-detail--v73 .rv-app-detail__avail {
  align-self: baseline;
  padding-top: 0.35em;
}

/* Soft green amenity tiles + colourful icons */
.rv-app-detail--v73 .rv-app-detail-amenities__tile {
  background: #f3faf6;
  border: 1px solid #e6f4ec;
}
.rv-app-detail--v73 .rv-app-detail-amenities__icon { color: #0a7a52; }
.rv-app-detail--v73 .rv-app-detail-amenities__icon--ac { color: #e11d48; }
.rv-app-detail--v73 .rv-app-detail-amenities__icon--balcony { color: #dc2626; }
.rv-app-detail--v73 .rv-app-detail-amenities__icon--parking { color: #2563eb; }
.rv-app-detail--v73 .rv-app-detail-amenities__icon--pool { color: #0891b2; }
.rv-app-detail--v73 .rv-app-detail-amenities__icon--gym { color: #7c3aed; }
.rv-app-detail--v73 .rv-app-detail-amenities__icon--wifi { color: #0284c7; }
.rv-app-detail--v73 .rv-app-detail-amenities__icon--sofa { color: #b45309; }
.rv-app-detail--v73 .rv-app-detail-amenities__icon--lift { color: #4b5563; }
.rv-app-detail--v73 .rv-app-detail-amenities__icon--lock { color: #334155; }
.rv-app-detail--v73 .rv-app-detail-amenities__icon--pet { color: #c2410c; }
.rv-app-detail--v73 .rv-app-detail-amenities__icon--kitchen { color: #ea580c; }
.rv-app-detail--v73 .rv-app-detail-amenities__icon--tree { color: #15803d; }
.rv-app-detail--v73 .rv-app-detail-amenities__icon--sea { color: #0369a1; }
.rv-app-detail--v73 .rv-app-detail-amenities__icon--tv { color: #1d4ed8; }
.rv-app-detail--v73 .rv-app-detail-amenities__icon--bolt { color: #ca8a04; }
.rv-app-detail--v73 .rv-app-detail-amenities__icon--fire { color: #ea580c; }
.rv-app-detail--v73 .rv-app-detail-amenities__icon--laundry { color: #0e7490; }
.rv-app-detail--v73 .rv-app-detail-amenities__icon--building { color: #475569; }
.rv-app-detail--v73 .rv-app-detail-amenities__icon--person { color: #7c3aed; }
.rv-app-detail--v73 .rv-app-detail-amenities__icon--check { color: #0a7a52; }
.rv-app-detail--v73 .rv-app-detail-amenities__more {
  background: transparent;
  border: 0;
  min-height: 92px;
}
.rv-app-detail--v73 .rv-app-detail-amenities__more-btn {
  font-size: 0.95rem;
  font-weight: 700;
}

/* Cleaner map (static img, no zoom chrome) */
.rv-app-detail--v73 .rv-app-detail-mapview__frame {
  aspect-ratio: 16 / 9;
  border-radius: 12px;
}
.rv-app-detail--v73 .rv-app-detail-mapview__fallback {
  background: linear-gradient(145deg, #e8eef5 0%, #d5e3f0 100%);
}

/* Tighter agent block */
.rv-app-detail--v73 .rv-app-detail-agent-block {
  gap: 4px;
  padding: 4px 0 2px;
}
.rv-app-detail--v73 .rv-app-detail-agent-block__photo {
  width: 72px;
  height: 72px;
  border-radius: 12px;
  margin-bottom: 4px;
}
.rv-app-detail--v73 .rv-app-detail-agent-block__name {
  font-size: 1rem;
}
.rv-app-detail--v73 .rv-app-detail-agent-block__listings {
  font-size: 0.9rem;
}
.rv-app-detail--v73 .rv-app-detail-agent-block__profile {
  font-size: 0.88rem;
}

/* Similar: heart only, quieter title */
.rv-app-detail--v73 .rv-app-detail-similar__title {
  text-transform: none;
  font-weight: 500;
  color: #4b5563;
}

.rv-app-detail--v2 .rv-app-detail-amenities__label {
  font-size: 0.72rem;
  font-weight: 650;
  line-height: 1.25;
  color: #111827;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.rv-app-detail--v2 .rv-app-detail-amenities__more {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 88px;
  margin: 0;
  padding: 12px 8px;
  list-style: none;
  border-radius: 12px;
  background: #f7f8fa;
  text-align: center;
}
.rv-app-detail--v2 .rv-app-detail-amenities__more-btn {
  color: #2563eb;
  font-weight: 700;
  font-size: 0.92rem;
  background: none;
  border: 0;
  padding: 8px;
  cursor: pointer;
}
.rv-app-detail--v2 .rv-app-detail-agent {
  min-height: 64px;
  padding: 10px 0;
  gap: 14px;
}
.rv-app-detail--v2 .rv-app-detail-agent__avatar {
  width: 44px;
  height: 44px;
  font-size: 0.88rem;
}
.rv-app-detail--v2 .rv-app-detail-agent__name {
  font-size: 1.05rem;
}
.rv-app-detail--v2 .rv-app-detail-agent__sub {
  font-size: 0.88rem;
}
.rv-app-detail--v2 .rv-app-detail-location-row {
  min-height: 64px;
  padding: 10px 0;
}
.rv-app-detail--v2 .rv-app-detail-location-row__name {
  font-size: 1.05rem;
}
.rv-app-detail--v2 .rv-app-detail-location-row__action {
  font-size: 0.9rem;
}
.rv-app-detail--v2 .rv-app-detail-info > summary {
  min-height: 48px;
  font-size: 0.98rem;
}
.rv-app-action-bar,
.rv-app-enquire-bar.rv-app-action-bar {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 6;
  padding: 10px 16px calc(10px + var(--rv-app-bottom-content-inset));
  background: #ffffff;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border-top: 1px solid #e8ecf1;
  box-shadow: none;
  box-sizing: border-box;
}
.rv-app-action-bar__btn,
.rv-app-enquire-bar.rv-app-action-bar .rv-app-cta,
.rv-app-enquire__footer.rv-app-action-bar .rv-app-enquire__send {
  width: 100%;
  min-height: 52px;
  height: 52px;
  border-radius: 14px;
  font-size: 1.05rem;
  font-weight: 750;
}
.rv-app-detail--v2 .rv-app-detail__spacer {
  height: calc(76px + var(--rv-app-safe-bottom));
}
.rv-app-detail-reconnect {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 0;
  padding: 10px 14px;
  background: #fff7ed;
  color: #9a3412;
  font-size: 0.84rem;
  font-weight: 600;
  border-bottom: 1px solid #fed7aa;
}
.rv-app-detail-reconnect button {
  flex: 0 0 auto;
  min-height: 36px;
  padding: 0 12px;
  border: 0;
  border-radius: 8px;
  background: #fff;
  color: #9a3412;
  font-weight: 700;
}
.rv-app-checked-sheet {
  position: fixed;
  inset: 0;
  z-index: 5200;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.rv-app-checked-sheet.is-open {
  pointer-events: auto;
  opacity: 1;
}
.rv-app-checked-sheet__backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(7, 10, 20, 0.42);
}
.rv-app-checked-sheet__panel {
  position: relative;
  z-index: 1;
  width: 100%;
  max-height: min(72vh, 560px);
  padding: 8px 18px calc(18px + var(--rv-app-safe-bottom));
  background: #fff;
  border-radius: 22px 22px 0 0;
  transform: translate3d(0, 24px, 0);
  transition: transform 0.22s ease;
}
.rv-app-checked-sheet.is-open .rv-app-checked-sheet__panel {
  transform: translate3d(0, 0, 0);
}
.rv-app-checked-sheet__grab {
  width: 40px;
  height: 4px;
  margin: 4px auto 12px;
  border-radius: 999px;
  background: #d1d5db;
}
.rv-app-checked-sheet__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}
.rv-app-checked-sheet__title {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 750;
  color: #0f172a;
}
.rv-app-checked-sheet__close {
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 999px;
  background: #f1f5f9;
  color: #334155;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.rv-app-checked-sheet__close .icon {
  width: 18px;
  height: 18px;
}
.rv-app-checked-sheet__body {
  color: #475569;
  font-size: 0.98rem;
  line-height: 1.5;
}
.rv-app-checked-sheet__body p {
  margin: 0 0 14px;
}
.rv-app-checked-sheet__guide {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--rv-app-primary);
  font-weight: 700;
  text-decoration: none;
}
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-header.rv-app-header--detail-overlay .rv-app-header__back,
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-header.rv-app-header--detail-overlay .rv-app-header__action {
  width: 26px;
  height: 26px;
  min-width: 26px;
  min-height: 26px;
  background: rgba(255, 255, 255, 0.94);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-header.rv-app-header--detail-overlay .rv-app-header__back .icon {
  width: 13px;
  height: 13px;
}
.rv-app-skeleton--avail {
  width: 42%;
  height: 14px;
  margin: 0 0 12px;
}
.rv-app-skeleton--cta {
  width: 100%;
  height: 52px;
  border-radius: 14px;
}
.rv-app-detail__rent-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 8px;
}
.rv-app-detail__rent-block {
  min-width: 0;
}
.rv-app-detail__rent {
  margin: 0 0 4px;
  font-size: 1.55rem;
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: #111827;
}
.rv-app-detail__per {
  margin: 0;
  font-size: 0.92rem;
  font-weight: 600;
  color: #6b7280;
  letter-spacing: 0;
}
.rv-app-detail__avail {
  display: block;
  margin: 0 0 8px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #0a7a52;
  font-size: 0.92rem;
  font-weight: 650;
  line-height: 1.3;
  white-space: normal;
  text-align: left;
  pointer-events: none;
  cursor: default;
  text-decoration: none;
}
.rv-app-detail__specs {
  margin: 0 0 10px;
  color: #374151;
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.35;
}
.rv-app-detail__facts-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  margin: 0 0 10px;
  color: #374151;
  font-size: 0.95rem;
  font-weight: 600;
}
.rv-app-detail__fact {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 0 10px;
  border-right: 1px solid #e5e7eb;
}
.rv-app-detail__fact:first-child { padding-left: 0; }
.rv-app-detail__fact:last-child { border-right: 0; padding-right: 0; }
.rv-app-detail__fact .icon {
  width: 15px;
  height: 15px;
  opacity: 0.72;
}
.rv-app-detail__fact-unit {
  font-weight: 500;
  color: #6b7280;
  font-size: 0.88em;
}
.rv-app-detail__title {
  margin: 0 0 6px;
  font-size: 1.12rem;
  font-weight: 700;
  line-height: 1.3;
  color: #111827;
}
.rv-app-detail__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 8px;
  margin: 0 0 10px;
  color: #4b5563;
  font-size: 0.95rem;
  font-weight: 500;
  line-height: 1.35;
}
.rv-app-detail__meta-area {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}
.rv-app-detail__area-icon { display: inline-flex; flex: 0 0 auto; }
.rv-app-detail__area-icon .icon { width: 15px; height: 15px; }
.rv-app-detail__meta-sep {
  color: #9ca3af;
  font-weight: 600;
}
.rv-app-detail__meta-check {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #0a7a52;
  font-weight: 700;
  pointer-events: none;
  cursor: default;
}
.rv-app-detail__meta-check .icon {
  width: 15px;
  height: 15px;
}
.rv-app-detail__area {
  display: flex !important;
  align-items: center;
  gap: 6px;
  margin: 0 0 10px;
  color: #4b5563;
  font-size: 0.95rem;
  font-weight: 500;
  line-height: 1.35;
}
.rv-app-detail__badge {
  display: none !important;
}
.rv-app-detail__facts,
.rv-app-detail__copy {
  margin: 0;
  color: #4b5563;
  font-size: 0.95rem;
  line-height: 1.45;
}
.rv-app-detail__copy p { margin: 0 0 0.55em; }
.rv-app-detail__copy p:last-child { margin-bottom: 0; }
.rv-app-detail__copy ul { margin: 0.3em 0 0; padding-left: 1.05em; }
.rv-app-detail__copy li { margin: 0 0 0.25em; }
.rv-app-detail__copy li:last-child { margin-bottom: 0; }
.rv-app-detail__copy--about.is-collapsed {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
}
.rv-app-detail-more {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  margin: 4px 0 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #2563eb;
  font-size: 0.95rem;
  font-weight: 700;
  cursor: pointer;
}
.rv-app-detail-section {
  margin: 0;
  padding: 14px 0 4px;
  border-top: 1px solid #eceff3;
}
.rv-app-detail-section--flush {
  padding-top: 10px;
  padding-bottom: 2px;
}
.rv-app-detail-section .rv-app-section-title {
  margin: 0 0 8px;
  font-size: 1.05rem;
  font-weight: 700;
  color: #111827;
}
.rv-app-detail-table {
  display: flex;
  flex-direction: column;
}
.rv-app-detail-table--overview {
  margin: 0;
  padding: 0 2px;
  border-radius: 12px;
  background: #f7f8fa;
}
.rv-app-detail-table--overview .rv-app-detail-table__row {
  padding-left: 12px;
  padding-right: 12px;
  border-bottom-color: #e8ecf1;
}
.rv-app-detail-table--overview .rv-app-detail-table__row:last-child {
  border-bottom: 0;
}
.rv-app-detail-table__row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  min-height: 44px;
  padding: 10px 0;
  border-bottom: 1px solid #f0f2f5;
  font-size: 0.95rem;
}
.rv-app-detail-table__row:last-child { border-bottom: 0; }
.rv-app-detail-table__row span {
  color: #6b7280;
  font-weight: 500;
  flex: 0 1 auto;
}
.rv-app-detail-table__row strong {
  color: #111827;
  font-weight: 650;
  text-align: right;
  flex: 1 1 auto;
}
.rv-app-detail-trust {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  margin: 0 0 4px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #0a7a52;
  font-size: 0.92rem;
  font-weight: 700;
  cursor: pointer;
}
.rv-app-detail-trust__icon {
  display: inline-flex;
  color: #0a7a52;
}
.rv-app-detail-trust__icon .icon {
  width: 18px;
  height: 18px;
}
.rv-app-detail-trust__chev {
  display: inline-flex;
  margin-left: 2px;
  color: #9ca3af;
}
.rv-app-detail-trust__chev .icon {
  width: 14px;
  height: 14px;
}
.rv-app-detail-features {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.rv-app-detail-features__chip {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  margin: 0;
  padding: 7px 11px;
  border-radius: 999px;
  background: #f3f5f7;
  color: #374151;
  font-size: 0.86rem;
  font-weight: 600;
  line-height: 1.25;
}
.rv-app-detail-features__more {
  list-style: none;
  width: 100%;
  margin: 0;
  padding: 0;
}
.rv-app-detail-amenities {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.rv-app-detail-agent {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 56px;
  padding: 8px 2px;
  color: inherit;
  text-decoration: none;
  border-radius: 12px;
}
a.rv-app-detail-agent:active {
  background: #f7f8fa;
}
.rv-app-detail-agent__avatar {
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  overflow: hidden;
  background: #e8ecf1;
  color: #374151;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.82rem;
  font-weight: 700;
}
.rv-app-detail-agent__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.rv-app-detail-agent__copy {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.rv-app-detail-agent__name {
  font-size: 0.98rem;
  font-weight: 700;
  color: #111827;
  line-height: 1.25;
}
.rv-app-detail-agent__sub {
  font-size: 0.82rem;
  font-weight: 500;
  color: #6b7280;
}
.rv-app-detail-agent__chev {
  flex: 0 0 auto;
  color: #9ca3af;
}
.rv-app-detail-agent__chev .icon {
  width: 16px;
  height: 16px;
}
.rv-app-detail-location-row {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 56px;
  padding: 8px 2px;
  color: inherit;
  text-decoration: none;
  border-radius: 12px;
}
a.rv-app-detail-location-row:active {
  background: #f7f8fa;
}
.rv-app-detail-location-row__pin {
  display: inline-flex;
  color: var(--rv-app-primary);
}
.rv-app-detail-location-row__pin .icon {
  width: 18px;
  height: 18px;
}
.rv-app-detail-location-row__copy {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.rv-app-detail-location-row__name {
  font-size: 0.98rem;
  font-weight: 700;
  color: #111827;
}
.rv-app-detail-location-row__action {
  font-size: 0.82rem;
  font-weight: 650;
  color: var(--rv-app-primary);
}
.rv-app-detail-location-row__chev {
  flex: 0 0 auto;
  color: #9ca3af;
}
.rv-app-detail-location-row__chev .icon {
  width: 16px;
  height: 16px;
}
.rv-app-detail-info {
  margin: 0;
  padding: 0;
  border: 0;
}
.rv-app-detail-info > summary {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 44px;
  padding: 6px 2px;
  color: #4b5563;
  font-size: 0.9rem;
  font-weight: 650;
  cursor: pointer;
}
.rv-app-detail-info > summary::-webkit-details-marker {
  display: none;
}
.rv-app-detail-info > summary::after {
  content: "›";
  color: #9ca3af;
  font-size: 1.1rem;
  transform: rotate(90deg);
}
.rv-app-detail-info[open] > summary::after {
  transform: rotate(-90deg);
}
.rv-app-detail-info__body {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 0 2px 8px;
  color: #4b5563;
  font-size: 0.88rem;
  line-height: 1.4;
}
.rv-app-detail-info__body > div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}
.rv-app-detail-info__body > div span {
  color: #6b7280;
}
.rv-app-detail-info__body > div strong {
  color: #111827;
  font-weight: 650;
  text-align: right;
}
.rv-app-detail-info__safety {
  margin: 4px 0 0;
  color: #6b7280;
  font-size: 0.84rem;
  line-height: 1.45;
}
.rv-app-detail-chips {
  display: none;
}
.rv-app-detail-location {
  display: none;
}
.rv-app-detail-safety__more {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--rv-app-primary);
  font-size: 0.92rem;
  font-weight: 700;
  cursor: pointer;
}
.rv-app-detail__copy--safety { margin: 0; }
.rv-app-detail__spacer {
  height: calc(64px + var(--rv-app-safe-bottom));
}

.rv-app-enquire-bar {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 5;
  padding: 8px 18px calc(8px + var(--rv-app-bottom-content-inset));
  background: #fff;
  border-top: 1px solid #e8ecf1;
  box-shadow: 0 -1px 8px rgba(15, 20, 38, 0.04);
  box-sizing: border-box;
}
.rv-app-enquire-bar .rv-app-cta {
  width: 100%;
  min-height: 48px;
  height: 48px;
  padding: 0 14px;
  border-radius: 10px;
  font-size: 1rem;
  font-weight: 700;
}

.rv-app-header__action.is-saved,
.rv-app-header__action[aria-pressed="true"] {
  color: var(--rv-app-fav);
}
#rv-app-root .rv-app-header__action svg.icon.rv-app-icon--heart-fill {
  display: none;
}
#rv-app-root .rv-app-header__action.is-saved svg.icon.rv-app-icon--heart-outline,
#rv-app-root .rv-app-header__action[aria-pressed="true"] svg.icon.rv-app-icon--heart-outline {
  display: none;
}
#rv-app-root .rv-app-header__action.is-saved svg.icon.rv-app-icon--heart-fill,
#rv-app-root .rv-app-header__action[aria-pressed="true"] svg.icon.rv-app-icon--heart-fill {
  display: block;
  color: var(--rv-app-fav);
  fill: var(--rv-app-fav) !important;
  stroke: none !important;
}
#rv-app-root .rv-app-header__action.is-saved svg.icon.rv-app-icon--heart-fill path,
#rv-app-root .rv-app-header__action[aria-pressed="true"] svg.icon.rv-app-icon--heart-fill path {
  fill: var(--rv-app-fav) !important;
  stroke: var(--rv-app-fav) !important;
}

.rv-app-lead-form {
  display: block;
}
.rv-app-lead-form .button-primary {
  background: var(--rv-app-primary);
  border-color: var(--rv-app-primary);
}

/* Map */
.rv-app-map {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  position: relative;
}
.rv-app-map__toolbar {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px var(--rv-app-pad-x);
  background: var(--rv-app-surface);
  border-bottom: 1px solid var(--rv-app-line);
  z-index: 2;
  overflow-x: auto;
  scrollbar-width: none;
}
.rv-app-map__toolbar::-webkit-scrollbar {
  display: none;
}
.rv-app-map__toolbar .rv-app-tool,
.rv-app-map__toolbar .rv-app-fchip {
  min-width: 0;
  min-height: 34px;
  padding: 6px 12px;
}
.rv-app-map__chip,
.rv-app-map__meta {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--rv-app-ink-soft);
  white-space: nowrap;
}
.rv-app-map__meta {
  margin-left: auto;
  color: var(--rv-app-muted);
  font-weight: 550;
}
.rv-app-map__host {
  flex: 1 1 auto;
  min-height: 240px;
  width: 100%;
  background: #e8eef2;
  position: relative;
}
.rv-app-map__selected {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 12px;
  z-index: 24;
  pointer-events: auto;
  padding: 0 16px;
  box-sizing: border-box;
}
.rv-app-map-carousel {
  width: 100%;
  touch-action: pan-y;
  -webkit-user-select: none;
  user-select: none;
}
.rv-app-map-carousel__viewport {
  width: 100%;
  overflow: hidden;
  touch-action: pan-y;
  overscroll-behavior-x: none;
}
.rv-app-map-carousel__track {
  display: flex;
  align-items: stretch;
  will-change: transform;
  touch-action: pan-y;
}
.rv-app-map-carousel__slide {
  flex: 0 0 auto;
  box-sizing: border-box;
  max-width: 100%;
}
.rv-app-map-carousel__slide .rv-app-map-card {
  width: 100%;
}
.rv-app-map-card {
  position: relative;
  display: flex;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  background: #fff;
  border: 1px solid var(--rv-app-line);
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(15, 20, 38, 0.16);
  overflow: hidden;
  min-height: 96px;
  max-height: 110px;
}
.rv-app-map-card__link {
  display: flex;
  gap: 10px;
  flex: 1 1 auto;
  min-width: 0;
  color: inherit;
  text-decoration: none;
  padding: 8px;
}
.rv-app-map-card__media {
  flex: 0 0 88px;
  width: 88px;
  height: 88px;
  border-radius: 10px;
  overflow: hidden;
  background: #e8ecf1;
}
.rv-app-map-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.rv-app-map-card__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2px;
  min-width: 0;
  padding-right: 40px;
}
.rv-app-map-card__rent {
  font-size: 0.98rem;
  letter-spacing: -0.01em;
  font-weight: 750;
  line-height: 1.2;
}
.rv-app-map-card__per {
  font-size: 0.78rem;
  font-weight: 550;
  color: var(--rv-app-muted);
}
.rv-app-map-card__facts,
.rv-app-map-card__area {
  font-size: 0.78rem;
  color: var(--rv-app-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.rv-app-map-card .rv-app-card__save {
  position: absolute;
  top: 4px;
  right: 4px;
  color: #334155;
}
.rv-app-map-card .rv-app-card__save.is-saved {
  color: var(--rv-app-fav);
}

html.rv-standalone.rv-app-ready.rv-app-map-screen .rv-app-stage--map {
  overflow: hidden;
  touch-action: none;
  overscroll-behavior: none;
}

/* ===== Final16 — floating Map chrome ===== */
html.rv-standalone.rv-app-ready.rv-app-map-screen .rv-app-header.rv-app-header--map {
  min-height: 0 !important;
  height: 0 !important;
  max-height: 0 !important;
  padding: 0 !important;
  padding-top: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  background: transparent !important;
  pointer-events: none !important;
}
html.rv-standalone.rv-app-ready.rv-app-map-screen .rv-app-header.rv-app-header--map .rv-app-header__inner {
  min-height: 0;
  height: 0;
  overflow: hidden;
  padding: 0;
}
html.rv-standalone.rv-app-ready.rv-app-map-screen #rv-app-root {
  /* Stage fills above tabs */
}
.rv-app-map--float {
  position: absolute;
  inset: 0;
  display: block;
  min-height: 0;
  background: #e8eef2;
}
.rv-app-map--float .rv-app-map__host {
  position: absolute;
  inset: 0;
  min-height: 0;
  height: 100%;
  width: 100%;
  z-index: 1;
}
.rv-app-map__tile-veil {
  position: absolute;
  inset: 0;
  z-index: 2;
  background: #e8eef2;
  opacity: 0;
  pointer-events: none;
  transition: opacity 180ms ease;
}
.rv-app-map__tile-veil.is-on {
  opacity: 1;
}
.rv-app-map__top {
  position: absolute;
  left: 12px;
  right: 12px;
  /* Single safe-area offset — map is edge-to-edge; do not stack header safe-top. */
  top: calc(var(--rv-app-safe-top, env(safe-area-inset-top, 0px)) + 12px);
  z-index: 30;
  display: flex;
  align-items: center;
  gap: 8px;
  pointer-events: none;
}
.rv-app-map__area,
.rv-app-map__filters {
  pointer-events: auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 46px;
  border-radius: 12px;
  border: 1px solid rgba(15, 20, 38, 0.1);
  background: #fff;
  box-shadow: 0 4px 16px rgba(15, 20, 38, 0.12);
  color: var(--rv-app-ink);
  font-size: 0.92rem;
  font-weight: 650;
}
.rv-app-map__area {
  flex: 1 1 auto;
  min-width: 0;
  padding: 0 12px;
  text-align: left;
}
.rv-app-map__area-icon {
  flex: 0 0 auto;
  color: var(--rv-app-primary);
  display: inline-flex;
}
.rv-app-map__area-icon .icon {
  width: 18px;
  height: 18px;
}
.rv-app-map__area-text {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rv-app-map__filters {
  flex: 0 0 auto;
  padding: 0 14px;
}
.rv-app-map__list-dock {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 16px;
  z-index: 28;
  transition: bottom 160ms ease;
}
.rv-app-map.is-card-open .rv-app-map__list-dock {
  bottom: calc(12px + 112px + 28px);
}
.rv-app-map__list {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(15, 20, 38, 0.1);
  box-shadow: 0 4px 16px rgba(15, 20, 38, 0.14);
  color: var(--rv-app-ink);
  font-size: 0.88rem;
  font-weight: 700;
  text-decoration: none;
}
.rv-app-map__list-icon {
  display: inline-flex;
  color: var(--rv-app-primary);
}
.rv-app-map__list-icon .icon {
  width: 16px;
  height: 16px;
}
.rv-app-map__attrib {
  position: absolute;
  left: 8px;
  bottom: 8px;
  z-index: 22;
  margin: 0;
  padding: 2px 6px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.88);
  font-size: 0.62rem;
  line-height: 1.2;
  color: #5b6573;
  max-width: 42%;
}
.rv-app-map.is-card-open .rv-app-map__attrib {
  bottom: calc(12px + 112px + 72px);
}
.rv-app-map__attrib a {
  color: inherit;
  text-decoration: none;
}
.rv-app-map__empty {
  position: absolute;
  left: 16px;
  right: 16px;
  top: calc(var(--rv-app-safe-top) + 66px);
  z-index: 26;
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid var(--rv-app-line);
  box-shadow: 0 6px 18px rgba(15, 20, 38, 0.12);
  text-align: center;
}
.rv-app-map__empty[hidden] {
  display: none !important;
}
.rv-app-map__empty p {
  margin: 0 0 8px;
  font-size: 0.9rem;
  font-weight: 600;
}
.rv-app-map__empty .rv-app-cta {
  min-height: 40px;
}

/* App map markers / clusters (standalone host) */
.rv-map-cluster-wrap,
.rv-map-dot-wrap {
  background: transparent;
  border: none;
}
.rv-map-cluster-marker,
.rv-map-dot-wrap .bayut-map-pin-marker {
  transform: translate(-50%, -50%);
}
.rv-map-cluster {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  min-height: 36px;
  padding: 0 8px;
  border-radius: 999px;
  background: var(--rv-app-primary, #0a9d6a);
  color: #fff;
  border: 2px solid #fff;
  box-shadow: 0 2px 10px rgba(15, 20, 38, 0.22);
  font-weight: 750;
  font-size: 0.82rem;
  line-height: 1;
}
.rv-map-cluster__n {
  transform: translateY(0.5px);
}
.rv-map-dot {
  display: block;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--rv-app-primary, #0a9d6a);
  border: 2px solid #fff;
  box-shadow: 0 1px 6px rgba(15, 20, 38, 0.28);
}
.rv-map-dot.is-active {
  width: auto;
  height: auto;
}
html.rv-standalone.rv-app-ready.rv-app-map-screen .leaflet-control-zoom {
  display: none !important;
}
html.rv-standalone.rv-app-ready.rv-app-map-screen .rv-app-stage--map .leaflet-container {
  background: #e8eef2;
  font: inherit;
}

@media (max-width: 360px) {
  .rv-app-detail-photos__item,
  .rv-app-detail-photos--empty {
    aspect-ratio: 384 / 260;
  }
}

/* ===== Final video-led redesign (BayutFinal1) ===== */
.rv-app-header--serp {
  min-height: 0;
  border-bottom: 0;
  padding-bottom: 0;
  background: transparent;
}
.rv-app-header--serp .rv-app-header__inner {
  min-height: 0;
  height: 0;
  overflow: hidden;
}

.rv-app-home__search-anchor {
  position: relative;
  z-index: 2;
}
.rv-app-home__search-anchor.is-docked-away .rv-app-search-trigger--home {
  /* Keep layout space; shell sticky is the interactive control */
  visibility: hidden;
}

/* Shell sticky search — fixed under app header (iOS-safe; not nested sticky) */
.rv-app-home-sticky-bar {
  position: absolute;
  left: 0;
  right: 0;
  top: var(--rv-app-chrome-top);
  z-index: 35;
  display: none;
  padding: 8px var(--rv-app-pad-x) 10px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 4px 14px rgba(15, 20, 38, 0.1);
  pointer-events: none;
}
.rv-app-home-sticky-bar.is-active {
  display: block;
  pointer-events: auto;
}
.rv-app-home-sticky-bar .rv-app-search-trigger--home-sticky {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 44px;
  height: 46px;
  margin: 0;
  padding: 10px 15px;
  border-radius: 999px;
  border: 1px solid rgba(15, 20, 38, 0.12);
  background: #fff;
  box-shadow: 0 1px 3px rgba(15, 20, 38, 0.06);
  font-size: 0.92rem;
  pointer-events: auto;
}
.rv-app-home-sticky-bar .rv-app-search-trigger__icon {
  color: var(--rv-app-primary);
  flex: 0 0 auto;
}
.rv-app-home-sticky-bar .rv-app-search-trigger__text {
  color: #9ca3af;
  font-weight: 500;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.rv-app-home .rv-app-search-trigger--home {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 48px;
  margin: 0 0 10px;
  padding: 11px 15px;
  border-radius: 999px;
  border: 1px solid rgba(15, 20, 38, 0.12);
  background: #fff;
  box-shadow: 0 1px 3px rgba(15, 20, 38, 0.06);
  font-size: 0.94rem;
}
.rv-app-home .rv-app-search-trigger--home .rv-app-search-trigger__icon {
  color: var(--rv-app-primary);
  order: 0;
}
.rv-app-home .rv-app-search-trigger--home .rv-app-search-trigger__text {
  order: 1;
  color: #9ca3af;
  font-weight: 500;
  text-align: left;
}

.rv-app-home__type-quick {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  padding: 0 0 2px;
}
.rv-app-home__type-quick::-webkit-scrollbar { display: none; }
.rv-app-home__type-quick-chip {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid rgba(15, 20, 38, 0.12);
  background: #fff;
  color: #374151;
  font-size: 0.84rem;
  font-weight: 650;
  text-decoration: none;
  white-space: nowrap;
  -webkit-tap-highlight-color: transparent;
}
.rv-app-home__type-quick-chip.is-active {
  background: #e8f7f0;
  border-color: rgba(10, 157, 106, 0.45);
  color: #0b6b4a;
}

/* Hide legacy dual-search / or / mode remnants */
.rv-app-home__or,
.rv-app-home__mode,
.rv-app-home__mode-row,
.rv-app-search-trigger--home-locality,
.rv-app-search-trigger--home-secondary,
.rv-app-home__rent-lock {
  display: none !important;
}

.rv-app-home__promo {
  margin: 10px 0 12px;
  min-height: 68px;
  padding: 12px 14px;
  align-items: center;
}
/* Home V2 — single RV Checked card, aligned to page gutter (no bleed rail) */
.rv-app-home__checked {
  margin: 4px 0 14px;
  padding: 0;
}
.rv-app-home__checked .rv-app-home__feature {
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: 100%;
  min-width: 0;
  max-width: none;
  min-height: 0;
  padding: 14px;
  border-radius: 14px;
  text-decoration: none;
  color: inherit;
  box-sizing: border-box;
  scroll-snap-align: unset;
}
.rv-app-home__feature-rail {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x pan-y;
  margin: 0 calc(-1 * var(--rv-app-pad-x)) 14px;
  padding: 0 var(--rv-app-pad-x) 4px;
  scroll-snap-type: x proximity;
}
.rv-app-home__feature-rail::-webkit-scrollbar { display: none; }
.rv-app-home__feature {
  /* Viewport-based width so iOS cannot collapse to ~50% twin columns */
  flex: 0 0 auto;
  width: 74vw;
  min-width: 74vw;
  max-width: none;
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-height: 152px;
  padding: 14px;
  border-radius: 14px;
  text-decoration: none;
  color: inherit;
  box-sizing: border-box;
}
.rv-app-home__feature--check { background: #e7f6ee; }
.rv-app-home__feature--find { background: #e8f2fb; }
.rv-app-home__feature-icon {
  width: 28px;
  height: 28px;
  color: var(--rv-app-primary-strong);
}
.rv-app-home__feature strong {
  font-size: 0.98rem;
}
.rv-app-home__feature > span:not(.rv-app-home__feature-icon):not(.rv-app-home__feature-cta) {
  font-size: 0.8rem;
  line-height: 1.35;
  color: #4b5563;
}
.rv-app-home__feature-cta {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 6px 12px;
  border-radius: 999px;
  background: #fff;
  color: var(--rv-app-primary-strong);
  font-size: 0.82rem;
  font-weight: 700;
  width: fit-content;
}
.rv-app-home__service-grid { display: none !important; }

.rv-app-home__map-compact {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 6px 0 12px;
  padding: 11px 14px;
  border-radius: 12px;
  border: 1px solid rgba(15, 20, 38, 0.1);
  background: #f3f8f6;
  text-decoration: none;
  color: var(--rv-app-ink);
  font-size: 0.9rem;
  font-weight: 650;
  min-height: 48px;
}
.rv-app-home__map-compact-icon {
  color: var(--rv-app-primary);
  display: inline-flex;
}
.rv-app-home__map-compact-chevron {
  margin-left: auto;
  color: #9ca3af;
}
.rv-app-home__browse-map { display: none !important; }

.rv-app-home .rv-app-section-title {
  margin: 0 0 10px;
  font-size: 1.05rem;
}
.rv-app-home__recent { margin: 8px 0 4px; }
.rv-app-home__recent-card--skel {
  pointer-events: none;
}
.rv-app-home__recent-card--skel .rv-app-home__recent-thumb {
  background: #e8ecf1;
}
.rv-app-skeleton--recent-title {
  display: block;
  width: 78%;
  height: 12px;
  border-radius: 5px;
  background: #e8ecf1;
}
.rv-app-skeleton--recent-meta {
  display: block;
  width: 52%;
  height: 10px;
  margin-top: 6px;
  border-radius: 5px;
  background: #eef1f5;
}
.rv-app-home__types { margin: 4px 0 18px; }
.rv-app-home .rv-app-rail { margin: 0 0 20px; }
.rv-app-home__areas { margin: 0 0 16px; }
.rv-app-rail__track--skeleton {
  display: flex;
  gap: 14px;
  margin-left: calc(-1 * var(--rv-app-pad-x));
  margin-right: calc(-1 * var(--rv-app-pad-x));
  padding-left: var(--rv-app-pad-x);
  padding-right: var(--rv-app-pad-x);
  overflow: hidden;
}
.rv-app-card--rail-skel {
  flex: 0 0 236px;
  width: 236px;
  pointer-events: none;
}
.rv-app-skeleton--rail-media {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: 12px;
  background: #e8ecf1;
}
.rv-app-skeleton--rail-rent {
  display: block;
  width: 58%;
  height: 16px;
  margin: 10px 2px 8px;
  border-radius: 6px;
  background: #e8ecf1;
}
.rv-app-skeleton--rail-facts {
  display: block;
  width: 72%;
  height: 12px;
  margin: 0 2px 8px;
  border-radius: 6px;
  background: #eef1f5;
}
.rv-app-skeleton--rail-area {
  display: block;
  width: 48%;
  height: 11px;
  margin: 0 2px 4px;
  border-radius: 6px;
  background: #eef1f5;
}
.rv-app-skeleton--rail-card {
  flex: 0 0 236px;
  width: 236px;
  height: auto;
  border-radius: 12px;
}
.rv-app-rail--pending {
  min-height: 0;
}

/* Search SERP — Bayut geometry closure (architecture locked; Final11) */
html.rv-standalone.rv-app-ready.rv-app-search-screen,
html.rv-standalone.rv-app-ready.rv-app-search-screen #rv-app-root,
html.rv-standalone.rv-app-ready.rv-app-search-screen .rv-app-stage {
  background: #ffffff !important;
}
html.rv-standalone.rv-app-ready.rv-app-search-screen .rv-app-header,
html.rv-standalone.rv-app-ready.rv-app-search-screen .rv-app-header--serp {
  background: #ffffff;
  border-bottom: 1px solid rgba(15, 20, 38, 0.06);
  box-shadow: none;
}

.rv-app-serp {
  padding: 8px var(--rv-app-pad-x) calc(var(--rv-app-tabs-h) + var(--rv-app-safe-bottom) + 28px);
  background: #ffffff;
}
.rv-app-search-trigger--serp,
.rv-app-serp .rv-app-search-trigger--serp {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 46px;
  height: 46px;
  margin: 0 0 8px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(15, 20, 38, 0.1);
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 20, 38, 0.04);
  font-size: 0.92rem;
  box-sizing: border-box;
}
.rv-app-serp .rv-app-search-trigger__icon {
  color: var(--rv-app-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  line-height: 0;
}
.rv-app-serp .rv-app-search-trigger__icon .icon {
  width: 18px;
  height: 18px;
}
.rv-app-serp .rv-app-search-trigger__text {
  color: #9ca3af;
  font-weight: 500;
  line-height: 1.2;
  display: flex;
  align-items: center;
}

/* Filter chips — compact visual, expanded hit */
.rv-app-serp .rv-app-fchips {
  gap: 6px;
  margin: 0 0 8px;
  padding: 0;
  scroll-padding-inline: 4px 16px;
}
.rv-app-serp .rv-app-fchips::after {
  content: "";
  flex: 0 0 16px;
  width: 16px;
  height: 1px;
  pointer-events: none;
}
.rv-app-serp .rv-app-fchip {
  position: relative;
  min-height: 36px;
  padding: 6px 12px;
  border: 1px solid rgba(11, 107, 74, 0.12);
  background: #eef8f3;
  color: #0b6b4a;
  font-size: 0.8rem;
  font-weight: 650;
  gap: 4px;
  max-width: 148px;
  border-radius: 999px;
  line-height: 1.15;
}
.rv-app-serp .rv-app-fchip::before {
  content: "";
  position: absolute;
  inset: -5px -2px;
}
.rv-app-serp .rv-app-fchip--icon {
  width: 36px;
  min-width: 36px;
  max-width: none;
  padding: 0;
  border-radius: 10px;
  background: #eef8f3;
  color: #0b6b4a;
  box-shadow: none;
}
.rv-app-serp .rv-app-fchip__icon .icon {
  width: 16px;
  height: 16px;
}
.rv-app-serp .rv-app-fchip.is-active {
  background: #d7f0e4;
  color: #0b6b4a;
  border-color: rgba(11, 107, 74, 0.28);
}
.rv-app-serp .rv-app-fchip__chev {
  display: inline-flex;
  align-items: center;
  opacity: 0.65;
  margin-left: 1px;
}
.rv-app-serp .rv-app-fchip__chev .icon {
  width: 12px;
  height: 12px;
}

/* Furnishing — flat Bayut-like 3-way (soft mint active, not dark pill) */
.rv-app-serp .rv-app-furnish {
  display: flex;
  gap: 0;
  margin: 0 0 8px;
  padding: 0;
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x pan-y;
  background: #fff;
  border: 1px solid rgba(15, 20, 38, 0.1);
  border-radius: 10px;
}
.rv-app-serp .rv-app-furnish::-webkit-scrollbar { display: none; }
.rv-app-serp .rv-app-furnish-chip {
  position: relative;
  flex: 1 1 0;
  min-width: 0;
  min-height: 34px;
  padding: 6px 8px;
  border-radius: 0;
  border: 0;
  border-right: 1px solid rgba(15, 20, 38, 0.08);
  background: transparent;
  color: #6b7280;
  font-size: 0.78rem;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
}
.rv-app-serp .rv-app-furnish-chip:last-child {
  border-right: 0;
}
.rv-app-serp .rv-app-furnish-chip::before {
  content: "";
  position: absolute;
  inset: -5px 0;
}
.rv-app-serp .rv-app-furnish-chip.is-active {
  background: #e8f7f0;
  color: #0b6b4a;
  box-shadow: none;
  font-weight: 700;
}

.rv-app-serp .rv-app-count {
  margin: 0 2px 8px;
  font-size: 0.78rem;
  font-weight: 500;
  color: #6b7280;
  letter-spacing: 0;
}

/* Flatter feed cards — denser Bayut rhythm */
.rv-app-card--feed {
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
  margin: 0 0 14px;
  overflow: visible;
}
.rv-app-card--feed .rv-app-card__media {
  position: relative;
  border-radius: 10px;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: #e5e7eb;
  touch-action: pan-y pinch-zoom;
}
.rv-app-card--feed .rv-app-card__gallery {
  position: absolute;
  inset: 0;
  touch-action: pan-y pinch-zoom;
}
.rv-app-card--feed .rv-app-card__gallery .rv-app-card__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  pointer-events: none;
  transform: translate3d(0, 0, 0);
  will-change: transform;
  backface-visibility: hidden;
  -webkit-user-drag: none;
  user-select: none;
}
.rv-app-card--feed .rv-app-card__gallery .rv-app-card__img.is-active,
.rv-app-card--feed .rv-app-card__gallery .rv-app-card__img.is-drag-peer {
  opacity: 1;
  pointer-events: auto;
}
.rv-app-card--feed .rv-app-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  -webkit-user-drag: none;
  user-select: none;
}
.rv-app-card--feed .rv-app-card__body {
  padding: 8px 1px 0;
}
.rv-app-card--feed .rv-app-card__rent {
  margin: 0 0 3px;
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #111827;
  line-height: 1.15;
}
.rv-app-card--feed .rv-app-card__per {
  margin-left: 4px;
  font-size: 0.7rem;
  font-weight: 500;
  color: #9ca3af;
  letter-spacing: 0;
  vertical-align: baseline;
}
.rv-app-card--feed .rv-app-card__facts {
  margin: 0 0 3px;
  gap: 14px;
  flex-wrap: nowrap;
  overflow: hidden;
}
.rv-app-card--feed .rv-app-card__fact {
  gap: 5px;
  font-size: 0.78rem;
  font-weight: 600;
  color: #4b5563;
  white-space: nowrap;
}
.rv-app-card--feed .rv-app-card__fact .icon {
  width: 14px;
  height: 14px;
  color: #6b7280;
  flex: 0 0 auto;
}
.rv-app-card--feed .rv-app-card__title {
  margin: 0 0 3px;
  font-size: 0.82rem;
  font-weight: 550;
  line-height: 1.28;
  letter-spacing: -0.005em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #4b5563;
  text-transform: none;
}
.rv-app-card--feed .rv-app-card__area {
  margin: 0 0 4px;
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 0.76rem;
  font-weight: 500;
  color: #6b7280;
  line-height: 1.2;
}
.rv-app-card--feed .rv-app-card__area-icon {
  display: inline-flex;
  align-items: center;
  color: #0a9d6a;
  flex: 0 0 auto;
  opacity: 0.9;
}
.rv-app-card--feed .rv-app-card__area-icon .icon {
  width: 12px;
  height: 12px;
}
.rv-app-card--feed .rv-app-card__meta-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin: 0;
}
.rv-app-card--feed .rv-app-card__meta-tag {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  padding: 1px 7px;
  border-radius: 999px;
  background: #f3f4f6;
  border: 0;
  color: #6b7280;
  font-size: 0.66rem;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
  box-shadow: none;
}
.rv-app-card--feed .rv-app-card__features {
  margin: 0;
  font-size: 0.72rem;
  color: #6b7280;
}

.rv-app-card--feed .rv-app-card__badge {
  left: 8px;
  top: 8px;
  gap: 4px;
  padding: 4px 8px 4px 6px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 1px 4px rgba(15, 20, 38, 0.12);
  font-size: 0.66rem;
  font-weight: 700;
  line-height: 1;
}
.rv-app-card--feed .rv-app-card__badge .icon {
  width: 12px;
  height: 12px;
}

.rv-app-card--feed .rv-app-card__save {
  top: auto;
  bottom: 6px;
  right: 6px;
  width: 44px;
  height: 44px;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #fff;
  filter: drop-shadow(0 0 1.5px rgba(0, 0, 0, 0.75)) drop-shadow(0 1px 2px rgba(0, 0, 0, 0.55));
}
.rv-app-card--feed .rv-app-card__save.is-saved {
  color: var(--rv-app-fav);
  background: transparent;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.45));
}

.rv-app-card__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.86);
  color: #111827;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 1px 4px rgba(15, 20, 38, 0.12);
  cursor: pointer;
  opacity: 0.88;
}
.rv-app-card__nav .icon { width: 13px; height: 13px; }
.rv-app-card__nav::after {
  content: "";
  position: absolute;
  inset: -8px;
}
.rv-app-card__nav--prev { left: 8px; }
.rv-app-card__nav--next { right: 8px; }
.rv-app-card--feed .rv-app-card__nav {
  width: 28px;
  height: 28px;
  background: rgba(255, 255, 255, 0.86);
  color: #111827;
  box-shadow: 0 1px 4px rgba(15, 20, 38, 0.12);
  opacity: 0.88;
}
.rv-app-card--feed .rv-app-card__nav .icon {
  width: 13px;
  height: 13px;
}
.rv-app-card--feed .rv-app-card__nav--prev { left: 8px; }
.rv-app-card--feed .rv-app-card__nav--next { right: 8px; }
.rv-app-card--feed .rv-app-card__nav::after {
  content: "";
  position: absolute;
  inset: -8px;
}

.rv-app-card--feed .rv-app-card__dots {
  bottom: 8px;
  left: 50%;
  transform: translateX(-50%);
  right: auto;
  gap: 5px;
  padding: 3px 7px;
  border-radius: 999px;
  background: rgba(15, 20, 38, 0.28);
}
.rv-app-card--feed .rv-app-card__dot {
  width: 5px;
  height: 5px;
  background: rgba(255, 255, 255, 0.55);
  box-shadow: none;
}
.rv-app-card--feed .rv-app-card__dot.is-active {
  background: #fff;
  width: 6px;
  height: 6px;
}

.rv-app-card--skeleton .rv-app-skeleton--feed-media {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 10px;
  margin-bottom: 8px;
}
.rv-app-skeleton--feed-line {
  display: block;
  height: 14px;
  width: 70%;
  border-radius: 6px;
  margin: 5px 2px;
}
.rv-app-skeleton--feed-rent {
  width: 48%;
  height: 16px;
}
.rv-app-skeleton--feed-facts {
  width: 58%;
  height: 12px;
}
.rv-app-skeleton--feed-line-short { width: 42%; }

.rv-app-float-dock {
  bottom: calc(var(--rv-app-chrome-bottom) + 14px);
  border-radius: 999px;
  border: 1px solid rgba(15, 20, 38, 0.1);
  box-shadow: 0 6px 20px rgba(15, 20, 38, 0.14);
  background: rgba(255, 255, 255, 0.97);
}
.rv-app-float-dock__btn {
  min-height: 44px;
  padding: 0 18px;
  gap: 7px;
  font-size: 0.86rem;
  font-weight: 700;
  color: #374151;
  border-right-color: rgba(15, 20, 38, 0.1);
}
.rv-app-float-dock__icon {
  display: inline-flex;
  align-items: center;
  color: var(--rv-app-primary);
}
.rv-app-float-dock__icon .icon {
  width: 17px;
  height: 17px;
}

.rv-app-header__brand {
  font-size: 1.12rem;
  color: var(--rv-app-primary-strong);
}
.rv-app-header__brand-mark-img {
  width: 30px;
  height: 30px;
}
html.rv-app-home-screen .rv-app-header {
  border-bottom: 0;
  background: linear-gradient(180deg, #e8f4ee 0%, #ffffff 100%);
}

/* ===== Final13 — Search sticky chrome + overscroll + Home Recommended gutter ===== */
.rv-app-serp {
  padding-top: 0;
}
.rv-app-serp__sticky {
  position: sticky;
  top: 0;
  z-index: 12;
  margin: 0 calc(-1 * var(--rv-app-pad-x));
  padding: 8px var(--rv-app-pad-x) 8px;
  background: #ffffff;
  box-shadow: 0 1px 0 rgba(15, 20, 38, 0.06);
}
.rv-app-serp__sticky .rv-app-search-trigger--serp {
  margin-bottom: 8px;
}
.rv-app-serp__sticky .rv-app-fchips {
  margin-bottom: 0;
}
/* Furnishing + count remain in normal flow (scroll away) */
.rv-app-serp > .rv-app-furnish {
  margin-top: 8px;
}
html.rv-standalone.rv-app-ready.rv-app-sheet-open .rv-app-serp__sticky {
  z-index: 1;
}

/* Recommended rail — explicit ~16px page gutter, aligned with section head */
.rv-app-home .rv-app-rail--recommended {
  margin-left: calc(-1 * var(--rv-app-pad-x));
  margin-right: calc(-1 * var(--rv-app-pad-x));
  padding-left: 16px;
  padding-right: 16px;
}
.rv-app-home .rv-app-rail--recommended .rv-app-rail__track {
  margin-left: -16px;
  margin-right: -16px;
  padding-left: 16px;
  padding-right: 16px;
  scroll-padding-inline: 16px;
}
.rv-app-home .rv-app-rail--recommended .rv-app-card--rail .rv-app-card__badge {
  top: 11px;
  left: 11px;
}
.rv-app-home .rv-app-rail--recommended .rv-app-card--rail .rv-app-card__save {
  top: 4px;
  right: 4px;
  bottom: auto;
  left: auto;
}
/* Visual heart ~28px centered in 44 hit → ~11px inset matches badge row */
.rv-app-home .rv-app-rail--recommended .rv-app-card--rail .rv-app-card__save .icon {
  width: 28px;
  height: 28px;
}

/* ===== Final14 — Search CTA / red fav / quieter arrows / bottom gap ===== */
.rv-app-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.rv-app-serp .rv-app-count.rv-app-sr-only {
  margin: 0;
  font-size: 0;
}

.rv-app-card--feed .rv-app-card__actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: 10px 1px 0;
}
.rv-app-card--feed .rv-app-card__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 42px;
  height: 42px;
  padding: 0 10px;
  border-radius: 10px;
  border: 1px solid rgba(15, 20, 38, 0.12);
  background: #fff;
  color: #1f2937;
  font-size: 0.8rem;
  font-weight: 650;
  text-decoration: none;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}
.rv-app-card--feed .rv-app-card__cta-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--rv-app-primary-strong);
  line-height: 0;
}
.rv-app-card--feed .rv-app-card__cta-icon .icon {
  width: 15px;
  height: 15px;
}
.rv-app-card--feed .rv-app-card__cta--enquire {
  border-color: rgba(10, 157, 106, 0.28);
  background: #f2fbf7;
  color: #0b6b4a;
}
.rv-app-card--feed .rv-app-card__cta--enquire .rv-app-card__cta-icon {
  color: var(--rv-app-primary);
}

.rv-app-load-more {
  margin: 12px 0 8px;
  min-height: 44px;
}

/* Saved favourite — red sitewide via token */
.rv-app-map-card .rv-app-card__save.is-saved,
.rv-app-card__save.is-saved,
.rv-app-header__action.is-saved,
.rv-app-header__action[aria-pressed="true"] {
  color: var(--rv-app-fav);
}

/* ===== Final15 — Full-page enquire (presentation only) ===== */
html.rv-standalone.rv-app-ready.rv-app-enquire-screen body > main {
  display: none !important;
}
html.rv-standalone.rv-app-ready.rv-app-enquire-screen {
  --rv-app-chrome-bottom: 0px;
}
html.rv-standalone.rv-app-ready.rv-app-enquire-screen .rv-app-tabs {
  display: none !important;
}
html.rv-standalone.rv-app-ready.rv-app-enquire-screen #rv-app-root {
  padding-bottom: 0;
}
html.rv-standalone.rv-app-ready.rv-app-enquire-screen .rv-app-header.rv-app-header--enquire {
  position: sticky;
  top: 0;
  z-index: 30;
  background: #fff;
  border-bottom: 1px solid var(--rv-app-line);
  box-shadow: none;
}
html.rv-standalone.rv-app-ready.rv-app-enquire-screen .rv-app-header.rv-app-header--enquire .rv-app-header__inner {
  min-height: 44px;
  display: grid;
  grid-template-columns: minmax(44px, auto) 1fr minmax(44px, auto);
  align-items: center;
  gap: 4px;
  padding-left: 6px;
  padding-right: 6px;
}
html.rv-standalone.rv-app-ready.rv-app-enquire-screen .rv-app-header.rv-app-header--enquire .rv-app-header__title {
  margin: 0;
  text-align: center;
  font-size: 1rem;
  font-weight: 700;
  color: var(--rv-app-ink);
  justify-self: center;
}
html.rv-standalone.rv-app-ready.rv-app-enquire-screen .rv-app-header.rv-app-header--enquire .rv-app-header__back {
  justify-self: start;
  min-height: 44px;
  min-width: 44px;
  padding: 0 4px 0 0;
  border: 0;
  background: transparent;
  color: var(--rv-app-ink);
  display: inline-flex;
  align-items: center;
  gap: 2px;
  font-size: 0.95rem;
  font-weight: 600;
}
html.rv-standalone.rv-app-ready.rv-app-enquire-screen .rv-app-header.rv-app-header--enquire .rv-app-header__back-text {
  display: none;
}
html.rv-standalone.rv-app-ready.rv-app-enquire-screen .rv-app-header.rv-app-header--enquire .rv-app-header__spacer {
  justify-self: end;
  width: 44px;
  height: 1px;
}

.rv-app-stage--enquire {
  display: flex;
  flex-direction: column;
  min-height: 0;
  flex: 1 1 auto;
  overscroll-behavior-y: none;
  background: #fff;
}
.rv-app-enquire {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
  background: #fff;
}
.rv-app-enquire__scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-y: none;
  padding: 6px 12px 6px;
}
.rv-app-enquire__intro {
  margin: 0 0 6px;
}
.rv-app-enquire__heading {
  margin: 0;
  font-size: 1rem;
  font-weight: 750;
  line-height: 1.2;
  color: var(--rv-app-ink);
}
.rv-app-enquire__helper {
  display: none !important;
}
.rv-app-enquire__cue {
  /* Bayut ref has no listing cue — omit visually; listing stays in form state */
  display: none !important;
}
.rv-app-enquire__listing {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 10px;
  padding: 8px;
  border: 1px solid #e8ecf1;
  border-radius: 10px;
  background: #fff;
}
.rv-app-enquire__thumb {
  width: 48px;
  height: 48px;
  border-radius: 8px;
  object-fit: cover;
  flex: 0 0 auto;
  background: #e8edf2;
}
.rv-app-enquire__thumb--empty {
  display: block;
}
.rv-app-enquire__listing-meta {
  min-width: 0;
  flex: 1 1 auto;
}
.rv-app-enquire__listing-rent {
  margin: 0 0 2px;
  font-size: 1rem;
  font-weight: 750;
  color: var(--rv-app-ink);
}
.rv-app-enquire__listing-per {
  font-weight: 550;
  color: var(--rv-app-muted);
  font-size: 0.82rem;
}
.rv-app-enquire__listing-specs {
  margin: 0 0 2px;
  font-size: 0.84rem;
  font-weight: 600;
  color: #475569;
}
.rv-app-enquire__listing-title {
  margin: 0 0 2px;
  font-size: 0.82rem;
  line-height: 1.3;
  font-weight: 600;
  color: var(--rv-app-ink-soft, #334);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.rv-app-enquire__listing-area {
  margin: 0;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.78rem;
  color: var(--rv-app-muted);
}
.rv-app-enquire__listing-area .icon {
  width: 12px;
  height: 12px;
}
.rv-app-enquire__form-host {
  min-width: 0;
}
.rv-app-enquire-form.rv-app-lead-form {
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.rv-app-enquire-form .detail-enquiry-form-grid,
.rv-app-enquire-form .detail-lead-form-grid {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.rv-app-enquire-form label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 0;
  font-size: 0.84rem;
  font-weight: 600;
  color: #4b5563;
  line-height: 1.2;
}
.rv-app-enquire-form label .small-note {
  display: inline;
  font-size: inherit;
  font-weight: 500;
  color: #6b7280;
}
.rv-app-enquire-form label.option.consent {
  flex-direction: row;
  align-items: flex-start;
  gap: 10px;
  font-weight: 500;
  min-height: 44px;
  margin: 2px 0 0;
  padding: 6px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.rv-app-enquire-form label.option.consent input[type="checkbox"] {
  width: 18px;
  height: 18px;
  min-width: 18px;
  margin-top: 2px;
  flex: 0 0 auto;
}
.rv-app-enquire-form .consent-copy {
  font-size: 0.8rem;
  line-height: 1.35;
  font-weight: 500;
  color: #4b5563;
}
.rv-app-enquire-form input[type="text"],
.rv-app-enquire-form input[type="email"],
.rv-app-enquire-form input[type="tel"],
.rv-app-enquire-form input[type="date"],
.rv-app-enquire-form input:not([type]),
.rv-app-enquire-form textarea,
.rv-app-enquire-form select {
  width: 100%;
  box-sizing: border-box;
  min-height: 40px;
  height: 40px;
  padding: 8px 12px;
  border: 1px solid #d5dbe3;
  border-radius: 10px;
  background: #fff;
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--rv-app-ink);
  appearance: none;
}
.rv-app-enquire-form textarea {
  min-height: 72px;
  height: 72px;
  resize: vertical;
  line-height: 1.35;
}
.rv-app-enquire-form label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 0 0 14px;
  font-size: 0.86rem;
  font-weight: 650;
  color: #475569;
}
.rv-app-enquire__kicker {
  margin: 0 0 2px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #64748b;
}
.rv-app-enquire__heading {
  margin: 0 0 10px;
  font-size: 1.05rem;
  font-weight: 750;
  color: #0f172a;
}
.rv-app-enquire__scroll {
  background: #f7f8fa;
}
.rv-app-enquire__intro,
.rv-app-enquire__form-host {
  background: #fff;
  border-radius: 12px;
  padding: 10px 12px;
  margin: 0 0 8px;
}
.rv-app-enquire-intent__select {
  min-height: 40px;
  height: 40px;
  border-radius: 10px;
  font-size: 0.95rem;
}
.rv-app-enquire-viewing-toggle {
  min-height: 40px;
  padding: 8px 0;
  border-bottom: 0;
  background: #fff;
  border-radius: 10px;
  padding-left: 4px;
  padding-right: 4px;
}
.rv-app-enquire-form input:focus,
.rv-app-enquire-form input:not([type]):focus,
.rv-app-enquire-form textarea:focus,
.rv-app-enquire-form select:focus {
  outline: none;
  border-color: var(--rv-app-primary);
  box-shadow: 0 0 0 3px rgba(10, 157, 106, 0.18);
}
.rv-app-enquire-form .detail-lead-intent-fieldset,
.rv-app-enquire-form .detail-lead-viewing-window {
  margin: 0;
  padding: 0;
  border: 0;
}
.rv-app-enquire-form .detail-lead-intent-fieldset legend,
.rv-app-enquire-form .detail-lead-viewing-window legend {
  display: none !important;
}
.rv-app-enquire-intent {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 0;
}
.rv-app-enquire-intent__label {
  margin: 0;
  font-size: 0.84rem;
  font-weight: 600;
  color: #4b5563;
}
.rv-app-enquire-intent__select {
  width: 100%;
  box-sizing: border-box;
  min-height: 44px;
  height: 44px;
  padding: 8px 36px 8px 12px;
  border: 1px solid #d5dbe3;
  border-radius: 12px;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23667' d='M1.1 1.2 6 6.1l4.9-4.9 1.1 1.1L6 8.3.0 2.3z'/%3E%3C/svg%3E") no-repeat right 12px center;
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--rv-app-ink);
  appearance: none;
}
.rv-app-enquire-form .detail-lead-intent-options {
  display: none !important;
}
.rv-app-enquire-form .detail-lead-viewing-window-options {
  display: none !important;
}
.rv-app-enquire-form .detail-lead-intent-option {
  display: none;
}
.rv-app-enquire-viewing-toggle {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  min-height: 44px;
  margin: 0;
  padding: 8px 0;
  border: 0;
  border-bottom: 1px solid #eceff3;
  background: transparent;
  text-align: left;
  cursor: pointer;
}
.rv-app-enquire-viewing-toggle__title {
  font-size: 0.9rem;
  font-weight: 700;
  color: #111827;
}
.rv-app-enquire-viewing-toggle__action {
  flex: 0 0 auto;
  font-size: 0.84rem;
  font-weight: 650;
  color: var(--rv-app-primary);
}
.rv-app-enquire-viewing-panel {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 6px 0 2px;
}
.rv-app-enquire-viewing-panel[hidden] {
  display: none !important;
}
.rv-app-enquire-form .detail-lead-viewing-prefs {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.rv-app-enquire-form .detail-lead-viewing-grid {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.rv-app-enquire-form .form-honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
}
.rv-app-enquire-form .form-submit-error {
  margin: 4px 0 0;
  color: #b42318;
  font-size: 0.88rem;
  font-weight: 600;
}
.rv-app-enquire-form > [data-lead-submit] {
  display: none !important;
}
.rv-app-enquire__footer {
  flex: 0 0 auto;
  position: relative;
  padding: 8px 16px calc(8px + var(--rv-app-bottom-content-inset) + var(--rv-app-kb-inset, 0px));
  background: #fff;
  border-top: 1px solid #e8ecf1;
  box-shadow: 0 -1px 8px rgba(15, 20, 38, 0.04);
  box-sizing: border-box;
}
.rv-app-enquire__send {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 48px;
  height: 48px;
  padding: 0 14px;
  border: 0;
  border-radius: 10px;
  background: var(--rv-app-primary);
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  cursor: pointer;
}
.rv-app-enquire__send:disabled,
.rv-app-enquire__send[aria-busy="true"] {
  opacity: 0.72;
  cursor: default;
}
.rv-app-enquire__success {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 32px var(--rv-app-pad-x) calc(24px + var(--rv-app-safe-bottom));
  gap: 8px;
}
.rv-app-enquire__success[hidden] {
  display: none !important;
}
.rv-app-enquire__success-check,
.rv-app-enquire__success-icon {
  margin: 0 0 8px;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #e8f8f1;
  color: var(--rv-app-primary-strong);
  font-size: 1.6rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}
.rv-app-enquire__success-icon .icon {
  width: 28px;
  height: 28px;
}
.rv-app-enquire__success-title {
  margin: 0;
  font-size: 1.3rem;
  font-weight: 750;
}
.rv-app-enquire__success-body,
.rv-app-enquire__success-ref {
  margin: 0;
  max-width: 28rem;
  color: var(--rv-app-muted);
  font-size: 0.92rem;
  line-height: 1.45;
}
.rv-app-enquire__success-back {
  margin-top: 18px;
  min-width: 180px;
  min-height: 48px;
}
.rv-app-enquire__success-search {
  margin-top: 10px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--rv-app-primary);
  font-size: 0.95rem;
  font-weight: 650;
  text-decoration: none;
}
.rv-app-enquire__loading {
  margin: 24px 0;
  color: var(--rv-app-muted);
  text-align: center;
}

/* App-only photo viewer fallback (Final26) — Dubizzle-compact + swipe track */
.rv-app-photo-viewer {
  position: fixed;
  inset: 0;
  z-index: 5000;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(7, 10, 20, 0.96);
  padding: 0;
  pointer-events: auto;
  touch-action: none;
}
.rv-app-photo-viewer__track {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: row;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  touch-action: pan-x;
}
.rv-app-photo-viewer__track::-webkit-scrollbar {
  display: none;
}
.rv-app-photo-viewer__slide {
  flex: 0 0 100%;
  width: 100%;
  height: 100%;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: calc(48px + var(--rv-app-safe-top, 0px)) 12px calc(48px + var(--rv-app-safe-bottom, 0px));
  box-sizing: border-box;
}
.rv-app-photo-viewer__img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  user-select: none;
  -webkit-user-drag: none;
}
.rv-app-photo-viewer__close,
.rv-app-photo-viewer__nav {
  position: absolute;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.88);
  color: #111;
  width: 28px;
  height: 28px;
  font-size: 0.85rem;
  line-height: 1;
  cursor: pointer;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
}
.rv-app-photo-viewer__nav .icon {
  width: 14px;
  height: 14px;
}
.rv-app-photo-viewer__close {
  top: calc(10px + var(--rv-app-safe-top, 0px));
  right: 12px;
}
.rv-app-photo-viewer__prev { left: 10px; top: 50%; transform: translateY(-50%); }
.rv-app-photo-viewer__next { right: 10px; top: 50%; transform: translateY(-50%); }
.rv-app-photo-viewer__count {
  position: absolute;
  bottom: calc(14px + var(--rv-app-safe-bottom, 0px));
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 650;
  letter-spacing: 0.02em;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.45);
}

/* Final27 / V69 — all photos vertical collage + horizontal viewer chrome */
.rv-app-all-photos {
  position: fixed;
  inset: 0;
  z-index: 4800;
  display: flex;
  flex-direction: column;
  background: #fff;
  color: #111827;
  pointer-events: auto;
  touch-action: manipulation;
}
.rv-app-all-photos--collage {
  background: #fff;
}
/* Underlying Detail must stay locked; All photos stream owns vertical scroll. */
html.rv-app-all-photos-open .rv-app-detail__scroll,
html.rv-app-all-photos-open .rv-app-stage--detail {
  overflow: hidden !important;
  touch-action: none;
  overscroll-behavior: none;
}
.rv-app-all-photos__head {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: calc(10px + var(--rv-app-safe-top, 0px)) 12px 10px;
  background: #fff;
  border-bottom: 1px solid #e8ecf1;
  z-index: 1;
}
.rv-app-all-photos__back,
.rv-app-all-photos__close {
  position: relative;
  width: 28px;
  height: 28px;
  min-width: 28px;
  border: 0;
  border-radius: 999px;
  background: #f3f4f6;
  color: #111827;
  font-size: 0.9rem;
  line-height: 1;
  box-shadow: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.rv-app-all-photos__back .icon,
.rv-app-all-photos__action .icon {
  width: 18px;
  height: 18px;
}
.rv-app-all-photos__back::after,
.rv-app-all-photos__close::after {
  content: "";
  position: absolute;
  inset: -4px;
}
.rv-app-all-photos__lead {
  flex: 1 1 auto;
  min-width: 0;
}
.rv-app-all-photos__price {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.2;
  color: #111827;
}
.rv-app-all-photos__specs {
  margin: 2px 0 0;
  font-size: 0.82rem;
  font-weight: 550;
  color: #6b7280;
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.rv-app-all-photos__actions {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
}
.rv-app-all-photos__action {
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 999px;
  background: #f3f4f6;
  color: #111827;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.rv-app-all-photos__action .icon {
  width: 16px;
  height: 16px;
}
.rv-app-all-photos__action.is-saved {
  color: var(--rv-app-fav, #e11d48);
}
/* One heart only — hide fill until saved (same as detail hero). */
#rv-app-root .rv-app-all-photos__action svg.icon.rv-app-icon--heart-fill {
  display: none;
}
#rv-app-root .rv-app-all-photos__action.is-saved svg.icon.rv-app-icon--heart-outline,
#rv-app-root .rv-app-all-photos__action[aria-pressed="true"] svg.icon.rv-app-icon--heart-outline {
  display: none;
}
#rv-app-root .rv-app-all-photos__action.is-saved svg.icon.rv-app-icon--heart-fill,
#rv-app-root .rv-app-all-photos__action[aria-pressed="true"] svg.icon.rv-app-icon--heart-fill {
  display: block;
}
.rv-app-all-photos__title {
  margin: 0;
  flex: 1 1 auto;
  font-size: 1rem;
  font-weight: 700;
}
.rv-app-all-photos__count {
  font-size: 0.82rem;
  font-weight: 600;
  opacity: 0.85;
}
.rv-app-all-photos__scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-y: contain;
  touch-action: pan-y pinch-zoom;
  padding: 0;
  background: #fff;
}
.rv-app-all-photos__row {
  display: grid;
  gap: 3px;
  margin: 0 0 3px;
}
.rv-app-all-photos__row--full {
  grid-template-columns: 1fr;
}
.rv-app-all-photos__row--pair {
  grid-template-columns: 1fr 1fr;
}
.rv-app-all-photos__item {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: #e8edf2;
  cursor: pointer;
  touch-action: pan-y pinch-zoom;
  -webkit-user-select: none;
  user-select: none;
  overflow: hidden;
}
.rv-app-all-photos__item + .rv-app-all-photos__item {
  margin-top: 0;
}
.rv-app-all-photos__item img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  background: #e8edf2;
  pointer-events: none;
  -webkit-user-drag: none;
  user-select: none;
}
.rv-app-all-photos__row--full .rv-app-all-photos__item img {
  aspect-ratio: 16 / 10;
}
.rv-app-all-photos__bar {
  flex: 0 0 auto;
  padding: 10px 16px calc(10px + var(--rv-app-safe-bottom, 0px));
  background: #fff;
  border-top: 1px solid #e8ecf1;
}
.rv-app-all-photos__enquire {
  width: 100%;
}
.rv-app-photo-viewer__back,
.rv-app-photo-viewer__close {
  position: absolute;
  top: calc(10px + var(--rv-app-safe-top, 0px));
  right: 12px;
  z-index: 3;
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.9);
  color: #111827;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.22);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.85rem;
  line-height: 1;
  cursor: pointer;
}
.rv-app-photo-viewer__back {
  left: 10px;
  right: auto;
}
.rv-app-photo-viewer__back::after,
.rv-app-photo-viewer__close::after {
  content: "";
  position: absolute;
  inset: -6px;
}
.rv-app-photo-viewer__back .icon {
  width: 14px;
  height: 14px;
}
html.rv-app-all-photos-open .image-viewer-close {
  width: 28px !important;
  height: 28px !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.9) !important;
  color: #111 !important;
  font-size: 0.85rem !important;
  line-height: 38px !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.22);
}
.rv-app-detail-safety__more {
  display: none !important;
}
/* Final27: flatten website .contact-form card when form lives in enquire host */
html.rv-standalone.rv-app-ready.rv-app-enquire-screen .rv-app-enquire-form.contact-form,
html.rv-standalone.rv-app-ready.rv-app-enquire-screen .rv-app-enquire-form.listing-lead-form,
html.rv-standalone.rv-app-ready.rv-app-enquire-screen .rv-app-enquire__form-host .contact-form,
html.rv-standalone.rv-app-ready.rv-app-enquire-screen .rv-app-enquire__form-host .listing-lead-form,
#rv-app-root .rv-app-enquire-form.contact-form,
#rv-app-root .rv-app-enquire-form.listing-lead-form {
  display: block !important;
  gap: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
}
html.rv-standalone.rv-app-ready.rv-app-enquire-screen .rv-app-enquire,
html.rv-standalone.rv-app-ready.rv-app-enquire-screen .rv-app-enquire__scroll {
  background: #fff !important;
}

/* ===== Home V2 Slice1 — renter-first Home composition ===== */
html.rv-standalone.rv-app-ready.rv-app-home-screen {
  --rv-app-pad-x: 16px;
}

/* Hide legacy Home chrome if stale cache ever reappears */
html.rv-app-home-screen .rv-app-home__segments,
html.rv-app-home-screen .rv-app-home__type-quick,
html.rv-app-home-screen .rv-app-home__types,
html.rv-app-home-screen .rv-app-home__feature-rail,
html.rv-app-home-screen .rv-app-home__feature--find {
  display: none !important;
}

.rv-app-home__hero {
  margin-bottom: 10px;
}
.rv-app-home .rv-app-search-trigger--home {
  margin-bottom: 0;
  border-color: rgba(10, 157, 106, 0.28);
  box-shadow: 0 1px 4px rgba(10, 157, 106, 0.08);
}

.rv-app-home__browse {
  margin: 2px 0 12px;
}
.rv-app-home__browse-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 8px;
}
.rv-app-home__browse-head .rv-app-section-title {
  margin: 0;
}
.rv-app-home__browse-see {
  flex: 0 0 auto;
  font-size: 0.84rem;
  font-weight: 650;
  color: var(--rv-app-primary-strong, #0b6b4a);
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}
.rv-app-home__browse-see:active {
  opacity: 0.75;
}
.rv-app-home__browse-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.rv-app-home__browse-card {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  min-height: 64px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(10, 157, 106, 0.18);
  background: linear-gradient(180deg, #f3faf6 0%, #e8f5ee 100%);
  text-decoration: none;
  color: #0b1f17;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}
.rv-app-home__browse-card:active {
  background: #e0f2e9;
}
.rv-app-home__browse-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: #0a9d6a;
  color: #ffffff;
  box-shadow: 0 2px 6px rgba(10, 157, 106, 0.28);
  flex: 0 0 auto;
}
.rv-app-home__browse-icon .icon {
  width: 24px;
  height: 24px;
}
.rv-app-home__browse-icon--house {
  background: #0b6b4a;
}
.rv-app-home__browse-label {
  font-size: 0.94rem;
  font-weight: 750;
  letter-spacing: -0.015em;
  line-height: 1.2;
}

/* Popular areas — discovery cards (not filter pills) */
.rv-app-home__areas {
  margin: 6px 0 14px;
}
.rv-app-home__area-track {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x pan-y;
  margin: 0 calc(-1 * var(--rv-app-pad-x));
  padding: 2px var(--rv-app-pad-x) 6px;
  scroll-snap-type: x proximity;
}
.rv-app-home__area-track::-webkit-scrollbar {
  display: none;
}
.rv-app-home__area-card {
  flex: 0 0 auto;
  width: min(68vw, 220px);
  scroll-snap-align: start;
  display: flex;
  align-items: flex-start;
  gap: 8px;
  min-height: 68px;
  padding: 12px 12px 11px;
  border-radius: 14px;
  border: 1px solid rgba(15, 20, 38, 0.08);
  background: #ffffff;
  box-shadow: 0 1px 3px rgba(15, 20, 38, 0.05);
  text-decoration: none;
  color: inherit;
  box-sizing: border-box;
}
.rv-app-home__area-card-pin {
  display: inline-flex;
  color: #0a9d6a;
  margin-top: 2px;
  flex: 0 0 auto;
}
.rv-app-home__area-card-pin .icon {
  width: 16px;
  height: 16px;
}
.rv-app-home__area-card-copy {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.rv-app-home__area-card-copy strong {
  font-size: 0.92rem;
  font-weight: 750;
  color: #111827;
  letter-spacing: -0.01em;
}
.rv-app-home__area-card-copy span {
  font-size: 0.72rem;
  line-height: 1.3;
  color: #6b7280;
  font-weight: 500;
}

/* Home Recommended — quieter badge, bold facts, pin, no photo count */
.rv-app-home .rv-app-rail--recommended .rv-app-card--rail .rv-app-card__photo-count {
  display: none !important;
}
.rv-app-home .rv-app-rail--recommended .rv-app-card--rail .rv-app-card__badge {
  top: 10px;
  left: 10px;
  gap: 3px;
  padding: 2px 6px 2px 4px;
  font-size: 0.58rem;
  font-weight: 650;
  line-height: 1;
  box-shadow: 0 1px 3px rgba(15, 20, 38, 0.1);
}
.rv-app-home .rv-app-rail--recommended .rv-app-card--rail .rv-app-card__badge .icon {
  width: 10px;
  height: 10px;
}
.rv-app-home .rv-app-rail--recommended .rv-app-card--rail .rv-app-card__fact .icon {
  color: #9ca3af;
  font-weight: 400;
}
.rv-app-home .rv-app-rail--recommended .rv-app-card--rail .rv-app-card__fact-value {
  font-weight: 750;
  color: #111827;
}
.rv-app-home .rv-app-rail--recommended .rv-app-card--rail .rv-app-card__area {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-top: 2px;
}
.rv-app-home .rv-app-rail--recommended .rv-app-card--rail .rv-app-card__area-icon {
  display: inline-flex;
  color: #9ca3af;
}
.rv-app-home .rv-app-rail--recommended .rv-app-card--rail .rv-app-card__area-icon .icon {
  width: 12px;
  height: 12px;
}

/* RV Checked explainer — polished, compact, inset */
.rv-app-home__checked {
  margin: 6px 0 12px;
}
.rv-app-home__checked .rv-app-home__feature--check {
  gap: 5px;
  min-height: 0;
  padding: 12px 14px;
  border: 1px solid rgba(10, 157, 106, 0.16);
  background: linear-gradient(180deg, #eef8f2 0%, #e3f4ea 100%);
  box-shadow: 0 1px 2px rgba(10, 157, 106, 0.06);
}
.rv-app-home__checked .rv-app-home__feature-icon {
  width: 26px;
  height: 26px;
  color: #0a9d6a;
}
.rv-app-home__checked .rv-app-home__feature strong {
  font-size: 0.95rem;
  font-weight: 750;
  color: #0b6b4a;
}
.rv-app-home__checked .rv-app-home__feature > span:not(.rv-app-home__feature-icon):not(.rv-app-home__feature-cta) {
  font-size: 0.78rem;
  line-height: 1.35;
  color: #4b5563;
}
.rv-app-home__checked .rv-app-home__feature-cta {
  margin-top: 4px;
  padding: 5px 10px;
  border-radius: 999px;
  background: #ffffff;
  border: 1px solid rgba(15, 20, 38, 0.08);
  color: #111827;
  font-size: 0.76rem;
  font-weight: 650;
}

/* List property — restore brand-green strength, keep lower placement */
.rv-app-home .rv-app-home__promo {
  margin: 4px 0 12px;
  min-height: 84px;
  padding: 16px 16px 16px 14px;
  border: 0;
  background: linear-gradient(135deg, #0a5c52 0%, #0b6b4a 55%, #0a9d6a 100%);
  color: #fff;
  box-shadow: 0 4px 14px rgba(10, 92, 82, 0.22);
  opacity: 1;
}
.rv-app-home .rv-app-home__promo-copy strong {
  font-size: 1.02rem;
  font-weight: 750;
  color: #fff;
}
.rv-app-home .rv-app-home__promo-copy span {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.9);
}
.rv-app-home .rv-app-home__promo-icon {
  width: 48px;
  height: 48px;
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
  opacity: 1;
}

/* Map action — pale green treatment */
.rv-app-home__map-compact {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 2px 0 10px;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid rgba(10, 157, 106, 0.18);
  background: linear-gradient(180deg, #f2faf6 0%, #e8f5ee 100%);
  text-decoration: none;
  color: #0b1f17;
  font-size: 0.9rem;
  font-weight: 700;
  min-height: 48px;
}
.rv-app-home__map-compact-icon {
  display: inline-flex;
  color: #0a9d6a;
}
.rv-app-home__map-compact-icon .icon {
  width: 20px;
  height: 20px;
}
.rv-app-home__map-compact-chevron {
  margin-left: auto;
  color: #6b9f88;
}


/* ===== Home V2 Color Final31 — richer brand surfaces (IA locked) ===== */
html.rv-standalone.rv-app-ready.rv-app-home-screen .rv-app-header {
  background: linear-gradient(180deg, #e6f5ee 0%, #f4faf7 55%, #ffffff 100%);
  border-bottom: 0;
}
html.rv-standalone.rv-app-ready.rv-app-home-screen .rv-app-stage {
  background:
    linear-gradient(180deg, #f4faf7 0%, #ffffff 120px),
    #ffffff;
}

.rv-app-home__hero {
  position: relative;
  margin: 0 0 12px;
  padding: 2px 0 8px;
}
.rv-app-home__hero::before {
  content: "";
  position: absolute;
  left: calc(-1 * var(--rv-app-pad-x));
  right: calc(-1 * var(--rv-app-pad-x));
  top: -8px;
  bottom: 0;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(230, 245, 238, 0.9) 0%, rgba(255, 255, 255, 0) 100%);
}
.rv-app-home__hero > * {
  position: relative;
  z-index: 1;
}
.rv-app-home .rv-app-search-trigger--home {
  background: #ffffff;
  border: 1.5px solid rgba(10, 157, 106, 0.28);
  box-shadow: 0 2px 10px rgba(10, 157, 106, 0.1);
}

/* Browse — differentiated tinted cards + decorative cues */
.rv-app-home__browse-card {
  position: relative;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(10, 92, 82, 0.08);
}
.rv-app-home__browse-card::after {
  content: "";
  position: absolute;
  right: -10px;
  bottom: -14px;
  width: 64px;
  height: 64px;
  border-radius: 18px;
  pointer-events: none;
  opacity: 0.22;
}
.rv-app-home__browse-card--apt {
  border-color: rgba(13, 148, 136, 0.34);
  background: linear-gradient(145deg, #e4f9f4 0%, #cdeee8 42%, #dff5ef 100%);
}
.rv-app-home__browse-card--apt::after {
  opacity: 0.28;
  background:
    linear-gradient(135deg, transparent 40%, rgba(13, 148, 136, 0.6) 40% 55%, transparent 55%),
    linear-gradient(180deg, rgba(13, 148, 136, 0.4), rgba(13, 148, 136, 0.08));
  transform: rotate(18deg);
}
.rv-app-home__browse-card--house {
  border-color: rgba(11, 107, 74, 0.3);
  background: linear-gradient(145deg, #f6f8ee 0%, #e8efd8 48%, #f3f6e8 100%);
}
.rv-app-home__browse-card--house::after {
  opacity: 0.26;
  background:
    linear-gradient(135deg, transparent 46%, rgba(11, 107, 74, 0.55) 46% 58%, transparent 58%),
    radial-gradient(circle at 30% 30%, rgba(11, 107, 74, 0.32), transparent 60%);
  transform: rotate(-12deg);
}
.rv-app-home__browse-icon--apt {
  background: linear-gradient(160deg, #12b981 0%, #0a9d6a 55%, #0b7f5a 100%);
  box-shadow: 0 3px 8px rgba(10, 157, 106, 0.35);
}
.rv-app-home__browse-icon--house {
  background: linear-gradient(160deg, #0d8a5f 0%, #0b6b4a 60%, #08553b 100%);
  box-shadow: 0 3px 8px rgba(11, 107, 74, 0.35);
}

/* Recently viewed — soft mint polish */
.rv-app-home__recent-card {
  background: linear-gradient(180deg, #ffffff 0%, #f7fbf9 100%);
  border-color: rgba(10, 157, 106, 0.12);
  box-shadow: 0 1px 4px rgba(10, 92, 82, 0.06);
}
.rv-app-home__recent-thumb {
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(15, 20, 38, 0.08);
}

/* Popular areas — alternating mint / teal tints */
.rv-app-home__area-card:nth-child(odd) {
  background: linear-gradient(160deg, #eaf8f1 0%, #d8f0e4 100%);
  border-color: rgba(10, 157, 106, 0.22);
}
.rv-app-home__area-card:nth-child(even) {
  background: linear-gradient(160deg, #e9f6f8 0%, #d5eef2 100%);
  border-color: rgba(13, 148, 136, 0.22);
}
.rv-app-home__area-card {
  box-shadow: 0 2px 7px rgba(10, 92, 82, 0.07);
}
.rv-app-home__area-card-pin {
  color: #0a9d6a;
}
.rv-app-home__area-card-copy strong {
  color: #0b1f17;
}

/* Recommended chrome only — photos stay dominant */
.rv-app-home .rv-app-rail--recommended .rv-app-card--rail {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 2px 10px rgba(15, 20, 38, 0.07);
}
.rv-app-home .rv-app-rail--recommended .rv-app-card--rail .rv-app-card__badge {
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 1px 2px rgba(15, 20, 38, 0.08);
}

/* RV Checked explainer — richer mint brand surface */
.rv-app-home__checked .rv-app-home__feature--check {
  background:
    radial-gradient(circle at 92% 8%, rgba(16, 185, 129, 0.18), transparent 42%),
    linear-gradient(145deg, #e9f8f0 0%, #d8f1e4 55%, #eef8f3 100%);
  border-color: rgba(10, 157, 106, 0.22);
  box-shadow: 0 2px 8px rgba(10, 157, 106, 0.1);
}
.rv-app-home__checked .rv-app-home__feature-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 9px;
  background: rgba(10, 157, 106, 0.14);
  color: #0a9d6a;
  box-shadow: inset 0 0 0 1px rgba(10, 157, 106, 0.12);
}
.rv-app-home__checked .rv-app-home__feature-icon .icon {
  width: 18px;
  height: 18px;
}
.rv-app-home__checked .rv-app-home__feature strong {
  color: #074d3a;
}
.rv-app-home__checked .rv-app-home__feature-cta {
  background: #ffffff;
  border-color: rgba(10, 157, 106, 0.18);
  color: #0b6b4a;
  box-shadow: 0 1px 2px rgba(10, 157, 106, 0.08);
}

/* List property — richer deep emerald */
.rv-app-home .rv-app-home__promo {
  background:
    radial-gradient(circle at 88% 20%, rgba(255, 255, 255, 0.14), transparent 34%),
    linear-gradient(135deg, #074d44 0%, #0a5c52 28%, #0b6b4a 62%, #0a9d6a 100%);
  box-shadow: 0 6px 18px rgba(7, 77, 68, 0.28);
}
.rv-app-home .rv-app-home__promo-art {
  opacity: 0.28;
}
.rv-app-home .rv-app-home__promo-icon {
  background: rgba(255, 255, 255, 0.2);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.18);
}

/* Map row — mint/teal branded compact action */
.rv-app-home__map-compact {
  border-color: rgba(13, 148, 136, 0.22);
  background:
    linear-gradient(90deg, rgba(13, 148, 136, 0.06), transparent 42%),
    linear-gradient(180deg, #eefaf7 0%, #e3f4ef 100%);
  box-shadow: 0 1px 4px rgba(13, 148, 136, 0.08);
}
.rv-app-home__map-compact-icon {
  color: #0d9488;
}
.rv-app-home__map-compact-chevron {
  color: #0a9d6a;
}

/* ===== Home V2 Finish Final32 — denser hero, solo recent, quieter browse art ===== */
html.rv-standalone.rv-app-ready.rv-app-home-screen .rv-app-stage {
  background:
    linear-gradient(180deg, #f4faf7 0%, #ffffff 72px),
    #ffffff;
}
.rv-app-home {
  padding-top: 2px;
}
.rv-app-home__hero {
  margin: 0 0 6px;
  padding: 0 0 2px;
}
.rv-app-home__hero::before {
  top: -2px;
  background: linear-gradient(180deg, rgba(230, 245, 238, 0.85) 0%, rgba(255, 255, 255, 0) 100%);
}
.rv-app-home__skyline {
  height: 40px;
  opacity: 0.28;
}
.rv-app-home__hero .rv-app-search-trigger--home,
.rv-app-home .rv-app-search-trigger--home {
  margin-bottom: 0;
}

/* Quiet browse decorative shapes — icon + label stay dominant */
.rv-app-home__browse-card::after {
  opacity: 0.1;
  width: 52px;
  height: 52px;
}
.rv-app-home__browse-card--apt::after,
.rv-app-home__browse-card--house::after {
  opacity: 0.11;
}

/* Recently viewed — one item uses nearly full content width */
.rv-app-home__recent--solo .rv-app-home__recent-track {
  overflow-x: hidden;
  scroll-snap-type: none;
}
.rv-app-home__recent--solo .rv-app-home__recent-card {
  flex: 0 0 100%;
  width: 100%;
  max-width: 100%;
}

/* Popular areas — keep cards; clamp awkward overflow only */
.rv-app-home__area-card-copy strong,
.rv-app-home__area-card-copy span {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.rv-app-home__area-card-copy strong {
  -webkit-line-clamp: 1;
}
.rv-app-home__area-card-copy span {
  -webkit-line-clamp: 2;
}
.rv-app-home__area-card {
  align-items: center;
}

/* ===== Home V2 PreClose Final33 — pins, overlay align, category icons, skyline ===== */

/* Recommended location pin — emerald icon, muted grey text */
.rv-app-home .rv-app-rail--recommended .rv-app-card--rail .rv-app-card__area-icon {
  color: #0a9d6a;
}
.rv-app-home .rv-app-rail--recommended .rv-app-card--rail .rv-app-card__area {
  color: #6b7280;
}

/* Shared media-overlay inset — badge + heart geometrically aligned */
.rv-app-home .rv-app-rail--recommended .rv-app-card--rail .rv-app-card__media {
  --rv-home-media-inset: 10px;
  --rv-home-overlay-box: 26px; /* badge height lock */
  --rv-home-heart-box: 28px; /* Final36: larger clear heart, same top inset */
}
.rv-app-home .rv-app-rail--recommended .rv-app-card--rail .rv-app-card__badge {
  top: var(--rv-home-media-inset);
  left: var(--rv-home-media-inset);
  right: auto;
  bottom: auto;
  height: var(--rv-home-overlay-box);
  min-height: var(--rv-home-overlay-box);
  max-height: var(--rv-home-overlay-box);
  padding: 0 7px 0 5px;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 0.58rem;
  line-height: 1;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 1px 3px rgba(15, 20, 38, 0.1);
}
.rv-app-home .rv-app-rail--recommended .rv-app-card--rail .rv-app-card__badge .icon {
  width: 11px;
  height: 11px;
  flex: 0 0 auto;
}
.rv-app-home .rv-app-rail--recommended .rv-app-card--rail .rv-app-card__save {
  top: var(--rv-home-media-inset);
  right: var(--rv-home-media-inset);
  bottom: auto;
  left: auto;
  width: var(--rv-home-heart-box);
  /* Match badge row height so shared top inset + centred glyph share one band */
  height: var(--rv-home-overlay-box);
  min-width: var(--rv-home-heart-box);
  min-height: var(--rv-home-overlay-box);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--rv-app-fav, #e11d48);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  filter: drop-shadow(0 0 1.35px rgba(0, 0, 0, 0.75)) drop-shadow(0 1px 2px rgba(0, 0, 0, 0.5));
}
.rv-app-home .rv-app-rail--recommended .rv-app-card--rail .rv-app-card__save::before {
  content: "";
  position: absolute;
  /* 26 + 2*9 = 44px invisible touch target */
  inset: -9px;
}
/* Final36/37: beat #rv-app-root .rv-app-card__save svg.icon sizing */
#rv-app-root .rv-app-home .rv-app-rail--recommended .rv-app-card--rail .rv-app-card__save svg.icon.rv-app-icon {
  width: 22px;
  height: 22px;
  max-width: none;
  max-height: none;
  flex: 0 0 auto;
}
.rv-app-home .rv-app-rail--recommended .rv-app-card--rail .rv-app-card__save .icon {
  width: 22px;
  height: 22px;
  /*
   * Final37 optical: heart path ink centre is ~12.5px into the 22px SVG.
   * Box is 26px (same as badge) with align-items:center → SVG top at 12.
   * Ink centre ≈ 24.5 vs badge centre 23 — nudge 1.5px ≈ -2px so centres match.
   */
  transform: translateY(-2px);
}
.rv-app-home .rv-app-rail--recommended .rv-app-card--rail .rv-app-card__save.is-saved {
  color: var(--rv-app-fav, #e11d48);
  background: transparent;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.4));
}

/* Browse category icons — pale surface + multicolour glyphs */
.rv-app-home__browse-icon,
.rv-app-home__browse-icon--apt,
.rv-app-home__browse-icon--house {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: #ffffff !important;
  box-shadow: 0 1px 3px rgba(10, 92, 82, 0.1), inset 0 0 0 1px rgba(10, 157, 106, 0.12) !important;
  color: transparent;
}
.rv-app-home__browse-icon--apt {
  background: linear-gradient(180deg, #ffffff 0%, #f0faf7 100%) !important;
}
.rv-app-home__browse-icon--house {
  background: linear-gradient(180deg, #ffffff 0%, #f7faf2 100%) !important;
}
.rv-app-home__browse-glyph {
  display: block;
  width: 28px;
  height: 28px;
}

/* Header skyline art — stays inside Final32 compact hero (~84–90px) */
.rv-app-home__hero {
  margin: 0 0 6px;
  padding: 34px 0 2px; /* reserve Final32-like space above search for art */
  min-height: 0;
}
.rv-app-home__skyline {
  position: absolute;
  left: calc(-1 * var(--rv-app-pad-x));
  right: calc(-1 * var(--rv-app-pad-x));
  top: 0;
  height: 48px;
  opacity: 1;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
  background: transparent;
}
.rv-app-home__skyline::before {
  display: none !important;
  content: none !important;
}
/* Soft mint/white wash so Search stays dominant over richer artwork */
.rv-app-home__skyline::after {
  display: block !important;
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(
      180deg,
      rgba(247, 251, 249, 0.18) 0%,
      rgba(247, 251, 249, 0.06) 42%,
      rgba(247, 251, 249, 0.32) 100%
    ),
    linear-gradient(
      90deg,
      rgba(247, 251, 249, 0.12) 0%,
      transparent 16%,
      transparent 84%,
      rgba(247, 251, 249, 0.12) 100%
    );
}
.rv-app-home__skyline-img {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  /* Crop to skyline + water meeting (Lotus Tower / waterfront readable in 48px) */
  background-position: center 52%;
  opacity: 0.62;
  z-index: 0;
}
.rv-app-home__skyline-art {
  display: none !important;
}
.rv-app-home__search-anchor {
  position: relative;
  z-index: 2;
}

/* ===== Agent search Phase 1 Final34 ===== */
.rv-app-search__item-btn--stacked {
  align-items: center;
}
.rv-app-search__item-copy {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  flex: 1 1 auto;
}
.rv-app-search__item-title {
  font-size: 0.98rem;
  font-weight: 650;
  color: var(--rv-app-ink, #111827);
  line-height: 1.25;
}
.rv-app-search__item-sub {
  font-size: 0.78rem;
  font-weight: 500;
  color: var(--rv-app-muted, #6b7280);
  line-height: 1.2;
}
.rv-app-agent-chip {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 8px;
  padding: 8px 10px;
  border-radius: 12px;
  border: 1px solid rgba(10, 157, 106, 0.22);
  background: #eef8f3;
  box-sizing: border-box;
}
.rv-app-agent-chip__label {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 0.84rem;
  font-weight: 650;
  color: #0b6b4a;
  line-height: 1.25;
}
.rv-app-agent-chip__clear {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.85);
  color: #0b6b4a;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.rv-app-agent-chip__clear .icon {
  width: 14px;
  height: 14px;
}

/* ===== Home hero image + heart Final36 — geometry locked ===== */
/* (hero image via .rv-app-home__skyline-img; heart sizes above) */

/* ===== App Search Ultra-Premium Native V1 — Option B chrome + Option C cards ===== */
.rv-app-serp {
  padding: 0 var(--rv-app-pad-x) calc(var(--rv-app-tabs-h) + var(--rv-app-safe-bottom) + 20px);
  background: #f7f8fa;
}
.rv-app-serp__sticky {
  position: sticky;
  top: 0;
  z-index: 12;
  margin: 0 calc(-1 * var(--rv-app-pad-x));
  padding: 8px var(--rv-app-pad-x) 10px;
  background: rgba(247, 248, 250, 0.96);
  backdrop-filter: saturate(1.2) blur(10px);
  -webkit-backdrop-filter: saturate(1.2) blur(10px);
  box-shadow: 0 1px 0 rgba(15, 20, 38, 0.06);
}
.rv-app-serp .rv-app-search-trigger--serp,
.rv-app-search-trigger--serp {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 44px;
  height: 44px;
  margin: 0 0 8px;
  padding: 0 12px 0 14px;
  border-radius: 12px;
  border: 1px solid rgba(15, 20, 38, 0.08);
  background: #ffffff;
  box-shadow: inset 0 1px 2px rgba(15, 20, 38, 0.03);
  font-size: 0.9rem;
  box-sizing: border-box;
}
.rv-app-serp .rv-app-search-trigger__text {
  color: #8b93a1;
  font-weight: 500;
}
.rv-app-serp__utils {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 8px;
  min-height: 36px;
}
.rv-app-serp__util {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 36px;
  padding: 0 2px;
  border: 0;
  background: transparent;
  color: #111827;
  font: inherit;
  font-size: 0.9rem;
  font-weight: 650;
  letter-spacing: -0.01em;
  cursor: pointer;
}
.rv-app-serp__util--filters.is-active,
.rv-app-serp__util--filters.is-active .rv-app-serp__util-count {
  color: #0a7a58;
}
.rv-app-serp__util-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.35rem;
  height: 1.35rem;
  padding: 0 5px;
  border-radius: 999px;
  background: rgba(10, 122, 88, 0.12);
  color: #0a7a58;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1;
}
.rv-app-serp__util--sort {
  margin-left: auto;
  color: #374151;
  font-weight: 600;
}
.rv-app-achips {
  display: flex;
  gap: 8px;
  margin: 0 0 8px;
  padding: 0 0 2px;
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.rv-app-achips::-webkit-scrollbar { display: none; }
.rv-app-achip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
  min-height: 30px;
  padding: 4px 8px 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(15, 20, 38, 0.1);
  background: #ffffff;
  color: #1f2937;
  font: inherit;
  font-size: 0.76rem;
  font-weight: 600;
  line-height: 1.15;
  cursor: pointer;
  white-space: nowrap;
}
.rv-app-achip__x {
  display: inline-flex;
  color: #6b7280;
}
.rv-app-achip__x .icon {
  width: 12px;
  height: 12px;
}
.rv-app-serp .rv-app-count {
  margin: 0;
  color: #6b7280;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.25;
}
.rv-app-serp .rv-app-count:empty {
  display: none;
}

/* Hide legacy Search chrome remnants */
.rv-app-serp .rv-app-fchips,
.rv-app-serp .rv-app-furnish,
.rv-app-serp .rv-app-float-dock,
.rv-app-serp .rv-app-agent-chip {
  display: none !important;
}

/* SERP feed cards — denser premium hierarchy */
.rv-app-serp .rv-app-feed {
  display: grid;
  gap: 12px;
  margin-top: 10px;
}
.rv-app-serp .rv-app-card--feed,
.rv-app-serp .rv-app-card--serp {
  margin: 0;
  border: 1px solid rgba(15, 20, 38, 0.08);
  border-radius: 14px;
  background: #ffffff;
  box-shadow: none;
  overflow: hidden;
}
.rv-app-serp .rv-app-card--serp .rv-app-card__media {
  border-radius: 0;
  height: clamp(180px, 48vw, 200px);
  max-height: 200px;
  aspect-ratio: auto;
  background: #e8edf2;
}
.rv-app-serp .rv-app-card--serp .rv-app-card__body {
  padding: 10px 12px 0;
}
.rv-app-serp .rv-app-card--serp .rv-app-card__rent {
  margin: 0 0 4px;
  font-size: 1.08rem;
  font-weight: 750;
  letter-spacing: -0.02em;
  color: #111827;
  line-height: 1.15;
}
.rv-app-serp .rv-app-card--serp .rv-app-card__per {
  margin-left: 3px;
  font-size: 0.72rem;
  font-weight: 550;
  color: #9ca3af;
}
.rv-app-serp .rv-app-card--serp .rv-app-card__specs {
  margin: 0 0 5px;
  color: #4b5563;
  font-size: 0.8rem;
  font-weight: 600;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.rv-app-serp .rv-app-card--serp .rv-app-card__title {
  margin: 0 0 4px;
  min-height: 0;
  font-size: 0.92rem;
  font-weight: 700;
  letter-spacing: -0.015em;
  line-height: 1.28;
  color: #111827;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.rv-app-serp .rv-app-card--serp .rv-app-card__area {
  margin: 0 0 4px;
  color: #6b7280;
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.25;
}
.rv-app-serp .rv-app-card--serp .rv-app-card__meta-line {
  margin: 0 0 2px;
  color: #8b93a1;
  font-size: 0.74rem;
  font-weight: 550;
  line-height: 1.25;
}
.rv-app-serp .rv-app-card--serp .rv-app-card__actions--serp {
  display: flex;
  justify-content: flex-start;
  padding: 8px 12px 12px;
  gap: 0;
}
.rv-app-serp .rv-app-card--serp .rv-app-card__cta--enquire {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(10, 122, 88, 0.28);
  background: #ffffff;
  color: #0a7a58;
  font-size: 0.82rem;
  font-weight: 700;
  text-decoration: none;
  box-shadow: none;
}
.rv-app-serp .rv-app-card--serp .rv-app-card__cta--enquire .rv-app-card__cta-icon {
  display: none;
}
.rv-app-serp .rv-app-card--serp .rv-app-card__badge {
  top: 8px;
  left: 8px;
  padding: 3px 7px;
  font-size: 0.62rem;
  font-weight: 700;
  border-radius: 999px;
  background: rgba(233, 248, 241, 0.96);
  border: 1px solid rgba(10, 157, 106, 0.24);
  color: #0a5c40;
  gap: 3px;
}
.rv-app-serp .rv-app-card--serp .rv-app-card__badge .icon {
  width: 11px;
  height: 11px;
}
.rv-app-serp .rv-app-card--serp .rv-app-card__save {
  top: 4px;
  right: 4px;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #e11d48;
}
.rv-app-serp .rv-app-card--serp .rv-app-card__save .icon,
.rv-app-serp .rv-app-card--serp .rv-app-card__save .rv-save-heart {
  width: 23px;
  height: 23px;
}
.rv-app-serp .rv-app-card--serp .rv-app-card__nav {
  width: 28px;
  height: 28px;
  opacity: 0.72;
}
.rv-app-serp .rv-app-card--serp .rv-app-card__nav--prev { left: 6px; }
.rv-app-serp .rv-app-card--serp .rv-app-card__nav--next { right: 6px; }
.rv-app-serp .rv-app-card--serp .rv-app-card__dots {
  bottom: 8px;
}
.rv-app-serp .rv-app-card--skeleton .rv-app-skeleton--feed-media {
  height: clamp(180px, 48vw, 200px);
  max-height: 200px;
  border-radius: 0;
}

/* ========== V79 — bottom gap + polish (from V76 baseline; avoids V78 breakage) ========== */

/* Kill bottom gap: root fills the screen; chrome paints into the home-indicator band. */
html.rv-standalone.rv-app-ready,
html.rv-standalone.rv-app-ready body {
  height: 100%;
  overflow: hidden !important;
  background: #fff !important;
}
html.rv-standalone.rv-app-ready #rv-app-root {
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  height: auto !important;
  max-height: none !important;
  padding-bottom: 0 !important;
  margin: 0 !important;
  background: #fff !important;
}
.rv-app-tabs {
  box-sizing: border-box !important;
  margin: 0 !important;
  margin-top: auto !important;
  padding-top: 6px !important;
  padding-bottom: env(safe-area-inset-bottom, 0px) !important;
  background: #fff !important;
  border-bottom: 0 !important;
}
html.rv-standalone.rv-app-ready.rv-app-detail-screen,
html.rv-standalone.rv-app-ready.rv-app-detail-screen body,
html.rv-standalone.rv-app-ready.rv-app-detail-screen #rv-app-root,
html.rv-standalone.rv-app-ready.rv-app-enquire-screen,
html.rv-standalone.rv-app-ready.rv-app-enquire-screen body,
html.rv-standalone.rv-app-ready.rv-app-enquire-screen #rv-app-root {
  background: #fff !important; /* was grey — showed as gap under Enquire */
}
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-stage--detail,
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-detail {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: 100% !important;
  max-height: 100% !important;
  background: #fff !important;
}

/* Pin Enquire / Send bars to the true screen bottom (no grey strip under the button). */
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-enquire-bar,
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-action-bar.rv-app-enquire-bar,
html.rv-standalone.rv-app-ready.rv-app-enquire-screen .rv-app-enquire__footer,
html.rv-standalone.rv-app-ready.rv-app-enquire-screen .rv-app-enquire__footer.rv-app-action-bar {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 40 !important;
  margin: 0 !important;
  padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px)) !important;
  background: #fff !important;
  border-top: 1px solid #e8ecf1;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-detail__spacer {
  height: calc(72px + env(safe-area-inset-bottom, 0px)) !important;
}
html.rv-standalone.rv-app-ready.rv-app-enquire-screen .rv-app-stage--enquire,
html.rv-standalone.rv-app-ready.rv-app-enquire-screen .rv-app-enquire {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: 100% !important;
  max-height: 100% !important;
  overflow: hidden !important;
  overflow-x: hidden !important;
  background: #fff !important;
}
html.rv-standalone.rv-app-ready.rv-app-enquire-screen .rv-app-enquire__scroll {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: none;
  padding: 8px 12px calc(88px + env(safe-area-inset-bottom, 0px)) !important;
  background: #fff !important;
  max-width: 100%;
  box-sizing: border-box;
}
.rv-app-enquire__intro,
.rv-app-enquire__kicker,
.rv-app-enquire__heading {
  display: none !important;
}
html.rv-standalone.rv-app-ready.rv-app-enquire-screen .rv-app-enquire-form input,
html.rv-standalone.rv-app-ready.rv-app-enquire-screen .rv-app-enquire-form textarea,
html.rv-standalone.rv-app-ready.rv-app-enquire-screen .rv-app-enquire-form select,
html.rv-standalone.rv-app-ready.rv-app-enquire-screen .rv-app-enquire-intent__select {
  max-width: 100% !important;
  width: 100% !important;
  box-sizing: border-box !important;
  font-size: 16px !important;
}

/* Similar Properties — hard left gutter */
.rv-app-detail-similar {
  margin: 0 calc(-1 * var(--rv-app-pad-x, 18px));
}
.rv-app-detail-similar__rail {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.rv-app-detail-similar__rail::before,
.rv-app-detail-similar__rail::after {
  display: none !important;
  content: none !important;
  width: 0 !important;
  flex: 0 0 0 !important;
}
.rv-app-detail-similar__gutter {
  flex: 0 0 16px !important;
  width: 16px !important;
  min-width: 16px !important;
  max-width: 16px !important;
  height: 1px;
  pointer-events: none;
  visibility: hidden;
}

/* Availability confirmed on — bold label */
.rv-app-detail__confirmed-on strong {
  font-weight: 750 !important;
  color: #111827 !important;
}

/* Soft edge-to-top: keep overlay header out of document flow; don't invent a white band. */
html.rv-standalone.rv-app-ready.rv-app-detail-screen #rv-app-root > .rv-app-header.rv-app-header--detail-overlay {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  pointer-events: none;
}
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-detail-hero--immersive {
  margin-top: 0 !important;
}

/* ========== V80 — kill bottom gap for real + smaller photos + app agent/search ========== */

/* Tabs glued to the physical bottom of the phone (flex layout was leaving a white void). */
html.rv-standalone.rv-app-ready #rv-app-root > .rv-app-tabs:not([hidden]) {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 50 !important;
  margin: 0 !important;
  flex: none !important;
  width: 100% !important;
  box-sizing: border-box !important;
  min-height: 52px !important;
  padding: 4px 0 env(safe-area-inset-bottom, 0px) !important;
  background: #fff !important;
  border-top: 0.5px solid rgba(60, 60, 67, 0.18) !important;
}
html.rv-standalone.rv-app-ready:not(.rv-app-detail-screen):not(.rv-app-enquire-screen) #rv-app-root > .rv-app-stage {
  padding-bottom: calc(56px + env(safe-area-inset-bottom, 0px)) !important;
  box-sizing: border-box !important;
}
html.rv-standalone.rv-app-ready.rv-app-legacy-main #rv-app-root > .rv-app-stage {
  padding-bottom: 0 !important;
}
/* Legacy/agent framed pages: main fills between header and fixed tabs (no dead white band). */
html.rv-standalone.rv-app-ready.rv-app-legacy-main,
html.rv-standalone.rv-app-ready.rv-app-sub-framed {
  overflow: hidden !important;
}
html.rv-standalone.rv-app-ready.rv-app-legacy-main body,
html.rv-standalone.rv-app-ready.rv-app-sub-framed body {
  overflow: hidden !important;
  background: #fff !important;
}
html.rv-standalone.rv-app-ready.rv-app-legacy-main body > main,
html.rv-standalone.rv-app-ready.rv-app-sub-framed body > main {
  top: var(--rv-app-chrome-top) !important;
  bottom: calc(56px + env(safe-area-inset-bottom, 0px)) !important;
  overflow: auto !important;
  -webkit-overflow-scrolling: touch !important;
  visibility: visible !important;
  background: #fff !important;
  padding-bottom: 20px !important;
}
html.rv-standalone.rv-app-ready.rv-app-legacy-main .rv-app-error,
html.rv-standalone.rv-app-ready .rv-app-error {
  padding: 24px 16px 12px !important;
  min-height: 0 !important;
}
html.rv-standalone.rv-app-ready .rv-app-error .rv-app-cta {
  margin-top: 12px;
  max-width: 220px;
}

/* Smaller home recommended photos (were dominating the viewport). */
html.rv-standalone.rv-app-ready .rv-app-home .rv-app-rail--recommended .rv-app-card--rail {
  flex: 0 0 min(56vw, 188px) !important;
  max-width: 200px !important;
  width: min(56vw, 188px) !important;
}
html.rv-standalone.rv-app-ready .rv-app-home .rv-app-rail--recommended .rv-app-card--rail .rv-app-card__media {
  aspect-ratio: 16 / 10 !important;
  max-height: 118px !important;
  border-radius: 12px !important;
}
html.rv-standalone.rv-app-ready .rv-app-home .rv-app-card--rail .rv-app-card__media {
  aspect-ratio: 16 / 10 !important;
  max-height: 132px !important;
}

/* Smaller detail hero — less “web landing”, more app. */
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-detail-hero--immersive,
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-detail-hero--immersive .rv-app-detail-hero__viewport,
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-detail-hero--immersive.rv-app-detail-hero--empty {
  height: min(36dvh, 280px) !important;
  min-height: 220px !important;
  max-height: 300px !important;
}
@supports not (height: 36dvh) {
  html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-detail-hero--immersive,
  html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-detail-hero--immersive .rv-app-detail-hero__viewport,
  html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-detail-hero--immersive.rv-app-detail-hero--empty {
    height: 280px !important;
  }
}

/* Marker for V80 lockstep QA */
html.rv-standalone.rv-app-ready {
  --rv-app-v80: 1;
}

/* ========== V81 — true shell height (kill bottom gap) + enquire legal + no PTR + similar pad ========== */

/* Size the app shell to the *visible* viewport. Fixed inset:0 was leaving a white void
   under tabs/Enquire on iOS standalone when layout viewport ≠ visual viewport. */
html.rv-standalone.rv-app-ready,
html.rv-standalone.rv-app-ready body {
  height: var(--rv-app-shell-h, 100dvh) !important;
  max-height: var(--rv-app-shell-h, 100dvh) !important;
  overflow: hidden !important;
  overscroll-behavior: none !important;
  overscroll-behavior-y: none !important;
  touch-action: manipulation;
  background: #fff !important;
}
html.rv-standalone.rv-app-ready #rv-app-root {
  position: fixed !important;
  top: var(--rv-app-shell-top, 0px) !important;
  left: 0 !important;
  right: 0 !important;
  bottom: auto !important;
  width: 100% !important;
  height: var(--rv-app-shell-h, 100dvh) !important;
  max-height: var(--rv-app-shell-h, 100dvh) !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  overscroll-behavior: none !important;
  background: #fff !important;
  box-sizing: border-box !important;
}
html.rv-standalone.rv-app-ready #rv-app-root > .rv-app-stage {
  position: relative !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
}
html.rv-standalone.rv-app-ready.rv-app-enquire-screen .rv-app-enquire,
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-detail {
  position: relative !important;
}
@supports (height: -webkit-fill-available) {
  html.rv-standalone.rv-app-ready,
  html.rv-standalone.rv-app-ready body {
    height: var(--rv-app-shell-h, -webkit-fill-available) !important;
    max-height: var(--rv-app-shell-h, -webkit-fill-available) !important;
  }
  html.rv-standalone.rv-app-ready #rv-app-root {
    height: var(--rv-app-shell-h, -webkit-fill-available) !important;
    max-height: var(--rv-app-shell-h, -webkit-fill-available) !important;
  }
}

/* Tabs / action bars glued to the shell bottom — no white band underneath. */
html.rv-standalone.rv-app-ready #rv-app-root > .rv-app-tabs:not([hidden]) {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 50 !important;
  margin: 0 !important;
  flex: none !important;
  width: 100% !important;
  box-sizing: border-box !important;
  min-height: 52px !important;
  padding: 4px 0 max(env(safe-area-inset-bottom, 0px), 0px) !important;
  background: #fff !important;
  border-top: 0.5px solid rgba(60, 60, 67, 0.18) !important;
}
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-enquire-bar,
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-action-bar.rv-app-enquire-bar,
html.rv-standalone.rv-app-ready.rv-app-enquire-screen .rv-app-enquire__footer,
html.rv-standalone.rv-app-ready.rv-app-enquire-screen .rv-app-enquire__footer.rv-app-action-bar {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 40 !important;
  margin: 0 !important;
  padding: 10px 16px calc(10px + max(env(safe-area-inset-bottom, 0px), 0px)) !important;
  background: #fff !important;
  border-top: 1px solid #e8ecf1;
  box-shadow: none !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  align-items: stretch !important;
}

.rv-app-enquire__legal {
  margin: 0;
  padding: 0 2px;
  text-align: center;
  font-size: 0.72rem;
  line-height: 1.35;
  color: #6b7280;
  font-weight: 500;
}
.rv-app-enquire__legal a {
  color: #0a9d6a;
  text-decoration: none;
  font-weight: 650;
}
html.rv-standalone.rv-app-ready.rv-app-enquire-screen .rv-app-enquire-form label.option.consent,
html.rv-standalone.rv-app-ready.rv-app-enquire-screen .rv-app-enquire-consent--hidden {
  display: none !important;
}
html.rv-standalone.rv-app-ready.rv-app-enquire-screen .rv-app-enquire__scroll {
  padding: 8px 12px calc(118px + env(safe-area-inset-bottom, 0px)) !important;
}
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-detail__spacer {
  height: calc(72px + env(safe-area-inset-bottom, 0px)) !important;
}

/* Similar Properties — reliable left inset (padding; gutters alone can collapse). */
.rv-app-detail-similar {
  margin: 0 calc(-1 * var(--rv-app-pad-x, 18px)) !important;
}
.rv-app-detail-similar__rail {
  display: flex !important;
  flex-direction: row !important;
  gap: 12px !important;
  overflow-x: auto !important;
  padding: 2px 0 8px !important;
  padding-left: 18px !important;
  padding-right: 18px !important;
  scroll-padding-left: 18px !important;
  scroll-padding-right: 18px !important;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
}
.rv-app-detail-similar__gutter {
  display: none !important;
}

/* No website-style pull-to-refresh on detail / enquire / framed linked pages. */
html.rv-standalone.rv-app-ready.rv-app-detail-screen,
html.rv-standalone.rv-app-ready.rv-app-enquire-screen,
html.rv-standalone.rv-app-ready.rv-app-legacy-main,
html.rv-standalone.rv-app-ready.rv-app-sub-framed,
html.rv-standalone.rv-app-ready.rv-app-detail-screen body,
html.rv-standalone.rv-app-ready.rv-app-enquire-screen body,
html.rv-standalone.rv-app-ready.rv-app-legacy-main body,
html.rv-standalone.rv-app-ready.rv-app-sub-framed body {
  overscroll-behavior: none !important;
  overscroll-behavior-y: none !important;
}
html.rv-standalone.rv-app-ready .rv-app-stage,
html.rv-standalone.rv-app-ready .rv-app-detail__body,
html.rv-standalone.rv-app-ready [data-rv-detail-scroll],
html.rv-standalone.rv-app-ready [data-rv-enquire-scroll],
html.rv-standalone.rv-app-ready.rv-app-legacy-main body > main,
html.rv-standalone.rv-app-ready.rv-app-sub-framed body > main {
  overscroll-behavior-y: none !important;
  overscroll-behavior: none !important;
}

/* Marker for V81 lockstep QA */
html.rv-standalone.rv-app-ready {
  --rv-app-v81: 1;
}

/* ========== V82 — first-paint/nav stability + Report this Ad + real agency profile ========== */

/* Keep action bar painted during soft-nav remounts (reduces Enquire flicker). */
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-enquire-bar,
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-action-bar.rv-app-enquire-bar {
  min-height: 0;
  transform: none;
  backface-visibility: hidden;
}

.rv-app-detail-report {
  display: flex;
  justify-content: center;
  padding: 6px 0 18px;
}
.rv-app-detail-report__btn {
  appearance: none;
  border: 0;
  background: transparent;
  color: #6b7280;
  font: inherit;
  font-size: 0.92rem;
  font-weight: 600;
  padding: 10px 12px;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.rv-app-detail-report__flag {
  margin-right: 6px;
}

html.rv-standalone.rv-app-ready.rv-app-report-screen,
html.rv-standalone.rv-app-ready.rv-app-report-screen body,
html.rv-standalone.rv-app-ready.rv-app-report-screen #rv-app-root {
  background: #fff !important;
  overscroll-behavior: none !important;
}
html.rv-standalone.rv-app-ready.rv-app-report-screen .rv-app-tabs {
  display: none !important;
}
html.rv-standalone.rv-app-ready.rv-app-report-screen {
  --rv-app-chrome-bottom: 0px;
}
html.rv-standalone.rv-app-ready.rv-app-report-screen .rv-app-stage--report,
html.rv-standalone.rv-app-ready.rv-app-report-screen .rv-app-report {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: 100% !important;
  background: #fff !important;
  overflow: hidden !important;
}
.rv-app-report__scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-y: none;
  padding: 12px 16px calc(24px + env(safe-area-inset-bottom, 0px));
  box-sizing: border-box;
}
.rv-app-report__heading {
  margin: 4px 0 6px;
  font-size: 1.2rem;
  font-weight: 750;
  color: #b91c1c;
}
.rv-app-report__sub {
  margin: 0 0 16px;
  font-size: 0.9rem;
  color: #6b7280;
  line-height: 1.35;
}
.rv-app-report__reasons {
  display: flex;
  flex-direction: column;
  border-top: 1px solid #e5e7eb;
}
.rv-app-report__reason {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  margin: 0;
  padding: 16px 2px;
  border: 0;
  border-bottom: 1px solid #e5e7eb;
  background: transparent;
  color: #374151;
  font: inherit;
  font-size: 1rem;
  text-align: left;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.rv-app-report__chev {
  color: #9ca3af;
  font-size: 1.2rem;
  line-height: 1;
}
.rv-app-report__compose {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding-top: 4px;
}
.rv-app-report__compose[hidden] {
  display: none !important;
}
.rv-app-report__back-reasons {
  appearance: none;
  border: 0;
  background: transparent;
  color: #0a9d6a;
  font: inherit;
  font-weight: 650;
  font-size: 0.9rem;
  padding: 0;
  text-align: left;
  cursor: pointer;
}
.rv-app-report__chosen {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 650;
  color: #111827;
}
.rv-app-report__label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 0.85rem;
  font-weight: 600;
  color: #4b5563;
}
.rv-app-report__message,
.rv-app-report__email {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #d1d5db;
  border-radius: 12px;
  padding: 12px 14px;
  font: inherit;
  font-size: 16px;
  color: #111827;
  background: #fff;
}
.rv-app-report__error {
  margin: 0;
  color: #b91c1c;
  font-size: 0.88rem;
  font-weight: 600;
}
.rv-app-report__submit {
  margin-top: 4px;
  width: 100%;
  min-height: 52px;
}
.rv-app-report__success {
  padding-top: 28px;
  text-align: center;
}
.rv-app-report__success[hidden] {
  display: none !important;
}
.rv-app-report__success-title {
  margin: 0 0 8px;
  font-size: 1.15rem;
  font-weight: 750;
}
.rv-app-report__success-body {
  margin: 0 0 18px;
  color: #6b7280;
  font-size: 0.95rem;
  line-height: 1.4;
}
.rv-app-report__loading {
  padding: 24px 8px;
  color: #6b7280;
}

/* Marker for V82 lockstep QA */
html.rv-standalone.rv-app-ready {
  --rv-app-v82: 1;
}

/* ========== V83 — bottom gap only: pin chrome to physical viewport bottom ========== */

/*
 * Root cause: V81 sized #rv-app-root to visualViewport.height and absolutely
 * positioned tabs inside it. On iOS standalone vv is often shorter than the
 * physical screen, so a white void appears under the tab / Enquire bars.
 * Fix: fill the layout viewport with inset:0, pin chrome with position:fixed
 * to the viewport bottom, and paint a white underlay for any leftover band.
 */
html.rv-standalone.rv-app-ready,
html.rv-standalone.rv-app-ready body {
  min-height: 100% !important;
  min-height: 100dvh !important;
  height: 100% !important;
  height: 100dvh !important;
  max-height: none !important;
  overflow: hidden !important;
  background: #fff !important;
}
@supports (min-height: -webkit-fill-available) {
  html.rv-standalone.rv-app-ready,
  html.rv-standalone.rv-app-ready body {
    min-height: -webkit-fill-available !important;
    height: -webkit-fill-available !important;
  }
}
html.rv-standalone.rv-app-ready #rv-app-root {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #fff !important;
  box-sizing: border-box !important;
}

/* Viewport-fixed chrome (not absolute inside a short shell). */
html.rv-standalone.rv-app-ready #rv-app-root > .rv-app-tabs:not([hidden]) {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 50 !important;
  margin: 0 !important;
  flex: none !important;
  width: 100% !important;
  box-sizing: border-box !important;
  min-height: 52px !important;
  padding: 4px 0 env(safe-area-inset-bottom, 0px) !important;
  background: #fff !important;
  border-top: 0.5px solid rgba(60, 60, 67, 0.18) !important;
  transform: none !important;
}
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-enquire-bar,
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-action-bar.rv-app-enquire-bar,
html.rv-standalone.rv-app-ready.rv-app-enquire-screen .rv-app-enquire__footer,
html.rv-standalone.rv-app-ready.rv-app-enquire-screen .rv-app-enquire__footer.rv-app-action-bar {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 50 !important;
  margin: 0 !important;
  padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px)) !important;
  background: #fff !important;
  border-top: 1px solid #e8ecf1;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  transform: none !important;
  min-height: 0 !important;
}

/* White underlay at the physical bottom — covers any residual void under chrome. */
html.rv-standalone.rv-app-ready #rv-app-root > .rv-app-bottom-fill,
html.rv-standalone.rv-app-ready #rv-app-bottom-fill {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  height: calc(env(safe-area-inset-bottom, 0px) + 72px) !important;
  background: #fff !important;
  z-index: 40 !important;
  pointer-events: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

/* Legacy framed pages also pin main above the fixed tabs. */
html.rv-standalone.rv-app-ready.rv-app-legacy-main body > main,
html.rv-standalone.rv-app-ready.rv-app-sub-framed body > main {
  bottom: calc(56px + env(safe-area-inset-bottom, 0px)) !important;
}

/* Marker for V83 lockstep QA */
html.rv-standalone.rv-app-ready {
  --rv-app-v83: 1;
}

/* ========== V84 — bottom gap: body-level fixed chrome + capped safe-area ========== */

/*
 * V83 still left a void: fixed chrome inside #rv-app-root can be trapped by iOS
 * containing-block quirks, and env(safe-area-inset-bottom) can inflate a tall
 * white band under tab labels. V84 moves tabs/Enquire/fill to document.body and
 * pins them with inline !important styles (see relocateAndPinBottomChrome).
 */
html.rv-standalone.rv-app-ready,
html.rv-standalone.rv-app-ready body {
  background: #ffffff !important;
  overflow: hidden !important;
}
html.rv-standalone.rv-app-ready body {
  /* V85: NEVER position:fixed body on iOS — it shortens the viewport and lifts
     bottom:0 tabs, creating the phone-only white gap (desktop has no safe-area
     so it looked fine). */
  position: static !important;
  inset: auto !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  min-height: 100% !important;
  min-height: 100dvh !important;
}
body > .rv-app-tabs,
body > .rv-app-enquire-bar,
body > .rv-app-enquire__footer,
body > #rv-app-bottom-fill,
html.rv-standalone.rv-app-ready body > .rv-app-tabs,
html.rv-standalone.rv-app-ready body > .rv-app-enquire-bar,
html.rv-standalone.rv-app-ready body > .rv-app-enquire__footer,
html.rv-standalone.rv-app-ready body > #rv-app-bottom-fill {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  top: auto !important;
  margin: 0 !important;
  transform: none !important;
  filter: none !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
body > .rv-app-tabs,
html.rv-standalone.rv-app-ready body > .rv-app-tabs {
  z-index: 10050 !important;
  background: #ffffff !important;
  border-top: 0.5px solid rgba(60, 60, 67, 0.18) !important;
  padding-top: 4px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-bottom: var(--rv-app-sab-px, 0px) !important;
  min-height: 52px !important;
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}
body > .rv-app-enquire-bar,
body > .rv-app-enquire__footer,
html.rv-standalone.rv-app-ready body > .rv-app-enquire-bar,
html.rv-standalone.rv-app-ready body > .rv-app-enquire__footer {
  z-index: 10050 !important;
  background: #ffffff !important;
  border-top: 1px solid #e8ecf1 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  min-height: 0 !important;
  padding-bottom: var(--rv-app-sab-px, 0px) !important;
}
body > #rv-app-bottom-fill,
html.rv-standalone.rv-app-ready body > #rv-app-bottom-fill {
  z-index: 9990 !important;
  height: 48px !important;
  max-height: 48px !important;
  background: #ffffff !important;
  pointer-events: none !important;
  border: 0 !important;
  padding: 0 !important;
}

/* Kill any remaining safe-area padding rules that fight the inline pin.
   Fallback is 0 — never raw env() (uncapped env painted the phone-only tall band). */
html.rv-standalone.rv-app-ready #rv-app-root > .rv-app-tabs:not([hidden]),
html.rv-standalone.rv-app-ready .rv-app-tabs {
  padding-bottom: var(--rv-app-sab-px, 0px) !important;
}
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-enquire-bar,
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-action-bar.rv-app-enquire-bar,
html.rv-standalone.rv-app-ready.rv-app-enquire-screen .rv-app-enquire__footer,
html.rv-standalone.rv-app-ready.rv-app-enquire-screen .rv-app-enquire__footer.rv-app-action-bar {
  padding-bottom: var(--rv-app-sab-px, 0px) !important;
  min-height: 0 !important;
  transform: none !important;
}

/* Marker for V84/V85 lockstep QA */
html.rv-standalone.rv-app-ready {
  --rv-app-v84: 1;
  --rv-app-v85: 1;
}

/* ========== V86 — phone gap: kill fill trap + sab-only + measured lift correct ========== */

/*
 * Pixel QA on the phone screenshot: labels sat ~tabs-h (~52px) + safe-area above the
 * physical bottom. Desktop (sab=0, no fill) looked flush. Cause: bottom-fill sibling
 * under flex tabs and/or uncapped env() padding. V86 removes the fill, pins tabs on
 * body from mount, caps sab at 34, and JS corrects any residual lift.
 */
html.rv-standalone.rv-app-ready #rv-app-bottom-fill,
html.rv-standalone.rv-app-ready .rv-app-bottom-fill,
body > #rv-app-bottom-fill {
  display: none !important;
  height: 0 !important;
  max-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  pointer-events: none !important;
}

html.rv-standalone.rv-app-ready body > .rv-app-tabs,
body > .rv-app-tabs {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  top: auto !important;
  margin: 0 !important;
  margin-top: 0 !important;
  flex: none !important;
  transform: none !important;
  box-sizing: border-box !important;
  min-height: 0 !important;
  padding-top: 4px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-bottom: var(--rv-app-sab-px, 0px) !important;
  background: #ffffff !important;
  z-index: 10050 !important;
  border-top: 0.5px solid rgba(60, 60, 67, 0.18) !important;
}

html.rv-standalone.rv-app-ready {
  --rv-app-v86: 1;
}

/* ========== V89 — iOS edge-to-edge safe-area reset (remove V79–V86 gap chase) ========== */

/*
 * Root cause: after viewport-fit=cover (V72), full env(safe-area-inset-bottom) was
 * applied as tab/Enquire LAYOUT padding, lifting icons/labels and reading as a large
 * white band. V79–V86 compensated with shell-h / body pins / fills / lift hacks.
 * V89: one shell (inset:0), screen-scoped top safe-area, reduced bottom CONTENT inset,
 * bar background still reaches the physical bottom.
 */
html.rv-standalone.rv-app-ready {
  /* V92: final internal inset calibration. sab=34 → 2px. */
  --rv-app-bottom-content-inset: clamp(0px, calc(env(safe-area-inset-bottom, 0px) - 32px), 6px);
  --rv-app-chrome-bottom: calc(var(--rv-app-tabs-h) + var(--rv-app-bottom-content-inset));
  --rv-app-v89: 1;
  --rv-app-v91: 1;
  --rv-app-v92: 1;
}

html.rv-standalone.rv-app-ready,
html.rv-standalone.rv-app-ready body {
  position: static !important;
  inset: auto !important;
  height: 100% !important;
  height: 100dvh !important;
  max-height: none !important;
  min-height: 100% !important;
  min-height: 100dvh !important;
  overflow: hidden !important;
  background: #ffffff !important;
  transform: none !important;
}
@supports (height: -webkit-fill-available) {
  html.rv-standalone.rv-app-ready,
  html.rv-standalone.rv-app-ready body {
    min-height: -webkit-fill-available !important;
    height: -webkit-fill-available !important;
  }
}

html.rv-standalone.rv-app-ready #rv-app-root {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  transform: none !important;
  filter: none !important;
  display: flex !important;
  flex-direction: column !important;
  box-sizing: border-box !important;
  background: var(--rv-app-bg, #eef2f6) !important;
}

/* Kill bottom-fill and body-relocated chrome from V83–V86. */
html.rv-standalone.rv-app-ready #rv-app-bottom-fill,
html.rv-standalone.rv-app-ready .rv-app-bottom-fill,
body > #rv-app-bottom-fill {
  display: none !important;
  height: 0 !important;
  max-height: 0 !important;
  pointer-events: none !important;
}

html.rv-standalone.rv-app-ready #rv-app-root > .rv-app-tabs:not([hidden]):not([data-rv-tabs-hidden="1"]),
html.rv-standalone.rv-app-ready .rv-app-tabs:not([hidden]):not([data-rv-tabs-hidden="1"]),
html.rv-standalone.rv-app-ready body > .rv-app-tabs:not([hidden]):not([data-rv-tabs-hidden="1"]) {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  margin-top: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  transform: none !important;
  translate: none !important;
  box-sizing: border-box !important;
  min-height: calc(var(--rv-app-tabs-h) + var(--rv-app-bottom-content-inset)) !important;
  height: auto !important;
  padding: 4px 0 var(--rv-app-bottom-content-inset) !important;
  background: #ffffff !important;
  border-top: 0.5px solid rgba(60, 60, 67, 0.18) !important;
  z-index: 50 !important;
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

/* Primary screens: header owns top safe-area (already on .rv-app-header). */
html.rv-standalone.rv-app-ready:not(.rv-app-detail-screen):not(.rv-app-map-screen) .rv-app-header {
  padding-top: var(--rv-app-safe-top) !important;
}
html.rv-standalone.rv-app-ready.rv-app-map-screen .rv-app-header {
  padding-top: 0 !important;
}

/* Detail: keep edge-to-edge hero; controls keep safe-top (existing overlay rules). */
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-enquire-bar,
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-action-bar.rv-app-enquire-bar,
html.rv-standalone.rv-app-ready.rv-app-enquire-screen .rv-app-enquire__footer,
html.rv-standalone.rv-app-ready.rv-app-enquire-screen .rv-app-enquire__footer.rv-app-action-bar {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  top: auto !important;
  transform: none !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  padding-bottom: calc(10px + var(--rv-app-bottom-content-inset)) !important;
  background: #ffffff !important;
  min-height: 0 !important;
  z-index: 40 !important;
}

html.rv-standalone.rv-app-ready:not(.rv-app-detail-screen):not(.rv-app-enquire-screen) #rv-app-root > .rv-app-stage {
  padding-bottom: 0 !important;
  box-sizing: border-box !important;
}

html.rv-standalone.rv-app-ready.rv-app-legacy-main body > main,
html.rv-standalone.rv-app-ready.rv-app-sub-framed body > main {
  bottom: var(--rv-app-chrome-bottom) !important;
}

/* ========== V91 — CASE 1 compact internal bottom spacing ========== */
/*
 * Physical dumps proved A=0 and C=0 (tab/root already at vv bottom).
 * Visible white band was INTERNAL padding (16px inset → ~22px label lift).
 * V91: inset = clamp(0, sab-28, 10) → 6px on 34px-safe iPhones.
 */

/* ========== V92 — final internal bottom-spacing calibration (2px @ sab=34) ========== */

/* ========== V26 — More primary tab + native secondary screens ========== */
/* ========== V27 — physical secondary shell + overscroll isolation ========== */

/* ========== V28 — secondary route repair + More primary park ========== */

/* Central tabs invariant: secondary ⇒ tabs never paint (beats legacy display:grid). */
html.rv-standalone.rv-app-ready[data-rv-tabs="hidden"] .rv-app-tabs,
html.rv-standalone.rv-app-ready.rv-app-tabs-hidden .rv-app-tabs,
html.rv-standalone.rv-app-ready .rv-app-tabs[hidden],
html.rv-standalone.rv-app-ready .rv-app-tabs[data-rv-tabs-hidden="1"],
html.rv-standalone.rv-app-ready body > .rv-app-tabs[hidden],
html.rv-standalone.rv-app-ready body > .rv-app-tabs[data-rv-tabs-hidden="1"] {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  opacity: 0 !important;
}

html.rv-standalone.rv-app-ready[data-rv-tabs="hidden"] #rv-app-root,
html.rv-standalone.rv-app-ready.rv-app-tabs-hidden #rv-app-root,
html.rv-standalone.rv-app-ready.rv-app-screen--secondary #rv-app-root {
  padding-bottom: 0 !important;
}

/* Parked primary: keep DOM/state, never paint under More rubber-band. */
#rv-app-primary-park,
.rv-app-primary-park,
html.rv-standalone.rv-app-ready #rv-app-primary-park {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  position: absolute !important;
  left: -10000px !important;
  top: 0 !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  content-visibility: hidden !important;
  z-index: -1 !important;
}

/* More owns full primary content viewport; only active stage paints. */
html.rv-standalone.rv-app-ready.rv-app-screen--more #rv-app-root {
  background: var(--rv-app-bg, #f4f5f7) !important;
  isolation: isolate;
}
html.rv-standalone.rv-app-ready.rv-app-screen--more #rv-app-root > .rv-app-stage,
html.rv-standalone.rv-app-ready.rv-app-screen--more .rv-app-stage--more {
  position: relative !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: 100% !important;
  background: var(--rv-app-bg, #f4f5f7) !important;
  background-clip: border-box !important;
  overscroll-behavior-y: none !important;
  -webkit-overflow-scrolling: touch;
  isolation: isolate;
  z-index: 2;
  /* Extend opaque paint through iOS rubber-band region */
  box-shadow:
    0 -100vh 0 100vh var(--rv-app-bg, #f4f5f7),
    0 100vh 0 100vh var(--rv-app-bg, #f4f5f7);
}
html.rv-standalone.rv-app-ready.rv-app-screen--more .rv-app-more-screen {
  min-height: 100%;
  background: var(--rv-app-bg, #f4f5f7);
  box-shadow:
    0 -100vh 0 100vh var(--rv-app-bg, #f4f5f7),
    0 100vh 0 100vh var(--rv-app-bg, #f4f5f7);
}


/* html screen flags use rv-app-screen--* (never collide with content BEM). */
html.rv-standalone.rv-app-ready.rv-app-native-screen body > main {
  display: none !important;
}

html.rv-standalone.rv-app-ready.rv-app-screen--secondary .rv-app-tabs,
html.rv-standalone.rv-app-ready.rv-app-screen--areas .rv-app-tabs,
html.rv-standalone.rv-app-ready.rv-app-screen--agents .rv-app-tabs,
html.rv-standalone.rv-app-ready.rv-app-screen--agent .rv-app-tabs,
html.rv-standalone.rv-app-ready.rv-app-screen--info .rv-app-tabs,
html.rv-standalone.rv-app-ready.rv-app-screen--handoff .rv-app-tabs {
  display: none !important;
}

html.rv-standalone.rv-app-ready.rv-app-screen--secondary #rv-app-root,
html.rv-standalone.rv-app-ready.rv-app-screen--areas #rv-app-root,
html.rv-standalone.rv-app-ready.rv-app-screen--agents #rv-app-root,
html.rv-standalone.rv-app-ready.rv-app-screen--agent #rv-app-root,
html.rv-standalone.rv-app-ready.rv-app-screen--info #rv-app-root,
html.rv-standalone.rv-app-ready.rv-app-screen--handoff #rv-app-root {
  padding-bottom: 0;
}

/* Shared secondary header: Back + centered title */
.rv-app-header--secondary .rv-app-header__inner {
  position: relative;
}
.rv-app-header--secondary .rv-app-header__back {
  position: relative;
  z-index: 2;
}
.rv-app-header--secondary .rv-app-header__title--center {
  position: absolute;
  left: 56px;
  right: 56px;
  text-align: center;
  flex: 0 1 auto;
  pointer-events: none;
}
.rv-app-header--secondary .rv-app-header__side-spacer {
  width: 44px;
  min-width: 44px;
  flex: 0 0 44px;
  margin-left: auto;
}

/* More overscroll isolation — opaque stage owns the scrollport */
html.rv-standalone.rv-app-ready.rv-app-screen--more #rv-app-root {
  background: var(--rv-app-bg, #eef2f6) !important;
}
html.rv-standalone.rv-app-ready.rv-app-screen--more .rv-app-header {
  background: #ffffff;
  z-index: 3;
}
html.rv-standalone.rv-app-ready.rv-app-screen--more .rv-app-stage,
html.rv-standalone.rv-app-ready.rv-app-screen--more .rv-app-stage--more {
  background: var(--rv-app-bg, #f4f5f7) !important;
  overscroll-behavior-y: contain;
  isolation: isolate;
  -webkit-overflow-scrolling: touch;
}
html.rv-standalone.rv-app-ready.rv-app-screen--secondary .rv-app-stage,
html.rv-standalone.rv-app-ready.rv-app-screen--secondary .rv-app-stage--secondary {
  background: var(--rv-app-bg, #f4f5f7) !important;
  overscroll-behavior-y: contain;
  isolation: isolate;
}

.rv-app-secondary-body {
  min-height: 100%;
  padding: 8px 16px calc(24px + var(--rv-app-safe-bottom, env(safe-area-inset-bottom, 0px)));
  box-sizing: border-box;
  background: var(--rv-app-bg, #f4f5f7);
}

.rv-app-more-screen {
  min-height: 100%;
  padding: 8px 16px calc(16px + var(--rv-app-bottom-content-inset, 0px));
  box-sizing: border-box;
  background: var(--rv-app-bg, #f4f5f7);
  /* Extend opaque paint into iOS rubber-band region */
  box-shadow: 0 -50vh 0 50vh var(--rv-app-bg, #f4f5f7), 0 50vh 0 50vh var(--rv-app-bg, #f4f5f7);
}

.rv-app-areas-screen,
.rv-app-agents-screen,
.rv-app-agent-profile {
  background: transparent;
}

.rv-app-more-screen__group {
  margin: 0 0 18px;
}

.rv-app-more-screen__group-title {
  margin: 0 0 8px 4px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--rv-app-ink-muted, #6b7280);
}

.rv-app-more-screen__rows {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(15, 20, 38, 0.06);
}

.rv-app-more-screen .rv-app-row,
.rv-app-areas-screen .rv-app-row {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 54px;
  padding: 10px 14px;
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid rgba(15, 20, 38, 0.06);
}

.rv-app-more-screen .rv-app-row:last-child,
.rv-app-areas-screen .rv-app-row:last-child {
  border-bottom: 0;
}

.rv-app-areas-screen__search {
  margin: 0 0 14px;
}

.rv-app-areas-screen__input {
  width: 100%;
  min-height: 44px;
  border-radius: 12px;
  border: 1px solid rgba(15, 20, 38, 0.12);
  padding: 10px 14px;
  font: inherit;
  background: #fff;
  box-sizing: border-box;
}

.rv-app-agent-row {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 64px;
  padding: 12px 14px;
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid rgba(15, 20, 38, 0.06);
  background: #fff;
}

.rv-app-agents-screen__list {
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(15, 20, 38, 0.06);
}

.rv-app-agent-row:last-child {
  border-bottom: 0;
}

.rv-app-agent-row__copy {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.rv-app-agent-row__name {
  font-weight: 650;
  font-size: 0.98rem;
}

.rv-app-agent-row__meta {
  font-size: 0.82rem;
  color: var(--rv-app-ink-muted, #6b7280);
}

.rv-app-agent-avatar {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #eef1f4;
  color: #334155;
  font-weight: 700;
  font-size: 0.85rem;
  overflow: hidden;
}

.rv-app-agent-avatar img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #fff;
}

.rv-app-agent-profile__identity {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 6px;
  padding: 12px 8px 20px;
  background: #fff;
  border-radius: 14px;
  border: 1px solid rgba(15, 20, 38, 0.06);
  margin-bottom: 16px;
}

.rv-app-agent-profile__identity .rv-app-agent-avatar {
  width: 78px;
  height: 78px;
  border-radius: 16px;
  font-size: 1.2rem;
}

.rv-app-skeleton--avatar {
  width: 78px;
  height: 78px;
  border-radius: 16px;
  display: block;
}

.rv-app-skeleton--line {
  height: 12px;
  width: 70%;
  border-radius: 6px;
  margin: 6px auto 0;
}
.rv-app-skeleton--line-short {
  width: 44%;
}
.rv-app-skeleton--block {
  height: 72px;
  border-radius: 10px;
  width: 100%;
}

.rv-app-agent-profile__name {
  margin: 8px 0 0;
  font-size: 1.25rem;
  font-weight: 700;
}

.rv-app-agent-profile__kind,
.rv-app-agent-profile__count,
.rv-app-agent-profile__areas,
.rv-app-agent-profile__empty {
  margin: 0;
  color: var(--rv-app-ink-muted, #6b7280);
  font-size: 0.9rem;
}

.rv-app-agent-profile__section-title {
  margin: 0 0 10px;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--rv-app-ink-muted, #6b7280);
}

.rv-app-agent-profile__about,
.rv-app-agent-profile__facts,
.rv-app-agent-profile__rentals {
  background: #fff;
  border-radius: 14px;
  border: 1px solid rgba(15, 20, 38, 0.06);
  padding: 14px;
  margin-bottom: 14px;
}

.rv-app-agent-profile__about p {
  margin: 0;
  line-height: 1.45;
  white-space: pre-wrap;
  font-size: 1rem;
}

.rv-app-agent-profile__dl {
  margin: 0;
  display: grid;
  gap: 10px;
}

.rv-app-agent-profile__dl div {
  display: grid;
  gap: 2px;
}

.rv-app-agent-profile__dl dt {
  font-size: 0.75rem;
  color: var(--rv-app-ink-muted, #6b7280);
}

.rv-app-agent-profile__dl dd {
  margin: 0;
  font-size: 0.95rem;
}

.rv-app-agent-profile__cta {
  display: inline-flex;
  margin-top: 12px;
  font-weight: 650;
  color: var(--rv-app-accent, #0a9d6a);
  text-decoration: none;
}

.rv-app-secondary-loading,
.rv-app-secondary-error,
.rv-app-empty-inline {
  padding: 28px 12px;
  text-align: center;
  color: var(--rv-app-ink-muted, #6b7280);
}

.rv-app-section-error {
  padding: 16px 12px;
  text-align: center;
  color: var(--rv-app-ink-muted, #6b7280);
  background: #f8fafc;
  border-radius: 12px;
}

.rv-app-section-error p {
  margin: 0 0 10px;
}

.rv-app-info-screen {
  /* content wrapper only — never applied to <html> */
}

.rv-app-info-block {
  background: #fff;
  border-radius: 14px;
  border: 1px solid rgba(15, 20, 38, 0.06);
  padding: 14px 16px;
  margin-bottom: 12px;
}

.rv-app-info-block h2 {
  margin: 0 0 8px;
  font-size: 1.05rem;
}

.rv-app-info-block ul {
  margin: 8px 0 0;
  padding-left: 1.15rem;
}

.rv-app-info-block li {
  margin: 0 0 6px;
  line-height: 1.4;
  font-size: 1rem;
}

.rv-app-info-block p,
.rv-app-info-screen__lede,
.rv-app-info-screen__note {
  margin: 0 0 14px;
  line-height: 1.5;
  font-size: 1rem;
  color: var(--rv-app-ink-soft, #374151);
}

.rv-app-doc-screen {
  background: #fff;
  border-radius: 14px;
  border: 1px solid rgba(15, 20, 38, 0.06);
  padding: 16px;
  line-height: 1.55;
  font-size: 1rem;
  color: var(--rv-app-ink, #111827);
}

.rv-app-doc-screen h1,
.rv-app-doc-screen h2 {
  line-height: 1.25;
  font-size: 1.1rem;
  margin: 1.25em 0 0.5em;
}

.rv-app-doc-screen h2:first-child,
.rv-app-doc-screen > .rv-app-doc-note:first-child + h2,
.rv-app-doc-screen > p:first-child + h2 {
  margin-top: 0.35em;
}

.rv-app-doc-screen p,
.rv-app-doc-screen li {
  font-size: 1rem;
  line-height: 1.55;
}

.rv-app-doc-note {
  margin: 0 0 12px;
  font-size: 0.85rem;
  color: var(--rv-app-ink-muted, #6b7280);
}

.rv-app-handoff {
  margin-top: 12px;
  padding: 20px 16px;
  text-align: center;
  background: #fff;
  border-radius: 14px;
  border: 1px solid rgba(15, 20, 38, 0.06);
  max-width: 420px;
  margin-left: auto;
  margin-right: auto;
}

.rv-app-handoff__icon {
  width: 56px;
  height: 56px;
  margin: 0 auto 12px;
  border-radius: 14px;
  background: #eef8f3;
  color: var(--rv-app-accent, #0a9d6a);
  display: flex;
  align-items: center;
  justify-content: center;
}

.rv-app-handoff__icon .icon,
.rv-app-handoff__icon .rv-app-icon {
  width: 28px;
  height: 28px;
}

.rv-app-handoff__title {
  margin: 0 0 8px;
  font-size: 1.2rem;
  font-weight: 700;
}

.rv-app-handoff__copy {
  margin: 0 0 16px;
  color: var(--rv-app-ink-soft, #374151);
  line-height: 1.45;
  font-size: 0.98rem;
}

.rv-app-handoff__hint {
  margin: 12px 0 0;
  font-size: 0.82rem;
  color: var(--rv-app-ink-muted, #6b7280);
}

.rv-app-form {
  display: grid;
  gap: 12px;
  background: #fff;
  border-radius: 14px;
  border: 1px solid rgba(15, 20, 38, 0.06);
  padding: 14px;
}

.rv-app-form__label {
  display: grid;
  gap: 6px;
  font-size: 0.88rem;
  font-weight: 600;
}

.rv-app-form__label input,
.rv-app-form__label select,
.rv-app-form__label textarea {
  font: inherit;
  font-weight: 400;
  min-height: 44px;
  border-radius: 10px;
  border: 1px solid rgba(15, 20, 38, 0.14);
  padding: 10px 12px;
}

.rv-app-form__label textarea {
  min-height: 120px;
  resize: vertical;
}

.rv-app-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 16px;
  border-radius: 12px;
  border: 0;
  font: inherit;
  font-weight: 650;
  text-decoration: none;
  cursor: pointer;
}

.rv-app-btn--primary {
  background: var(--rv-app-accent, #0a9d6a);
  color: #fff;
}

.rv-app-btn--secondary {
  background: #eef1f4;
  color: #111827;
}

.rv-app-form__status {
  margin: 0;
  font-size: 0.9rem;
  color: var(--rv-app-ink-muted, #6b7280);
}

html.rv-standalone.rv-app-ready {
  --rv-app-v27: 1;
}


/* ========== V29 — final pre-QA blockers ========== */

/* Icon-only Back: hide literal Back text; keep 44x44 hit target + aria-label. */
.rv-app-header__back-text,
html.rv-standalone.rv-app-ready .rv-app-header__back-text,
html.rv-standalone.rv-app-ready.rv-app-enquire-screen .rv-app-header__back-text,
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-header__back-text {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  clip: rect(0, 0, 0, 0) !important;
}
.rv-app-header__back,
html.rv-standalone.rv-app-ready .rv-app-header__back {
  min-width: 44px !important;
  min-height: 44px !important;
  width: 44px;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}
.rv-app-header--secondary .rv-app-header__title--center {
  left: 52px;
  right: 52px;
}

/* Legal body must never paint as blank secondary stage */
html.rv-standalone.rv-app-ready.rv-app-screen--info .rv-app-stage--secondary,
html.rv-standalone.rv-app-ready.rv-app-screen--info .rv-app-secondary-body,
html.rv-standalone.rv-app-ready.rv-app-screen--info .rv-app-doc-screen {
  visibility: visible !important;
  opacity: 1 !important;
  color: var(--rv-app-ink, #111827);
  min-height: 40vh;
}
html.rv-standalone.rv-app-ready.rv-app-screen--info .rv-app-doc-screen {
  display: block !important;
}

/* Search: overlay must not stack as a second field while SERP is active */
html.rv-standalone.rv-app-ready.rv-app-search-screen #rv-app-search:not(.is-open),
html.rv-standalone.rv-app-ready.rv-app-search-screen #rv-app-search[hidden] {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
html.rv-standalone.rv-app-ready.rv-app-search-screen .rv-app-home-sticky-bar,
html.rv-standalone.rv-app-ready.rv-app-search-screen .rv-app-home-sticky-bar.is-active {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
html.rv-standalone.rv-app-ready.rv-app-search-screen .rv-app-serp__sticky + .rv-app-serp__sticky {
  display: none !important;
}


/* ========== V30 — final physical nav + polish ========== */

#rv-app-legal-park,
.rv-app-legal-park {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
}

/* Back chevron standard */
html.rv-standalone.rv-app-ready .rv-app-header__back {
  min-width: 44px !important;
  min-height: 44px !important;
  width: 44px;
  margin-left: 4px;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}
html.rv-standalone.rv-app-ready .rv-app-header__back .icon,
html.rv-standalone.rv-app-ready .rv-app-header__back svg.icon.rv-app-icon {
  width: 21px !important;
  height: 21px !important;
  fill: none !important;
  stroke: currentColor !important;
}
html.rv-standalone.rv-app-ready .rv-app-header--secondary .rv-app-header__inner {
  padding-left: 8px;
  padding-right: 12px;
}

/* Row chevron standard */
.rv-app-row__chevron,
.rv-app-more-screen .rv-app-row__chevron,
.rv-app-areas-screen .rv-app-row__chevron,
.rv-app-agent-row .rv-app-row__chevron,
.rv-app-agent-row__chevron {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  margin-left: auto;
  color: #9ca3af;
  flex: 0 0 auto;
}
.rv-app-row__chevron .icon,
.rv-app-row__chevron svg.icon.rv-app-icon,
.rv-app-agent-row__chevron .icon {
  width: 18px !important;
  height: 18px !important;
  fill: none !important;
  stroke: currentColor !important;
}

/* Gallery/card nav arrows — frosted circle, separate from Back */
.rv-app-card__nav {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px;
  min-height: 44px;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.88) !important;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  box-shadow: 0 2px 10px rgba(15, 20, 38, 0.14);
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}
.rv-app-card__nav .icon,
.rv-app-card__nav svg.icon {
  width: 16px !important;
  height: 16px !important;
  fill: none !important;
  stroke: currentColor !important;
}
.rv-app-card__nav::after {
  display: none !important;
}

/* Legal screens must not leave sticky Detail/Enquire chrome visible */
html.rv-standalone.rv-app-ready.rv-app-screen--info .rv-app-enquire-bar,
html.rv-standalone.rv-app-ready.rv-app-screen--info .rv-app-enquire__footer,
html.rv-standalone.rv-app-ready[data-rv-page-kind="info"] .rv-app-enquire-bar,
html.rv-standalone.rv-app-ready[data-rv-page-kind="info"] .rv-app-enquire__footer {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}


/* ========== V31 — warm-nav premium polish ========== */

#rv-app-screen-park,
.rv-app-screen-park,
.rv-app-screen-park-slot {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
}

/* Legacy More sheet must never paint in installed app */
html.rv-standalone.rv-app-ready #rv-app-more,
html.rv-standalone.rv-app-ready .rv-app-more.is-open {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  opacity: 0 !important;
}

/* Typography rhythm */
html.rv-standalone.rv-app-ready {
  --rv-type-title: 1.05rem;
  --rv-type-section: 0.95rem;
  --rv-type-body: 1rem;
  --rv-type-helper: 0.85rem;
  --rv-space-1: 8px;
  --rv-space-2: 12px;
  --rv-space-3: 16px;
  --rv-space-4: 24px;
  --rv-radius-card: 12px;
}
html.rv-standalone.rv-app-ready .rv-app-header__title {
  font-size: var(--rv-type-title);
  font-weight: 700;
}
html.rv-standalone.rv-app-ready .rv-app-section-title,
html.rv-standalone.rv-app-ready .rv-app-agent-profile__section-title,
html.rv-standalone.rv-app-ready .rv-app-more-screen__group-title {
  font-size: var(--rv-type-section);
  font-weight: 700;
}
html.rv-standalone.rv-app-ready .rv-app-secondary-body,
html.rv-standalone.rv-app-ready .rv-app-doc-screen,
html.rv-standalone.rv-app-ready .rv-app-info-block p {
  font-size: var(--rv-type-body);
}
html.rv-standalone.rv-app-ready .rv-app-doc-note,
html.rv-standalone.rv-app-ready .rv-app-handoff__hint,
html.rv-standalone.rv-app-ready .rv-app-enquire__legal {
  font-size: var(--rv-type-helper);
  color: var(--rv-app-ink-muted, #6b7280);
}

/* Detail hero dim */
.rv-app-detail-hero__dim {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: #000;
  opacity: 0.05;
  transition: opacity 80ms linear;
}
.rv-app-detail-hero--immersive {
  position: relative;
}

/* Smooth detail header frost using same progress */
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-header.rv-app-header--detail-overlay {
  background: rgba(17, 17, 17, calc(0.08 + (var(--rv-detail-header-progress, 0) * 0.35))) !important;
  -webkit-backdrop-filter: saturate(1.1) blur(calc(2px + (var(--rv-detail-header-progress, 0) * 10px)));
  backdrop-filter: saturate(1.1) blur(calc(2px + (var(--rv-detail-header-progress, 0) * 10px)));
  border-bottom-color: transparent;
  transition: background 90ms linear, backdrop-filter 90ms linear;
}
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-header.rv-app-header--detail-solid {
  background: rgba(255, 255, 255, calc(0.72 + (var(--rv-detail-header-progress, 0) * 0.28))) !important;
  -webkit-backdrop-filter: saturate(1.2) blur(12px);
  backdrop-filter: saturate(1.2) blur(12px);
  transition: background 90ms linear;
}

/* Restrained nav transitions */
@media (prefers-reduced-motion: no-preference) {
  html.rv-standalone.rv-app-ready.rv-app-nav-tab #rv-app-stage {
    animation: rv-nav-tab 110ms ease-out;
  }
  html.rv-standalone.rv-app-ready.rv-app-nav-push #rv-app-stage {
    animation: rv-nav-push 175ms cubic-bezier(0.22, 1, 0.36, 1);
  }
  html.rv-standalone.rv-app-ready.rv-app-nav-back #rv-app-stage {
    animation: rv-nav-back 175ms cubic-bezier(0.22, 1, 0.36, 1);
  }
}
@keyframes rv-nav-tab {
  from { opacity: 0.72; }
  to { opacity: 1; }
}
@keyframes rv-nav-push {
  from { opacity: 0.55; transform: translateX(12px); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes rv-nav-back {
  from { opacity: 0.55; transform: translateX(-12px); }
  to { opacity: 1; transform: translateX(0); }
}
@media (prefers-reduced-motion: reduce) {
  html.rv-standalone.rv-app-ready.rv-app-nav-tab #rv-app-stage,
  html.rv-standalone.rv-app-ready.rv-app-nav-push #rv-app-stage,
  html.rv-standalone.rv-app-ready.rv-app-nav-back #rv-app-stage {
    animation: none !important;
  }
}

/* Hide visible warm loading copy if any remaining */
html.rv-standalone.rv-app-ready .rv-app-enquire__loading,
html.rv-standalone.rv-app-ready .rv-app-report__loading,
html.rv-standalone.rv-app-ready .rv-app-secondary-loading > p,
html.rv-standalone.rv-app-ready .rv-app-loading-inline > span:not(.rv-app-skeleton):not(.visually-hidden) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
}

.rv-app-enquire__form-skel {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 16px 0;
}

.rv-app-reconnect-status {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  pointer-events: none;
}
.rv-app-reconnect-status .rv-app-skeleton--bar {
  width: 72px;
  height: 6px;
  border-radius: 999px;
  opacity: 0.55;
}


/* ========== V32 — lifecycle stability + detail consistency + premium motion ========== */

/* ONE Detail hero outer frame — all states (skeleton / empty / immersive / viewport) */
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-detail-hero,
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-detail-hero--immersive,
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-detail-hero--empty,
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-detail-hero--immersive .rv-app-detail-hero__viewport,
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-detail-hero--immersive.rv-app-detail-hero--empty,
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-skeleton--hero,
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-skeleton--hero-immersive,
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-detail--skeleton .rv-app-skeleton--hero {
  aspect-ratio: auto !important;
  height: clamp(220px, 36dvh, 280px) !important;
  min-height: clamp(220px, 36dvh, 280px) !important;
  max-height: clamp(220px, 36dvh, 280px) !important;
  margin-top: 0 !important;
}
@supports not (height: 36dvh) {
  html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-detail-hero,
  html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-detail-hero--immersive,
  html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-detail-hero--empty,
  html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-detail-hero--immersive .rv-app-detail-hero__viewport,
  html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-skeleton--hero,
  html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-skeleton--hero-immersive {
    height: 280px !important;
    min-height: 280px !important;
    max-height: 280px !important;
  }
}

/* Crop inside fixed frame — never change outer geometry */
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-detail-hero__img {
  object-fit: cover !important;
  object-position: center !important;
  filter: none !important;
  -webkit-filter: none !important;
  will-change: auto;
}

/* Sharp image: NO backdrop blur sampling the photo during hero/overlay phase */
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-header.rv-app-header--detail-overlay {
  background: transparent !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-header.rv-app-header--detail-overlay .rv-app-header__back,
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-header.rv-app-header--detail-overlay .rv-app-header__action {
  background: rgba(255, 255, 255, 0.92) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12);
}
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-header.rv-app-header--detail-overlay .rv-app-header__back::after,
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-header.rv-app-header--detail-overlay .rv-app-header__action::after {
  display: none !important;
}

/* Solid header frost only after takeover */
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-header.rv-app-header--detail-solid {
  background: rgba(255, 255, 255, calc(0.82 + (var(--rv-detail-header-progress, 0.55) * 0.18))) !important;
  -webkit-backdrop-filter: saturate(1.15) blur(10px) !important;
  backdrop-filter: saturate(1.15) blur(10px) !important;
  transition: background 100ms linear, backdrop-filter 100ms linear;
}

/* Dim overlay — dark only, full fixed hero frame */
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-detail-hero__dim {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: #000 !important;
  opacity: 0.04;
  transition: opacity 70ms linear;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  filter: none !important;
}

/* Motion — destination stage only; more perceptible secondary travel */
@media (prefers-reduced-motion: no-preference) {
  html.rv-standalone.rv-app-ready.rv-app-nav-tab #rv-app-stage {
    animation: rv-nav-tab-v32 70ms ease-out;
  }
  html.rv-standalone.rv-app-ready.rv-app-nav-push #rv-app-stage {
    animation: rv-nav-push-v32 180ms ease-out;
  }
  html.rv-standalone.rv-app-ready.rv-app-nav-back #rv-app-stage {
    animation: rv-nav-back-v32 180ms ease-out;
  }
}
@keyframes rv-nav-tab-v32 {
  from { opacity: 0.85; }
  to { opacity: 1; }
}
@keyframes rv-nav-push-v32 {
  from { opacity: 0.7; transform: translateX(22px); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes rv-nav-back-v32 {
  from { opacity: 0.7; transform: translateX(-22px); }
  to { opacity: 1; transform: translateX(0); }
}
@media (prefers-reduced-motion: reduce) {
  html.rv-standalone.rv-app-ready.rv-app-nav-tab #rv-app-stage,
  html.rv-standalone.rv-app-ready.rv-app-nav-push #rv-app-stage,
  html.rv-standalone.rv-app-ready.rv-app-nav-back #rv-app-stage {
    animation: none !important;
  }
}

/* Pressed / touch feedback — restrained */
html.rv-standalone.rv-app-ready .rv-app-card:active,
html.rv-standalone.rv-app-ready .rv-app-more-screen__row:active,
html.rv-standalone.rv-app-ready a.rv-app-more-screen__row:active,
html.rv-standalone.rv-app-ready .rv-app-agents-screen__row:active,
html.rv-standalone.rv-app-ready .rv-app-tab:active,
html.rv-standalone.rv-app-ready .rv-app-header__back:active,
html.rv-standalone.rv-app-ready .rv-app-header__action:active,
html.rv-standalone.rv-app-ready .rv-app-cta:active,
html.rv-standalone.rv-app-ready .rv-app-btn:active,
html.rv-standalone.rv-app-ready .rv-app-enquire__send:active,
html.rv-standalone.rv-app-ready .rv-app-action-bar__btn:active {
  transform: scale(0.98);
  opacity: 0.88;
}
html.rv-standalone.rv-app-ready .rv-app-card,
html.rv-standalone.rv-app-ready .rv-app-more-screen__row,
html.rv-standalone.rv-app-ready .rv-app-tab,
html.rv-standalone.rv-app-ready .rv-app-cta,
html.rv-standalone.rv-app-ready .rv-app-btn {
  transition: transform 80ms ease, opacity 80ms ease, background-color 80ms ease, color 80ms ease;
}
@media (prefers-reduced-motion: reduce) {
  html.rv-standalone.rv-app-ready .rv-app-card:active,
  html.rv-standalone.rv-app-ready .rv-app-more-screen__row:active,
  html.rv-standalone.rv-app-ready .rv-app-tab:active,
  html.rv-standalone.rv-app-ready .rv-app-cta:active,
  html.rv-standalone.rv-app-ready .rv-app-btn:active {
    transform: none;
  }
}

/* Bottom nav — optical packing only (V92 inset formula untouched) */
html.rv-standalone.rv-app-ready body > .rv-app-tabs,
html.rv-standalone.rv-app-ready .rv-app-tabs {
  padding-top: 2px !important;
}
html.rv-standalone.rv-app-ready .rv-app-tab {
  justify-content: center !important;
  gap: 1px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
html.rv-standalone.rv-app-ready .rv-app-tab__icon {
  padding-top: 0 !important;
  height: 24px !important;
  width: 28px !important;
}
html.rv-standalone.rv-app-ready .rv-app-tab.is-active::after,
html.rv-standalone.rv-app-ready .rv-app-tab[aria-current="page"]::after,
html.rv-standalone.rv-app-ready .rv-app-tab[aria-current="true"]::after {
  content: "";
  display: block;
  width: 16px;
  height: 2px;
  margin: 1px auto 0;
  border-radius: 2px;
  background: currentColor;
  opacity: 0.9;
}

/* Parks never paint */
#rv-app-primary-park,
#rv-app-legal-park,
.rv-app-primary-park,
.rv-app-legal-park {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}


/* ========== V33 — physical video QA + smoothness / cosmetic polish ========== */

/* Map calm shell — never flat empty grey */
html.rv-standalone.rv-app-ready .rv-app-map--shell,
html.rv-standalone.rv-app-ready .rv-app-map__host--shell {
  background: #dce3ea !important;
  min-height: 100%;
}
html.rv-standalone.rv-app-ready .rv-app-map__tile-veil {
  background: #dce3ea;
  opacity: 0.55;
  transition: opacity 180ms ease;
  pointer-events: none;
}
html.rv-standalone.rv-app-ready .rv-app-map__tile-veil.is-on {
  opacity: 0.72;
}
html.rv-standalone.rv-app-ready .rv-app-map__tile-veil:not(.is-on) {
  opacity: 0;
}

/* No blank stage: keep stage background white while content commits */
html.rv-standalone.rv-app-ready #rv-app-stage {
  background: #fff;
  min-height: 40vh;
}

/* Primary tab tactile settle */
@media (prefers-reduced-motion: no-preference) {
  html.rv-standalone.rv-app-ready.rv-app-nav-tab #rv-app-stage {
    animation: rv-nav-tab-v33 90ms ease-out !important;
  }
  html.rv-standalone.rv-app-ready.rv-app-nav-push #rv-app-stage {
    animation: rv-nav-push-v33 190ms ease-out !important;
  }
  html.rv-standalone.rv-app-ready.rv-app-nav-back #rv-app-stage {
    animation: rv-nav-back-v33 190ms ease-out !important;
  }
}
@keyframes rv-nav-tab-v33 {
  from { opacity: 0.92; transform: translateY(2px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes rv-nav-push-v33 {
  from { opacity: 0.78; transform: translateX(24px); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes rv-nav-back-v33 {
  from { opacity: 0.78; transform: translateX(-24px); }
  to { opacity: 1; transform: translateX(0); }
}

/* Pressed feedback refined */
html.rv-standalone.rv-app-ready .rv-app-card:active {
  transform: scale(0.985);
  opacity: 0.92;
}
html.rv-standalone.rv-app-ready .rv-app-more-screen__row:active,
html.rv-standalone.rv-app-ready .rv-app-agents-screen__row:active,
html.rv-standalone.rv-app-ready a.rv-app-more-screen__row:active {
  background: rgba(11, 110, 79, 0.06);
  opacity: 1;
  transform: none;
}
html.rv-standalone.rv-app-ready .rv-app-cta:active,
html.rv-standalone.rv-app-ready .rv-app-btn:active,
html.rv-standalone.rv-app-ready .rv-app-action-bar__btn:active {
  transform: scale(0.985);
  opacity: 0.9;
}
html.rv-standalone.rv-app-ready .rv-app-header__back:active,
html.rv-standalone.rv-app-ready .rv-app-header__action:active,
html.rv-standalone.rv-app-ready .rv-app-tab:active {
  opacity: 0.72;
  transform: scale(0.96);
}

/* Bottom nav selected — intentional green pill underline */
html.rv-standalone.rv-app-ready .rv-app-tab.is-active::after,
html.rv-standalone.rv-app-ready .rv-app-tab[aria-current="page"]::after,
html.rv-standalone.rv-app-ready .rv-app-tab[aria-current="true"]::after {
  width: 18px;
  height: 3px;
  border-radius: 999px;
  background: var(--rv-app-primary, #0b6e4f);
  opacity: 1;
  margin-top: 2px;
}
html.rv-standalone.rv-app-ready .rv-app-tab {
  justify-content: center !important;
  gap: 0 !important;
  padding-top: 1px !important;
}
html.rv-standalone.rv-app-ready .rv-app-tab__label {
  line-height: 1.1;
  margin-top: 1px;
}

/* Detail sticky CTA — price + enquire, no web blur bloom */
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-enquire-bar.rv-app-action-bar {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 10px 16px calc(10px + var(--rv-app-bottom-content-inset)) !important;
  background: #fff !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  border-top: 1px solid #e8ecf1 !important;
  box-shadow: 0 -4px 16px rgba(17, 24, 39, 0.06) !important;
}
html.rv-standalone.rv-app-ready .rv-app-enquire-bar__meta {
  display: flex;
  flex-direction: column;
  min-width: 0;
  flex: 1 1 auto;
}
html.rv-standalone.rv-app-ready .rv-app-enquire-bar__rent {
  font-size: 1.05rem;
  font-weight: 750;
  color: #111;
  line-height: 1.15;
}
html.rv-standalone.rv-app-ready .rv-app-enquire-bar__per {
  font-size: 0.78rem;
  color: #6b7280;
  font-weight: 500;
}
html.rv-standalone.rv-app-ready.rv-app-detail-screen .rv-app-enquire-bar .rv-app-cta {
  flex: 0 0 auto;
  width: auto !important;
  min-width: 132px;
  padding: 0 22px;
}

/* Hide enquire bar when Detail body absent */
html.rv-standalone.rv-app-ready:not(.rv-app-detail-screen) .rv-app-enquire-bar[data-rv-enquire-bar] {
  display: none !important;
}

/* Agent profile rhythm */
html.rv-standalone.rv-app-ready .rv-app-agent-profile {
  padding: 12px 16px 28px;
}
html.rv-standalone.rv-app-ready .rv-app-agent-profile__section-title {
  margin: 20px 0 10px;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: -0.01em;
}
html.rv-standalone.rv-app-ready .rv-app-agent-profile__about,
html.rv-standalone.rv-app-ready .rv-app-agent-profile__facts {
  margin-top: 8px;
  padding-top: 12px;
  border-top: 1px solid #eef1f4;
}
html.rv-standalone.rv-app-ready .rv-app-agent-profile__rentals .rv-app-card {
  border-radius: 12px;
}

/* More menu polish */
html.rv-standalone.rv-app-ready .rv-app-more-screen__group {
  margin: 8px 0 18px;
}
html.rv-standalone.rv-app-ready .rv-app-more-screen__group-title {
  margin: 0 16px 6px;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #6b7280;
}
html.rv-standalone.rv-app-ready .rv-app-more-screen__row {
  min-height: 52px;
  padding: 12px 16px;
  display: flex;
  align-items: center;
  gap: 12px;
}
html.rv-standalone.rv-app-ready .rv-app-more-screen__row .icon,
html.rv-standalone.rv-app-ready .rv-app-more-screen__row svg.icon {
  width: 22px;
  height: 22px;
  flex: 0 0 auto;
}
html.rv-standalone.rv-app-ready .rv-app-more-screen__chev,
html.rv-standalone.rv-app-ready .rv-app-more-screen__row .rv-app-row-chevron {
  margin-left: auto;
}

/* Search card geometry stable */
html.rv-standalone.rv-app-ready .rv-app-serp .rv-app-card__media,
html.rv-standalone.rv-app-ready .rv-app-serp .rv-app-card__img {
  aspect-ratio: 16 / 10;
  object-fit: cover;
}
