:root {
  /* === Brand Colors === */
  --primary: #c5a47e;
  --primary-dark: #b08d68;
  --primary-light: #d4bc9a;
  --btn: #C84824;
  --btn-hover: #b03d1e;

  /* === Text Colors (exact Clayo values) === */
  --text-dark: #131313;
  --text-body: #3D3D3D;
  --text-light: #888888;
  --text-faint: #888888;

  /* === Backgrounds === */
  --bg-white: #fff;
  --bg-light: #EEF0F3;
  --bg-beige: #F5F1EB;
  --bg-gray: #EEF0F3;
  --bg-dark: #131313;

  /* === Border & Effects === */
  --border: rgba(19, 19, 19, 0.1);
  --border-light: rgba(19, 19, 19, 0.06);
  --shadow: none;
  --shadow-hover: none;
  --transition: all 0.3s ease;

  /* === Typography Scale (Clayo design system) === */
  --font-heading: 'Inter', -apple-system, 'system-ui', 'Segoe UI', sans-serif;
  --font-body: 'Inter', -apple-system, 'system-ui', 'Segoe UI', sans-serif;
  --font-logo: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;

  --text-xs: 12px;
  --text-sm: 14px;
  --text-base: 16px;
  --text-lg: 18px;
  --text-xl: 22px;

  --heading-1: 68px;      /* Hero H1 — Clayo text-7xl */
  --heading-2: clamp(24px, 3vw, 36px);
  --heading-3: clamp(18px, 1.8vw, 20px);
  --heading-4: 18px;      /* Block heading H4 */
  --heading-weight: 400;  /* Clayo: regular weight */
  --heading-spacing: -0.03em;  /* Adapted for Cyrillic (Clayo -0.06em too tight for Russian) */

  /* === Spacing Scale === */
  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 16px;
  --space-lg: 24px;
  --space-xl: 32px;
  --space-2xl: 48px;
  --heading-gap: clamp(20px, 2.5vw, 32px);

  /* === Section Rhythm (fluid) === */
  --section-padding: clamp(48px, 7vw, 96px);
  --section-gap: clamp(48px, 7vw, 96px);
  --hero-gap: clamp(60px, 9vw, 120px);
  --bc-gap: clamp(16px, 2vw, 24px);

  /* === Component Tokens === */
  --btn-height: 52px;
  --btn-radius: 12px;
  --btn-font: var(--text-base);
  --input-height: 52px;
  --card-padding: 30px;
  --card-radius: 16px;
  --grid-gap: clamp(20px, 2.5vw, 32px);
  --radius: 12px;

  /* === Layout (fluid container) === */
  --max-width: 1176px;
  --container-padding: clamp(16px, 4vw, 52px);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; overflow-x: hidden; }

body {
  font-family: var(--font-body);
  font-size: var(--text-base);
  line-height: 1.5;
  color: var(--text-body);
  background: var(--bg-light);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

a { text-decoration: none; color: inherit; transition: var(--transition); }
img { max-width: 100%; height: auto; display: block; }
ul { list-style: none; }
button, input, select, textarea { font-family: inherit; font-size: inherit; }

.reno-container {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 var(--container-padding);
}

.reno-center { text-align: center; }

/* ===================== BUTTONS ===================== */
.reno-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: var(--btn-height);
  padding: 8px 24px;
  border: none;
  border-radius: var(--btn-radius);
  cursor: pointer;
  font-weight: 400;
  font-size: var(--text-base);
  letter-spacing: -0.01em;
  line-height: 1;
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), background 0.3s ease, color 0.3s ease, border-color 0.3s ease;
  text-align: center;
  text-decoration: none;
}
.reno-btn:hover { transform: scale(1.02); }

.reno-btn-primary {
  background: var(--text-dark);
  color: #fff;
}
.reno-btn-primary:hover { background: #000; }

.reno-btn-outline {
  background: transparent;
  color: var(--text-dark);
  border: 1px solid #D7D7D7;
}
.reno-btn-outline:hover { background: var(--text-dark); color: #fff; border-color: var(--text-dark); }

.reno-btn-full { width: 100%; }

.reno-btn-gold {
  background: var(--btn);
  color: #fff;
  border: none;
  padding: 8px 24px;
  font-size: var(--text-base);
}
.reno-btn-gold:hover { background: var(--btn-hover); }

.reno-btn-beige {
  background: var(--primary);
  color: #fff;
  border: none;
  padding: 8px 24px;
  font-size: var(--text-base);
}
.reno-btn-beige:hover { background: var(--primary-dark); }

.reno-btn-white {
  background: #fff;
  color: var(--text-dark);
  gap: 10px;
}
.reno-btn-white:hover { background: #f0f0f0; }

/* ===================== HEADER ===================== */
.reno-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background: #fff;
  box-shadow: none;
}

.reno-header-top {
  display: none;
  background: #f5f5f5;
  padding: 2px 0;
  font-size: 13px;
  border-bottom: 1px solid var(--border);
}

.reno-header-phone {
  color: var(--text-dark);
  font-weight: 500;
}
.reno-header-phone i { margin-right: 5px; color: var(--primary); }

.reno-header-main { padding: 0; }

.reno-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 59px;
}

.reno-logo {
  font-family: var(--font-logo);
  font-size: 32px;
  color: var(--text-dark);
  flex-shrink: 0;
  display: flex;
  align-items: center;
}
.reno-logo img {
  height: 52px;
  width: auto;
}
.reno-logo:hover { color: var(--primary); }
.reno-logo-divider {
  width: 1px;
  height: 32px;
  background: #ccc;
  margin: 0 14px;
  flex-shrink: 0;
}
.reno-logo-city {
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: 400;
  color: var(--text-dark);
  letter-spacing: 0.5px;
  flex-shrink: 0;
  margin-right: auto;
}

.reno-nav { display: none; }

.reno-nav-list {
  display: flex;
  align-items: center;
  gap: 0;
}

.reno-nav-list > li { position: relative; }

.reno-nav-list > li > a {
  display: block;
  padding: 24px 16px;
  color: var(--text-dark);
  font-size: 16px;
  font-weight: 500;
  white-space: nowrap;
}
.reno-nav-list > li > a:hover,
.reno-nav-list > li > a.active { color: var(--primary); }

.reno-nav-list > li > a i { font-size: 12px; margin-left: 4px; }

.reno-has-dropdown:hover .reno-dropdown { display: block; }

.reno-dropdown {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: #fff;
  min-width: 240px;
  box-shadow: none;
  border-radius: 0 0 var(--radius) var(--radius);
  z-index: 100;
}

.reno-dropdown li a {
  display: block;
  padding: 10px 20px;
  font-size: 13px;
  color: var(--text-body);
  border-bottom: 1px solid #f5f5f5;
}
.reno-dropdown li a:hover { background: #f9f9f9; color: var(--primary); }

.reno-header-actions { display: flex; align-items: center; gap: 10px; }

.reno-btn-signin {
  background: none;
  border: 2px solid var(--border);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-dark);
  transition: var(--transition);
}
.reno-btn-signin:hover { border-color: var(--primary); color: var(--primary); }

.reno-hamburger {
  display: flex;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px 5px;
  z-index: 1001;
  position: relative;
}
.reno-hamburger span {
  display: block;
  width: 24px;
  height: 2px;
  background: var(--text-dark);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  transform-origin: center;
}
.reno-hamburger.active span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.reno-hamburger.active span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.reno-hamburger.active span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ===================== SECTION DESC/LIST ===================== */
.reno-section-desc {
  margin-top: 12px;
  font-size: 15px;
  line-height: 1.6;
  color: var(--text-body);
  max-width: 700px;
}
.reno-section-list {
  display: grid;
  gap: 10px;
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
  font-size: 15px;
  line-height: 1.6;
  color: var(--text-body);
}
.reno-section-list li {
  position: relative;
  padding-left: 18px;
}
.reno-section-list li::before {
  content: "";
  position: absolute;
  top: 8px;
  left: 0;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: var(--primary);
}

/* ===================== FEATURE BADGES ROW ===================== */
.reno-ipoteka-intro {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--container-padding);
  align-items: start;
}
@media (max-width: 768px) {
  .reno-ipoteka-intro { grid-template-columns: 1fr; gap: var(--grid-gap); }
}
.reno-ipoteka-intro__badges {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.reno-features-row {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.reno-feature-badge {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 4px 10px;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 4px;
  font-size: 14px;
  font-weight: 400;
  color: var(--text-dark);
  line-height: 1.4;
  letter-spacing: -0.02em;
}
.reno-feature-badge svg { flex-shrink: 0; width: 18px; height: 18px; order: 1; }

/* ===================== VISUAL MENU ===================== */
.reno-vmenu {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #F5F1EB;
  padding-top: 103px;
  z-index: 999;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  transform: translateY(-120%);
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  flex-direction: column;
}
@media (max-width: 768px) {
  .reno-vmenu { padding-top: 54px; }
}
.reno-vmenu.active { transform: translateY(0); }
.reno-vmenu > .reno-container { flex: 1; align-self: stretch; width: 100%; box-sizing: border-box; }
.reno-vmenu-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  flex-shrink: 0;
}
.reno-vmenu-header .reno-logo img { height: 28px; }
.reno-vmenu-close {
  background: none;
  border: none;
  font-size: 32px;
  color: var(--text-dark);
  cursor: pointer;
  line-height: 1;
  padding: 0 4px;
}
.reno-vmenu-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 16px 16px 0;
}
.reno-vmenu-phone-btn {
  display: inline-flex;
  align-items: center;
  color: var(--text-dark);
  font-family: var(--font-heading);
  font-size: 22px;
  font-weight: 400;
  letter-spacing: -0.01em;
  text-decoration: none;
}
.reno-vmenu-write-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: var(--btn-height);
  padding: 0 24px;
  background: var(--primary);
  color: #fff;
  border-radius: var(--btn-radius);
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
}
.reno-vmenu-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  padding: 16px 16px 120px;
}
.reno-vmenu-card {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  min-height: 80px;
  padding: 16px 18px;
  border-radius: var(--card-radius);
  background-size: cover;
  background-position: center 20%;
  position: relative;
  text-decoration: none;
  overflow: hidden;
}
.reno-vmenu-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0.2) 100%);
  border-radius: var(--card-radius);
}
.reno-vmenu-label {
  position: relative;
  z-index: 1;
  color: #fff;
  font-size: 24px;
  font-weight: 400;
  font-family: var(--font-heading);
}
.reno-vmenu-arrow {
  position: relative;
  z-index: 1;
  color: #fff;
  transition: transform 0.2s;
}
.reno-vmenu-item.open .reno-vmenu-arrow { transform: rotate(180deg); }
.reno-vmenu-sub {
  display: none;
  padding: 4px 0 4px 8px;
}
.reno-vmenu-item.open .reno-vmenu-sub { display: flex; flex-direction: column; gap: 2px; }
.reno-vmenu-sub-link {
  display: block;
  padding: 10px 14px;
  color: var(--text-dark);
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  border-radius: 8px;
  background: #F5F1EB;
}
.reno-vmenu-sub-link:hover { background: var(--primary); color: #fff; }
.reno-vmenu-footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 16px;
  flex-shrink: 0;
}
.reno-vmenu-phone {
  color: var(--text-dark);
  font-size: 18px;
  font-weight: 600;
  text-decoration: none;
}
.reno-vmenu-email {
  color: var(--text-light);
  font-size: 13px;
}
.reno-vmenu-socials {
  display: flex;
  justify-content: center;
  gap: 12px;
  padding: 16px 0 24px;
}
.reno-vmenu-social {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--primary);
  color: #fff;
  text-decoration: none;
  transition: opacity 0.2s;
}
.reno-vmenu-social:hover {
  opacity: 0.8;
}

/* Desktop: 4 columns in container */
@media (min-width: 769px) {
  .reno-vmenu-card { min-height: 120px; }
}
@media (min-width: 1200px) {
  .reno-vmenu-card { min-height: 140px; padding: 20px 24px; }
  .reno-vmenu-label { font-size: 18px; }
}

/* Tablet: 3 columns */
@media (max-width: 1024px) {
  .reno-vmenu-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    padding: 16px 0 80px;
  }
  .reno-vmenu-actions {
    padding: 16px 0 0;
  }
}

/* Mobile: 1 column layout */
@media (max-width: 768px) {
  .reno-vmenu .reno-container {
    padding: 0 30px;
  }
  .reno-vmenu-grid {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 0 0 30px;
  }
  .reno-vmenu-card {
    min-height: 90px;
    padding: 12px 14px;
  }
  .reno-vmenu-label {
    font-size: 24px;
    font-weight: 400;
  }
  .reno-vmenu-actions {
    padding: 30px 0;
    gap: 8px;
    flex-wrap: nowrap;
  }
  .reno-vmenu-phone-btn {
    font-size: 16px;
    white-space: nowrap;
    flex-shrink: 0;
  }
  .reno-vmenu-actions .reno-find-cta-btn {
    font-size: 13px;
    height: 44px;
    padding: 0 16px;
    white-space: nowrap;
  }
  .reno-vmenu-sub-link {
    font-size: 13px;
    padding: 8px 12px;
  }
}

/* Small mobile: tighter */
@media (max-width: 375px) {
  .reno-vmenu-grid {
    gap: 6px;
    padding: 10px 0 32px;
  }
  .reno-vmenu-card {
    min-height: 80px;
    padding: 10px 12px;
    border-radius: 12px;
  }
  .reno-vmenu-label {
    font-size: 22px;
    font-weight: 400;
  }
  .reno-vmenu-phone-btn {
    font-size: 16px;
  }
}

/* ===================== HERO ===================== */
.reno-hero {
  position: relative;
  height: calc(70vh - 103px);
  min-height: 480px;
  display: flex;
  align-items: flex-start;
  background-size: cover;
  background-position: center;
  margin-top: 59px;
  padding: 0;
  overflow: hidden;
}
.reno-hero--catalog {
  height: calc(70vh - 103px);
  min-height: 400px;
}
.reno-hero--catalog h1 {
  white-space: nowrap;
}
.reno-mobile-br { display: none; }
@media (max-width: 768px) {
  .reno-hero--catalog h1 {
    white-space: normal;
  }
  .reno-mobile-br { display: block; }
}
/* Vertical photo strips */
.reno-hero-strips {
  position: absolute;
  inset: 0;
  display: flex;
}
.reno-hero-strip {
  flex: 1;
  background-size: cover;
  background-position: center;
  transition: opacity 0.6s ease;
}
@media (max-width: 768px) {
  .reno-hero-strip:nth-child(n+2) {
    display: none;
  }
  .reno-hero-strip:first-child {
    flex: 1;
  }
}
.reno-hero-slideshow {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.reno-hero-slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transition: opacity 2s ease;
}
.reno-hero-slide.active {
  opacity: 1;
}
.reno-hero-badges {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 16px;
  align-items: flex-start;
}
.reno-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 0;
  background: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  color: rgba(255,255,255,0.85);
  font-size: 16px;
  font-weight: 400;
  border-radius: 0;
  white-space: nowrap;
}
.reno-hero-badge svg {
  flex-shrink: 0;
  stroke: var(--primary);
}
.reno-hero-video-wrap {
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: 0;
}
.reno-hero-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
  opacity: 0;
  transition: opacity .8s ease;
}
.reno-hero-video.active {
  opacity: 1;
}
.reno-hero-search-row {
  display: flex;
  align-items: flex-end;
  margin-top: auto;
}
.reno-hero-search-row-spacer {
  flex: 1;
}
.reno-hero-nav {
  display: flex;
  align-items: center;
  gap: 6px;
  background: rgba(0,0,0,0.55);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-radius: var(--radius);
  padding: 6px 8px;
}
.reno-hero-nav-btn {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  color: rgba(255,255,255,0.8);
  cursor: pointer;
  border-radius: 50%;
  transition: background .2s, color .2s;
}
.reno-hero-nav-btn:hover {
  background: rgba(255,255,255,0.15);
  color: #fff;
}
.reno-hero-nav-counter {
  font-size: 13px;
  font-weight: 500;
  color: rgba(255,255,255,0.7);
  min-width: 36px;
  text-align: center;
  letter-spacing: 0.5px;
}

.reno-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.90) 0%, rgba(0,0,0,0.55) 30%, rgba(0,0,0,0.12) 65%, rgba(0,0,0,0) 100%);
}

.reno-hero-wrap {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 10;
  padding: 0 var(--container-padding) 46px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.reno-hero-content {
  position: relative;
  max-width: 820px;
  padding-left: 30px;
}
.reno-hero-content::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: -200px;
  width: 2px;
  background: var(--primary);
}
.reno-hero-kicker {
  display: block;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: var(--primary);
  margin-bottom: 18px;
  opacity: 0.9;
}

.reno-hero-content h1 {
  font-family: var(--font-heading);
  font-size: clamp(36px, 5vw, 68px);
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 1.22;
  color: #fff;
  margin-bottom: var(--space-lg);
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}

.reno-hero-content > p {
  font-size: 20px;
  font-weight: 400;
  color: rgba(255,255,255,0.90);
  margin-bottom: 35px;
  line-height: 1.4;
  letter-spacing: -0.01em;
  max-width: 620px;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
}

/* ===================== SEARCH ===================== */
.reno-search-box {
  position: relative;
  z-index: 10;
  background: rgba(0, 0, 0, 0.35);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border-radius: var(--radius);
  padding: 0;
  box-shadow: none;
  width: fit-content;
}
.reno-search-box.open {
  width: 100%;
  border-radius: var(--radius) var(--radius) 0 0;
}
/* Collapsed trigger */
.reno-search-trigger {
  display: flex;
  align-items: center;
  gap: var(--grid-gap);
  padding: 24px 32px;
  cursor: pointer;
  transition: background 0.2s;
  user-select: none;
}
.reno-search-trigger:hover {
  background: rgba(255, 255, 255, 0.08);
}
.reno-search-trigger span {
  font-size: 32px;
  font-weight: 500;
  color: #fff;
  line-height: 1.22;
  font-family: var(--font-heading);
}
.reno-search-trigger-circle {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--primary);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: #fff;
  transition: transform 0.3s ease, background 0.2s;
  box-shadow: none;
}
.reno-search-trigger:hover .reno-search-trigger-circle {
  background: var(--primary-dark);
}
.reno-search-box.open .reno-search-trigger-circle {
  transform: rotate(180deg);
}

/* Collapsed: form hidden */
.reno-search-box .reno-search-form {
  display: none;
  padding: 0 24px 24px;
}

/* Expanded */
.reno-search-box.open .reno-search-form {
  display: flex;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.35);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border-radius: 0 0 var(--radius) var(--radius);
  padding: 16px 24px 24px;
  box-shadow: none;
}

.reno-search-tabs {
  display: inline-flex;
  gap: 0;
  padding: 0;
  margin-bottom: 18px;
  background: #fff;
  border-radius: 10px;
  border: none;
  overflow: hidden;
}

.reno-search-tab {
  padding: 10px 26px;
  background: transparent;
  border: none;
  font-weight: 500;
  font-size: 14px;
  color: var(--primary);
  cursor: pointer;
  position: relative;
  transition: all 0.25s ease;
  border-radius: 0;
  letter-spacing: 0.2px;
  text-transform: none;
  line-height: 1;
}
.reno-search-tab:hover {
  background: rgba(197, 164, 126, 0.10);
}
.reno-search-tab.active {
  color: #fff;
  background: var(--primary);
}

.reno-search-form {
  display: flex;
  align-items: flex-end;
  gap: 10px;
}

.reno-search-field {
  flex: 1;
  text-align: left;
}

.reno-search-field label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: var(--text-body);
  letter-spacing: 0;
  margin-bottom: 7px;
}

.reno-search-field select,
.reno-search-field input {
  width: 100%;
  height: var(--input-height);
  padding: 4px 24px;
  border: none;
  border-radius: 16px;
  background: var(--bg-light);
  color: var(--text-dark);
  appearance: none;
  -webkit-appearance: none;
  text-align: left;
  font-size: var(--text-base);
  cursor: pointer;
  transition: background 0.2s;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 36px;
}
.reno-search-field select.reno-select-placeholder {
  color: #999;
}
.reno-search-field select.reno-select-placeholder.has-value {
  color: var(--text-dark);
}
.reno-search-field select option {
  color: var(--text-dark);
}
.reno-search-field select option[value=""] {
  color: #999;
}
.reno-search-field input {
  background-image: none;
  padding-right: 14px;
}
.reno-search-field input::placeholder {
  color: #999;
}
.reno-search-field select:hover,
.reno-search-field input:hover {
  background: #eaebe9;
}
.reno-search-field select:focus,
.reno-search-field input:focus {
  outline: none;
  border-color: var(--primary);
}
.reno-search-field .reno-cs-trigger {
  background: var(--bg-light);
}
.reno-search-field .reno-cs-trigger .reno-cs-value,
.reno-search-field .reno-cs-trigger .reno-cs-placeholder {
  color: #999;
}
.reno-search-field .reno-custom-select.has-value .reno-cs-trigger .reno-cs-value {
  color: var(--text-dark);
}

.reno-search-btn {
  width: 44px;
  height: 44px;
  background: var(--primary);
  color: #fff;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  flex-shrink: 0;
  font-size: 15px;
  transition: all 0.25s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.reno-search-btn:hover { background: var(--primary-dark); }

/* ===================== HERO BOTTOM ===================== */
.reno-hero-bottom {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--grid-gap);
}

/* ===================== FIND SECTION (below hero) ===================== */
.reno-find-section {
  background: var(--bg-beige);
  padding: var(--hero-gap) 0;
  border-bottom: none;
}
.reno-find-head-row {
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  gap: var(--heading-gap);
  padding-left: 30px;
}
.reno-find-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: var(--btn-height);
  padding: 8px 24px;
  border-radius: var(--btn-radius);
  font-size: var(--text-base);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.01em;
  white-space: nowrap;
  flex-shrink: 0;
  background: var(--primary);
  color: #fff;
  text-decoration: none;
}
@media (max-width: 768px) {
  .reno-find-head-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }
  .reno-find-cta-btn {
    flex-shrink: 1;
    white-space: normal;
    padding: 8px 16px;
    font-size: 14px;
  }
  .reno-find-cta-group {
    width: 100%;
  }
}
.reno-find-inner {
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: 56px;
  align-items: end;
}
.reno-find-kicker {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: var(--primary);
  margin: 0 0 12px;
}
.reno-find-title {
  font-family: var(--font-heading);
  font-size: var(--heading-2);
  font-weight: var(--heading-weight);
  line-height: 1.22;
  letter-spacing: var(--heading-spacing);
  color: var(--text-dark);
  margin: 0;
}
/* Find form — Clayo-inspired pill fields */
.reno-find-form {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  background: transparent;
  padding: 0;
}
.reno-find-fields {
  display: flex;
  flex: 1;
  gap: 10px;
}
.reno-find-field {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  padding: 0;
  background: transparent;
  border-radius: 0;
  min-width: 0;
  cursor: pointer;
}
.reno-find-field label {
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: var(--primary);
  cursor: pointer;
  white-space: nowrap;
}
.reno-find-field select {
  height: auto;
  padding: 0 18px 0 0;
  border: none;
  border-radius: 0;
  font-size: 14px;
  font-weight: 600;
  color: var(--text-dark);
  background: transparent;
  appearance: none;
  -webkit-appearance: none;
  outline: none;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23aaa' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0 center;
  background-size: 10px;
  width: 100%;
}
.reno-find-field select:focus { outline: none; }
.reno-find-btn {
  flex-shrink: 0;
  width: 140px;
  background: var(--text-dark);
  color: #fff;
  border: none;
  border-radius: var(--btn-radius);
  font-size: var(--text-base);
  font-weight: 400;
  letter-spacing: -0.01em;
  text-transform: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 10px;
  white-space: nowrap;
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), background 0.3s ease;
  height: var(--btn-height);
  justify-content: center;
  padding: 0;
}
.reno-find-btn:hover { background: #333; transform: scale(1.02); }

/* Find section — footer row (meta + calc link) */
.reno-find-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 14px;
  gap: 16px;
}
.reno-find-calc-link {
  font-size: 12px;
  font-weight: 600;
  color: var(--primary);
  text-decoration: none;
  letter-spacing: 0.2px;
  white-space: nowrap;
  transition: opacity 0.15s;
}
.reno-find-calc-link:hover { opacity: 0.75; }

/* Find section — meta line */
.reno-find-meta {
  margin-top: 14px;
  font-size: 12px;
  color: #b0a899;
  letter-spacing: 0.1px;
}
.reno-find-meta strong { color: #6b5e51; font-weight: 600; }

/* ===================== HERO FILTER BAR (legacy, kept for other pages) ===================== */
.reno-hero-footer {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.reno-hero-filter {
  display: flex;
  align-items: stretch;
  background: rgba(10, 6, 2, 0.58);
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
  border: 1px solid rgba(255,255,255,0.13);
  border-radius: 14px;
  overflow: hidden;
  height: 64px;
}

.reno-hf-fields {
  display: flex;
  flex: 1;
  align-items: stretch;
}

.reno-hf-field {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 20px;
  border-right: 1px solid rgba(255,255,255,0.1);
  transition: background 0.2s;
  min-width: 0;
  cursor: pointer;
  background: rgba(255,255,255,0.06);
}
.reno-hf-field:hover { background: rgba(255,255,255,0.11); }

.reno-hf-field label {
  display: block;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.7px;
  color: rgba(255,255,255,0.5);
  margin-bottom: 3px;
  pointer-events: none;
  white-space: nowrap;
}

.reno-hf-field select {
  background: transparent;
  border: none;
  color: #fff;
  font-size: 13px;
  font-weight: 500;
  appearance: none;
  -webkit-appearance: none;
  outline: none;
  cursor: pointer;
  width: 100%;
  padding: 0;
  padding-right: 18px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0 center;
  background-size: 10px;
}
.reno-hf-field select option { background: #1a1108; color: #fff; }

.reno-hf-btn {
  flex-shrink: 0;
  padding: 0 28px;
  background: var(--text-dark);
  border: none;
  color: #fff;
  font-size: var(--text-base);
  font-weight: 400;
  letter-spacing: -0.01em;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), background 0.3s ease;
  white-space: nowrap;
}
.reno-hf-btn:hover { background: #000; transform: scale(1.02); }

/* ===================== SERVICES ROW ===================== */
.reno-services-row-section {
  padding: var(--section-padding) 0;
}
.reno-services-row-title {
  font-family: var(--font-heading);
  font-size: 32px;
  font-weight: var(--heading-weight);
  color: var(--text-dark);
  margin: 0 0 24px;
}
.reno-services-row {
  display: flex;
  align-items: center;
  gap: 0;
}
.reno-svc-card {
  flex: 1;
  background: #f7f7f7;
  border-radius: var(--radius);
  padding: 24px 20px;
  text-decoration: none;
  transition: box-shadow 0.2s, transform 0.2s;
  display: flex;
  flex-direction: column;
  min-height: 160px;
}
.reno-svc-card:hover {
  box-shadow: none;
  transform: translateY(-2px);
  text-decoration: none;
}
.reno-svc-card-icon {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: rgba(197,164,126,0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}
.reno-svc-card-icon i {
  font-size: 20px;
  color: var(--primary);
}
.reno-svc-card strong {
  display: block;
  font-size: 15px;
  font-weight: 600;
  color: var(--text-dark);
  margin-bottom: 6px;
}
.reno-svc-card span {
  font-size: 13px;
  color: var(--text-light);
  line-height: 1.4;
}
.reno-svc-arrow {
  flex-shrink: 0;
  width: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ccc;
}
@media (max-width: 1024px) {
  .reno-services-row { flex-wrap: wrap; gap: 12px; }
  .reno-svc-card { flex: 1 1 calc(33.33% - 24px); min-width: 180px; }
  .reno-svc-arrow { display: none; }
}
@media (max-width: 600px) {
  .reno-services-row-title { font-size: 24px; }
  .reno-services-row { gap: 10px; }
  .reno-svc-card { flex: 1 1 calc(50% - 10px); min-width: 140px; min-height: 140px; padding: 18px 14px; }
  .reno-svc-card-icon { width: 40px; height: 40px; margin-bottom: 12px; }
  .reno-svc-card-icon i { font-size: 17px; }
  .reno-svc-card strong { font-size: 14px; }
}

/* ===================== DEVELOPERS CAROUSEL ===================== */
.reno-developers-section {
  padding: var(--section-padding) 0;
  background: #fff;
  overflow: hidden;
}
.reno-developers-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--heading-gap);
}
.reno-developers-header h2 {
  font-family: var(--font-heading);
  font-size: var(--heading-2);
  font-weight: var(--heading-weight);
  letter-spacing: var(--heading-spacing);
  line-height: 1.22;
  color: var(--text-dark);
  margin: 0;
}
.reno-developers-link {
  font-family: var(--font-heading);
  font-size: 15px;
  font-weight: 500;
  color: var(--primary);
  text-decoration: none;
  white-space: nowrap;
  transition: opacity 0.3s;
}
.reno-developers-link:hover { opacity: 0.7; }
.reno-developers-carousel {
  /* overflow, position, margin-right set in shared carousel block */
}
.reno-developers-track {
  display: flex;
  gap: var(--space-lg);
  transition: transform 0.5s cubic-bezier(0.25, 0.1, 0.25, 1);
}
.reno-dev-card {
  flex: 0 0 calc(25% - 15px);
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 30px;
  background: var(--bg-light);
  border-radius: var(--card-radius);
  text-decoration: none;
  color: var(--text);
  transition: background 0.3s, box-shadow 0.3s, transform 0.3s;
  min-width: 0;
  justify-content: flex-start;
  box-sizing: border-box;
}
.reno-developers-page .reno-dev-card { background: #fff; padding: 30px; }
.reno-dev-card:hover {
  background: #EFEFEF;
  box-shadow: none;
  transform: translateY(-4px);
}
.reno-dev-card--static {
  cursor: default;
}
.reno-dev-card--static:hover {
  background: #fff;
  transform: none;
}
.reno-dev-card__line {
  border: none;
  border-top: 1px solid rgba(19,19,19,0.1);
  margin: 12px 0;
}
.reno-dev-card__projects {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.reno-dev-card__project {
  font-size: 13px;
  color: var(--primary);
  text-decoration: none;
}
.reno-dev-card__project:hover {
  text-decoration: underline;
}
.reno-dev-card__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 56px;
  background: transparent;
  border-radius: 0;
  margin-bottom: 10px;
  flex-shrink: 0;
}
.reno-dev-card__logo img {
  max-width: 100px;
  max-height: 50px;
  object-fit: contain;
}
.reno-dev-card__placeholder {
  width: 100%;
  height: 48px;
  background: #fff;
  border-radius: 10px;
}
.reno-dev-card__name {
  font-family: var(--font-heading);
  font-size: 15px;
  font-weight: var(--heading-weight);
  line-height: 1.3;
  color: var(--text);
  margin: 0 0 4px;
  text-align: center;
}
.reno-dev-card__count {
  font-size: 13px;
  font-weight: 400;
  color: #888888;
  line-height: 1.4;
  text-align: center;
}
.reno-dev-card__site {
  font-size: 12px;
  color: var(--primary);
  text-align: center;
  margin-top: 2px;
}
/* Navigation */
.reno-developers-nav {
  /* unified in shared carousel block */
}
.reno-dev-arrow {
  /* unified in shared carousel block */
}

/* ===================== CLAYO-STYLE CAROUSEL PATTERN ===================== */
/* Shared: section overflow hidden, carousel bleeds right, gradient fade */
.reno-developers-section,
.reno-section-districts {
  position: relative;
  overflow: hidden;
}
/* Testimonials & team & blog sections need overflow hidden for gradient */
.reno-section:has(.reno-testimonials-carousel),
.reno-section:has(.reno-team-carousel),
.reno-section:has(.reno-blog-carousel) {
  position: relative;
  overflow: hidden;
}
/* Right-bleed: carousel extends beyond container to viewport edge */
.reno-developers-carousel,
.reno-districts-carousel,
.reno-testimonials-carousel,
.reno-team-carousel,
.reno-blog-carousel {
  overflow: visible;
  position: relative;
  margin-right: calc(-1 * var(--container-padding));
}
/* Gradient fade on right edge */
.reno-developers-section::after,
.reno-section-districts::after {
  content: '';
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 80px;
  background: linear-gradient(to right, transparent, #fff);
  pointer-events: none;
  z-index: 2;
}
.reno-section-districts::after {
  background: linear-gradient(to right, transparent, #F5F1EB);
}
.reno-section:has(.reno-testimonials-carousel)::after,
.reno-section:has(.reno-team-carousel)::after,
.reno-section:has(.reno-blog-carousel)::after {
  content: '';
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 80px;
  background: linear-gradient(to right, transparent, #fff);
  pointer-events: none;
  z-index: 2;
}
/* Gray-bg sections need gray gradient */
.reno-bg-gray:has(.reno-testimonials-carousel)::after {
  background: linear-gradient(to right, transparent, #EEF0F3);
}
.reno-bg-light:has(.reno-testimonials-carousel)::after {
  background: linear-gradient(to right, transparent, #F5F1EB);
}
/* Unified gap for all carousel tracks */
.reno-developers-track,
.reno-districts-track,
.reno-testimonials-track,
.reno-team-grid--carousel,
.reno-blog-track {
  gap: 20px;
}
/* Unified carousel nav: same size arrows and spacing */
.reno-developers-nav,
.reno-districts-nav,
.reno-testimonials-nav,
.reno-team-nav,
.reno-blog-nav {
  display: flex;
  gap: 12px;
  margin-top: 24px;
  justify-content: flex-start;
}
.reno-dev-arrow,
.reno-districts-arrow,
.reno-testimonials-arrow,
.reno-team-prev, .reno-team-next,
.reno-blog-prev, .reno-blog-next {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: none;
  background: var(--text-dark);
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
  flex-shrink: 0;
}
.reno-dev-arrow:hover,
.reno-districts-arrow:hover,
.reno-testimonials-arrow:hover,
.reno-team-prev:hover, .reno-team-next:hover,
.reno-blog-prev:hover, .reno-blog-next:hover {
  background: #000;
}
.reno-dev-arrow:disabled,
.reno-districts-arrow:disabled, .reno-districts-arrow.disabled,
.reno-testimonials-arrow:disabled, .reno-testimonials-arrow.disabled,
.reno-team-prev:disabled, .reno-team-next:disabled,
.reno-blog-prev:disabled, .reno-blog-next:disabled {
  opacity: 0.3;
  cursor: default;
  pointer-events: none;
}

/* ===================== DISTRICTS ===================== */
/* Districts carousel */
.reno-districts-track {
  display: flex;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.reno-district-card {
  flex: 0 0 calc(16.666% - 17px);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  color: inherit;
}
.reno-district-card:hover { text-decoration: none; color: inherit; }
.reno-district-card:hover .reno-district-img img { transform: scale(1.05); }
.reno-district-img {
  width: 100%;
  aspect-ratio: 1;
  border-radius: 24px;
  overflow: hidden;
  margin-bottom: 12px;
}
.reno-district-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease;
}
.reno-district-name {
  display: block;
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: 500;
  color: var(--text-dark);
  text-align: center;
  line-height: 1.22;
}
.reno-district-count {
  font-size: 13px;
  color: var(--text-light, #888888);
  text-align: center;
  margin-top: 4px;
  line-height: 1;
  white-space: nowrap;
}
.reno-districts-nav {
  /* unified in shared carousel block */
}
.reno-districts-arrow {
  /* unified in shared carousel block */
}
.reno-districts-arrow.disabled {
  /* unified in shared carousel block */
}
.reno-section-districts { margin-bottom: 0; background: #fff; }
/* === MAP SECTION REDESIGN === */
.reno-map-section {
  background: #F5F1EB;
  padding: var(--section-padding) 0;
}
.reno-map-section--white {
  background: #fff;
  padding-bottom: 0;
}
.reno-map-section--flush {
  padding: 0;
  background: transparent;
}
.reno-single-map-section { margin-top: 32px; }
.reno-single-map-section .reno-novo-map-address { display: none; }
.reno-single-map-section ~ .reno-property-layout { padding-top: 0; }
.reno-map-section--flush .reno-map-section__card {
  margin: 0;
  padding: 0;
  width: 100%;
}
.reno-map-title-badge {
  position: absolute;
  top: 26px;
  left: max(40px, calc((100% - var(--max-width)) / 2 + 40px));
  z-index: 3;
  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  padding: 10px 20px;
  border-radius: 12px;
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: 500;
  color: var(--primary);
  box-shadow: none;
}
.reno-map-section__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 32px;
}
.reno-map-section__header h2 {
  font-family: var(--font-heading);
  font-size: var(--heading-2);
  font-weight: var(--heading-weight);
  letter-spacing: var(--heading-spacing);
  line-height: 1.22;
  color: var(--text);
  margin: 0;
}
.reno-map-section__link {
  color: var(--primary);
  font-size: 15px;
  font-weight: 500;
  text-decoration: none;
  white-space: nowrap;
  transition: var(--transition);
}
.reno-map-section__link:hover {
  color: var(--text);
}
/* Hide default Yandex Maps controls */
.ymaps-2-1-79-controls__control,
.ymaps-2-1-79-zoom,
.ymaps-2-1-79-gotoymaps,
.ymaps-2-1-79-copyrights-pane,
[class*="ymaps"][class*="controls__control"],
[class*="ymaps"][class*="zoom"],
[class*="ymaps"][class*="float-button"] {
  display: none !important;
}
/* Keep Yandex copyright (required) */
[class*="ymaps"][class*="copyrights-pane"] {
  display: block !important;
  opacity: 0.5;
}

/* Map card — plate like find-section fields */
.reno-map-section__card {
  border-radius: 0;
  overflow: hidden;
  background: #F5F1EB;
  padding: 0;
  position: relative;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  width: 100vw;
}
.reno-map-section__card .reno-map-wrap {
  border-radius: 0;
  overflow: hidden;
  position: relative;
}

/* Custom zoom controls */
.reno-map-controls {
  position: absolute;
  top: 26px;
  right: max(40px, calc((100% - var(--max-width)) / 2 + 40px));
  z-index: 10;
  display: flex;
  flex-direction: column;
  gap: 2px;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: none;
}
.reno-map-ctrl {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border: none;
  color: var(--text-body);
  cursor: pointer;
  transition: all 0.2s ease;
}
.reno-map-ctrl:hover {
  background: #f5f5f5;
  color: var(--primary);
}
.reno-map-ctrl:active {
  transform: scale(0.92);
}

/* Cluster icons — ПИК-style: circle count + price */
.reno-cluster {
  display: flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  cursor: pointer;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.reno-cluster__dot {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--primary);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 13px;
  color: #fff;
  box-shadow: none;
  flex-shrink: 0;
}
.reno-cluster__price {
  font-size: 13px;
  font-weight: 600;
  color: #1a1a2e;
  background: #fff;
  padding: 5px 12px;
  border-radius: 8px;
  box-shadow: none;
  line-height: 1;
}

/* ===================== SERVICES + VIDEO ===================== */
.reno-sv-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--grid-gap);
  align-items: stretch;
}

/* Quote card */
.reno-quote-card {
  background: #f5f5f5;
  border-radius: var(--radius);
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 480px;
}
.reno-quote-card-inner {
  position: relative;
  z-index: 1;
  padding: 48px 40px;
}
.reno-quote-card h3 {
  font-family: var(--font-heading);
  font-size: 32px;
  font-weight: var(--heading-weight);
  letter-spacing: var(--heading-spacing);
  color: var(--text-dark);
  line-height: 1.22;
  margin: 0 0 20px;
}
.reno-quote-card p {
  font-size: 16px;
  color: var(--text-light);
  line-height: 1.6;
  margin: 0 0 32px;
  max-width: 400px;
}
.reno-quote-author {
  display: flex;
  align-items: center;
  gap: 14px;
}
.reno-quote-avatar {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: #222;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-light);
  font-size: 20px;
  flex-shrink: 0;
}
.reno-quote-author strong {
  display: block;
  font-size: 16px;
  font-weight: 700;
  color: var(--text-dark);
}
.reno-quote-author span {
  font-size: 13px;
  color: var(--text-light);
}
.reno-quote-mark {
  position: absolute;
  bottom: -30px;
  right: 10px;
  font-size: 280px;
  font-family: Georgia, serif;
  color: rgba(0,0,0,0.06);
  line-height: 1;
  pointer-events: none;
  z-index: 0;
}
.reno-sv-sound-btn {
  position: absolute;
  bottom: 20px;
  right: 20px;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: rgba(0,0,0,.5);
  color: #fff;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  transition: background .3s;
  z-index: 2;
}
.reno-sv-sound-btn:hover { background: rgba(0,0,0,.7); }
.reno-sv-sound-btn.active { background: var(--primary); }
.reno-sv-video {
  border-radius: var(--radius);
  overflow: hidden;
  position: relative;
  min-height: 480px;
}
.reno-sv-video video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.reno-sv-content h2 {
  font-family: var(--font-heading);
  font-size: var(--heading-2);
  font-weight: var(--heading-weight);
  letter-spacing: var(--heading-spacing);
  line-height: 1.22;
  color: var(--text-dark);
  margin: 0 0 var(--space-md);
}
.reno-sv-content > p {
  font-size: 15px;
  color: var(--text-light);
  line-height: 1.6;
  margin: 0 0 24px;
}
.reno-sv-stats {
  display: flex;
  gap: 32px;
  margin-bottom: 24px;
}
.reno-sv-stat {
  display: flex;
  flex-direction: column;
}
.reno-sv-stat strong {
  font-family: var(--font-heading);
  font-size: 36px;
  font-weight: 800;
  color: var(--primary);
  line-height: 1;
}
.reno-sv-stat span {
  font-size: 13px;
  color: var(--text-light);
  margin-top: 4px;
}
.reno-sv-services {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 24px;
}
.reno-sv-service-item {
  display: flex;
  align-items: center;
  gap: 12px;
}
.reno-sv-service-icon {
  width: 40px;
  height: 40px;
  background: var(--bg-light);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  color: var(--primary);
  flex-shrink: 0;
}
.reno-sv-service-item h5 {
  font-size: 14px;
  font-weight: var(--heading-weight);
  color: var(--text-dark);
  margin: 0;
}
.reno-sv-service-item span {
  font-size: 12px;
  color: var(--text-light);
}
@media (max-width: 768px) {
  .reno-sv-two-col { grid-template-columns: 1fr; }
  .reno-sv-video { min-height: 350px; }
  .reno-quote-card { min-height: 360px; }
  .reno-quote-card-inner { padding: 32px 24px; }
  .reno-quote-card h3 { font-size: 26px; }
  .reno-quote-mark { font-size: 200px; }
}
@media (max-width: 576px) {
  .reno-sv-video { min-height: 280px; }
  .reno-quote-card { min-height: 300px; }
  .reno-quote-card-inner { padding: 24px 18px; }
  .reno-quote-card h3 { font-size: 22px; }
  .reno-quote-mark { font-size: 140px; top: -20px; left: -5px; }
}
@media (max-width: 375px) {
  .reno-sv-video { min-height: 240px; }
  .reno-quote-card h3 { font-size: 20px; }
}

/* ===================== SECTIONS ===================== */
.reno-section { padding: var(--section-padding) 0; border-top: 1px solid rgba(19, 19, 19, 0.15); }
/* Без разделителя: первая секция, секция после карты, секции с прижатым контентом */
/* First section after breadcrumb/hero — tighter top padding */
.reno-novo-catalog.reno-section { padding-top: 76px; }
.reno-novo-catalog.reno-section,
.reno-property-single .reno-section:first-of-type,
.reno-section:has(.reno-map-wrap),
.reno-section:has(.reno-map-wrap) + *,
.reno-section.reno-apt-hero,
.reno-section.reno-apt-hero + .reno-section,
.reno-tradein-banner + .reno-section,
.reno-apartment-single .reno-section { border-top: none; }

/* Carousels: overflow visible, clipped by body viewport (like Clayo) */
.reno-testimonials-carousel,
.reno-developers-carousel,
.reno-districts-carousel,
.reno-blog-carousel,
.reno-team-carousel {
  overflow: visible;
  position: relative;
}
.reno-bg-light { background: #F5F1EB; }
.reno-breadcrumb-bar + .reno-section { border-top: none; }
.reno-breadcrumb-bar--top { background: var(--bg-beige); margin-top: 59px; }
.reno-breadcrumb-bar--top + .reno-apt-hero { margin-top: 0; }

/* Utility: CTA center block */
.reno-cta-center { text-align: center; margin-top: var(--heading-gap); }
.reno-cta-mt { margin-top: var(--heading-gap); }
.reno-find-cta-btn--full { width: 100%; justify-content: center; margin-top: var(--space-md); }

/* Apt title row (title + count) */
.reno-apt-title-row { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: var(--heading-gap); }
.reno-apt-title-row .reno-novo-page-title { margin-bottom: 0; }

/* Sort/filter row */
.reno-sort-row { display: flex; gap: 12px; margin-bottom: var(--heading-gap); }

/* Active filters row */
.reno-active-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: var(--heading-gap); }

/* Section line separator */
.reno-section-line { margin-bottom: var(--heading-gap); }

/* Badges row in hero-bar (single-novostroyka) */
.reno-novo-title-badges-row--hero { margin-top: var(--section-padding); margin-bottom: var(--space-sm); }

/* Ipoteka feature cards (left column) */
.reno-ipoteka-cards {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.reno-ipoteka-card {
  background: #fff;
  border-radius: var(--card-radius);
  padding: 30px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 16px;
}
.reno-ipoteka-card__text {
  font-size: 15px;
  font-weight: 500;
  color: var(--heading);
}
.reno-ipoteka-card__icon {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  background: var(--bg-beige);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.reno-bg-gray  { background: #EEF0F3; }
.reno-bg-beige { background: #F5F1EB; }

.reno-section-header {
  text-align: left;
  margin-bottom: var(--heading-gap);
}

.reno-label {
  display: inline-block;
  padding: 6px 12px;
  border: none;
  background: #fff;
  color: var(--text-dark);
  font-size: 14px;
  font-weight: 400;
  letter-spacing: normal;
  text-transform: none;
  border-radius: 6px;
  margin-bottom: var(--space-md);
}

.reno-section-header h1,
.reno-section-header h2 {
  font-family: var(--font-heading);
  font-size: var(--heading-2);
  font-weight: var(--heading-weight);
  letter-spacing: var(--heading-spacing);
  line-height: 1.22;
  color: var(--text-dark);
}

/* ===================== PROPERTY CARDS ===================== */
.reno-properties-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--grid-gap);
  margin-bottom: var(--heading-gap);
}

.reno-property-card {
  background: #fff;
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: none;
  transition: var(--transition);
}
.reno-property-card:hover {
  box-shadow: none;
  transform: translateY(-3px);
}

.reno-property-img {
  height: 200px;
  background-size: cover;
  background-position: center;
  position: relative;
}

.reno-property-badges {
  position: absolute;
  top: 12px;
  left: 12px;
  display: flex;
  gap: 8px;
}

.reno-badge {
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 400;
  border-radius: 4px;
  text-transform: none;
}
.reno-badge.featured { background: var(--primary); color: #fff; }
.reno-badge.sales { background: #2ecc71; color: #fff; }
.reno-badge.rentals { background: #3498db; color: #fff; }
.reno-badge.open-house { background: #e74c3c; color: #fff; }

.reno-property-price {
  position: absolute;
  bottom: 12px;
  left: 12px;
  background: rgba(0,0,0,0.7);
  color: #fff;
  padding: 5px 12px;
  font-size: 16px;
  font-weight: 700;
  border-radius: 2px;
}

.reno-property-body { padding: 18px; }

.reno-property-body h4 {
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: var(--heading-weight);
  color: var(--text-dark);
  margin-bottom: 8px;
  line-height: 1.3;
}

.reno-property-body > p {
  font-size: 13px;
  color: var(--text-light);
  line-height: 1.5;
  margin-bottom: var(--space-md);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.reno-property-meta {
  display: flex;
  gap: var(--space-md);
  padding-top: 12px;
  border-top: 1px solid #f0f0f0;
  font-size: 13px;
  color: var(--text-light);
}
.reno-property-meta i { margin-right: 4px; color: var(--primary); font-size: 12px; }

/* ===================== EXPERTISE BLOCK ===================== */
.reno-exp {
  background: #fff;
  padding: var(--section-padding) 0;
  color: #111;
  border-top: 1px solid rgba(19,19,19,0.15);
}
.reno-exp__container {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 var(--container-padding);
}
.reno-exp__grid {
  display: grid;
  grid-template-columns: minmax(0, 480px) minmax(0, 1fr);
  gap: clamp(24px, 4vw, 72px);
  align-items: start;
  direction: ltr;
}
.reno-exp__kicker {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 14px;
  line-height: 1.22;
  color: #111;
  margin-top: 6px;
}
.reno-exp__dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #111;
  flex: 0 0 10px;
}
.reno-exp__title {
  margin: 0 0 var(--heading-gap);
  font-family: var(--font-heading);
  font-weight: var(--heading-weight);
  letter-spacing: var(--heading-spacing);
  font-size: var(--heading-2);
  line-height: 1.22;
  color: var(--text);
}
.reno-exp__desc {
  margin: 20px 0 0;
  font-size: 15px;
  line-height: 1.65;
  color: var(--text-light);
  max-width: 560px;
}
.reno-exp__features {
  margin-top: clamp(22px, 3vw, 40px);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(18px, 3vw, 44px);
  max-width: 720px;
}
.reno-exp__feature {
  display: grid;
  grid-template-rows: auto auto auto;
  row-gap: 10px;
}
.reno-exp__icon {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: rgba(197, 164, 126, 0.12);
  color: var(--primary);
}
.reno-exp__icon svg {
  width: 22px;
  height: 22px;
  display: block;
  fill: currentColor;
}
.reno-exp__ftitle {
  font-size: 16px;
  line-height: 1.3;
  font-weight: var(--heading-weight);
  letter-spacing: -0.01em;
  margin-top: 4px;
  color: var(--text);
}
.reno-exp__fdesc {
  font-size: 14px;
  line-height: 1.5;
  color: var(--text-light);
  max-width: 320px;
}
.reno-exp__media {
  border-radius: var(--card-radius);
  overflow: hidden;
  background: #F5F1EB;
  box-shadow: none;
  aspect-ratio: 3 / 4;
  position: relative;
}
.reno-exp__controls {
  position: absolute;
  bottom: 16px;
  right: 16px;
  display: flex;
  gap: 8px;
  z-index: 5;
}
.reno-exp__btn {
  width: 40px;
  height: 40px;
  border: none;
  border-radius: 50%;
  background: rgba(0,0,0,0.45);
  backdrop-filter: blur(8px);
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
  padding: 0;
}
.reno-exp__btn:hover { background: rgba(0,0,0,0.65); }
.reno-exp__btn svg { width: 18px; height: 18px; }
/* Play/Pause state: playing → show pause icon, hide play */
.reno-exp__btn-play .reno-exp__ico-play { display: none; }
.reno-exp__btn-play .reno-exp__ico-pause { display: block; }
.reno-exp__btn-play.paused .reno-exp__ico-play { display: block; }
.reno-exp__btn-play.paused .reno-exp__ico-pause { display: none; }
/* Sound state: muted → show muted icon, hide unmuted */
.reno-exp__btn-sound .reno-exp__ico-unmuted { display: none; }
.reno-exp__btn-sound .reno-exp__ico-muted { display: block; }
.reno-exp__btn-sound.unmuted .reno-exp__ico-unmuted { display: block; }
.reno-exp__btn-sound.unmuted .reno-exp__ico-muted { display: none; }
.reno-exp__img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

@media (max-width: 980px) {
  .reno-exp__grid { grid-template-columns: 1fr; }
  .reno-exp__media { aspect-ratio: 11 / 8; }
}
@media (max-width: 640px) {
  .reno-exp__features { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .reno-exp__fdesc { max-width: 100%; font-size: 12px; }
  .reno-exp__media { border-radius: 16px; aspect-ratio: 11 / 8; }
}

/* ===================== FIND YOUR HOME (legacy) ===================== */
.reno-find-home { padding: var(--section-padding) 0; }

.reno-find-home-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}

.reno-find-home-images {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 250px 200px;
  gap: var(--space-md);
}

.reno-fh-img {
  background-size: cover;
  background-position: center;
  border-radius: var(--radius);
}
.reno-fh-img-1 { grid-column: 1 / -1; }

.reno-find-home-content .reno-label { margin-bottom: var(--space-md); }

.reno-find-home-content h2 {
  font-family: var(--font-heading);
  font-size: var(--heading-2);
  font-weight: var(--heading-weight);
  letter-spacing: var(--heading-spacing);
  color: var(--text-dark);
  margin-bottom: var(--space-md);
  line-height: 1.22;
}

.reno-find-home-content > p {
  margin-bottom: 30px;
  line-height: 1.7;
}

.reno-services-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--grid-gap);
  margin-bottom: var(--heading-gap);
}

.reno-service-item {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  padding: var(--space-md);
  background: var(--bg-light);
  border-radius: var(--radius);
  transition: var(--transition);
}
.reno-service-item:hover { box-shadow: none; }

.reno-service-icon {
  width: 50px;
  height: 50px;
  background: var(--primary);
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  flex-shrink: 0;
}

.reno-service-item h5 {
  font-size: 14px;
  font-weight: var(--heading-weight);
  color: var(--text-dark);
  margin-bottom: 2px;
}
.reno-service-item span { font-size: 12px; color: var(--text-light); }

/* ===================== FEATURED LISTINGS ===================== */
.reno-featured-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--grid-gap);
}

.reno-featured-card {
  position: relative;
  border-radius: var(--radius);
  overflow: hidden;
  display: block;
}
.reno-featured-card:hover .reno-featured-img { transform: scale(1.05); }

.reno-featured-img {
  height: 220px;
  background-size: cover;
  background-position: center;
  transition: transform 0.5s ease;
}

.reno-featured-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 20px;
  background: linear-gradient(transparent, rgba(0,0,0,0.7));
  color: #fff;
}
.reno-featured-overlay h4 { font-family: var(--font-heading); font-size: 20px; margin-bottom: 2px; }
.reno-featured-overlay span { font-size: 13px; opacity: 0.8; }

/* ===================== PROPERTIES BY AREA ===================== */
.reno-area-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--grid-gap);
}

.reno-area-card {
  position: relative;
  border-radius: var(--radius);
  overflow: hidden;
  display: block;
}
.reno-area-card:hover .reno-area-img { transform: scale(1.05); }

.reno-area-img {
  height: 280px;
  background-size: cover;
  background-position: center;
  transition: transform 0.5s ease;
}

.reno-area-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 20px;
  background: linear-gradient(transparent, rgba(0,0,0,0.7));
  color: #fff;
}
.reno-area-overlay h4 { font-family: var(--font-heading); font-size: 20px; margin-bottom: 2px; }
.reno-area-overlay span { font-size: 13px; opacity: 0.8; }

/* ===================== TESTIMONIALS CAROUSEL ===================== */

.reno-testimonials-track {
  display: flex;
  align-items: stretch;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.reno-testimonial-card {
  flex: 0 0 calc(33.333% - 16px);
  background: transparent;
  padding: 0;
  padding-left: 30px;
  border-left: 2px solid #ddd;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}

.reno-testimonial-card > p {
  font-size: 18px;
  line-height: 1.6;
  color: var(--text-body);
  margin-bottom: 40px;
  font-style: normal;
  font-weight: 400;
}

.reno-testimonial-author {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: auto;
}
.reno-testimonial-author img,
.reno-testimonial-author .reno-testimonial-avatar {
  display: none;
}
.reno-testimonial-author > div {
  display: flex;
  flex-direction: column;
}
.reno-testimonial-author strong {
  display: block;
  order: 2;
  font-size: 15px;
  font-weight: 600;
  color: var(--text-dark);
  margin-top: 4px;
}

.reno-testimonial-avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #e0e0e0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-dark);
  font-size: 18px;
  font-weight: 600;
  flex-shrink: 0;
}

.reno-testimonial-author strong {
  display: block;
  order: 2;
  font-size: 15px;
  font-weight: 600;
  color: var(--text-dark);
}
.reno-testimonial-author span { font-size: 13px; color: var(--text-light); order: 1; }

.reno-testimonials-nav {
  /* unified in shared carousel block */
}

.reno-testimonials-arrow {
  /* unified in shared carousel block */
}
.reno-testimonials-arrow.disabled {
  /* unified in shared carousel block */
}
.reno-testimonials-arrow.disabled:hover {
  background: transparent;
  border-color: #ddd;
  color: var(--text-dark);
}

/* ===================== TEAM (Clayo-style) ===================== */
.reno-team-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-dark);
  margin-bottom: 24px;
}
.reno-team-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--text-dark);
  flex-shrink: 0;
}
.reno-team-heading {
  font-family: var(--font-heading);
  font-size: var(--heading-2);
  font-weight: var(--heading-weight);
  letter-spacing: var(--heading-spacing);
  line-height: 1.22;
  color: var(--text-dark);
  margin-bottom: var(--space-md);
}
.reno-team-desc {
  font-size: 16px;
  color: var(--text-body);
  line-height: 1.6;
  max-width: 560px;
  margin-bottom: 48px;
}

.reno-team-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-lg);
}
.reno-team-grid--carousel {
  display: flex;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.reno-team-grid--carousel > * {
  flex: 0 0 calc(25% - 21px);
  min-width: 220px;
}
.reno-team-nav {
  /* unified in shared carousel block */
}

.reno-team-card {
  text-align: left;
  transition: var(--transition);
  display: flex;
  flex-direction: column;
}
.reno-team-card .reno-team-bio {
  flex: 0;
}

.reno-team-img-wrap {
  position: relative;
  border-radius: var(--card-radius);
  overflow: visible;
}
.reno-team-img {
  height: 420px;
  background-size: cover;
  background-position: center top;
  border-radius: var(--card-radius);
  margin-bottom: 0;
}

.reno-team-img-wrap .reno-card-badges-row {
  top: auto;
  right: 14px;
  left: auto;
  bottom: 14px;
}
.reno-team-img-wrap .reno-card-badge-white {
  background: #fff;
  color: var(--text-dark);
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  font-weight: 400;
  border-radius: 4px;
  padding: 4px 10px;
  white-space: nowrap;
}
.reno-team-name {
  font-family: var(--font-heading);
  font-size: 17px;
  font-weight: var(--heading-weight);
  color: var(--text-dark);
  margin: 20px 0 4px;
  padding: 0 4px;
}
.reno-team-bio {
  font-size: 14px;
  color: var(--text-body);
  line-height: 1.5;
  margin: 0 0 10px;
  padding: 0 4px;
}

/* ===================== BLOG GRID ===================== */
.reno-section-header--row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.reno-tb-link {
  font-size: 15px;
  font-weight: 500;
  color: var(--primary);
  text-decoration: none;
  transition: color 0.2s;
  white-space: nowrap;
}
.reno-tb-link:hover {
  color: var(--primary-dark);
  text-decoration: none;
}
.reno-section-heading-link {
  color: inherit;
  text-decoration: none;
}
.reno-section-heading-link:hover {
  color: var(--primary);
}
.reno-btn-see-all {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 36px;
  padding: 0 18px;
  font-size: 14px;
  font-weight: 500;
  color: var(--primary);
  background: transparent;
  border: 1px solid var(--primary);
  border-radius: 24px;
  text-decoration: none;
  transition: background 0.2s, color 0.2s;
  flex-shrink: 0;
  white-space: nowrap;
}
.reno-btn-see-all:hover {
  background: var(--primary);
  color: #fff;
  text-decoration: none;
}

.reno-blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--grid-gap);
}

.reno-blog-track {
  display: flex;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.reno-blog-track > * {
  flex: 0 0 calc(33.333% - 19px);
  min-width: 280px;
}
.reno-blog-nav {
  /* unified in shared carousel block */
}

.reno-blog-card {
  text-decoration: none;
  color: inherit;
  display: block;
  border-radius: var(--card-radius);
  transition: var(--transition);
}
.reno-blog-card:hover {
  text-decoration: none;
  color: inherit;
}
.reno-blog-card:hover .reno-blog-card-img img {
  transform: scale(1.05);
}

.reno-blog-card-img {
  height: 220px;
  border-radius: var(--card-radius);
  overflow: hidden;
  margin-bottom: 16px;
}
.reno-blog-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}

.reno-blog-card-body {
  padding: 30px;
}

.reno-blog-tags, .reno-blog-tags-wrap {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 10px;
  align-self: flex-start;
}
.reno-blog-tag {
  display: inline-block;
  background: #fff;
  border: none;
  border-radius: 6px;
  padding: 6px 12px;
  font-size: 13px;
  font-weight: 400;
  color: var(--text-dark);
  white-space: nowrap;
}

.reno-blog-card-body h4 {
  font-family: var(--font-heading);
  font-size: 18px;
  font-weight: var(--heading-weight);
  color: var(--text-dark);
  margin-bottom: 8px;
  line-height: 1.3;
}

.reno-blog-card-body p {
  font-size: 14px;
  color: var(--text-body);
  line-height: 1.6;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-bottom: 10px;
}

.reno-blog-card-date {
  font-size: 13px;
  color: var(--text-light);
}

/* ===================== WHY US ===================== */
/* Why Us — Bento Grid (Clayo style) */
.reno-why-section { background: #F5F1EB; }
.reno-why-header {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--heading-gap);
  align-items: end;
  margin-bottom: var(--heading-gap);
}
.reno-why-heading {
  font-family: var(--font-heading);
  font-size: var(--heading-2);
  font-weight: var(--heading-weight);
  line-height: 1.22;
  letter-spacing: var(--heading-spacing);
  color: var(--text-dark);
}
.reno-why-desc {
  font-size: 15px;
  line-height: 1.6;
  color: var(--text-body);
  max-width: 520px;
}
/* Bento grid: 4 cols, 3 rows */
.reno-why-bento {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: 260px 260px 260px;
  gap: 16px;
}
.reno-why-bento__img {
  border-radius: var(--card-radius);
  overflow: hidden;
  position: relative;
}
.reno-why-bento__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.reno-why-bento__img--wide { grid-column: span 2; }
.reno-why-bento__img--tall { grid-row: span 2; }
.reno-why-bento__card {
  border-radius: var(--card-radius);
  padding: var(--card-padding);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.reno-why-bento__card--dark { background: #1a2332; color: #fff; }
.reno-why-bento__card--black { background: #111; color: #fff; }
.reno-why-bento__card--accent { background: var(--primary); color: #fff; }
.reno-why-bento__card--span2 { grid-column: span 2; }
.reno-why-bento__num {
  font-family: var(--font-heading);
  font-size: 48px;
  font-weight: 400;
  line-height: 1.22;
  letter-spacing: -0.04em;
}
.reno-why-bento__text {
  font-size: 14px;
  line-height: 1.5;
  opacity: 0.75;
}
.reno-why-bento__icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(255,255,255,0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 8px;
}
.reno-why-bento__icon i {
  font-size: 16px;
  color: #fff;
}

/* ===================== MAP ===================== */
.reno-map-wrap {
  height: 500px;
  border-radius: var(--radius);
  overflow: hidden;
  background: #e8e8e8;
  position: relative;
}
.reno-section:has(.reno-map-wrap) {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.reno-section:has(.reno-map-wrap) + * {
  padding-top: 0 !important;
}
.reno-section:has(.reno-map-wrap) + script + *:not(.reno-section--bg-beige) {
  padding-top: 0 !important;
}
#novo-map-section {
  background: #EEF0F3;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.reno-section:has(.reno-map-wrap) .reno-section-header {
  text-align: center;
  justify-content: center;
}
.reno-section:has(.reno-map-wrap) .reno-map-wrap {
  border-top: 1px solid rgba(19, 19, 19, 0.15);
  border-bottom: 1px solid rgba(19, 19, 19, 0.15);
}

/* ===================== BANK PARTNERS ===================== */
.reno-banks-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
}
.reno-bank-item {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: var(--radius);
  padding: 16px 28px;
  font-size: 15px;
  font-weight: 600;
  color: var(--text-dark);
  transition: var(--transition);
}
.reno-bank-item:hover {
  border-color: var(--primary);
  color: var(--primary);
}

/* ===================== PROMOTIONS ===================== */
.reno-promo-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-lg);
}
.reno-promo-card {
  background: #fff;
  border-radius: var(--radius);
  padding: var(--card-padding);
  transition: var(--transition);
  position: relative;
}
.reno-promo-card:hover {
  transform: translateY(-3px);
  box-shadow: none;
}
.reno-promo-icon {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: rgba(200,72,36,0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}
.reno-promo-icon i {
  font-size: 20px;
  color: var(--btn);
}
.reno-promo-card h4 {
  font-size: 16px;
  font-weight: var(--heading-weight);
  color: var(--text-dark);
  margin-bottom: 8px;
}
.reno-promo-card p {
  font-size: 14px;
  color: var(--text-body);
  line-height: 1.6;
  margin-bottom: 12px;
}
.reno-promo-tag {
  display: inline-block;
  padding: 4px 12px;
  border-radius: var(--card-radius);
  font-size: 12px;
  font-weight: 600;
  background: rgba(197,164,126,0.12);
  color: var(--primary);
}

/* ===================== APARTMENT SELECTION ===================== */
.reno-apt-select-banner {
  position: relative;
  width: 100%;
  min-height: 760px;
  background-size: cover;
  background-position: center top;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
}
.reno-apt-select-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.45) 100%);
  z-index: 1;
}
.reno-apt-select-inner {
  position: relative;
  z-index: 2;
  padding-top: 48px;
  padding-bottom: 40px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 500px;
  width: 100%;
}
.reno-apt-select-inner {
  min-height: 760px;
}
.reno-apt-select-heading {
  font-family: var(--font-heading);
  font-size: var(--heading-2);
  font-weight: var(--heading-weight);
  line-height: 1.22;
  letter-spacing: var(--heading-spacing);
  color: var(--text-dark);
  margin-bottom: var(--heading-gap);
  text-align: center;
}
.reno-apt-select-card {
  border-radius: var(--radius);
  overflow: hidden;
  background-size: cover;
  background-position: center top;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 540px;
  padding: 24px;
  position: relative;
}
.reno-apt-select-top {
  background: #fff;
  border-radius: var(--card-radius);
  padding: 40px;
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  grid-template-rows: auto auto 1fr auto;
  column-gap: var(--container-padding);
  row-gap: 0;
  align-items: start;
}
.reno-apt-select-top .reno-apt-select-heading {
  grid-column: 1; grid-row: 1; text-align: left;
}
.reno-apt-select-top .reno-apt-select-desc {
  grid-column: 1; grid-row: 2; text-align: left;
}
.reno-apt-select-top .reno-apt-form-v2 {
  grid-column: 2; grid-row: 1 / 4;
}
.reno-apt-select-top .reno-form-consent {
  grid-column: 2; grid-row: 4; text-align: center;
}
.reno-apt-select-desc {
  font-size: 16px;
  color: var(--text-body);
  line-height: 1.6;
  margin-bottom: 16px;
  text-align: center;
}
.reno-apt-select-form {
  display: flex;
  align-items: center;
  gap: 12px;
}
.reno-apt-select-form input,
.reno-apt-select-form select,
.reno-apt-select-form .reno-custom-select {
  flex: 1 1 0;
  min-width: 0;
}
.reno-apt-select-form .reno-custom-select { width: auto; }
.reno-apt-select-form .reno-cs-trigger { height: var(--input-height); border-radius: 16px; }
.reno-apt-select-form input,
.reno-apt-select-form select {
  height: var(--input-height);
  padding: 0 24px;
  border: none;
  border-radius: 16px;
  background: var(--bg-light);
  color: var(--text-dark);
  font-size: 14px;
  font-family: var(--font-body);
}
.reno-apt-select-form input::placeholder { color: #aaa; }
.reno-apt-select-form select {
  color: #aaa;
  -webkit-appearance: none;
  appearance: none;
  background: var(--bg-light) url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23999' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 12px center;
  padding-right: 32px;
}
.reno-apt-select-form select option { color: var(--text-dark); }
.reno-apt-select-form input:focus,
.reno-apt-select-form select:focus {
  outline: none;
  border-color: var(--text-dark);
}
.reno-apt-select-btn {
  flex-shrink: 0;
  height: 52px;
  padding: 0 36px;
  border: none;
  border-radius: var(--btn-radius);
  background: var(--primary);
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  font-family: var(--font-body);
  cursor: pointer;
  transition: background 0.2s;
  white-space: nowrap;
}
.reno-apt-select-btn:hover { background: var(--primary-dark, #b8935e); }

/* Apt form v2 — стиль как у калькулятора */
.reno-apt-form-v2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
.reno-apt-form-v2 .reno-apt-select-btn {
  grid-column: 1 / -1;
  justify-self: center;
  margin-top: 4px;
}
.reno-apt-field-v2 { flex: 1 1 0; min-width: 0; }
.reno-apt-field-v2 label {
  display: block;
  font-size: 15px;
  font-weight: 500;
  text-transform: none;
  letter-spacing: normal;
  color: var(--text-dark);
  margin-bottom: 8px;
}
.reno-apt-field-v2 input,
.reno-apt-field-v2 select {
  width: 100%;
  height: var(--input-height);
  padding: 4px 24px;
  border: none;
  border-radius: 16px;
  background: var(--bg-light);
  color: #888888;
  font-size: 15px;
  font-weight: 400;
  font-family: var(--font-body);
  transition: background 0.2s;
}
.reno-apt-field-v2 input::placeholder { color: #999; }
.reno-apt-field-v2 input:focus,
.reno-apt-field-v2 select:focus {
  outline: none;
  border-color: var(--primary);
  box-shadow: none;
}
.reno-apt-field-v2 select {
  -webkit-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 36px;
}
.reno-apt-select-top > .reno-form-consent {
  display: block;
  font-size: 12px;
  color: #888888;
  text-align: center;
  line-height: 1.6;
  margin-top: 12px;
}
.reno-form-consent {
  font-size: 12px;
  color: #888888;
  text-align: center;
  line-height: 1.4;
}

/* ===================== SEO LINKS ===================== */
.reno-seo-links {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
}
.reno-seo-col {
  padding: 0 32px;
  border-right: 1px solid #e5e2dd;
}
.reno-seo-col:first-child { padding-left: 0; }
.reno-seo-col:last-child { padding-right: 0; border-right: none; }
.reno-seo-links h4 {
  font-family: var(--font-heading);
  font-size: 18px;
  font-weight: var(--heading-weight);
  letter-spacing: var(--heading-spacing);
  color: var(--text-dark);
  margin-bottom: 16px;
}
.reno-seo-links ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.reno-seo-links li {
  padding: 6px 0;
}
.reno-seo-links a {
  font-size: 15px;
  line-height: 1.5;
  color: var(--text-body);
  text-decoration: none;
  transition: var(--transition);
}
.reno-seo-links a:hover {
  color: var(--primary);
}

/* ===================== CONTACT ===================== */
.reno-contact-section {
  background: var(--bg-dark);
  padding: var(--section-padding) 0;
  color: #fff;
}

.reno-contact-inner {
  max-width: 700px;
  margin: 0 auto;
  text-align: center;
}

.reno-contact-inner h2 {
  font-family: var(--font-heading);
  font-size: var(--heading-2);
  font-weight: var(--heading-weight);
  letter-spacing: var(--heading-spacing);
  line-height: 1.22;
  margin-bottom: var(--space-md);
}

.reno-contact-inner > p {
  font-size: 15px;
  opacity: 0.8;
  margin-bottom: 35px;
  line-height: 1.7;
}

.reno-contact-form { text-align: left; }

.reno-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-md);
  margin-bottom: var(--space-md);
}

.reno-contact-form input,
.reno-contact-form textarea {
  width: 100%;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: var(--radius);
  background: rgba(255,255,255,0.08);
  color: #fff;
  font-size: 14px;
  transition: var(--transition);
}
.reno-contact-form input::placeholder,
.reno-contact-form textarea::placeholder { color: rgba(255,255,255,0.5); }
.reno-contact-form input:focus,
.reno-contact-form textarea:focus { outline: none; border-color: var(--primary); background: rgba(255,255,255,0.12); }

.reno-contact-form textarea { margin-bottom: var(--space-md); resize: vertical; }

.reno-contact-form .reno-btn-gold { width: 100%; }

/* ===================== FOOTER ===================== */
.reno-footer { background: #1a2332; color: rgba(255,255,255,0.7); padding: var(--section-padding) 0 0; }

.reno-footer-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--container-padding);
}

.reno-footer-col h4 {
  font-family: var(--font-heading);
  font-size: 18px;
  color: #fff;
  margin-bottom: var(--space-lg);
}

.reno-footer-col p { font-size: 13px; line-height: 1.8; }

.reno-footer-property {
  display: flex;
  gap: var(--space-md);
  margin-bottom: var(--space-md);
}

.reno-footer-prop-img {
  width: 70px;
  height: 55px;
  border-radius: 3px;
  background-size: cover;
  background-position: center;
  flex-shrink: 0;
}

.reno-footer-property a { color: #fff; font-size: 13px; font-weight: 500; display: block; margin-bottom: 3px; }
.reno-footer-property a:hover { color: var(--primary); }
.reno-footer-property span { font-size: 13px; color: var(--primary); font-weight: 600; }

.reno-footer-links li { margin-bottom: var(--space-sm); }
.reno-footer-links a { font-size: 13px; color: rgba(255,255,255,0.7); }
.reno-footer-links a:hover { color: var(--primary); }
.reno-footer-links span { float: right; }

.reno-footer-contact li {
  font-size: 13px;
  margin-bottom: var(--space-sm);
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}
.reno-footer-contact i { color: var(--primary); width: 16px; text-align: center; }
.reno-footer-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  background: var(--primary);
  border-radius: 50%;
  margin-right: 8px;
  flex-shrink: 0;
  vertical-align: middle;
}

.reno-footer-bottom {
  margin-top: var(--container-padding);
  padding: var(--space-lg) 0;
  border-top: 1px solid rgba(255,255,255,0.15);
}

.reno-footer-bottom-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.reno-footer-bottom p { font-size: 13px; }

.reno-footer-bottom-links { display: flex; gap: var(--space-lg); }
.reno-footer-bottom-links a { font-size: 13px; color: rgba(255,255,255,0.5); }
.reno-footer-bottom-links a:hover { color: var(--primary); }

/* Old modal styles removed — see unified modal styles below */

.reno-modal-tabs { display: flex; gap: 0; margin-bottom: var(--space-lg); border-bottom: 1px solid var(--border); }

.reno-modal-tab {
  padding: 10px 20px;
  background: none;
  border: none;
  font-weight: 600;
  font-size: 14px;
  color: var(--text-light);
  cursor: pointer;
  position: relative;
}
.reno-modal-tab.active { color: var(--primary); }
.reno-modal-tab.active::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--primary);
}

.reno-modal-body h3 {
  font-family: var(--font-heading);
  font-size: 22px;
  color: var(--text-dark);
  margin-bottom: var(--space-lg);
}

.reno-modal-body input,
.reno-modal-body select {
  width: 100%;
  height: var(--input-height);
  padding: 4px 24px;
  border: none;
  border-radius: 16px;
  background: var(--bg-light);
  margin-bottom: 12px;
  font-size: 14px;
}

.reno-checkbox {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--text-body);
  margin-bottom: var(--space-md);
  cursor: pointer;
}

.reno-modal-link { text-align: center; margin-top: var(--space-md); font-size: 13px; }
.reno-modal-link a { color: var(--primary); }


/* ===================== INLINE-STYLE EXTRACTION ===================== */

/* Section modifiers */
.reno-section--no-pt { padding-top: 0; }
.reno-section--no-pb { padding-bottom: 0; }
.reno-section--no-pb + .reno-section { border-top: none; }
.reno-section--bg-beige { background: var(--bg-beige); }
.reno-section--bg-white { background: #fff; }

/* Apartment hero overrides (single-apartment & page-apartments-list) */
.reno-apt-hero {
  min-height: auto;
  padding: var(--section-padding) 0 0;
  background: var(--bg-beige);
  display: block;
  overflow: visible;
}
.reno-apt-hero--list {
  padding: var(--section-padding) 0 32px;
}

/* Breadcrumb modifiers */
.reno-breadcrumb--no-pad { padding: 0; }

/* Apartment subtitle (novo name under apt title) */
.reno-apt-subtitle {
  font-size: 14px;
  color: var(--text-light);
  margin-bottom: 12px;
}

/* Section header title compact margin */
.reno-section-header__title--compact { margin: 0 0 4px; }

/* Section header centered */
.reno-section-header--center { text-align: center; }

/* Viewer panel modifiers */
.reno-apt-viewer-panel--clickable { cursor: pointer; position: relative; text-align: center; }
.reno-apt-viewer-panel--hidden { display: none !important; }
.reno-apt-viewer-panel--map { position: relative; }

/* Lightbox styles */
.reno-lightbox {
  background: rgba(0,0,0,0.85);
  justify-content: center;
  align-items: center;
}
.reno-lightbox__close {
  position: absolute;
  top: 16px;
  right: 16px;
  background: none;
  border: none;
  color: #fff;
  font-size: 32px;
  cursor: pointer;
  z-index: 10;
}
.reno-lightbox__img {
  max-width: 95vw;
  max-height: 90vh;
  object-fit: contain;
}

/* Building viewer panel image fill */
.reno-apt-viewer-panel--building img {
  width: 100%;
  display: block;
}

/* Map controls inside viewer panel */
.reno-apt-map-controls {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 10;
}

/* CTA button (full-width in card context) */
.reno-apt-cta-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  border-radius: 12px;
  font-size: var(--text-base);
  font-weight: 400;
  margin-top: 16px;
  text-decoration: none;
}

/* Features grid top margin */
.reno-exp__features--mt { margin-top: 32px; }

/* Catalog toolbar modifiers (page-apartments-list) */
.reno-catalog-toolbar--borderless {
  border-bottom: none;
  padding-bottom: 0;
  margin-top: 75px;
  margin-bottom: 24px;
}

/* Count badge (apartments list) */
.reno-apt-count {
  font-size: 14px;
  color: var(--text-light);
  flex-shrink: 0;
}

/* Explorer tabs / sort margin helpers */
.reno-explorer-tabs--mb16 { margin-bottom: 16px; }
.reno-explorer-sort--mb24 { margin-bottom: 24px; }

/* No results styling */
.reno-no-results--centered {
  text-align: center;
  padding: 60px 0;
}

/* Back link wrapper */
.reno-back-link-wrap {
  text-align: center;
  margin-top: 32px;
}

/* CTA button with top margin */
.reno-btn--mt20 { margin-top: var(--space-lg); }

/* Find CTA buttons wrapper */
.reno-find-cta-group {
  display: flex;
  gap: 10px;
  flex-shrink: 0;
  flex-wrap: wrap;
  max-width: 100%;
}

/* Find CTA button dark variant */
.reno-find-cta-btn--dark {
  background: #1B3350;
  color: #fff;
}
.reno-find-cta-btn--dark:hover {
  background: #142842;
}
.reno-find-cta-btn--gold {
  background: var(--primary);
  color: #fff;
}
.reno-find-cta-btn--outline {
  background: #fff;
  color: var(--text-dark);
  border: 1px solid var(--border);
}
.reno-find-cta-btn--outline:hover {
  border-color: var(--text-dark);
}

/* Novo CTA wrap find-btn overrides */
.reno-novo-cta-wrap .reno-find-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  width: auto;
  padding: 0 32px;
}

/* ===================== RESPONSIVE ===================== */

/* --- XL: Large desktops (≤1400px) — Clayo container stays at 1176px --- */

/* --- LG: Desktops (≤1200px) --- */
@media (max-width: 1200px) {
  .reno-properties-grid { grid-template-columns: repeat(3, 1fr); }
  .reno-hero-content { max-width: 550px; }
}

/* --- MD: Tablets landscape (≤1024px) --- */
@media (max-width: 1024px) {
  .reno-properties-grid { grid-template-columns: repeat(2, 1fr); }
  .reno-featured-grid { grid-template-columns: repeat(2, 1fr); }
  .reno-area-grid { grid-template-columns: repeat(2, 1fr); }
  .reno-district-card { flex: 0 0 calc(25% - 15px); }
  .reno-testimonial-card { flex: 0 0 calc(50% - 12px); }
  .reno-team-grid { grid-template-columns: repeat(2, 1fr); gap: var(--grid-gap); }
  .reno-team-img { height: 380px; }
  /* team heading inherits --heading-2 clamp */
  .reno-footer-grid { grid-template-columns: repeat(2, 1fr); }
  .reno-find-home-grid { grid-template-columns: 1fr; gap: var(--container-padding); }
  .reno-find-home-images { order: -1; }
  /* fluid clamp handles spacing */
  .reno-section { padding: var(--section-padding) 0; }
  .reno-section-header { margin-bottom: var(--heading-gap); }
  .reno-hero-content > p { font-size: 17px; }
  .reno-find-inner { grid-template-columns: 220px 1fr; gap: 32px; }
  /* find-title inherits --heading-2 clamp */
  .reno-nav-list > li > a { padding: 24px 12px; font-size: 13px; }
  .reno-search-form {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
  }
  .reno-search-field { width: 100%; }
  .reno-search-btn {
    grid-column: 1 / -1;
    width: 100%;
    height: 46px;
    font-size: 16px;
    border-radius: 10px;
  }
}

/* --- Navigation: switch to hamburger at 1024px --- */
@media (max-width: 1024px) {
  .reno-hamburger { display: flex; }
  .reno-nav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #fff;
    z-index: 1000;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0;
    transform: translateX(100%);
    visibility: hidden;
    transition: transform 0.35s ease, visibility 0s 0.35s;
    padding: 80px 40px;
    overflow-y: auto;
  }
  .reno-nav.active { transform: translateX(0); visibility: visible; transition: transform 0.35s ease, visibility 0s 0s; }
  .reno-nav ul { flex-direction: column; gap: 0; width: 100%; text-align: center; }
  .reno-nav li { border-bottom: 1px solid var(--border); }
  .reno-nav li:last-child { border-bottom: none; }
  .reno-nav a { display: block; padding: 16px 0; font-size: 18px; }
  .reno-header-top { display: none; }
  .reno-hero { margin-top: 54px; height: calc(70vh - 103px); min-height: 480px; }
  .reno-hero--catalog { height: calc(70vh - 103px); min-height: 480px; }
  .reno-page-hero { margin-top: 54px; }
  .reno-page-hero__stack { padding-left: 30px; }
  .reno-page-hero__stack::before { left: 0; }
  .reno-property-gallery { margin-top: 54px; }
  .reno-property-single .reno-property-gallery { margin-top: 54px; }
  .reno-apartment-single .reno-property-gallery { margin-top: 54px; }
}

/* --- SM: Tablets portrait (≤768px) --- */
@media (max-width: 768px) {
  .reno-container { padding: 0 16px; }

  .reno-nav {
    background: #fff;
    flex-direction: column;
    justify-content: flex-start;
    padding: 80px 24px 24px;
    transform: translateX(-100%);
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    overflow-y: auto;
    z-index: 999;
  }
  .reno-nav.active { transform: translateX(0); }

  .reno-nav-list { flex-direction: column; width: 100%; gap: 0; }
  .reno-nav-list > li > a {
    padding: 16px 0;
    border-bottom: 1px solid #f0f0f0;
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .reno-nav-list .sub-menu,
  .reno-dropdown {
    position: static !important;
    box-shadow: none;
    display: none;
    padding-left: 16px;
    background: #fafafa;
    border-radius: 0;
    margin: 0;
  }
  .reno-nav-list .menu-item-has-children:hover > .sub-menu { display: none; }
  .reno-nav-list .menu-item-has-children.open > .sub-menu { display: block; }
  .reno-has-dropdown.open .reno-dropdown { display: block; }
  .reno-nav-list .sub-menu li a {
    padding: 12px 16px;
    font-size: 14px;
    min-height: 44px;
    display: flex;
    align-items: center;
  }

  .reno-header-top { padding: 5px 0; }
  .reno-header-phone { font-size: 12px; }
  .reno-header-social { display: none; }
  .reno-header-inner { height: 60px; gap: 0; }
  .reno-logo { font-size: 26px; }
  .reno-logo-divider { margin: 0 8px; }
  .reno-logo-city { margin-right: auto; }
  .reno-btn-signin { width: 36px; height: 36px; }

  .reno-hero { height: calc(70vh - 103px); min-height: 480px; }
  .reno-hero-wrap { padding: 0 24px 46px; }
  .reno-hero-content { max-width: 100%; }
  .reno-hero-content h1 { margin-bottom: 12px; }
  .reno-hero-content > p { font-size: 17px; line-height: 1.5; margin-bottom: 0; max-width: 100%; }
  .reno-hero-overlay { background: linear-gradient(to top, rgba(0,0,0,0.90) 0%, rgba(0,0,0,0.55) 35%, rgba(0,0,0,0.10) 70%, rgba(0,0,0,0) 100%); }
  .reno-hero-bottom { gap: var(--space-lg); }

  .reno-find-section { padding: clamp(28px, 5vw, 48px) 0; }
  .reno-find-head-row { flex-direction: column; align-items: flex-start; }
  .reno-find-head-row .reno-find-cta-btn { margin-top: var(--heading-gap); }
  .reno-find-inner { grid-template-columns: 1fr; gap: var(--space-lg); }
  /* find-title inherits --heading-2 clamp */
  .reno-find-form { flex-direction: column; align-items: stretch; gap: 0; background: transparent; border-radius: var(--btn-radius); overflow: hidden; }
  .reno-find-fields { flex-direction: column; gap: 0; width: 100%; background: transparent; border-radius: 0; }
  .reno-find-field { width: 100%; background: transparent; border-radius: 0; padding: 10px 0; }
  .reno-find-btn { width: 100%; height: 46px; padding: 0; font-size: 14px; border-radius: var(--btn-radius); margin-top: 30px; justify-content: center; }

  .reno-properties-grid { grid-template-columns: repeat(2, 1fr); }
  .reno-featured-grid { grid-template-columns: repeat(2, 1fr); }
  .reno-area-grid { grid-template-columns: repeat(2, 1fr); }
  .reno-district-card { flex: 0 0 calc(33.333% - 14px); }
  .reno-districts-nav { justify-content: center; }
  .reno-developers-nav { justify-content: center; }
  .reno-testimonial-card { flex: 0 0 100%; }
  .reno-testimonials-carousel { overflow: visible; }
  .reno-testimonials-nav { justify-content: center; }
  .reno-testimonial-card > p { font-size: 16px; margin-bottom: 24px; }
  .reno-blog-grid { grid-template-columns: 1fr; gap: var(--grid-gap); }
  .reno-blog-track > * { flex: 0 0 calc(80% - 14px); }
  .reno-blog-nav { justify-content: center; }
  .reno-team-nav { justify-content: center; }
  .reno-blog-card-img { height: 200px; }
  .reno-team-grid { grid-template-columns: repeat(2, 1fr); gap: var(--grid-gap); }
  /* Center carousel section headers on mobile */
  .reno-developers-header,
  .reno-section-header--center { text-align: center; }
  .reno-developers-header { flex-direction: column; align-items: center; gap: 12px; }
  .reno-team-img { height: 300px; }
  /* team heading inherits --heading-2 clamp */
  .reno-footer-grid { grid-template-columns: 1fr; gap: 30px; }
  .reno-form-row { grid-template-columns: 1fr; }
  .reno-footer-bottom-inner { flex-direction: column; gap: 12px; text-align: center; }
  .reno-footer-bottom-links { justify-content: center; }

  /* fluid clamp handles spacing */
  .reno-section { padding: var(--section-padding) 0; }
  .reno-section-header { margin-bottom: var(--heading-gap); }
  .reno-section-header h1, .reno-section-header h2 { font-size: var(--heading-2); }
  /* block-heading inherits --heading-2 clamp */
  .reno-label { font-size: 12px; padding: 3px 12px; letter-spacing: 1.5px; }

  .reno-property-img { height: 180px; }
  .reno-property-body { padding: 14px; }
  .reno-property-body h4 { font-size: 15px; }
  .reno-property-meta { gap: 10px; font-size: 12px; }

  .reno-featured-img { height: 180px; }
  .reno-featured-overlay h4 { font-size: 17px; }
  .reno-area-img { height: 200px; }
  .reno-area-overlay h4 { font-size: 17px; }

  .reno-services-grid { grid-template-columns: 1fr 1fr; }
  .reno-service-item { padding: 12px; gap: 10px; }
  .reno-service-icon { width: 42px; height: 42px; font-size: 16px; }
  .reno-service-item h5 { font-size: 13px; }

  .reno-team-img { height: 280px; }

  .reno-find-home-content > p { font-size: 14px; }

  .reno-contact-inner { max-width: 100%; }
  /* .reno-contact-section uses fluid --section-padding */

  .reno-contact-form input,
  .reno-contact-form textarea {
    padding: 14px 16px;
    font-size: 16px;
  }
  .reno-contact-form .reno-btn-gold { padding: 16px; font-size: 16px; }

  .reno-footer { padding: 40px 0 0; }
  .reno-footer-col h4 { font-size: 16px; margin-bottom: 14px; }
  .reno-footer-bottom { margin-top: 28px; padding: 16px 0; }

  .reno-filters { gap: 8px; }
  .reno-filters select { min-width: 140px; padding: 10px 12px; font-size: 13px; }
}

/* --- XS: Small phones (≤576px) --- */
@media (max-width: 576px) {
  .reno-container { padding: 0 16px; }

  .reno-hero { height: calc(70vh - 103px); min-height: 480px; }
  .reno-hero-wrap { padding: 0 16px 46px; }
  .reno-hero-content > p { font-size: 15px; line-height: 1.6; font-weight: 400; margin-bottom: 0; }
  .reno-hero-overlay { background: linear-gradient(to top, rgba(0,0,0,0.90) 0%, rgba(0,0,0,0.55) 35%, rgba(0,0,0,0.10) 70%, rgba(0,0,0,0) 100%); }
  .reno-hero-bottom { flex-direction: column; align-items: flex-start; gap: 16px; }
  /* Find section — fluid clamp handles sizing */
  /* find-title inherits --heading-2 clamp */
  .reno-find-form { flex-direction: column; align-items: stretch; gap: 0; background: transparent; border-radius: 12px; overflow: hidden; }
  .reno-find-fields { flex-direction: column; gap: 0; width: 100%; background: transparent; border-radius: 0; }

  .reno-properties-grid { grid-template-columns: 1fr; }
  .reno-featured-grid { grid-template-columns: 1fr; }
  .reno-area-grid { grid-template-columns: 1fr; }
  .reno-district-card { flex: 0 0 calc(44% - 10px); }

  .reno-featured-img { height: 200px; }
  .reno-area-img { height: 220px; }
  .reno-district-name { font-size: 14px; }
  .reno-property-img { height: 200px; }

  .reno-services-grid { grid-template-columns: 1fr; }

  :root { --btn-height: 48px; }
  .reno-section { padding: var(--section-padding) 0; }
  .reno-section-districts { margin-top: 0; padding-top: var(--section-padding); }
  .reno-exp { padding: var(--section-padding) 0; }
  .reno-section-header h1, .reno-section-header h2 { font-size: var(--heading-2); }
  .reno-block-heading { font-size: var(--heading-3); }
  .reno-section-header { margin-bottom: var(--heading-gap); }

  .reno-team-grid { grid-template-columns: repeat(2, 1fr); gap: var(--grid-gap); }
  .reno-team-img { height: 260px; }
  /* team heading inherits --heading-2 clamp */

  .reno-contact-inner > p { font-size: 14px; }

  /* Old modal mobile styles removed */

  .reno-property-price { font-size: 14px; padding: 4px 10px; }
  .reno-badge { font-size: 12px; padding: 4px 10px; }
  .reno-property-badges { gap: 8px; top: 8px; left: 8px; }

  .reno-find-home-images { grid-template-rows: 180px 140px; }

  .reno-footer-property { gap: 10px; }
  .reno-footer-prop-img { width: 60px; height: 45px; }
  .reno-footer-grid { gap: var(--grid-gap); }
  .reno-footer-col h4 { font-size: 15px; }
}

/* --- XXS: Very small phones (≤375px) --- */
@media (max-width: 375px) {
  :root { --heading-2: 20px; --heading-3: 16px; --section-padding: 48px; --btn-height: 48px; --container-padding: 16px; }
  .reno-section-header h1, .reno-section-header h2 { font-size: var(--heading-2); }
  /* block-heading inherits --heading-2 clamp */
  .reno-logo { font-size: 22px; }
  .reno-header-inner { height: 54px; }
  .reno-search-tab { padding: 10px 14px; font-size: 12px; }
}

/* --- Landscape orientation fix --- */
@media (max-height: 500px) and (orientation: landscape) {
  .reno-hero { height: calc(70vh - 103px); min-height: 480px; }
  .reno-hero-wrap { padding: 30px 20px 16px; }
  .reno-nav { padding-top: 20px; }
}

/* --- Touch-target minimum sizes --- */
@media (hover: none) and (pointer: coarse) {
  .reno-btn, .reno-btn-primary, .reno-btn-outline, .reno-btn-gold {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .reno-nav-list > li > a { min-height: 48px; }
  .reno-search-field select, .reno-search-field input { min-height: 44px; font-size: 16px; }
  .reno-filters select { min-height: 44px; }
  .reno-cs-trigger { min-height: 48px; font-size: 15px; }
  .reno-cs-option { padding: 12px 14px; font-size: 15px; min-height: 44px; display: flex; align-items: center; }
  .reno-cs-dropdown { max-height: 200px; }
}

/* ===================== CUSTOM SELECT DROPDOWN ===================== */
.reno-custom-select {
  position: relative;
  width: 100%;
}
.reno-custom-select select {
  display: none !important;
}
.reno-cs-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: var(--input-height);
  padding: 4px 36px 4px 24px;
  border: none;
  border-radius: 16px;
  background: var(--bg-light);
  font-size: var(--text-base);
  cursor: pointer;
  transition: border-color 0.2s;
  position: relative;
  user-select: none;
  -webkit-user-select: none;
}
.reno-cs-trigger::after {
  content: '';
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%) rotate(0deg);
  width: 10px;
  height: 10px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") no-repeat center;
  transition: transform 0.2s;
}
.reno-custom-select.open .reno-cs-trigger::after {
  transform: translateY(-50%) rotate(180deg);
}
.reno-cs-trigger:hover {
  background: #eaebe9;
}
.reno-custom-select.open .reno-cs-trigger {
  background: #eaebe9;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.reno-cs-placeholder {
  color: #999;
}
.reno-cs-value {
  color: var(--text-dark);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.reno-cs-dropdown {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 1000;
  background: #fff;
  border: 1px solid var(--primary);
  border-top: none;
  border-radius: 0 0 10px 10px;
  max-height: 240px;
  overflow-y: auto;
  box-shadow: none;
}
.reno-custom-select.open .reno-cs-dropdown {
  display: block;
}
.reno-cs-option {
  padding: 10px 14px;
  font-size: 14px;
  color: var(--text-dark);
  cursor: pointer;
  transition: background 0.15s;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.reno-cs-option:hover {
  background: rgba(197, 164, 126, 0.08);
}
.reno-cs-option.selected {
  background: rgba(197, 164, 126, 0.15);
  font-weight: 600;
}
.reno-cs-option.placeholder-opt {
  color: #999;
}
.reno-cs-dropdown::-webkit-scrollbar {
  width: 5px;
}
.reno-cs-dropdown::-webkit-scrollbar-track {
  background: transparent;
}
.reno-cs-dropdown::-webkit-scrollbar-thumb {
  background: #ccc;
  border-radius: 3px;
}
.reno-cs-dropdown::-webkit-scrollbar-thumb:hover {
  background: #aaa;
}

/* --- Prevent horizontal overflow globally --- */
body { overflow-x: hidden; }
.reno-property-price { word-break: break-word; }
.reno-property-body h4 { word-break: break-word; overflow-wrap: break-word; }

/* --- Smooth scrolling respects user preference --- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
  html { scroll-behavior: auto; }
}

/* ===================== ARCHIVE HERO ===================== */
.reno-archive-hero {
  background: var(--bg-light);
  padding: 40px 0 30px;
  margin-top: 59px;
  border-bottom: 1px solid var(--border);
}
.reno-archive-hero h1 {
  font-family: var(--font-heading);
  font-size: 32px;
  color: var(--text-dark);
  margin-top: 8px;
}
.reno-breadcrumb-inline,
.reno-breadcrumb {
  font-size: 13px;
  color: var(--text-light);
  padding: 20px 0;
  background: transparent;
  border-bottom: none;
}
.reno-breadcrumb-inline a,
.reno-breadcrumb a { color: var(--primary); }
.reno-breadcrumb-inline a:hover,
.reno-breadcrumb a:hover { text-decoration: underline; }
.reno-post-meta-hero { margin-top: 10px; font-size: 13px; color: var(--text-light); }
.reno-post-meta-hero span { margin-right: var(--space-md); }
.reno-post-meta-hero i { margin-right: 4px; }

/* ===================== FILTER BAR ===================== */
.reno-filter-bar { margin-bottom: 30px; }
.reno-filters {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.reno-filters select {
  padding: 11px 34px 11px 14px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  background: #fff;
  font-size: 14px;
  min-width: 160px;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  cursor: pointer;
  cursor: pointer;
}
.reno-pagination { text-align: center; margin-top: 40px; }
.reno-pagination .page-numbers {
  display: inline-block;
  padding: 8px 14px;
  margin: 0 3px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  color: var(--text-body);
  font-size: 14px;
  transition: var(--transition);
}
.reno-pagination .page-numbers.current,
.reno-pagination .page-numbers:hover {
  background: var(--primary);
  color: #fff;
  border-color: var(--primary);
}
.reno-no-results { text-align: center; padding: 60px 0; font-size: 16px; color: var(--text-light); }

/* ===================== SINGLE PROPERTY ===================== */
.reno-property-single { margin-top: 84px; background: #fff; }
.reno-novo-hero-bar {
  background: #F5F1EB;
  padding-bottom: 75px;
  border-bottom: none;
}
.reno-property-single .reno-breadcrumb {
  background: transparent;
  padding: 20px 0;
  font-size: 13px;
  color: var(--text-light);
  border-bottom: none;
}
.reno-property-single .reno-breadcrumb .reno-container { text-align: left; }
.reno-property-single .reno-breadcrumb a { color: var(--primary); }
.reno-property-single .reno-breadcrumb a:hover { text-decoration: underline; }
.reno-breadcrumb-sep { color: #888888; margin: 0 6px; }

.reno-why-bento__card,
.reno-testimonial-card,
.reno-blog-card,
.reno-blog-featured,
.reno-dev-card,
.reno-info-card,
.reno-note-card,
.reno-map-embed-card,
.reno-novo-price-card-dark,
.reno-novo-mortgage-card,
.reno-novo-cta-card {
  box-shadow: none;
}

.reno-property-gallery { margin-bottom: 0; }
.reno-property-gallery > .reno-container { max-width: 100%; padding: 0; }
.reno-gallery-grid {
  display: flex;
  height: 650px;
}
.reno-gallery-main {
  background-size: cover;
  background-position: center;
  border-radius: 0;
  width: 50%;
  height: 100%;
  position: relative;
  border-right: 1px solid #f0f0f0;
  border-bottom: 1px solid #f0f0f0;
}
.reno-gallery-thumbs {
  display: flex;
  flex-wrap: wrap;
  width: 50%;
  height: 100%;
}
.reno-gallery-thumb {
  background-size: cover;
  background-position: center;
  width: 50%;
  height: 50%;
  border-right: 1px solid #f0f0f0;
  border-bottom: 1px solid #f0f0f0;
  cursor: pointer;
  transition: var(--transition);
  min-height: 100px;
}
.reno-gallery-thumb:hover { opacity: 0.85; }

.reno-property-layout {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--section-padding);
  padding: var(--section-padding) 0 0;
}
.reno-property-layout--continued {
  padding-top: 0;
}
.reno-property-layout > * {
  grid-column: 1 / -1;
  margin-bottom: 0 !important;
}
.reno-property-layout > .reno-block-heading + .reno-keydata-wrap {
  margin-top: -43px !important;
}
.reno-property-layout > .reno-grid-item {
  grid-column: auto;
}

/* ── Чередование фонов секций ЖК (viewport breakout, контент выровнен) ── */
.reno-property-layout > .reno-advantages-top-row {
  background: #EEF0F3;
  margin-left: calc(-50vw + 50%) !important;
  margin-right: calc(-50vw + 50%);
  margin-top: 0;
  padding: var(--section-padding) calc(50vw - 50%);
  border-radius: 0;
}
.reno-property-layout > .reno-calc-section {
  margin-left: calc(-50vw + 50%) !important;
  margin-right: calc(-50vw + 50%);
}
.reno-property-layout > .reno-block-with-heading:has(> h4:first-child):not(:has(> .reno-explorer)) {
  background: transparent;
  padding: 0;
  border-radius: 0;
}
/* После секции с padding (explorer, 75px pad-btm) → 0 зазор, padding достаточно */
.reno-property-layout > .reno-block-with-heading:has(> .reno-explorer) + .reno-block-with-heading {
  margin-top: -75px;
}
/* Explorer (75px pad-top) после серой секции (75px pad-btm) → перекрытие -75px, итого 75px */
.reno-property-layout > .reno-block-with-heading:has(> .reno-explorer) {
  margin-top: -75px;
}
.reno-property-layout > .reno-floorplans-section {
  background: transparent;
  border-radius: 0;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  padding: 0 calc(50vw - 50%) var(--section-padding);
  position: relative;
  overflow: hidden;
}
.reno-property-layout > .reno-floorplans-section::after {
  content: ''; position: absolute; right: 0; top: 0; bottom: 0;
  width: 80px; background: linear-gradient(to right, transparent, #fff);
  pointer-events: none; z-index: 2;
}
/* Второй grid-layout (.reno-property-main) — уже full-width, padding = container margin + padding */
.reno-property-main > * {
  padding-left: max(40px, calc((100vw - 1260px) / 2 + 40px));
  padding-right: max(40px, calc((100vw - 1260px) / 2 + 40px));
}
/* Калькулятор на странице ЖК — сбрасываем padding, ширину задаёт .reno-container внутри */
.reno-property-main > .reno-calc-section {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
/* Trade-in баннер на странице ЖК — viewport breakout */
.reno-property-single .reno-tradein-banner {
  margin-left: calc(-50vw + 50%) !important;
  margin-right: calc(-50vw + 50%);
  width: 100vw;
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
/* Похожие новостройки — viewport breakout как на главной */
.reno-property-main > .reno-block-with-heading:has(.reno-similar-grid) {
  background: #fff;
  padding: var(--section-padding) 0;
  border-radius: 0;
  margin-left: 0 !important;
  margin-right: 0;
  width: 100%;
}
.reno-similar-section {
  padding: var(--section-padding) 0 !important;
  border-radius: 0 !important;
  background: var(--bg-beige) !important;
  border-top: 1px solid rgba(19,19,19,0.15) !important;
}
.reno-similar-section > .reno-section-header { margin-bottom: 0; }
/* Варианты оплаты — скрыта */
.reno-property-main > .reno-prop-section.reno-collapsible:has(.reno-novo-payment-options) {
  display: none;
}
/* Экскурсия — серый фон (сразу после CTA формы) */
.reno-property-main > .reno-sidebar-cta + .reno-sidebar-card {
  background: #EEF0F3;
  padding-top: var(--section-padding);
  padding-bottom: var(--section-padding);
  border-radius: 0;
}
/* Краткая справка — белый (последний sidebar-card) */
.reno-property-main > .reno-sidebar-cta + .reno-sidebar-card + .reno-sidebar-card {
  background: #fff;
  padding-top: var(--section-padding);
  padding-bottom: var(--section-padding);
  border-radius: 0;
}

.reno-block-with-heading {
  display: flex;
  flex-direction: column;
  gap: var(--heading-gap);
  background: #fff;
  border-radius: var(--card-radius);
  padding: 32px;
}
.reno-block-with-heading > .reno-section-line {
  display: block;
  border: none;
  border-top: 1px solid rgba(19,19,19,0.15);
  margin: 0;
}
.reno-block-with-heading > .reno-explorer {
  margin-top: 0;
}
.reno-block-with-heading:has(> .reno-explorer) {
  gap: var(--space-lg);
}
.reno-block-with-heading:has(> .reno-explorer) {
  background: #fff;
  border-radius: 0;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  padding: var(--section-padding) calc(50vw - 50%);
}
.reno-block-heading {
  font-family: var(--font-heading);
  font-size: var(--heading-2);
  font-weight: var(--heading-weight);
  letter-spacing: var(--heading-spacing);
  line-height: 1.22;
  color: var(--text-dark);
  margin: 0;
}
/* Единый отступ от заголовка секции до контента */
.reno-section h2,
.reno-calc-section h2 {
  margin-bottom: var(--heading-gap);
}
.reno-section-header h2,
.reno-section-header h1,
.reno-developers-header h2,
.reno-why-header h2 {
  margin-bottom: 0;
}
.reno-section-line {
  border: none;
  border-top: 1px solid var(--border);
  margin: 0 0 var(--heading-gap);
  width: 100%;
}
.reno-novo-cta-grid { display: none; }
.reno-keydata-wrap {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  border-radius: 0;
  overflow: visible;
  border: none;
}
.reno-keydata-placeholder {
  display: none;
}
.reno-keydata-main {
  display: flex;
  flex-direction: column;
  gap: var(--grid-gap);
  background: transparent;
  padding: 0;
}
.reno-block-heading + .reno-keydata-wrap {
  margin-top: 24px;
}
.reno-keydata-placeholder img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.reno-keydata-main > h4 {
  font-family: var(--font-heading);
  font-size: 22px;
  font-weight: var(--heading-weight);
  color: var(--text-dark);
}
.reno-property-title-bar {
  display: flex;
  flex-direction: column;
  margin-bottom: 14px;
  gap: 16px;
  background: #fff;
  border: none;
  border-radius: var(--card-radius);
  padding: 25px;
}
.reno-property-title-bar > h4 {
  font-family: var(--font-heading);
  font-size: 22px;
  font-weight: var(--heading-weight);
  color: var(--text-dark);
  margin: 0;
}
.reno-property-location { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; font-size: 13px; color: var(--text-body); }
.reno-property-location i { color: var(--primary); margin-right: 4px; }
.reno-badge-cat { background: var(--bg-light); padding: 4px 10px; border-radius: 4px; font-size: 12px; font-weight: 400; }
.reno-novo-page-title:has(+ .reno-novo-title-badges-row) { margin-bottom: 0; }
.reno-novo-title-badges-row {
  display: flex;
  gap: 8px;
  margin-top: 10px;
  margin-bottom: 16px;
}
.reno-novo-title-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin: 0;
  padding: 4px 10px;
  background: #fff;
  color: var(--text-dark);
  border-radius: 4px;
  font-size: 12px;
  font-weight: 400;
  vertical-align: middle;
  letter-spacing: 0;
}
.reno-novo-deadline-badge {
  display: inline-flex;
  align-items: center;
  margin: 0 0 0 10px;
  padding: 4px 10px;
  background: var(--primary);
  color: #fff !important;
  border-radius: 4px;
  vertical-align: middle;
  position: relative;
  top: -4px;
  font-size: 12px;
  font-weight: 700;
  text-transform: none;
  letter-spacing: normal;
  color: var(--text-dark);
}
.reno-property-price-big {
  font-size: 24px;
  font-weight: 700;
  color: var(--primary);
  white-space: nowrap;
}
/* Price hero block (PIK-inspired) */
.reno-novo-page-title {
  font-family: var(--font-heading);
  font-size: var(--heading-2);
  font-weight: var(--heading-weight);
  letter-spacing: var(--heading-spacing);
  line-height: 1.22;
  color: var(--text-dark);
  margin: 0 0 var(--space-xl);
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}
.reno-novo-price-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  margin-bottom: 0;
  border-radius: var(--card-radius);
  overflow: hidden;
}
.reno-novo-price-card-dark {
  background: #fff;
  border: none;
  border-radius: var(--card-radius) 0 0 var(--card-radius);
  padding: var(--card-padding);
  position: relative;
  z-index: 3;
}
.reno-novo-mortgage-card {
  background: #fff;
  border: none;
  border-radius: 0;
  padding: var(--card-padding);
  position: relative;
  z-index: 2;
}
.reno-novo-mortgage-card::before {
  content: '';
  position: absolute;
  left: 0;
  top: 30px;
  bottom: 30px;
  width: 2px;
  background: var(--border);
}
.reno-novo-price-label {
  display: block;
  font-size: 13px;
  font-weight: 400;
  color: var(--text-light);
  margin-bottom: 6px;
  line-height: 1.3;
}
.reno-novo-mortgage-card .reno-novo-price-label {
  color: var(--text-light);
}
.reno-novo-price-main {
  font-size: 34px;
  font-weight: 700;
  color: #000;
  line-height: 1.22;
  letter-spacing: -0.02em;
}
.reno-novo-price-perm2 {
  font-size: 13px;
  color: var(--text-light);
  margin-top: 4px;
}
.reno-novo-price-mortgage {
  font-size: 34px;
  font-weight: 400;
  color: var(--primary);
  line-height: 1.22;
}
.reno-novo-mortgage-card > .reno-novo-title-badges-row {
  margin: 0 0 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--border);
  flex-wrap: nowrap;
  overflow-x: auto;
  scrollbar-width: none;
}
.reno-novo-mortgage-card > .reno-novo-title-badges-row::-webkit-scrollbar { display: none; }
.reno-novo-mortgage-card .reno-novo-title-badge {
  white-space: nowrap;
}
.reno-novo-mortgage-card .reno-novo-title-badge {
  border: 1.5px solid var(--primary);
  background: transparent;
  border-radius: 8px;
  padding: 4px 10px;
  font-size: 12px;
}
.reno-novo-mortgage-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 16px;
}
.reno-novo-mortgage-col {
  min-width: 0;
}
.reno-novo-mortgage-sub {
  font-size: 13px;
  color: var(--text-light);
}
.reno-novo-price-calc {
  display: inline-block;
  font-size: 13px;
  color: rgba(255,255,255,.6);
  text-decoration: none;
  margin-top: 4px;
}
.reno-novo-price-calc:hover {
  text-decoration: underline;
}

/* Meta row (horizontal location bar) */
.reno-novo-meta-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  padding-bottom: 0;
}
.reno-novo-meta-item {
  padding: 0 24px;
  border-left: 2px solid var(--border);
  padding-left: 24px;
}
.reno-novo-meta-label {
  display: block;
  font-size: 13px;
  font-weight: 400;
  color: var(--text-light);
  line-height: 1.3;
  margin-bottom: 6px;
}
.reno-novo-meta-value {
  display: block;
  font-size: 15px;
  font-weight: 500;
  color: var(--text-dark);
  line-height: 1.4;
}

.reno-about-block {
  background: var(--bg-light);
  border: none;
  border-radius: var(--card-radius);
  padding: 25px;
}
.reno-block-divider {
  border: none;
  border-top: 1px solid #ccc;
  margin: 0 0 8px;
}
.reno-about-block-text {
  padding-bottom: 0;
  max-width: 100%;
  margin-left: 0;
  position: relative;
  overflow: hidden;
  max-height: calc(1.6em * 5);
  transition: max-height 0.4s ease;
}
.reno-about-block-text--accent {
  border-left: 3px solid var(--primary);
  padding-left: 24px;
}
.reno-block-with-heading:has(> .reno-about-block-text) {
  gap: 16px;
  align-items: center;
}
.reno-block-with-heading:has(> .reno-about-block-text) > .reno-block-heading,
.reno-block-with-heading:has(> .reno-about-block-text) > .reno-about-block-text {
  align-self: stretch;
}
.reno-about-block-text.is-expanded {
  max-height: none;
}
.reno-about-block-text,
.reno-about-block-text p {
  font-size: 16px;
  font-weight: 400;
  color: var(--text-body);
  line-height: 1.6;
}
.reno-about-expand-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin: 0;
  padding: 0 24px;
  height: var(--btn-height);
  background: #fff;
  border: 1.5px solid var(--primary);
  border-radius: 12px;
  font-size: 14px;
  font-weight: 500;
  color: var(--primary);
  cursor: pointer;
  transition: var(--transition);
}
.reno-about-expand-btn::after {
  content: '→';
}
.reno-about-expand-btn:hover {
  background: var(--primary);
  color: #fff;
}
.reno-about-expand-btn.is-hidden {
  display: none;
}
.reno-prop-section {
  background: #fff;
  border: none;
  border-radius: var(--card-radius);
  padding: 32px;
}
.reno-prop-section > h4 {
  font-family: var(--font-heading);
  font-size: 22px;
  font-weight: var(--heading-weight);
  color: var(--text-dark);
  margin-bottom: var(--space-lg);
  padding-bottom: 10px;
  border-bottom: none;
}

/* Advantages top row */
.reno-advantages-top-row {
  display: flex;
  flex-direction: column;
  gap: 32px;
  border-top: 1px solid rgba(19,19,19,0.15);
  padding-top: var(--section-padding);
  margin-top: var(--section-padding);
  position: relative;
  overflow: hidden;
}
.reno-advantages-top-row::after {
  content: ''; position: absolute; right: 0; top: 0; bottom: 0;
  width: 80px; background: linear-gradient(to right, transparent, #EEF0F3);
  pointer-events: none; z-index: 2;
}
.reno-adv-top-dark {
  background: var(--text-dark);
  border-radius: var(--card-radius);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  padding: 25px;
}
.reno-adv-top-title {
  color: #fff;
  font-size: 22px;
  font-weight: var(--heading-weight);
  text-align: left;
  line-height: 1.4;
}
/* Advantages carousel */
.reno-adv-carousel {
  overflow: visible;
  position: relative;
  margin-right: calc(-1 * var(--container-padding));
}
.reno-adv-track {
  display: flex;
  gap: var(--space-lg);
  transition: transform 0.5s cubic-bezier(0.25, 0.1, 0.25, 1);
}
.reno-adv-top-white {
  flex: 0 0 calc(25% - 15px);
  border-radius: var(--card-radius);
  padding: var(--card-padding);
  min-height: 320px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-sizing: border-box;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
  overflow: hidden;
}
.reno-adv-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.15) 50%, rgba(0,0,0,0.05) 100%);
  border-radius: var(--card-radius);
  z-index: 1;
}
.reno-adv-top-white .reno-advantage-icon {
  width: 54px;
  height: 54px;
  font-size: 22px;
  border-radius: 12px;
  position: relative;
  z-index: 2;
  background: rgba(255,255,255,0.2);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}
.reno-adv-top-white .reno-advantage-text {
  margin-top: auto;
  position: relative;
  z-index: 2;
}
.reno-adv-top-white .reno-advantage-text strong {
  display: block;
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 6px;
  color: #fff;
}
.reno-adv-top-white .reno-advantage-text span {
  font-size: 14px;
  font-weight: 400;
  color: rgba(255,255,255,0.8);
  line-height: 1.4;
  display: block;
  min-height: 2.8em;
}
.reno-adv-nav {
  display: flex;
  justify-content: flex-start;
  gap: 12px;
  margin-top: 32px;
}

/* Advantages block */
.reno-advantages-block {
  background: var(--bg-light);
  border: none;
  border-radius: var(--card-radius);
  padding: 25px;
}
.reno-advantages-block > h4 { font-size: 22px; font-weight: var(--heading-weight); color: var(--text-dark); margin-bottom: 16px; }
.reno-advantages-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}
.reno-advantage-card {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 18px;
  background: #f9f8f6;
  border-radius: var(--radius);
}
.reno-advantage-icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--primary);
  color: #fff;
  border-radius: 10px;
  font-size: 16px;
}
.reno-advantage-text strong {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: var(--text-dark);
  line-height: 1.3;
  margin-bottom: 3px;
}
.reno-advantage-text span {
  display: block;
  font-size: 12px;
  color: var(--text-light);
  line-height: 1.4;
}

/* Mortgage calculator v2 (vladis-style) */
/* Calculator section — dark split layout */
/* === MORTGAGE CALCULATOR v3 === */
.reno-calc-section {
  background: #EEF0F3;
  position: relative;
  overflow: hidden;
}
.reno-calc-header {
  text-align: center;
  margin-bottom: 32px;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}
.reno-calc-title {
  font-family: var(--font-heading);
  font-size: var(--heading-2);
  font-weight: var(--heading-weight);
  line-height: 1.22;
  letter-spacing: var(--heading-spacing);
  color: var(--text-dark);
  margin: 0;
}
.reno-calc-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  align-items: stretch;
}
/* Form card — white, full radius, sits on top */
.reno-calc-form-card {
  background: #fff;
  border-radius: var(--card-radius);
  padding: 30px;
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 2;
  min-width: 0;
  overflow: hidden;
}
.reno-calc-form {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
  flex: 1;
}
.reno-calc-field-v2 label {
  display: block;
  font-size: 15px;
  font-weight: 500;
  text-transform: none;
  letter-spacing: normal;
  color: var(--text-dark);
  margin-bottom: 8px;
}
.reno-calc-field-v2 input[type="text"],
.reno-calc-field-v2 select {
  width: 100%;
  height: var(--input-height);
  padding: 4px 24px;
  border: none;
  border-radius: 16px;
  font-size: 15px;
  font-weight: 400;
  color: #888888;
  background: var(--bg-light);
  font-family: var(--font-body);
  transition: background 0.2s;
}
.reno-calc-field-v2 input[type="text"]:focus,
.reno-calc-field-v2 select:focus {
  outline: none;
  border-color: var(--primary);
  box-shadow: none;
}
.reno-calc-row-2col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.reno-calc-input-with-badge { position: relative; }
.reno-calc-input-with-badge input { padding-right: 50px; }
.reno-calc-pct-badge {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 13px;
  color: var(--text-light);
  font-weight: 500;
}
.reno-calc-input-with-suffix { position: relative; }
.reno-calc-input-with-suffix input { padding-right: 40px; }
.reno-calc-suffix {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 14px;
  color: var(--text-light);
  font-weight: 500;
}
/* Bank logos marquee */
.reno-calc-banks-marquee {
  margin-bottom: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid #e8e8e8;
  overflow: hidden;
  position: relative;
  mask-image: linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
}
.reno-calc-banks-track {
  display: flex;
  gap: 0;
  align-items: center;
  animation: calcMarquee 25s linear infinite;
  width: max-content;
}
.reno-calc-banks-track img {
  width: 100px;
  height: auto;
  max-height: 26px;
  object-fit: contain;
  opacity: 1;
  flex-shrink: 0;
  padding: 0 20px;
  box-sizing: content-box;
}
@keyframes calcMarquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
/* Result card — dark, tucked under white card */
.reno-calc-result-card {
  background: var(--text-dark);
  border-radius: 0 var(--card-radius) var(--card-radius) 0;
  padding: 30px 30px 30px 46px;
  margin-left: -16px;
  display: flex;
  flex-direction: column;
  gap: 0;
  position: relative;
  z-index: 1;
  overflow: hidden;
}
/* Top zone — trust badges */
.reno-calc-result-top {
  display: flex;
  flex-direction: column;
  padding-top: 11px;
  margin-bottom: 32px;
}
.reno-calc-payment { display: flex; flex-direction: column; }
.reno-calc-payment__label {
  font-size: 13px;
  color: rgba(255,255,255,0.5);
  letter-spacing: 0.04em;
  margin-bottom: 10px;
}
.reno-calc-payment strong {
  font-family: var(--font-heading);
  font-size: 48px;
  font-weight: 400;
  color: #fff;
  letter-spacing: var(--heading-spacing);
  line-height: 1;
}
/* Bottom zone — payment + CTA */
.reno-calc-result-bottom {
  display: flex;
  flex-direction: column;
  gap: 16px;
  flex: 1;
}
/* Trust badges */
.reno-calc-trust-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.reno-calc-trust-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 8px 16px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 24px;
  font-size: 13px;
  color: rgba(255,255,255,0.5);
  letter-spacing: 0.01em;
  white-space: nowrap;
}
.reno-calc-trust-badge strong {
  color: #fff;
  font-weight: 700;
  font-size: 14px;
}
/* CTA button inside dark card */
.reno-calc-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 36px;
  height: var(--btn-height);
  background: var(--primary);
  color: #fff;
  border: none;
  border-radius: 12px;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: -0.01em;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.3s ease, transform 0.3s ease;
  align-self: stretch;
  margin-top: auto;
}
.reno-calc-cta:hover { background: #b89458; transform: scale(1.02); }
.reno-calc-disclaimer {
  font-size: 12px;
  color: #888888;
  margin: 12px 0 0;
  text-align: center;
}
.reno-calc-field-v2 .reno-cs-trigger {
  height: var(--input-height);
  font-size: var(--text-base);
  font-weight: 400;
  color: #888888;
  border: none;
  border-radius: 16px;
  background: var(--bg-light);
  transition: background 0.2s;
}
.reno-calc-field-v2 .reno-custom-select.open .reno-cs-trigger {
  background: #eaebe9;
}
.reno-calc-field-v2 .reno-cs-value,
.reno-calc-field-v2 .reno-cs-placeholder {
  font-size: 15px;
  font-weight: 500;
  color: #888888;
}

.reno-novo-info-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 16px;
}
.reno-novo-info-card {
  padding: var(--card-padding);
  background: #EEF0F3;
  border: none;
  border-radius: var(--card-radius);
}
.reno-novo-info-card strong {
  display: block;
  font-size: 16px;
  font-weight: 700;
  color: var(--text-dark);
  line-height: 1.3;
  margin-bottom: 0;
}
.reno-novo-info-card span {
  display: block;
  font-size: 13px;
  font-weight: 400;
  color: var(--text-light);
  line-height: 1.3;
}

.reno-overview-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-md);
}
.reno-ov-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px;
  background: var(--bg-light);
  border-radius: var(--radius);
  font-size: 13px;
}
.reno-ov-item i { color: var(--primary); font-size: 16px; }
.reno-ov-label { font-weight: 600; color: var(--text-dark); }

.reno-prop-content { font-size: 15px; line-height: 1.8; color: var(--text-body); }
.reno-prop-content p { margin-bottom: var(--space-md); }

.reno-details-table { width: 100%; border-collapse: collapse; }
.reno-details-table td {
  padding: 10px 15px;
  border-bottom: 1px solid #f0f0f0;
  font-size: 14px;
}
.reno-details-table td:first-child { font-weight: 600; color: var(--text-dark); width: 40%; }

.reno-features-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.reno-feature-item {
  font-size: 14px;
  padding: 8px 0;
}
.reno-feature-item i { color: var(--primary); margin-right: 8px; }

.reno-collapsible-toggle { cursor: pointer; user-select: none; }
.reno-collapsible-toggle i { font-size: 12px; margin-left: 8px; transition: var(--transition); }
.reno-collapsible.collapsed .reno-collapsible-body { display: none; }
.reno-collapsible.collapsed .reno-collapsible-toggle i { transform: rotate(-90deg); }

.reno-video-wrap { position: relative; padding-bottom: 56.25%; height: 0; }
.reno-video-wrap iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

/* old calc styles removed — using v2 vladis-style */

/* ===================== SIDEBAR ===================== */
.reno-sidebar-card {
  background: #fff;
  border: none;
  border-radius: var(--card-radius);
  padding: var(--card-padding);
}

/* Sidebar CTA */
.reno-sidebar-cta {
  background: #fff;
  border: none;
  border-radius: var(--card-radius);
  padding: var(--card-padding);
}
.reno-cta-badge {
  display: inline-block;
  padding: 4px 10px;
  background: var(--text-dark);
  color: #fff;
  font-size: 12px;
  font-weight: 400;
  text-transform: none;
  letter-spacing: normal;
  border-radius: 4px;
  margin-bottom: 16px;
}
.reno-cta-heading {
  font-family: var(--font-heading);
  font-size: 20px;
  font-weight: var(--heading-weight);
  color: var(--text-dark);
  line-height: 1.35;
  margin-bottom: var(--space-lg);
}
.reno-cta-perks {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 24px;
}
.reno-cta-perks span {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  color: var(--text-light);
}
.reno-cta-perks i {
  font-size: 12px;
  color: var(--primary);
}
.reno-cta-form {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: var(--space-lg);
}
.reno-cta-form input {
  width: 100%;
  height: var(--input-height);
  padding: 4px 24px;
  background: var(--bg-light);
  border: none;
  border-radius: 16px;
  color: var(--text-dark);
  font-size: 14px;
  outline: none;
  transition: border-color .2s;
  box-sizing: border-box;
}
.reno-cta-form input::placeholder {
  color: var(--text-light);
}
.reno-cta-form input:focus {
  border-color: var(--primary);
}
.reno-cta-form button {
  width: 100%;
  padding: var(--space-md);
  background: var(--primary);
  color: #fff;
  border: none;
  border-radius: 12px;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: -0.01em;
  cursor: pointer;
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), background 0.3s ease;
}
.reno-cta-form button:hover {
  background: var(--primary-dark);
  transform: scale(1.02);
}
.reno-cta-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 16px;
  border-top: 1px solid var(--border);
}
.reno-cta-footer a {
  color: var(--text-dark);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
}
.reno-cta-footer a:hover {
  color: var(--primary);
}
.reno-cta-footer span {
  font-size: 12px;
  color: var(--text-light);
}
.reno-sidebar-card h4 {
  font-family: var(--font-heading);
  font-size: 18px;
  color: var(--text-dark);
  margin-bottom: var(--space-md);
}
.reno-agent-header {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  margin-bottom: var(--space-md);
}
.reno-agent-header img { width: 60px; height: 60px; border-radius: 50%; object-fit: cover; }
.reno-agent-header strong { display: block; font-size: 15px; color: var(--text-dark); }
.reno-agent-header span { font-size: 12px; color: var(--text-light); }

.reno-agent-form input,
.reno-agent-form textarea,
.reno-sidebar-card form input,
.reno-sidebar-card form textarea,
.reno-sidebar-card form select,
.reno-date-input {
  width: 100%;
  padding: 11px 34px 11px 14px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  margin-bottom: 10px;
  appearance: none;
  -webkit-appearance: none;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") no-repeat right 12px center;
  cursor: pointer;
  font-size: 13px;
}
.reno-sidebar-card .reno-btn { margin-top: 5px; }

/* ===================== AGENT PROFILE ===================== */
.reno-agent-profile {
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: var(--container-padding);
  align-items: start;
}
.reno-agent-photo img {
  width: 100%;
  border-radius: var(--radius);
}
.reno-agent-info h2 {
  font-family: var(--font-heading);
  font-size: var(--heading-2);
  color: var(--text-dark);
  margin-bottom: 5px;
}
.reno-agent-pos { color: var(--primary); font-size: 15px; margin-bottom: var(--space-lg); }
.reno-agent-contacts { margin-bottom: var(--space-lg); }
.reno-agent-contacts > div {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 0;
  font-size: 14px;
}
.reno-agent-contacts i { color: var(--primary); width: 20px; text-align: center; }
.reno-agent-social { display: flex; gap: 10px; margin-bottom: var(--space-lg); }
.reno-agent-social a {
  width: 36px; height: 36px;
  border: 1px solid var(--border);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: var(--text-body);
  transition: var(--transition);
}
.reno-agent-social a:hover { background: var(--primary); color: #fff; border-color: var(--primary); }
.reno-agent-bio { line-height: 1.8; }

/* ===================== ABOUT PAGE ===================== */
.reno-about-grid { display: grid; grid-template-columns: 2fr 1fr; gap: var(--container-padding); }
.reno-about-content { line-height: 1.8; font-size: 15px; }
.reno-about-content h2, .reno-about-content h3 { font-family: var(--font-heading); color: var(--text-dark); margin: 25px 0 10px; }
.reno-about-content ul { padding-left: 20px; margin-bottom: var(--space-lg); }
.reno-about-content li { margin-bottom: 5px; list-style: disc; }

/* ===================== CONTACT PAGE ===================== */
.reno-contact-page-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--container-padding); }
.reno-contact-info-col h2 { font-family: var(--font-heading); font-size: var(--heading-2); color: var(--text-dark); margin-bottom: var(--space-md); }
.reno-contact-details { margin-top: var(--space-lg); }
.reno-cd-item {
  display: flex;
  gap: var(--space-md);
  padding: var(--space-md) 0;
  border-bottom: 1px solid #f0f0f0;
}
.reno-cd-item i { color: var(--primary); font-size: 18px; margin-top: 3px; }
.reno-cd-item strong { display: block; font-size: 14px; color: var(--text-dark); margin-bottom: 3px; }
.reno-cd-item p { font-size: 14px; margin: 0; }
.reno-contact-form-col .reno-contact-form input,
.reno-contact-form-col .reno-contact-form textarea {
  background: var(--bg-light);
  border-color: var(--border);
  color: var(--text-dark);
}

/* ===================== BLOG ===================== */
.reno-blog-grid-3 { grid-template-columns: repeat(3, 1fr); }
.reno-post-layout { max-width: 800px; }
.reno-prop-content h2,
.reno-prop-content h3,
.reno-prop-content h4 {
  font-family: var(--font-heading);
  font-weight: 500;
  letter-spacing: var(--heading-spacing);
  color: var(--heading);
  margin: 2em 0 0.8em;
}
.reno-prop-content h2 { font-size: 28px; }
.reno-prop-content h3 { font-size: 22px; }
.reno-prop-content h4 { font-size: 18px; }
.reno-prop-content ul,
.reno-prop-content ol {
  margin: 0 0 var(--space-md);
  padding-left: 24px;
}
.reno-prop-content li { margin-bottom: 8px; }
.reno-prop-content blockquote {
  border-left: 3px solid var(--primary);
  padding: 16px 24px;
  margin: var(--space-lg) 0;
  background: var(--bg-beige);
  border-radius: 0 var(--radius) var(--radius) 0;
  font-style: italic;
  color: var(--text-dark);
}
.reno-prop-content img {
  max-width: 100%;
  height: auto;
  border-radius: var(--card-radius);
  margin: var(--space-md) 0;
}
.reno-prop-content strong { color: var(--text-dark); }
.reno-post-featured-img {
  margin-bottom: var(--heading-gap);
  border-radius: var(--card-radius);
  overflow: hidden;
}
.reno-post-featured-img img {
  width: 100%;
  height: auto;
  display: block;
}
.reno-post-featured-img { margin-bottom: 25px; border-radius: var(--radius); overflow: hidden; }
.reno-post-featured-img img { width: 100%; }
.reno-post-tags { margin-top: var(--space-lg); font-size: 13px; color: var(--text-light); }
.reno-post-tags i { margin-right: 5px; }

/* Related posts grid */
.reno-blog-related-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 768px) {
  .reno-blog-related-grid { grid-template-columns: 1fr; }
}

.reno-form-status { margin-top: 10px; font-size: 14px; text-align: center; }
.reno-form-status.success { color: #2ecc71; }
.reno-form-status.error { color: #e74c3c; }

/* ===================== LIGHTBOX ===================== */
.reno-lightbox {
  position: fixed; inset: 0; z-index: 10000;
  background: rgba(0,0,0,0.92);
  display: none; align-items: center; justify-content: center;
  opacity: 0; transition: opacity 0.3s ease;
}
.reno-lightbox.active { display: flex; opacity: 1; }
.reno-lightbox-close {
  position: absolute; top: 20px; right: 24px;
  background: none; border: none; color: #fff;
  font-size: 36px; cursor: pointer; z-index: 2;
  width: 48px; height: 48px; display: flex; align-items: center; justify-content: center;
  transition: opacity 0.2s;
}
.reno-lightbox-close:hover { opacity: 0.7; }
.reno-lightbox-prev, .reno-lightbox-next {
  position: absolute; top: 50%; transform: translateY(-50%);
  background: rgba(255,255,255,0.12); border: none; color: #fff;
  width: 48px; height: 48px; border-radius: 50%; cursor: pointer;
  font-size: 20px; display: flex; align-items: center; justify-content: center;
  transition: background 0.2s; z-index: 2;
}
.reno-lightbox-prev { left: 20px; }
.reno-lightbox-next { right: 20px; }
.reno-lightbox-prev:hover, .reno-lightbox-next:hover { background: rgba(255,255,255,0.25); }
.reno-lightbox-img-wrap {
  max-width: 90vw; max-height: 85vh;
  display: flex; align-items: center; justify-content: center;
}
.reno-lightbox-img-wrap img {
  max-width: 90vw; max-height: 85vh;
  object-fit: contain; border-radius: 4px;
  user-select: none; -webkit-user-drag: none;
}
.reno-lightbox-counter {
  position: absolute; bottom: 24px; left: 50%; transform: translateX(-50%);
  color: rgba(255,255,255,0.7); font-size: 14px; font-weight: 500;
}
.reno-gallery-zoom {
  position: absolute; bottom: 16px; right: 16px;
  width: 40px; height: 40px; border-radius: 50%;
  background: rgba(0,0,0,0.5); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 16px; opacity: 0; transition: opacity 0.3s;
  pointer-events: none;
}
.reno-gallery-main { position: relative; }
.reno-gallery-main:hover .reno-gallery-zoom { opacity: 1; }
.reno-gallery-thumb { position: relative; overflow: hidden; }
.reno-gallery-thumb:hover { opacity: 0.85; }
.reno-gallery-more {
  position: absolute; inset: 0;
  background: rgba(0,0,0,0.55); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 22px; font-weight: 600;
}
@media (max-width: 768px) {
  .reno-lightbox-prev, .reno-lightbox-next { width: 40px; height: 40px; font-size: 16px; }
  .reno-lightbox-prev { left: 8px; }
  .reno-lightbox-next { right: 8px; }
}

/* ===================== ABOUT PAGE HERO ===================== */
.reno-about-hero {
  position: relative;
  height: calc(70vh - 103px);
  min-height: 400px;
  margin-top: 59px;
  background-size: cover; background-position: center;
  display: flex; align-items: center;
}
.reno-about-hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to right, rgba(0,0,0,0.6), rgba(0,0,0,0.2));
}
.reno-about-hero-content {
  position: relative; z-index: 2; color: #fff;
}
.reno-about-hero-content .reno-label { color: var(--primary-light); }
.reno-about-hero-content h1 {
  font-family: var(--font-heading);
  font-size: 42px; font-weight: var(--heading-weight); margin-top: 10px;
}

/* ===================== ABOUT VALUES GRID ===================== */
.reno-about-values-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}
.reno-about-value-card {
  text-align: center; padding: 30px 20px;
}
.reno-about-value-icon {
  width: 60px; height: 60px; border-radius: 50%;
  background: var(--bg-light); color: var(--primary);
  display: flex; align-items: center; justify-content: center;
  font-size: 22px; margin: 0 auto 20px;
}
.reno-about-value-card h3 {
  font-family: var(--font-heading);
  font-size: 20px; margin-bottom: 12px; color: var(--text-dark);
}
.reno-about-value-card p {
  color: var(--text-body); font-size: 14px; line-height: 1.7;
}

/* ===================== FAQ ACCORDION ===================== */
.reno-faq-list {
  max-width: 100%;
}
.reno-faq-item {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  margin-bottom: 10px;
  overflow: hidden;
}
.reno-faq-question {
  display: flex; justify-content: space-between; align-items: center;
  width: 100%; padding: 18px 24px;
  background: #fff; border: none; cursor: pointer;
  font-size: 15px; font-weight: 600; color: var(--text-dark);
  text-align: left; transition: background 0.2s;
}
.reno-faq-question:hover { background: var(--bg-light); }
.reno-faq-question i {
  transition: transform 0.3s; font-size: 12px; color: var(--text-light);
  flex-shrink: 0; margin-left: 16px;
}
.reno-faq-item.active .reno-faq-question,
.reno-faq-item.open .reno-faq-question { background: #fff; }
.reno-faq-item.active .reno-faq-question i,
.reno-faq-item.open .reno-faq-question i,
.reno-faq-item.open .reno-faq-question svg { transform: rotate(180deg); }
.reno-faq-answer {
  max-height: 0; overflow: hidden;
  transition: max-height 0.3s ease, padding 0.3s ease;
  padding: 0 30px;
}
.reno-faq-item.active .reno-faq-answer,
.reno-faq-item.open .reno-faq-answer {
  max-height: 300px;
  padding: 0 30px 30px;
}
.reno-faq-answer p {
  color: var(--text-body); font-size: 14px; line-height: 1.8;
}

/* ===================== CONTACT PAGE ===================== */
.reno-contact-bar {
  background: var(--bg-light); padding: 40px 0;
}
.reno-contact-bar-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.reno-contact-bar-item {
  display: flex; align-items: flex-start; gap: 16px;
}
.reno-contact-bar-icon {
  width: 50px; height: 50px; border-radius: 50%;
  background: var(--primary); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 18px; flex-shrink: 0;
}
.reno-contact-bar-item strong {
  display: block; font-size: 14px; color: var(--text-dark); margin-bottom: 4px;
}
.reno-contact-bar-item p { color: var(--text-body); font-size: 14px; margin: 0; }
.reno-contact-bar-item a { color: var(--text-body); }
.reno-contact-bar-item a:hover { color: var(--primary); }

.reno-contact-map { margin-bottom: 0; }

.reno-gdpr-label {
  display: flex; align-items: center; gap: 8px;
  font-size: 13px; color: var(--text-body);
  margin-bottom: 10px;
}
.reno-gdpr-label input { margin: 0; }

/* ===================== HEADER SOCIAL ===================== */
.reno-header-top-inner { display: flex; justify-content: space-between; align-items: center; }
.reno-header-social { display: flex; gap: 12px; }
.reno-header-social a { color: var(--text-body); font-size: 13px; }
.reno-header-social a:hover { color: var(--primary); }

/* ===================== WP NAV MENU ===================== */
.reno-nav-list .menu-item-has-children { position: relative; }
.reno-nav-list .menu-item-has-children > a::after {
  content: '\f107';
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  font-size: 12px;
  margin-left: 5px;
}
.reno-nav-list .sub-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: #fff;
  min-width: 240px;
  box-shadow: none;
  border-radius: 0 0 var(--radius) var(--radius);
  z-index: 100;
  padding: 0;
}
.reno-nav-list .menu-item-has-children:hover > .sub-menu { display: block; }
.reno-nav-list .sub-menu li a {
  display: block;
  padding: 10px 20px;
  font-size: 13px;
  color: var(--text-body);
  border-bottom: 1px solid #f5f5f5;
}
.reno-nav-list .sub-menu li a:hover { background: #f9f9f9; color: var(--primary); }

/* ===================== FOOTER MENU ===================== */
.reno-footer-menu { display: flex; gap: var(--space-lg); flex-wrap: wrap; }
.reno-footer-menu a, .reno-footer-menu li a { font-size: 13px; color: var(--text-body); }
.reno-footer-menu a:hover { color: var(--primary); }
.reno-footer-menu ul { display: flex; gap: var(--space-lg); list-style: none; padding: 0; margin: 0; flex-wrap: wrap; }

/* ===================== PROPERTY CARD AS LINK ===================== */
a.reno-property-card { display: block; color: inherit; text-decoration: none; }
a.reno-property-card:hover { text-decoration: none; }
.reno-property-card-wrap { background: #fff; border-radius: var(--radius); overflow: hidden; transition: var(--transition); }
.reno-property-card-wrap:hover { transform: translateY(-3px); }
.reno-property-card-wrap .reno-property-body { display: block; color: inherit; text-decoration: none; padding: 16px; }
.reno-property-card-wrap .reno-property-body:hover { text-decoration: none; }
a.reno-team-card { display: block; color: inherit; text-decoration: none; }

/* ===================== CARD SLIDER ===================== */
.reno-card-slider {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 0;
}
.reno-card-slider::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 45%, rgba(0,0,0,0.45) 100%);
  z-index: 1;
  pointer-events: none;
}
.reno-card-slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transition: opacity .4s ease;
  display: block;
}
.reno-card-slide.active { opacity: 1; z-index: 1; }
.reno-card-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: none;
  color: var(--text-dark);
  cursor: pointer;
  border-radius: 50%;
  opacity: 0;
  transition: opacity .25s, background .2s;
  pointer-events: none;
}
@media (hover: hover) {
  .reno-card-slider:hover .reno-card-arrow {
    opacity: 1;
    pointer-events: auto;
  }
}
.reno-card-arrow:hover {
  background: #fff;
  color: #111;
}
.reno-card-arrow-prev { left: 26px; }
.reno-card-arrow-next { right: 26px; }
.reno-card-dots {
  position: absolute;
  bottom: 26px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  display: flex;
  gap: 5px;
  opacity: 0;
  transition: opacity .25s;
}
@media (hover: hover) {
  .reno-card-slider:hover .reno-card-dots { opacity: 1; }
}
.reno-card-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255,255,255,0.5);
  transition: background .2s;
}
.reno-card-dot.active { background: #fff; }
.reno-card-badges-row {
  position: absolute;
  bottom: 14px;
  right: 14px;
  z-index: 2;
  display: flex;
  gap: 8px;
  align-items: center;
}
.reno-card-badge-white {
  background: #fff;
  border-radius: 6px;
  padding: 6px 12px;
  font-size: 14px;
  font-weight: 400;
  color: var(--text-dark);
  letter-spacing: normal;
  white-space: nowrap;
}
.reno-card-badge-white .reno-badge-icon,
.reno-card-badge-white svg {
  display: none;
}
.reno-card-slider .reno-property-badges,
.reno-card-slider .reno-property-price,
.reno-card-slider .reno-novo-badge { z-index: 2; }
.reno-card-slider .reno-property-badges { position: absolute; top: 10px; left: 10px; }
.reno-card-slider .reno-property-price { position: absolute; bottom: 10px; left: 10px; }

/* ===================== WP ADMIN BAR FIX ===================== */
.admin-bar .reno-header { top: 32px; }
.admin-bar .reno-hero { margin-top: 116px; }
.admin-bar .reno-archive-hero { margin-top: 116px; }
.admin-bar .reno-property-single { margin-top: 116px; }
.admin-bar .reno-novo-archive-top { margin-top: 116px; }
.admin-bar .reno-about-hero { margin-top: 116px; }
@media (max-width: 782px) {
  .admin-bar .reno-header { top: 46px; }
  .admin-bar .reno-hero { margin-top: 117px; }
  .admin-bar .reno-archive-hero { margin-top: 117px; }
  .admin-bar .reno-property-single { margin-top: 117px; }
  .admin-bar .reno-novo-archive-top { margin-top: 117px; }
  .admin-bar .reno-about-hero { margin-top: 117px; }
}
@media (max-width: 600px) {
  .admin-bar .reno-header { top: 0; }
  .admin-bar .reno-hero { margin-top: 90px; }
  .admin-bar .reno-archive-hero { margin-top: 90px; }
  .admin-bar .reno-property-single { margin-top: 90px; }
  .admin-bar .reno-novo-archive-top { margin-top: 90px; }
  .admin-bar .reno-about-hero { margin-top: 90px; }
}
/* Construction Progress */
.reno-constr-tabs {
  display: flex;
  gap: 8px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}
.reno-constr-tab {
  padding: 8px 18px;
  border: 1px solid var(--border);
  border-radius: var(--card-radius);
  background: #f5f5f5;
  color: var(--text-dark);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all .2s;
}
.reno-constr-tab.active {
  background: var(--primary);
  border-color: var(--primary);
  color: #fff;
}
.reno-constr-panel {
  display: none;
}
.reno-constr-panel.active {
  display: block;
}
.reno-constr-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.reno-constr-photo {
  display: block;
  border-radius: var(--radius);
  overflow: hidden;
  aspect-ratio: 4/3;
}
.reno-constr-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .3s;
}
.reno-constr-photo:hover img {
  transform: scale(1.05);
}

/* ===================== INNER PAGES RESPONSIVE ===================== */
@media (max-width: 1024px) {
  .reno-property-layout { grid-template-columns: repeat(2, 1fr); gap: 36px; padding: 36px 0 0; }
  .reno-property-layout > .reno-grid-item { grid-column: auto; }
  .reno-gallery-grid { flex-direction: column; height: auto; }
  .reno-gallery-main { width: 100%; min-height: 350px; }
  .reno-gallery-thumbs { width: 100%; height: auto; }
  .reno-gallery-thumb { width: 25%; height: 120px; }
  .reno-overview-grid { grid-template-columns: repeat(3, 1fr); }
  .reno-calc-split { grid-template-columns: 1fr; }
  .reno-calc-form-card { border-radius: var(--card-radius) var(--card-radius) 0 0; }
  .reno-calc-result-card { border-radius: 0 0 var(--card-radius) var(--card-radius); margin-left: 0; padding: var(--card-padding); }
  .reno-calc-payment strong { font-size: 36px; }
  .reno-similar-grid { grid-template-columns: repeat(2, 1fr); }
  .reno-agent-profile { grid-template-columns: 1fr; }
  .reno-agent-photo img { max-width: 300px; }
  .reno-about-grid { grid-template-columns: 1fr; }
  .reno-contact-page-grid { grid-template-columns: 1fr; }
  .reno-about-values-grid { grid-template-columns: repeat(2, 1fr); }
  .reno-contact-bar-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
  .reno-constr-grid { grid-template-columns: repeat(2, 1fr); }
  .reno-overview-grid { grid-template-columns: repeat(2, 1fr); }
  .reno-novo-info-cards { grid-template-columns: repeat(3, 1fr); }
  .reno-features-grid { grid-template-columns: repeat(2, 1fr); }
  .reno-calc-split { grid-template-columns: 1fr; gap: 0; }
  .reno-calc-result-card { margin-left: 0; padding: var(--card-padding); }
  .reno-calc-row-2col { grid-template-columns: 1fr; }
  .reno-advantages-grid { grid-template-columns: repeat(2, 1fr); }
  .reno-adv-top-white { flex: 0 0 calc(50% - 10px); min-height: 280px; }
  .reno-floorplan-card { flex: 0 0 calc(50% - 10px) !important; max-width: calc(50% - 10px) !important; }
  .reno-building-card { flex: 0 0 calc(50% - 10px) !important; }
  .reno-genplan-item { flex: 0 0 calc(50% - 10px) !important; }
  .reno-similar-grid { grid-template-columns: 1fr; }
  .reno-blog-grid-3 { grid-template-columns: 1fr; }
  .reno-property-title-bar { padding: 20px; }
  .reno-novo-meta-row { display: flex; flex-direction: column; gap: 12px; }
  .reno-novo-meta-item { padding: 0; border-left: none; }
  .reno-novo-meta-item + .reno-novo-meta-item { padding-top: 12px; border-top: 1px solid var(--border); }
  /* Price row: price full-width on top, mortgage + installment in 2 cols */
  .reno-novo-price-row { grid-template-columns: 1fr 1fr; }
  .reno-novo-price-card-dark {
    grid-column: 1 / -1;
    border-radius: var(--card-radius) var(--card-radius) 0 0;
    position: relative;
    padding-bottom: calc(var(--card-padding) + 1px);
  }
  .reno-novo-price-card-dark::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 30px;
    right: 30px;
    height: 1px;
    background: var(--border, rgba(19,19,19,0.12));
  }
  .reno-novo-mortgage-card { border-radius: 0 0 0 var(--card-radius); }
  .reno-novo-mortgage-card::before { display: none; }
  .reno-novo-page-title { font-size: var(--heading-2); line-height: 1.22; letter-spacing: -0.06em; }
  .reno-prop-section { padding: 30px; }
  .reno-block-with-heading { padding: 30px; border-radius: var(--card-radius); }
  /* block-heading inherits --heading-2 clamp */
  .reno-novo-info-card { padding: 16px 20px; border-radius: 12px; }
  .reno-novo-info-cards { gap: 8px; }
  .reno-property-layout > .reno-block-heading + .reno-keydata-wrap { margin-top: 0 !important; }
  .reno-property-price-big { font-size: 22px; }
  .reno-gallery-main { min-height: 220px; }
  .reno-gallery-thumb { height: 80px; }
  .reno-details-table td { padding: 8px 10px; font-size: 13px; }
  .reno-about-hero-content h1 { font-size: 30px; }
  .reno-about-hero { height: 300px; }
  .reno-about-values-grid { grid-template-columns: 1fr; gap: var(--space-lg); }
  .reno-faq-question { padding: 14px 18px; font-size: 14px; }
  .reno-contact-bar-grid { grid-template-columns: 1fr; gap: var(--space-lg); }
}

@media (max-width: 576px) {
  .reno-overview-grid { grid-template-columns: 1fr; }
  .reno-novo-info-cards { grid-template-columns: repeat(2, 1fr); gap: 6px; }
  .reno-novo-info-card { padding: 30px; border-radius: 10px; }
  /* block-heading inherits --heading-2 clamp */
  .reno-features-grid { grid-template-columns: 1fr; }
  .reno-advantages-grid { grid-template-columns: 1fr; }
  .reno-adv-top-white { flex: 0 0 80% !important; min-height: 320px; }
  .reno-floorplan-card { flex: 0 0 80% !important; max-width: 80% !important; }
  .reno-building-card { flex: 0 0 80% !important; }
  .reno-genplan-item { flex: 0 0 80% !important; }
  .reno-calc-form-card { padding: var(--card-padding); padding-bottom: 40px; }
  .reno-calc-result-card { padding: var(--card-padding); }
  .reno-calc-payment strong { font-size: 40px; }
  .reno-calc-title { font-size: var(--heading-2); }
  .reno-calc-trust-badges { gap: 6px; }
  .reno-calc-trust-badge { font-size: 12px; padding: 6px 10px; }
  .reno-calc-trust-badge strong { font-size: 12px; }
  .reno-calc-banks-grid { grid-template-columns: repeat(2, 1fr); }
  .reno-calc-bank-card { padding: 18px 12px; }
  .reno-calc-bank-card img { height: 20px; }
  .reno-gallery-thumb { width: 50%; }
  /* ЖК page: proportional vertical rhythm (desktop 75px → mobile 40px) */
  .reno-novo-hero-bar { padding-bottom: 20px; }
  .reno-novo-page-title { font-size: var(--heading-2); line-height: 1.22; letter-spacing: var(--heading-spacing); margin-bottom: 16px; }
  .reno-property-layout { grid-template-columns: 1fr; gap: 32px; padding: 32px 16px 0; overflow: hidden; width: 100vw; margin-left: calc(-50vw + 50%); box-sizing: border-box; }
  .reno-property-layout > * { min-width: 0; overflow: hidden; }
  .reno-property-layout > .reno-advantages-top-row { margin-left: -16px; margin-right: -16px; padding: 32px 16px; }
  .reno-property-layout > .reno-block-heading + .reno-keydata-wrap { margin-top: -16px !important; }
  .reno-property-layout > .reno-block-with-heading:has(> .reno-explorer) { margin-top: 0; padding: 0 16px 0; }
  .reno-property-layout > .reno-block-with-heading:has(> .reno-explorer) + .reno-block-with-heading { margin-top: 0; }
  /* Similar section — сброс десктопных 75px padding */
  .reno-property-main > .reno-block-with-heading:has(.reno-similar-grid) { padding: 30px !important; }
  /* Калькулятор + trade-in вне grid — единый отступ сверху */
  .reno-property-single .reno-calc-section { margin-top: 0; }
  .reno-property-single .reno-tradein-banner { margin-top: 0; }
  /* Reopened grid после calc+tradein — без дополнительного padding-top */
  .reno-property-layout--continued { padding-top: 0 !important; }
  /* Секции после grid — единый отступ */
  .reno-why-section { margin-top: 32px; }
  .reno-cta-form-section { margin-top: 32px; }
  .reno-property-single .reno-breadcrumb { padding-bottom: 40px; }
  .reno-sidebar-card { padding: 30px; }
  .reno-prop-section { padding: 30px; }
  .reno-prop-section > h4 { font-size: 17px; }
  .reno-property-title-bar { padding: 30px; }
  .reno-novo-cta-card { display: none; }
  .reno-novo-price-main { font-size: 24px; }
  .reno-novo-price-mortgage { font-size: 16px; }
  /* Bottom sections spacing — uses fluid --section-padding */
  .reno-cta-form-section { padding-top: 40px; padding-bottom: 40px; }
  .reno-archive-hero h1 { font-size: 24px; }
  .reno-about-hero-content h1 { font-size: 24px; }
  .reno-about-hero { height: 250px; }
}

@media (max-width: 375px) {
  /* block-heading inherits --heading-2 clamp */
  .reno-novo-page-title { font-size: 24px; }
  .reno-novo-info-card { padding: 14px 16px; }
  .reno-novo-hero-bar { padding-bottom: 20px; }
  .reno-property-layout { gap: 32px; padding-top: 32px; }
  .reno-property-single .reno-breadcrumb { padding-bottom: 32px; }
  .reno-property-single .reno-calc-section { padding-top: 32px; padding-bottom: 32px; }
  .reno-property-single .reno-why { padding-top: 32px; padding-bottom: 32px; }
  .reno-property-single .reno-cta-form-section { padding-top: 32px; padding-bottom: 32px; }
}

/* ═══════════════════════════════════════════════════════════════
   НОВОСТРОЙКИ
   ═══════════════════════════════════════════════════════════════ */

.reno-novo-archive-top {
  margin-top: 59px;
  padding: 0;
  background: #e8e8e8;
}

.reno-catalog-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 20px;
  margin-bottom: 24px;
  border-bottom: 1px solid var(--border);
}
.reno-catalog-toolbar h2 {
  margin: 0;
  font-family: var(--font-heading);
  font-size: var(--heading-2);
  font-weight: var(--heading-weight);
  letter-spacing: var(--heading-spacing);
  line-height: 1.22;
  color: var(--text-dark);
}
.reno-catalog-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}
.reno-catalog-action-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 24px;
  background: transparent;
  border: 1px solid #D7D7D7;
  border-radius: var(--btn-radius);
  font-size: var(--text-base);
  font-weight: 400;
  line-height: 1;
  color: var(--text-dark);
  cursor: pointer;
  transition: var(--transition);
  text-decoration: none;
  white-space: nowrap;
}
.reno-catalog-action-btn:hover {
  border-color: var(--primary);
  color: var(--primary);
}
.reno-catalog-action-btn--white {
  background: #fff;
  border-color: #e0e0e0;
}
.reno-catalog-action-btn--primary {
  background: var(--primary);
  border-color: var(--primary);
  color: #fff;
}
.reno-catalog-action-btn--primary:hover {
  background: #b8944f;
  color: #fff;
}
.reno-catalog-action-btn--icon {
  padding: 8px 12px;
  background: var(--primary);
  border-color: var(--primary);
  color: #fff;
}
.reno-catalog-action-btn--icon:hover {
  background: #b8944f;
  color: #fff;
}
@media (max-width: 768px) {
  .reno-catalog-toolbar {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    padding-bottom: 16px;
    margin-bottom: var(--space-lg);
  }
  .reno-catalog-actions { flex-wrap: wrap; }
}

/* Modal overlays (filter & map) */
.reno-modal-overlay {
  display: none;
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,0.5);
  z-index: 10000;
  align-items: center;
  justify-content: center;
  padding: 40px;
  overflow-y: auto;
}
.reno-modal-overlay.active {
  display: flex;
}
.reno-modal {
  background: #fff;
  border-radius: 24px;
  max-width: 600px;
  width: 100%;
  max-height: calc(100vh - 80px);
  overflow-y: auto;
  box-shadow: 0 20px 60px rgba(0,0,0,0.15);
}
.reno-modal--map {
  max-width: 1100px;
}
.reno-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 30px 30px 0;
}
.reno-modal-header h3 {
  font-family: var(--font-heading);
  font-size: var(--heading-2);
  font-weight: var(--heading-weight);
  letter-spacing: var(--heading-spacing);
  line-height: 1.22;
  margin: 0;
}
.reno-modal-close {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(0,0,0,0.06);
  border: none;
  font-size: 20px;
  cursor: pointer;
  color: var(--text-dark);
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  transition: background .15s;
}
.reno-modal-close:hover {
  background: rgba(0,0,0,0.12);
}
.reno-modal-body {
  padding: 30px;
}
.reno-modal-footer {
  padding: 0 30px 30px;
  display: flex;
  align-items: center;
  gap: 16px;
}
.reno-modal-footer .reno-find-btn {
  flex: 1;
}
.reno-modal-reset {
  font-size: 15px;
  color: var(--text-light);
  text-decoration: none;
  white-space: nowrap;
  transition: var(--transition);
}
.reno-modal-reset:hover {
  color: var(--text-dark);
}
/* Filter modal: fields styled like calculator */
.reno-modal--filter .reno-modal-body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.reno-modal--filter label {
  display: block;
  font-size: 15px;
  font-weight: 500;
  color: var(--text-dark);
  margin-bottom: 8px;
}
.reno-modal--filter select,
.reno-modal--filter input[type="text"],
.reno-modal--filter input[type="number"] {
  width: 100%;
  height: var(--input-height);
  padding: 4px 24px;
  border: none;
  border-radius: 16px;
  font-size: 15px;
  font-weight: 400;
  color: #888888;
  background: var(--bg-light);
  font-family: var(--font-body);
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  cursor: pointer;
}
.reno-modal--filter select:focus,
.reno-modal--filter input:focus {
  outline: none;
  color: var(--text-dark);
}
/* Map modal map controls */
.reno-map-wrap .reno-map-controls {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 10;
}
@media (max-width: 576px) {
  .reno-modal-overlay { padding: 16px; }
  .reno-modal--filter .reno-modal-body { grid-template-columns: 1fr; }
}

/* CTA Modal */
.reno-modal--cta {
  max-width: 800px;
  padding: 48px;
  border-radius: var(--card-radius);
  position: relative;
}
.reno-modal--cta > .reno-modal-close {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 1;
}
.reno-cta-modal-body {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 40px;
  align-items: start;
}
.reno-cta-modal-left h2 {
  font-family: var(--font-heading);
  font-size: 28px;
  font-weight: var(--heading-weight);
  line-height: 1.2;
  margin-bottom: 12px;
}
.reno-cta-modal-left p {
  font-size: 15px;
  color: var(--text-light);
  line-height: 1.5;
}
.reno-cta-modal-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.reno-cta-modal-field label {
  display: block;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-dark);
  margin-bottom: 6px;
}
.reno-cta-modal-field input,
.reno-cta-modal-field select {
  width: 100%;
  padding: 12px 16px;
  border: none !important;
  border-radius: var(--radius) !important;
  font-size: 15px !important;
  background: #f0f0ee !important;
  color: var(--text-dark) !important;
  box-sizing: border-box;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
}
.reno-cta-modal-field select {
  background: #f0f0ee url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23999' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 14px center !important;
  padding-right: 36px;
}
.reno-cta-modal-field input:focus,
.reno-cta-modal-field select:focus {
  outline: none;
  border-color: var(--primary);
}
.reno-cta-modal-submit {
  margin-top: 16px;
  width: 100%;
  padding: 14px 32px;
  background: var(--primary);
  color: #fff;
  border: none;
  border-radius: var(--btn-radius);
  font-size: 15px;
  font-weight: 500;
  cursor: pointer;
}
.reno-cta-modal-submit:hover { opacity: 0.9; }
.reno-cta-modal-consent {
  margin-top: 12px;
  font-size: 12px;
  color: var(--text-light);
  text-align: center;
}
.reno-cta-modal-success {
  padding: 24px;
  text-align: center;
  font-size: 16px;
  color: var(--text-dark);
}
@media (max-width: 640px) {
  .reno-modal--cta { padding: 32px 24px; }
  .reno-cta-modal-body { grid-template-columns: 1fr; gap: 24px; }
  .reno-cta-modal-fields { grid-template-columns: 1fr; }
}

.reno-novo-filters.reno-section {
  padding-top: 32px;
  padding-bottom: 32px;
}

.reno-page-hero {
  position: relative;
  height: calc(70vh - 103px);
  min-height: 480px;
  display: flex;
  align-items: flex-end;
  margin-top: 59px;
  overflow: hidden;
}
.reno-page-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(0,0,0,0.6), rgba(0,0,0,0.2));
}
.reno-page-hero__content {
  position: relative;
  z-index: 1;
  padding-bottom: 46px !important;
  width: 100% !important;
}
.reno-page-hero__content::before {
  display: none !important;
}
.reno-page-hero__stack {
  position: relative;
  max-width: 700px;
  text-align: left;
  padding-left: 28px;
}
.reno-page-hero__stack::before {
  content: '' !important;
  position: absolute;
  left: 0;
  top: 0;
  bottom: -200px;
  width: 2px;
  background: var(--primary);
  display: block !important;
}
.reno-page-hero__kicker {
  display: block;
  font-size: 11px !important;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 3px !important;
  color: var(--primary);
  margin-bottom: 18px !important;
  opacity: 0.9;
}
.reno-page-hero h1 {
  color: #fff !important;
  font-family: var(--font-heading);
  font-size: clamp(36px, 5vw, 68px) !important;
  font-weight: 500 !important;
  letter-spacing: -0.04em !important;
  line-height: 1.22 !important;
  text-shadow: 0 2px 8px rgba(0,0,0,0.25);
  margin: 0 0 var(--space-lg) !important;
}
.reno-page-hero__desc {
  color: rgba(255,255,255,0.90) !important;
  font-size: 20px !important;
  font-weight: 400;
  line-height: 1.4;
  max-width: 620px;
  margin: 0 !important;
  text-shadow: 0 1px 4px rgba(0,0,0,0.2);
}
.reno-page-hero__actions {
  display: flex;
  gap: 12px;
  margin-top: 24px;
}
.reno-page-hero__actions .reno-btn {
  background: #fff;
  color: var(--text-dark);
  border-color: #fff;
}
.reno-page-hero__actions .reno-btn:hover {
  background: var(--text-dark);
  color: #fff;
  border-color: var(--text-dark);
}
.reno-page-hero + .reno-novo-filters.reno-section {
  position: relative;
  z-index: 3;
}

.reno-page-hero + .reno-novo-filters.reno-section .reno-container {
  position: relative;
}

/* Filter bar */
/* Active filter tags */
.reno-filter-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  color: var(--text-dark);
}
.reno-filter-tag__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  background: #fff;
  border-radius: 6px;
  text-decoration: none;
}
.reno-filter-tag__close svg {
  width: 10px;
  height: 10px;
  stroke: var(--text-light);
}
.reno-filter-tag__close:hover svg {
  stroke: var(--text-dark);
}

.reno-novo-filter-bar {
  display: flex;
  gap: var(--space-md);
  align-items: center;
  background: #fff;
  border-radius: 12px;
  padding: 20px;
  border: 1px solid var(--border-light);
  box-shadow: none;
  position: relative;
  z-index: 5;
}
.reno-novo-filter-field {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.reno-novo-filter-field label {
  font-size: 12px;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0;
  color: var(--text-body);
}
.reno-novo-filter-field select {
  border: 1px solid #ddd;
  border-radius: 10px;
  padding: 11px 34px 11px 14px;
  font-size: 14px;
  background: #fff;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  cursor: pointer;
}
.reno-novo-filter-field .reno-cs-trigger {
  height: var(--input-height);
  border-radius: 16px;
}
.reno-novo-filter-submit {
  flex: 0 0 auto;
}
.reno-novo-filter-submit .reno-btn {
  padding: 8px 24px;
  font-size: var(--text-base);
  border-radius: var(--btn-radius);
  white-space: nowrap;
}

/* ─── About Agency (after hero) ─── */
.reno-about-agency {
  background: #fff;
  padding: var(--section-padding) 0;
  color: var(--text-dark);
}
.reno-about-agency__container {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 var(--container-padding);
}
.reno-about-agency__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 64px;
  align-items: start;
}
.reno-about-agency__photo {
  border-radius: var(--card-radius);
  overflow: hidden;
  max-height: 320px;
}
.reno-about-agency__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.reno-about-agency__content {
  text-align: left;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.reno-about-agency__title {
  margin: 0;
  font-family: var(--font-heading);
  font-weight: var(--heading-weight);
  letter-spacing: var(--heading-spacing);
  font-size: var(--heading-2);
  line-height: 1.22;
}
.reno-about-agency__metrics {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px 48px;
}
.reno-about-agency__metric {
  padding: 30px;
  border-left: 2px solid #ddd;
}
.reno-about-agency__metric-value {
  font-size: 44px;
  line-height: 1.22;
  font-weight: var(--heading-weight);
  letter-spacing: -0.01em;
  margin-bottom: 10px;
  color: var(--primary);
}
.reno-about-agency__metric-label {
  font-size: 13px;
  line-height: 1.35;
  color: var(--text-light);
}

@media (max-width: 920px) {
  .reno-about-agency__grid {
    grid-template-columns: 1fr;
    row-gap: 18px;
  }
  .reno-about-agency__title {
    max-width: 100%;
  }
  .reno-about-agency__container {
    padding: 0 16px;
  }
  .reno-about-agency__content {
    padding-left: 30px;
  }
  .reno-about-agency__metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
  }
  .reno-about-agency__metric {
    padding: 30px;
    border-left: 2px solid var(--primary) !important;
  }
  .reno-about-agency__metric:nth-child(n+3) {
    border-top: 1px solid #eee;
  }
}

@media (max-width: 520px) {
  .reno-about-agency {
    padding: var(--section-padding) 0;
  }
  .reno-about-agency__title {
    line-height: 1.22;
  }
  .reno-about-agency__metrics {
    grid-template-columns: 1fr 1fr;
  }
  .reno-about-agency__container {
    padding: 0 16px;
  }
  .reno-about-agency__content {
    padding-left: 28px;
  }
  .reno-about-agency__metric {
    padding: 30px;
    border-left: 2px solid var(--primary) !important;
  }
  .reno-about-agency__metric + .reno-about-agency__metric {
    border-top: 1px solid #eee;
  }
}

/* Stats row */
.reno-stats-section { padding-top: 72px; }
.reno-stats-row {
  display: flex;
  margin-bottom: 32px;
}
.reno-stat-card {
  flex: 1;
  padding: 20px 16px;
  text-align: center;
  border-right: 1px solid #ddd;
}
.reno-stat-card:last-child {
  border-right: none;
}
.reno-stat-card strong {
  display: block;
  font-size: 56px;
  font-weight: 700;
  color: #c4a265;
  font-family: var(--font-heading);
  line-height: 1.22;
  margin-bottom: 4px;
}
.reno-stat-card span {
  font-size: 15px;
  color: var(--text-body);
  line-height: 1.3;
}

/* Catalog grid */
.reno-section-novo-home { background: #EEF0F3; }
.reno-novo-catalog { padding-top: var(--section-padding); }
.reno-novo-catalog-title {
  font-family: var(--font-heading);
  font-size: 40px;
  font-weight: var(--heading-weight);
  color: var(--text-dark);
  text-align: left;
  margin: 0 0 24px;
}
.reno-novo-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--grid-gap);
}
.reno-novo-cta-wrap {
  text-align: center;
  margin-top: 48px;
}
.reno-similar-grid {
  grid-template-columns: repeat(3, 1fr);
}

/* Card */
.reno-novo-card {
  background: #fff;
  border-radius: var(--card-radius);
  overflow: hidden;
  border: 1px solid rgba(0,0,0,0.07);
}
/* Katana: no gradient overlay on novo cards, rounded bottom image */
.reno-novo-card .reno-card-slider::after { display: none; }
.reno-novo-card .reno-card-slider { border-radius: 0 0 16px 16px; }
/* Katana: badges top-left */
.reno-novo-card .reno-card-badges-row {
  top: 26px;
  right: 26px;
  left: 26px;
  bottom: auto;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
}
.reno-novo-card .reno-card-badge-white {
  background: #fff;
  color: var(--text-dark);
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border-radius: 4px;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 400;
}
.reno-badge-icon {
  flex-shrink: 0;
}
.reno-card-badge-accent {
  background: var(--color-accent, #d4a853);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-radius: 4px;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 400;
  color: #fff;
  white-space: nowrap;
}
.reno-novo-card-img {
  display: block;
  height: auto;
  aspect-ratio: 4 / 3;
  background-size: cover;
  background-position: center;
  position: relative;
  border-radius: var(--btn-radius) var(--btn-radius) 0 0;
  overflow: hidden;
}
.reno-novo-badge {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 400;
  text-transform: none;
  position: absolute;
}
/* Gallery badges (white, like archive cards) */
.reno-gallery-badges-row {
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 2;
  display: flex;
  gap: 8px;
  align-items: center;
}
.reno-gallery-badge-white {
  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-radius: 4px;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 400;
  color: var(--text-dark);
  white-space: nowrap;
}
.reno-novo-badge-discount {
  top: 12px;
  left: 12px;
  background: var(--color-accent);
  color: #fff;
  line-height: 1.3;
  text-align: center;
}
.reno-novo-badge-status {
  top: 12px;
  right: 12px;
  background: rgba(0,0,0,.7);
  color: #fff;
}
.reno-novo-card-body {
  padding: 30px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.reno-novo-card-title {
  font-size: var(--heading-3);
  font-weight: 600;
  margin-bottom: 0;
  line-height: 1.22;
  letter-spacing: var(--heading-spacing);
}
.reno-novo-card-title a {
  color: var(--text-dark);
  text-decoration: none;
}
.reno-novo-card-title a:hover { color: var(--primary); }
.reno-novo-card-price {
  font-size: 20px;
  font-weight: 600;
  color: var(--text-dark);
  margin-bottom: 4px;
  line-height: 1.3;
}
.reno-novo-card-price--lined {
  border-top: 1px solid #e8e8e8;
  padding-top: 12px;
  margin-top: 16px;
}
.reno-novo-card-area {
  font-size: 12px;
  font-weight: 400;
  color: #888888;
}
.reno-novo-card-address {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  color: var(--text-light, #888888);
}
.reno-novo-card-details {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  flex-wrap: wrap;
  font-size: 15px;
  color: var(--text-body);
  font-weight: 500;
}
.reno-novo-card-details li {
  display: flex;
  align-items: center;
  white-space: nowrap;
}
.reno-novo-card-details li::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: var(--primary);
  display: inline-block;
  margin-right: 8px;
  flex-shrink: 0;
}
.reno-novo-card-meta {
  font-size: 13px;
  color: #aaa;
  margin-top: 16px;
  line-height: 1.4;
  display: flex;
  align-items: center;
  gap: 5px;
}
.reno-novo-card-meta p { margin: 0; }
.reno-novo-card-meta i { font-size: 14px; color: var(--primary); }

/* Apartment table in card */
.reno-novo-card-apartments table {
  width: 100%;
  font-size: 12px;
  border-collapse: collapse;
}
.reno-novo-card-apartments td {
  padding: 5px 0;
  border-top: 1px solid #f0f0f0;
  vertical-align: middle;
}
.reno-novo-card-apartments tr:first-child td { border-top: 1px solid #eee; }
.reno-novo-apt-type {
  font-weight: 600;
  color: var(--text-body);
  width: 70px;
}
.reno-novo-apt-area {
  color: var(--text-light);
  white-space: nowrap;
}
.reno-novo-apt-price {
  text-align: right;
  font-weight: 600;
  color: var(--primary);
  white-space: nowrap;
}
.reno-novo-highlight td {
  background: #f0f7ff;
}

/* ─── Single Novostroyka ──────────────────────────────────── */
.reno-novo-single-hero {
  height: calc(70vh - 103px);
  min-height: 400px;
  background-size: cover;
  background-position: center;
  position: relative;
}
.reno-novo-single-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.75) 0%, rgba(0,0,0,.2) 100%);
  display: flex;
  align-items: flex-end;
  padding-bottom: 50px;
}
.reno-novo-single-hero-content {
  color: #fff;
}
.reno-novo-single-hero-content h1 {
  font-size: 40px;
  font-weight: var(--heading-weight);
  margin: 12px 0 8px;
}
.reno-novo-single-hero-content .reno-novo-badge {
  position: static;
  margin-right: 8px;
}
.reno-novo-single-address {
  font-size: 16px;
  opacity: .9;
  margin-bottom: 6px;
}
.reno-novo-single-price {
  font-size: 28px;
  font-weight: 700;
  color: var(--color-accent);
}

/* Info grid */
.reno-novo-info-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-lg);
}
.reno-novo-info-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 20px;
  background: #f8f9fa;
  border-radius: 10px;
}
.reno-novo-info-icon {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--primary);
  color: #fff;
  border-radius: 10px;
  font-size: 20px;
  flex-shrink: 0;
}
.reno-novo-info-label {
  display: block;
  font-size: 12px;
  color: var(--text-light);
  text-transform: uppercase;
  letter-spacing: .5px;
  margin-bottom: 2px;
}
.reno-novo-info-text strong {
  font-size: 15px;
  color: var(--text-dark);
}

/* Apartment table on single */
.reno-novo-apt-table-wrap {
  max-width: 700px;
}
.reno-novo-apt-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
}
.reno-novo-apt-table th {
  text-align: left;
  padding: 12px 16px;
  background: var(--primary);
  color: #fff;
  font-weight: 600;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .5px;
}
.reno-novo-apt-table th:first-child { border-radius: 8px 0 0 0; }
.reno-novo-apt-table th:last-child { border-radius: 0 8px 0 0; }
.reno-novo-apt-table td {
  padding: 12px 16px;
  border-bottom: 1px solid #eee;
}
.reno-novo-available td {
  color: var(--text-body);
}
.reno-novo-unavailable td {
  color: #888888;
}

/* Gallery grid on single */
.reno-novo-gallery-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 10px;
}
.reno-novo-gallery-item {
  height: 200px;
  background-size: cover;
  background-position: center;
  border-radius: 8px;
  cursor: pointer;
  transition: opacity .2s;
}
.reno-novo-gallery-item:first-child {
  grid-column: span 2;
  grid-row: span 2;
  height: 100%;
}
.reno-novo-gallery-item:hover { opacity: .85; }

/* Description */
.reno-novo-desc-content {
  max-width: 800px;
  font-size: 16px;
  line-height: 1.8;
  color: var(--text-body);
}

/* CTA section */
.reno-novo-cta-box {
  background: linear-gradient(135deg, var(--primary) 0%, #1a3a5c 100%);
  color: #fff;
  border-radius: var(--card-radius);
  padding: 50px;
  text-align: center;
}
.reno-novo-cta-box h2 {
  font-size: var(--heading-2);
  margin-bottom: 10px;
  color: #fff;
}
.reno-novo-cta-box p {
  opacity: .85;
  margin-bottom: 25px;
}
.reno-novo-cta-form {
  display: flex;
  gap: 12px;
  justify-content: center;
  max-width: 600px;
  margin: 0 auto;
}
.reno-novo-cta-form input {
  flex: 1;
  padding: 12px 16px;
  border: none;
  border-radius: 8px;
  font-size: 14px;
}
.reno-novo-cta-form .reno-btn {
  white-space: nowrap;
  padding: 8px 24px;
}

/* Tabs navigation */
.reno-novo-tabs-nav {
  background: #fff;
  border-bottom: 1px solid #e8e8e8;
  position: sticky;
  top: 0;
  z-index: 90;
  box-shadow: none;
}
.reno-novo-tabs-list {
  display: flex;
  gap: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.reno-novo-tabs-list::-webkit-scrollbar { display: none; }
.reno-novo-tab-link {
  padding: 16px 20px;
  font-size: 14px;
  font-weight: 600;
  color: #3D3D3D;
  white-space: nowrap;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  transition: all .2s;
}
.reno-novo-tab-link:hover {
  color: var(--primary);
  border-bottom-color: var(--primary);
}

/* ─── Блок «Выбрать квартиру» ─── */
.reno-apt-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 48px;
  margin-bottom: -14px;
}
.reno-apt-header .reno-block-heading {
  margin: 0;
}
.reno-apt-header .reno-apt-tabs {
  margin: 0;
}
.reno-apt-block {
  background: transparent;
  padding: 0;
  border-radius: 0;
  box-shadow: none;
}
.reno-apt-block > h4 {
  padding-bottom: 0;
  border-bottom: none;
}

/* Табы */
.reno-apt-tabs {
  display: inline-flex;
  gap: 0;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
  margin-bottom: 24px;
  background: #fff;
}
.reno-apt-tab {
  padding: 10px 22px;
  background: #fff;
  border: none;
  border-right: 1px solid var(--border);
  border-radius: 0;
  font-size: 14px;
  font-weight: 500;
  color: var(--text-body);
  cursor: pointer;
  transition: all .2s;
}
.reno-apt-tab:last-child { border-right: none; }
.reno-apt-tab:hover {
  background: #f5f3ef;
  color: var(--text-dark);
}
.reno-apt-tab.active {
  background: var(--primary);
  color: #fff;
}

/* Сетка карточек */
.reno-apt-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--grid-gap);
}

/* Карточка квартиры */
.reno-apt-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
  transition: border-color .2s, transform .2s;
}
.reno-apt-card:hover {
  border-color: var(--primary-light);
  transform: translateY(-3px);
}

/* Визуальная часть (планировка или заглушка) */
.reno-apt-card-visual {
  position: relative;
  background: #faf9f7;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 160px;
  padding: 16px;
}
.reno-apt-card-visual img {
  max-width: 100%;
  max-height: 150px;
  object-fit: contain;
}
.reno-apt-card-icon {
  width: 56px;
  height: 56px;
  background: var(--border);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  color: #888888;
}
.reno-apt-card-zoom {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 32px;
  height: 32px;
  background: rgba(0,0,0,.4);
  color: #fff;
  border: none;
  border-radius: 50%;
  font-size: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity .2s;
}
.reno-apt-card:hover .reno-apt-card-zoom { opacity: 1; }

/* Тело карточки */
.reno-apt-card-body {
  padding: 16px;
  border-top: 1px solid #f0f0f0;
}
.reno-apt-card-type {
  font-size: 15px;
  font-weight: 700;
  color: var(--text-dark);
  margin-bottom: 4px;
}
.reno-apt-card-area {
  font-size: 13px;
  color: var(--text-light);
  margin-bottom: 12px;
}
.reno-apt-card-price {
  font-size: 17px;
  font-weight: 700;
  color: var(--text-dark);
  line-height: 1.22;
}
.reno-apt-card-perm2 {
  font-size: 12px;
  color: var(--text-light);
  margin-top: 2px;
  margin-bottom: 14px;
}
.reno-apt-card-btn {
  display: block;
  width: 100%;
  text-align: center;
  padding: 10px;
  background: var(--text-dark);
  color: #fff;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: -0.01em;
  border-radius: 10px;
  text-decoration: none;
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), background 0.3s ease;
}
.reno-apt-card-btn:hover {
  background: #000;
  color: #fff;
  transform: scale(1.02);
}

/* ─── Эксплорер квартир (аккордеон vladis-style) ─── */
.reno-explorer {
  margin-top: 48px;
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
}
.reno-explorer-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--space-lg);
  gap: 16px;
}
.reno-explorer-header .reno-block-heading {
  margin: 0;
}
.reno-explorer-count {
  font-size: 15px;
  font-weight: 500;
  color: var(--text-light);
  letter-spacing: -0.01em;
}
.reno-explorer-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: var(--text-body);
  cursor: pointer;
  user-select: none;
  white-space: nowrap;
}
.reno-explorer-toggle input {
  width: 40px;
  height: 22px;
  appearance: none;
  -webkit-appearance: none;
  background: #ccc;
  border-radius: 11px;
  position: relative;
  cursor: pointer;
  transition: background .2s;
  flex-shrink: 0;
}
.reno-explorer-toggle input:checked { background: var(--primary); }
.reno-explorer-toggle input::after {
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  width: 18px;
  height: 18px;
  background: #fff;
  border-radius: 50%;
  transition: transform .2s;
}
.reno-explorer-toggle input:checked::after { transform: translateX(18px); }

/* Табы корпусов */
.reno-explorer-tabs {
  display: flex;
  gap: 8px;
  margin-bottom: 26px;
  flex-wrap: nowrap;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding-bottom: 4px;
}
.reno-explorer-tabs::-webkit-scrollbar { display: none; }
.reno-explorer-tab {
  padding: 10px 20px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: #fff;
  font-size: 14px;
  font-weight: 500;
  color: var(--text-dark);
  cursor: pointer;
  transition: all .15s;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  flex-shrink: 0;
  white-space: nowrap;
}
.reno-explorer-tab small {
  font-size: 12px;
  font-weight: 400;
  color: var(--text-light);
}
.reno-explorer-tab:hover { border-color: var(--primary); color: var(--primary); }
.reno-explorer-tab.active {
  background: var(--text-dark);
  border-color: var(--text-dark);
  color: #fff;
}
.reno-explorer-tab.active small {
  color: rgba(255,255,255,0.7);
}

/* Строки аккордеона */
.reno-explorer-row {
  background: #F5F1EB;
  border: none;
  border-radius: var(--card-radius);
  margin-bottom: var(--space-lg);
  padding: 0 30px;
}
.reno-explorer-row:last-child { margin-bottom: 0; }
.reno-explorer-row-head {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr auto;
  align-items: center;
  padding: var(--card-padding) 0;
  cursor: pointer;
  user-select: none;
  transition: background .1s;
}
.reno-explorer-row-head:hover {
  opacity: 0.85;
}
.reno-explorer-row-col {
  padding: 0 20px;
  border-left: none;
}
.reno-explorer-row-col-type {
  padding-left: 0;
  border-left: none;
}
.reno-row-val {
  font-size: 16px;
  font-weight: 700;
  color: rgb(34, 34, 34);
  line-height: 1.3;
  letter-spacing: normal;
}
.reno-row-label {
  font-size: 14px;
  font-weight: 400;
  color: var(--text-light);
  line-height: 1.3;
  margin-top: 2px;
}
.reno-explorer-row-arrow {
  font-size: 14px;
  font-weight: 500;
  color: var(--primary);
  transition: all .2s;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  white-space: nowrap;
  cursor: pointer;
  padding: 0 36px;
  height: var(--btn-height);
  background: #fff;
  border: 1.5px solid var(--primary);
  border-radius: 12px;
}
.reno-explorer-row-arrow:hover {
  background: var(--primary);
  color: #fff;
}
.reno-explorer-row-arrow svg {
  transition: transform .2s;
}
.reno-explorer-row.open {
  background: var(--bg-light);
}
.reno-explorer-row.open .reno-explorer-row-arrow svg {
  transform: rotate(90deg);
}

/* Развёрнутое содержимое */
.reno-explorer-row-body {
  padding-bottom: 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.reno-explorer-apt {
  display: grid;
  grid-template-columns: 120px 1fr 1fr 1fr 1fr auto;
  align-items: first baseline;
  padding: 24px 26px;
  background: #fff;
  border-radius: var(--card-radius);
  gap: 0;
  border: 1px solid rgba(0,0,0,0.07);
}

.reno-explorer-apt-col {
  min-width: 0;
  padding: 0 20px;
  border-left: none;
}
.reno-explorer-apt-col-price {
  text-align: left;
}

/* Price row: price + icons */
.reno-explorer-apt-price-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-left: 20px;
}
.reno-explorer-apt-price-row .reno-explorer-apt-col {
  padding: 0;
}
.reno-explorer-apt-icons {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-left: auto;
}
/* Row: button + icon side by side */
.reno-explorer-apt-cta-row {
  display: flex;
  align-items: stretch;
  gap: 6px;
}
.reno-explorer-apt-cta-row .reno-explorer-apt-submit,
.reno-explorer-apt-cta-row .reno-explorer-apt-phone-btn {
  flex: 1;
}
.reno-explorer-apt-fav,
.reno-explorer-apt-compare {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  min-height: 40px;
  background: transparent;
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 0;
  cursor: pointer;
  transition: border-color .2s, color .2s;
  color: #aaa;
  flex-shrink: 0;
}
.reno-explorer-apt-fav i {
  font-size: 16px;
  color: #aaa;
  transition: color .2s;
}
.reno-explorer-apt-compare svg {
  color: #aaa;
  transition: color .2s;
}
.reno-explorer-apt-fav:hover,
.reno-explorer-apt-compare:hover {
  border-color: #999;
  color: #3D3D3D;
}
.reno-explorer-apt-fav:hover i {
  color: #3D3D3D;
}
.reno-explorer-apt-compare:hover svg {
  color: #3D3D3D;
}
.reno-explorer-apt-fav.active {
  border-color: #e74c3c;
  color: #e74c3c;
}
.reno-explorer-apt-fav.active i {
  color: #e74c3c;
}
.reno-explorer-apt-submit {
  background: var(--primary);
  color: #fff;
  border: none;
  border-radius: 10px;
  padding: 10px 16px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: background .2s;
  white-space: nowrap;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  text-align: center;
}
.reno-explorer-apt-submit:hover {
  background: var(--primary-dark);
}
.reno-explorer-apt-phone-btn {
  background: #fff;
  color: var(--primary);
  border: 1.5px solid var(--primary);
  border-radius: 10px;
  padding: 10px 16px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background .2s, color .2s;
  white-space: nowrap;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
}
.reno-explorer-apt-phone-btn:hover {
  background: var(--bg-light);
}
.reno-explorer-apt-phone-btn.revealed {
  font-size: 15px;
  font-weight: 700;
  color: var(--primary);
  border-color: var(--primary);
}

.reno-explorer-apt-main {
  font-size: 16px;
  font-weight: 700;
  color: var(--text-dark);
  line-height: 1.3;
  letter-spacing: -0.02em;
}
.reno-explorer-apt-sub {
  font-size: 14px;
  color: var(--text-light);
  line-height: 1.4;
  margin-top: 2px;
}

/* Планировка в раскрытии */
/* Renovation label inside rooms column */
.reno-apt-renovation {
  color: var(--text-light);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  margin-top: 2px;
}
.reno-explorer-apt-plan {
  width: 100px;
  height: 100px;
  flex-shrink: 0;
  background: #faf9f7;
  border-radius: 8px;
  display: flex;
  align-self: start;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  margin-right: 20px;
  align-self: center;
}
.reno-explorer-apt-plan img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.reno-explorer-apt-plan-empty {
  font-size: 22px;
  color: #ccc;
}
.reno-explorer-apt-price {
  font-size: 16px;
  font-weight: 700;
  color: var(--primary);
  white-space: nowrap;
  flex-shrink: 0;
  letter-spacing: -0.02em;
  line-height: 1.3;
}

/* Explorer controls row */
.reno-explorer-controls {
  display: flex;
  align-items: center;
  gap: 16px;
}
.reno-explorer-view-switch {
  display: flex;
  border: 1px solid var(--border);
  border-radius: 8px;
  overflow: hidden;
}
.reno-view-btn {
  padding: 8px 16px;
  border: none;
  background: #fff;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-body);
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: all .15s;
}
.reno-view-btn:not(:last-child) {
  border-right: 1px solid var(--border);
}
.reno-view-btn:hover { background: #f9f9f9; }
.reno-view-btn.active {
  background: var(--text-dark);
  color: #fff;
}

/* Sort buttons */
.reno-explorer-sort {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 0 16px;
  font-size: 13px;
  color: var(--text-light);
  flex-wrap: nowrap;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.reno-explorer-sort::-webkit-scrollbar { display: none; }
.reno-explorer-sort button {
  display: inline-flex;
  align-items: center;
  padding: 7px 12px;
  border: 1px solid var(--border);
  border-radius: var(--card-radius);
  background: #fff;
  font-size: 13px;
  color: var(--text-body);
  cursor: pointer;
  transition: all .15s;
}
.reno-explorer-sort button:hover { border-color: var(--primary); }
.reno-explorer-sort button.active {
  background: var(--text-dark);
  color: #fff;
  border-color: var(--text-dark);
}
.sort-arrows {
  display: inline-flex;
  flex-direction: column;
  gap: 0px;
  margin-left: 5px;
}
.sort-arrows svg {
  display: block;
}
.sort-arrow-dim {
  opacity: 0.3;
}
.sort-arrow-active {
  opacity: 1;
}

/* ─── Favorite Heart Buttons ─── */
.reno-fav-btn {
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  font-size: 18px;
  color: #ccc;
  transition: color .2s, transform .2s;
  flex-shrink: 0;
  line-height: 1;
  -webkit-tap-highlight-color: transparent;
}
.reno-fav-btn:hover {
  color: #e74c3c;
}
.reno-fav-btn.active {
  color: #e74c3c;
}
.reno-fav-btn.active i {
  animation: favPulse .4s ease;
}
@keyframes favPulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.3); }
  100% { transform: scale(1); }
}

/* Chess cell heart */
.reno-chess-cell-fav {
  position: absolute;
  top: 3px;
  right: 3px;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 13px;
  color: rgba(0,0,0,0.2);
  opacity: 0;
  transition: opacity .2s, color .2s;
  padding: 2px;
  line-height: 1;
  z-index: 3;
}
.reno-chess-cell:hover .reno-chess-cell-fav {
  opacity: 1;
}
.reno-chess-cell-fav.active {
  opacity: 1;
  color: #e74c3c;
}
.reno-chess-cell-fav:hover {
  color: #e74c3c;
}

/* Mobile chess card heart */
.reno-chess-mcard-fav {
  position: absolute;
  top: 4px;
  right: 4px;
  background: rgba(255,255,255,0.8);
  border: none;
  border-radius: 50%;
  width: 28px;
  height: 28px;
  cursor: pointer;
  font-size: 14px;
  color: #ccc;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color .2s;
  z-index: 3;
  -webkit-tap-highlight-color: transparent;
}
.reno-chess-mcard-fav.active {
  color: #e74c3c;
}
.reno-chess-mcard {
  position: relative;
}

/* Detail panel fav button */
.reno-detail-fav-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 14px;
  border: 2px solid #eee;
  border-radius: var(--radius);
  background: #fff;
  font-size: 14px;
  font-weight: 500;
  color: var(--text-body);
  cursor: pointer;
  transition: all .2s;
  margin-bottom: 12px;
}
.reno-detail-fav-btn i {
  font-size: 16px;
  color: #ccc;
  transition: color .2s;
}
.reno-detail-fav-btn:hover {
  border-color: #e74c3c;
}
.reno-detail-fav-btn:hover i {
  color: #e74c3c;
}
.reno-detail-fav-btn.active {
  border-color: #e74c3c;
  background: #fef2f0;
  color: #c0392b;
}
.reno-detail-fav-btn.active i {
  color: #e74c3c;
}

/* ─── Explorer Hint ─── */
.reno-explorer-hint {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 18px;
  background: #f8f6f2;
  border: 1px solid #e8e2d8;
  border-radius: 10px;
  margin-bottom: var(--space-lg);
  font-size: 14px;
  color: var(--text-body);
  transition: opacity .3s, max-height .3s;
}
.reno-explorer-hint i {
  color: #e74c3c;
  font-size: 18px;
  flex-shrink: 0;
}
.reno-explorer-hint.hidden {
  opacity: 0;
  max-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  overflow: hidden;
}

/* ─── Fav Tray (replaces Compare Bar) ─── */
.reno-fav-tray {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 8000;
  background: #fff;
  box-shadow: none;
  padding: 14px 20px;
  animation: slideUp .3s ease;
  display: none;
}
.reno-fav-tray.visible {
  display: block;
}
.reno-fav-tray-inner {
  max-width: var(--max-width);
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 16px;
}
.reno-fav-tray-previews {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}
.reno-fav-tray-thumb {
  position: relative;
  width: 48px;
  height: 48px;
  border-radius: 8px;
  background: #f5f5f5;
  overflow: hidden;
  flex-shrink: 0;
}
.reno-fav-tray-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.reno-fav-tray-thumb-remove {
  position: absolute;
  top: -4px;
  right: -4px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #e74c3c;
  color: #fff;
  border: 2px solid #fff;
  font-size: 12px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  padding: 0;
}
.reno-fav-tray-thumb-remove:hover {
  background: #c0392b;
}
.reno-fav-tray-info {
  flex: 1;
  min-width: 0;
}
.reno-fav-tray-count {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-dark);
}
.reno-fav-tray-sub {
  font-size: 12px;
  color: var(--text-light);
}
.reno-fav-tray-actions {
  display: flex;
  gap: 10px;
  flex-shrink: 0;
  align-items: center;
}
.reno-fav-tray-cta {
  padding: 10px 24px;
  border: none;
  border-radius: var(--radius);
  background: var(--btn);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: background .2s;
  white-space: nowrap;
}
.reno-fav-tray-cta:hover {
  background: var(--btn-hover);
}
.reno-fav-tray-compare {
  background: none;
  border: none;
  color: var(--text-body);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
  white-space: nowrap;
  transition: color .2s;
}
.reno-fav-tray-compare:hover {
  color: var(--text-dark);
}

/* ─── Toast Notifications ─── */
#renoToast {
  position: fixed;
  bottom: 80px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 9999;
  pointer-events: none;
}
.reno-toast {
  background: var(--text-dark);
  color: #fff;
  padding: 12px 24px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 500;
  box-shadow: none;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity .3s, transform .3s;
  white-space: nowrap;
}
.reno-toast.show {
  opacity: 1;
  transform: translateY(0);
}

/* ─── Mobile Compare Cards ─── */
.reno-compare-mobile-cards {
  position: relative;
  overflow: hidden;
  touch-action: pan-y;
}
.reno-compare-mobile-dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-bottom: 16px;
}
.reno-compare-mobile-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #ddd;
  border: none;
  cursor: pointer;
  padding: 0;
  transition: background .2s;
}
.reno-compare-mobile-dot.active {
  background: var(--text-dark);
}
.reno-compare-mobile-track {
  display: flex;
  transition: transform .3s ease;
}
.reno-compare-mobile-card {
  flex: 0 0 100%;
  padding: 0 4px;
}
.reno-compare-mobile-card-inner {
  background: #fff;
  border: 1px solid #eee;
  border-radius: var(--radius);
  padding: 20px;
  text-align: center;
}
.reno-compare-mobile-card-inner img {
  max-height: 140px;
  max-width: 100%;
  object-fit: contain;
  margin: 0 auto 16px;
}
.reno-compare-mobile-card-inner .no-img {
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 32px;
  color: #ccc;
  margin-bottom: 16px;
}
.reno-compare-mobile-card-type {
  font-size: 18px;
  font-weight: 700;
  color: var(--text-dark);
  margin-bottom: 4px;
}
.reno-compare-mobile-card-price {
  font-size: 20px;
  font-weight: 700;
  color: var(--btn);
  margin-bottom: 12px;
}
.reno-compare-mobile-card-specs {
  text-align: left;
  margin-bottom: 16px;
}
.reno-compare-mobile-card-specs tr td {
  padding: 6px 0;
  border-bottom: 1px solid #f0f0f0;
  font-size: 13px;
}
.reno-compare-mobile-card-specs tr td:first-child {
  color: var(--text-light);
  width: 40%;
}
.reno-compare-mobile-card-specs tr td:last-child {
  color: var(--text-dark);
  font-weight: 500;
  text-align: right;
}
.reno-compare-mobile-bars {
  margin-top: var(--space-lg);
  padding-top: 16px;
  border-top: 1px solid #f0f0f0;
}
.reno-compare-mobile-bar-row {
  margin-bottom: 12px;
}
.reno-compare-mobile-bar-label {
  font-size: 12px;
  color: var(--text-light);
  margin-bottom: 4px;
}
.reno-compare-mobile-bar-track {
  height: 8px;
  background: #EEF0F3;
  border-radius: 4px;
  overflow: hidden;
}
.reno-compare-mobile-bar-fill {
  height: 100%;
  border-radius: 4px;
  background: var(--primary);
  transition: width .4s ease;
}
.reno-compare-mobile-bar-fill.best {
  background: #27ae60;
}

/* CTA form privacy */
.reno-cta-privacy {
  font-size: 12px;
  color: var(--text-light);
  text-align: center;
  margin-top: 10px;
  line-height: 1.4;
}

/* CTA form states */
.reno-cta-form button .spinner {
  display: inline-block;
  width: 16px;
  height: 16px;
  border: 2px solid rgba(255,255,255,0.3);
  border-top-color: #fff;
  border-radius: 50%;
  animation: ctaSpin .6s linear infinite;
  vertical-align: middle;
  margin-right: 6px;
}
@keyframes ctaSpin {
  to { transform: rotate(360deg); }
}
.reno-cta-form button.success {
  background: #27ae60 !important;
  pointer-events: none;
}

.reno-explorer-apt-ppm {
  font-size: 13px;
  color: var(--text-light);
  margin-top: 2px;
}

/* Explorer apt click */
.reno-explorer-apt {
  cursor: pointer;
  transition: box-shadow .15s;
}
.reno-explorer-apt:hover {
  box-shadow: none;
}

/* Price mini chart */
.reno-price-chart {
  margin-bottom: var(--space-lg);
  overflow-x: auto;
}
.reno-price-svg {
  display: block;
}
.reno-price-bar {
  transition: opacity .2s;
}
.reno-price-bar-group:hover .reno-price-bar {
  opacity: 0.7;
}
.reno-price-bar-label {
  font-size: 12px;
  fill: var(--text-dark);
  font-weight: 600;
}
.reno-price-bar-value {
  font-size: 12px;
  fill: var(--text-light);
}

/* ─── Chess Board ─── */
.reno-chess-legend {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}
.reno-chess-legend-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: var(--text-body);
}
.reno-chess-legend-item i {
  display: inline-block;
  width: 14px;
  height: 14px;
  border-radius: 3px;
}
.reno-chess-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.reno-chess-table {
  border-collapse: separate;
  border-spacing: 3px;
  width: 100%;
  min-width: 500px;
}
.reno-chess-floor-th,
.reno-chess-floor-td {
  position: sticky;
  left: 0;
  z-index: 2;
  background: #fff;
  font-weight: 700;
  font-size: 13px;
  color: var(--text-dark);
  text-align: center;
  padding: 4px 12px;
  min-width: 52px;
}
.reno-chess-type-th {
  font-size: 12px;
  font-weight: 600;
  color: var(--text-dark);
  text-align: center;
  padding: 8px 4px;
  border-radius: 6px 6px 0 0;
}
.reno-chess-cell {
  border-radius: 6px;
  padding: 8px 6px;
  text-align: center;
  cursor: pointer;
  transition: transform .15s, box-shadow .15s;
  position: relative;
  min-width: 80px;
  vertical-align: middle;
}
.reno-chess-cell:hover {
  transform: scale(1.08);
  box-shadow: none;
  z-index: 5;
}
.reno-chess-cell.selected {
  box-shadow: none;
}
.reno-chess-cell.empty {
  background: #f9f9f9 !important;
  cursor: default;
}
.reno-chess-cell.empty:hover {
  transform: none;
  box-shadow: none;
}
.reno-chess-cell-area {
  font-size: 12px;
  font-weight: 600;
  color: var(--text-dark);
}
.reno-chess-cell-price {
  font-size: 12px;
  color: var(--text-body);
}
.reno-chess-tooltip {
  display: none;
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
  background: var(--text-dark);
  color: #fff;
  padding: 10px 14px;
  border-radius: 8px;
  font-size: 12px;
  line-height: 1.5;
  text-align: left;
  white-space: nowrap;
  z-index: 100;
  pointer-events: none;
  box-shadow: none;
}
.reno-chess-tooltip::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 6px solid transparent;
  border-top-color: var(--text-dark);
}
/* ─── Mobile Chess Floor-Card Layout ─── */
.reno-chess-floor-section {
  margin-bottom: 16px;
}
.reno-chess-floor-header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 0;
  border-bottom: 2px solid #eee;
  margin-bottom: 10px;
  font-size: 14px;
  color: var(--text-body);
}
.reno-chess-floor-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background: var(--text-dark);
  color: #fff;
  border-radius: 8px;
  font-weight: 700;
  font-size: 15px;
}
.reno-chess-floor-header small {
  margin-left: auto;
  color: var(--text-light);
  font-size: 12px;
}
.reno-chess-floor-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
.reno-chess-mcard {
  border-radius: 10px;
  padding: 10px;
  cursor: pointer;
  transition: transform .15s, box-shadow .15s;
  text-align: center;
  border: 2px solid transparent;
  -webkit-tap-highlight-color: transparent;
}
.reno-chess-mcard:active {
  transform: scale(0.96);
}
.reno-chess-mcard.selected {
  border-color: var(--btn);
  box-shadow: none;
}
.reno-chess-mcard-type {
  font-size: 12px;
  font-weight: 600;
  color: rgba(0,0,0,0.5);
  margin-bottom: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.reno-chess-mcard-area {
  font-size: 14px;
  font-weight: 700;
  color: var(--text-dark);
  margin-bottom: 2px;
}
.reno-chess-mcard-price {
  font-size: 12px;
  font-weight: 600;
  color: var(--btn);
}

.reno-chess-cell:hover .reno-chess-tooltip {
  display: block;
}

/* ─── Detail Panel ─── */
.reno-detail-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.5);
  z-index: 9000;
  display: none;
  justify-content: flex-end;
}
.reno-detail-overlay.active {
  display: flex;
}
.reno-detail-panel {
  width: 420px;
  max-width: 100vw;
  background: #fff;
  height: 100%;
  overflow-y: auto;
  padding: 32px 28px;
  animation: slideInRight .3s ease;
  position: relative;
}
@keyframes slideInRight {
  from { transform: translateX(100%); }
  to { transform: translateX(0); }
}
.reno-detail-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 36px;
  height: 36px;
  border: none;
  background: #f5f5f5;
  border-radius: 50%;
  font-size: 20px;
  color: var(--text-body);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .15s;
  z-index: 2;
}
.reno-detail-close:hover { background: #eee; }
.reno-detail-img {
  margin-bottom: var(--space-lg);
  background: #faf9f7;
  border-radius: 8px;
  overflow: hidden;
  cursor: pointer;
}
.reno-detail-img img {
  width: 100%;
  object-fit: contain;
}
.reno-detail-main {
  margin-bottom: 24px;
}
.reno-detail-type {
  font-size: 14px;
  color: var(--text-light);
  margin-bottom: 4px;
}
.reno-detail-area {
  font-size: 28px;
  font-weight: 700;
  color: var(--text-dark);
  margin-bottom: 8px;
}
.reno-detail-price {
  font-size: 24px;
  font-weight: 700;
  color: var(--btn);
  margin-bottom: 2px;
}
.reno-detail-ppm {
  font-size: 14px;
  color: var(--text-light);
}
.reno-detail-specs {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 24px;
}
.reno-detail-specs td {
  padding: 10px 0;
  border-bottom: 1px solid #f0f0f0;
  font-size: 14px;
}
.reno-detail-specs td:first-child {
  color: var(--text-light);
  width: 40%;
}
.reno-detail-specs td:last-child {
  color: var(--text-dark);
  font-weight: 500;
  text-align: right;
}
.reno-detail-mortgage {
  background: #f8f7f5;
  border-radius: 10px;
  padding: 16px;
  margin-bottom: 24px;
}
.reno-detail-mortgage-title {
  font-size: 13px;
  color: var(--text-light);
  margin-bottom: 4px;
}
.reno-detail-mortgage-title i {
  margin-right: 6px;
}
.reno-detail-mortgage-val {
  font-size: 20px;
  font-weight: 700;
  color: var(--text-dark);
  margin-bottom: 2px;
}
.reno-detail-mortgage-note {
  font-size: 12px;
  color: var(--text-light);
}
.reno-detail-compare-btn {
  margin-bottom: 12px;
}
.reno-detail-cta {
  display: block;
  text-align: center;
}

/* ─── Compare Bar ─── */
.reno-compare-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 8000;
  background: var(--text-dark);
  color: #fff;
  padding: 14px 20px;
  animation: slideUp .3s ease;
}
@keyframes slideUp {
  from { transform: translateY(100%); }
  to { transform: translateY(0); }
}
.reno-compare-bar-inner {
  max-width: var(--max-width);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.reno-compare-bar-actions {
  display: flex;
  gap: 10px;
}
.reno-compare-bar .reno-btn {
  padding: 8px 20px;
  font-size: 13px;
}

/* ─── Compare Modal ─── */
.reno-compare-modal {
  position: fixed;
  inset: 0;
  z-index: 9500;
  background: rgba(0,0,0,0.6);
  display: none;
  align-items: center;
  justify-content: center;
}
.reno-compare-modal-inner {
  background: #fff;
  border-radius: var(--radius);
  max-width: 960px;
  width: 95vw;
  max-height: 90vh;
  overflow-y: auto;
  padding: 32px;
  position: relative;
}
.reno-compare-modal-inner h3 {
  font-size: 22px;
  font-weight: var(--heading-weight);
  color: var(--text-dark);
  margin-bottom: 24px;
}
.reno-compare-modal-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 36px;
  height: 36px;
  border: none;
  background: #f5f5f5;
  border-radius: 50%;
  font-size: 20px;
  color: var(--text-body);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.reno-compare-modal-close:hover { background: #eee; }
.reno-compare-grid {
  display: grid;
  gap: 1px;
  background: #EEF0F3;
}
.reno-compare-grid > div {
  background: #fff;
  padding: 12px;
}
.reno-compare-label {
  font-size: 13px;
  color: var(--text-light);
  display: flex;
  align-items: center;
}
.reno-compare-val {
  font-size: 14px;
  font-weight: 500;
  color: var(--text-dark);
  text-align: center;
}
.reno-compare-val.best {
  background: #e8f5e9;
  color: #2e7d32;
  font-weight: 700;
}
.reno-compare-img {
  text-align: center;
  position: relative;
  padding: 8px;
}
.reno-compare-img img {
  max-height: 120px;
  max-width: 100%;
  object-fit: contain;
}
.reno-compare-no-img {
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  color: #ccc;
}
.reno-compare-remove {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 24px;
  height: 24px;
  border: none;
  background: #f5f5f5;
  border-radius: 50%;
  font-size: 14px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-light);
}
.reno-compare-remove:hover { background: #eee; }

/* Compare modal CTA */
.reno-compare-cta {
  text-align: center;
  padding: 24px 0 8px;
}
.reno-compare-cta .reno-btn {
  padding: 8px 24px;
  font-size: var(--text-base);
}

/* Apt number badge */
.reno-apt-num {
  color: var(--text-light);
  font-weight: 400;
  font-size: 12px;
}

/* Renovation tag — styles moved to grid-column span above */

/* Detail floorplan link */
.reno-detail-floorplan {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  background: #f5f5f5;
  border-radius: 8px;
  color: var(--text-body);
  font-size: 14px;
  cursor: pointer;
  transition: background .15s;
  margin-bottom: 16px;
}
.reno-detail-floorplan:hover {
  background: #eee;
  color: var(--primary-dark);
}
.reno-detail-floorplan i {
  color: var(--primary);
}

/* CTA apartment info cards */
.reno-cta-apt-info {
  margin-bottom: 16px;
}
.reno-cta-apt-heading {
  font-size: 13px;
  color: var(--text-light);
  margin-bottom: 8px;
  font-weight: 500;
}
.reno-cta-apt-card {
  display: flex;
  gap: 12px;
  padding: 10px;
  background: #f8f7f5;
  border-radius: 8px;
  margin-bottom: 6px;
  align-items: center;
}
.reno-cta-apt-card img {
  width: 56px;
  height: 56px;
  object-fit: contain;
  border-radius: 6px;
  background: #fff;
  flex-shrink: 0;
}
.reno-cta-apt-card div {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}
.reno-cta-apt-card strong {
  font-size: 14px;
  color: var(--text-dark);
}
.reno-cta-apt-card span {
  font-size: 12px;
  color: var(--text-light);
}
.reno-cta-apt-price {
  color: var(--btn) !important;
  font-weight: 600;
  font-size: 13px !important;
}

/* ─── Блок «Особенности» ─── */
.reno-features-block {
  background: #fff;
  border: none;
}
.reno-features-block > h4 {
  padding-bottom: 0;
  border-bottom: none;
}
.reno-features-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 16px;
}
.reno-feature-item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 16px 18px;
  background: #f9f8f6;
  border-radius: 10px;
  transition: background .2s;
}
.reno-feature-item:hover {
  background: #f3f1ec;
}
.reno-feature-icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  background: var(--primary);
  color: #fff;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
}
.reno-feature-text {
  font-size: 14px;
  line-height: 1.5;
  color: var(--text-body);
  padding-top: 2px;
}

/* CTA Banners */
/* Trade-in full-width banner */
.reno-tradein-banner {
  position: relative;
  width: 100%;
  min-height: 500px;
  background: url('../img/trade-in-bg.jpg') center/cover no-repeat;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
}
.reno-tradein-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.4) 45%, rgba(0,0,0,0.05) 100%);
}
.reno-tradein-content {
  position: relative;
  z-index: 1;
  width: 100%;
  padding-top: 0;
  padding-bottom: 46px;
  padding-left: calc(var(--container-padding) + 28px);
}
.reno-tradein-content::before {
  content: '';
  position: absolute;
  left: var(--container-padding);
  top: 0;
  bottom: 0;
  width: 2px;
  background: var(--primary);
}
.reno-tradein-kicker {
  display: inline-block;
  margin-bottom: var(--space-md);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--primary);
}
.reno-tradein-content h2 {
  font-family: var(--font-heading);
  font-size: clamp(36px, 5vw, 68px);
  font-weight: 500;
  color: #fff;
  line-height: 1.22;
  letter-spacing: -0.04em;
  margin: 0 0 var(--space-sm);
  text-shadow: 0 2px 8px rgba(0,0,0,0.25);
}
.reno-tradein-content p {
  font-size: 20px;
  color: rgba(255,255,255,0.8);
  line-height: 1.4;
  margin: 0 0 var(--heading-gap);
  max-width: 520px;
}
.reno-tradein-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 36px;
  height: 52px;
  background: var(--primary);
  color: #fff;
  border: none;
  border-radius: 12px;
  font-size: 16px;
  font-weight: 500;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.3s, transform 0.3s;
}
.reno-tradein-btn:hover {
  background: var(--primary-dark, #b8935e);
  transform: translateY(-2px);
  color: #fff;
  text-decoration: none;
}

/* Map */
.reno-novo-map-wrap { border-radius: var(--card-radius); overflow: hidden; margin-bottom: 12px; }
.reno-novo-map-address { font-size: 14px; color: #3D3D3D; margin: 0; }
.reno-novo-map-address i { color: var(--primary); margin-right: 6px; }

/* Payment options (new layout) */
.reno-novo-payment-options {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.reno-novo-payment-options .reno-novo-payment-card {
  background: var(--bg-light);
  border-radius: var(--card-radius);
  padding: 20px;
  text-align: center;
  border: none;
}
.reno-novo-payment-options .reno-novo-payment-card i {
  font-size: 24px;
  color: var(--primary);
  margin-bottom: 10px;
  display: block;
}
.reno-novo-payment-options .reno-novo-payment-card strong {
  display: block;
  font-size: 14px;
  margin-bottom: 4px;
  color: var(--text-dark);
}
.reno-novo-payment-options .reno-novo-payment-card span {
  font-size: 12px;
  color: var(--text-light);
}

/* Documents */
.reno-novo-docs-list { display: flex; flex-direction: column; gap: 8px; }
.reno-novo-doc-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
  background: #fff;
  border: 1px solid #eee;
  border-radius: var(--radius);
  color: var(--text-dark);
  text-decoration: none;
  transition: border-color .2s, transform .2s;
}
.reno-novo-doc-item:hover { border-color: var(--primary); transform: translateX(4px); text-decoration: none; color: var(--text-dark); }
.reno-novo-doc-item > i:first-child { font-size: 20px; color: #e74c3c; }
.reno-novo-doc-item > span { flex: 1; font-size: 14px; font-weight: 500; }
.reno-novo-doc-item > i:last-child { font-size: 14px; color: #888888; }

/* Payment cards (legacy) */
.reno-novo-payment-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-lg);
}
.reno-novo-payment-card {
  background: var(--bg-light);
  border-radius: var(--card-radius);
  padding: 30px 24px;
  text-align: center;
  box-shadow: none;
  transition: transform .2s;
}
.reno-novo-payment-card:hover { transform: translateY(-3px); }
.reno-novo-payment-icon {
  width: 60px;
  height: 60px;
  margin: 0 auto 16px;
  background: linear-gradient(135deg, var(--primary) 0%, #1a3a5c 100%);
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
}
.reno-novo-payment-card h4 {
  font-size: 16px;
  margin-bottom: 8px;
  color: var(--text-dark);
}
.reno-novo-payment-card p {
  font-size: 14px;
  color: var(--text-light);
  margin: 0;
}

/* No results */
.reno-no-results {
  text-align: center;
  padding: 80px 20px;
  color: var(--text-light);
}
.reno-no-results h2 { color: #aaa; }

/* Pagination */
.reno-pagination {
  display: flex;
  justify-content: center;
  flex-wrap: nowrap;
  overflow-x: auto;
  gap: 6px;
  margin-top: 40px;
  -webkit-overflow-scrolling: touch;
}
.reno-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1px solid var(--border);
  border-radius: 50%;
  color: var(--text-body);
  text-decoration: none;
  font-weight: 600;
  font-size: 14px;
  flex-shrink: 0;
  transition: all .2s;
}
.reno-pagination .page-numbers.prev,
.reno-pagination .page-numbers.next {
  font-size: 0;
}
.reno-pagination .page-numbers.prev::before {
  content: '';
  width: 10px;
  height: 10px;
  border-left: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  margin-left: 3px;
}
.reno-pagination .page-numbers.next::before {
  content: '';
  width: 10px;
  height: 10px;
  border-right: 2px solid currentColor;
  border-top: 2px solid currentColor;
  transform: rotate(45deg);
  margin-right: 3px;
}
.reno-pagination .page-numbers.current,
.reno-pagination .page-numbers:hover {
  background: var(--primary);
  border-color: var(--primary);
  color: #fff;
}

/* ─── CTA-карточка в hero (телефон + заявка) ─────────────── */
.reno-novo-cta-card {
  display: none;
}
.reno-novo-cta-phone {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 12px 16px;
  background: transparent;
  color: #fff;
  border: 1.5px solid rgba(255,255,255,.3);
  border-radius: 10px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: background .2s, border-color .2s;
  white-space: nowrap;
}
.reno-novo-cta-phone:hover { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.5); color: #fff; }
.reno-novo-cta-phone i { font-size: 13px; }
.reno-novo-cta-request {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 12px 16px;
  background: #fff;
  color: var(--text-dark);
  border: none;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: background .2s;
  white-space: nowrap;
}
.reno-novo-cta-request:hover { background: var(--bg-light); color: var(--text-dark); }
.reno-novo-cta-request span { font-size: 16px; }

/* ─── Блок Корпуса ───────────────────────────────────────── */
.reno-buildings-section {
  position: relative;
  overflow: hidden;
}
.reno-buildings-section::after {
  content: ''; position: absolute; right: 0; top: 0; bottom: 0;
  width: 80px; background: linear-gradient(to right, transparent, #fff);
  pointer-events: none; z-index: 2;
}
.reno-buildings-carousel {
  overflow: visible;
  position: relative;
  margin-right: calc(-1 * var(--container-padding));
}
.reno-buildings-grid {
  display: flex;
  gap: 20px;
  transition: transform 0.5s cubic-bezier(0.25, 0.1, 0.25, 1);
}
.reno-building-card {
  flex: 0 0 calc(50% - 10px);
  display: flex;
  flex-direction: column;
  background: #EEF0F3;
  border-radius: var(--card-radius);
  overflow: hidden;
  min-width: 0;
  box-sizing: border-box;
}
.reno-building-card-img {
  overflow: hidden;
  border-radius: var(--card-radius);
  margin: 0;
  order: -1;
}
.reno-building-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  aspect-ratio: 16/10;
}
/* Apartments list page */
.reno-apartments-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--grid-gap);
}
@media (max-width: 1024px) {
  .reno-apartments-list { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .reno-apartments-list { grid-template-columns: 1fr; }
}
/* Apartment services cards on white backgrounds */
.reno-apt-hero ~ .reno-section .reno-exp__features {
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  max-width: none;
}
.reno-apt-hero ~ .reno-section .reno-exp__feature {
  background: #fff;
  border-radius: var(--card-radius);
  padding: 30px;
}
@media (max-width: 1024px) {
  .reno-apt-hero ~ .reno-section .reno-exp__features { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .reno-apt-hero ~ .reno-section .reno-exp__features { grid-template-columns: 1fr; }
}

/* Apartment hero (not page-hero, so no padding override on next section) */
.reno-apt-hero { margin-top: 84px; }
@media (max-width: 768px) { .reno-apt-hero { margin-top: 54px; } }
/* removed: .reno-apt-hero ~ .reno-calc-section custom bg — same as main */

/* Apartment detail 2-column layout */
.reno-apt-detail-layout {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: var(--grid-gap);
  align-items: start;
}
@media (max-width: 1024px) {
  .reno-apt-detail-layout { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px) {
  .reno-apt-detail-layout { grid-template-columns: 1fr; }
}
.reno-apt-detail-left {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--border-light);
  border-radius: var(--card-radius);
  padding: var(--card-padding);
  overflow: hidden;
}
.reno-apt-viewer-panel {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  overflow: hidden;
  min-height: 0;
}
.reno-apt-viewer-panel img { max-width: 100%; height: 100%; object-fit: contain; }
.reno-apt-viewer-tabs {
  margin-top: 26px;
  display: flex;
  gap: 6px;
  margin-bottom: 0;
  justify-content: center;
  border-top: 1px solid var(--border);
  padding-top: 20px;
}
.reno-apt-viewer-tab {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: var(--btn-height);
  padding: 8px 24px;
  border-radius: var(--btn-radius);
  font-size: var(--text-base);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.01em;
  white-space: nowrap;
  background: #fff;
  color: var(--text-dark);
  border: 1px solid var(--border);
  cursor: pointer;
  transition: all .15s;
}
.reno-apt-viewer-tab:hover { border-color: var(--text-dark); }
.reno-apt-viewer-tab.active { background: var(--text-dark); border-color: var(--text-dark); color: #fff; }

.reno-apt-detail-right {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.reno-apt-list-card {
  display: flex;
  flex-direction: column;
  padding: 30px 30px 40px;
  background: #fff;
  border: 1px solid var(--border-light);
  border-radius: var(--card-radius);
  text-decoration: none;
  color: var(--text-dark);
  transition: border-color .2s;
}
.reno-apt-list-card:hover {
  border-color: var(--primary);
}
.reno-apt-list-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--border-light);
}
.reno-apt-list-title {
  font-size: 22px;
  font-weight: 700;
}
.reno-apt-list-area {
  font-size: 22px;
  font-weight: 700;
}
.reno-apt-list-plan {
  height: 220px;
  border-radius: 12px;
  overflow: hidden;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 16px 0;
  border-bottom: 1px solid var(--border-light);
}
.reno-apt-plan-zoom-icon {
  position: absolute;
  bottom: 20px;
  right: 12px;
  width: 36px;
  height: 36px;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-dark);
  transition: var(--transition);
}
.reno-apt-plan-zoom:hover .reno-apt-plan-zoom-icon {
  background: var(--primary);
  color: #fff;
}
.reno-apt-list-details {
  margin-top: 16px;
}
.reno-apt-list-plan img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.reno-apt-list-details {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 16px;
  margin-bottom: 16px;
}
.reno-apt-list-detail-val {
  font-size: 16px;
  font-weight: 400;
  color: var(--text-dark);
  display: block;
}
.reno-apt-list-detail-label {
  font-size: 13px;
  color: var(--text-light);
}
.reno-apt-list-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 12px;
  border-top: 1px solid var(--border-light);
}
.reno-apt-list-price {
  font-size: 22px;
  font-weight: 700;
  color: var(--primary);
}
.reno-apt-list-actions {
  display: flex;
  gap: 8px;
}
.reno-apt-list-icon {
  width: 36px;
  height: 36px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--text-light);
  transition: var(--transition);
}
.reno-apt-list-icon:hover {
  border-color: var(--primary);
  color: var(--primary);
}
.reno-explorer-sort-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 8px 16px;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  font-size: 14px;
  font-weight: 500;
  color: var(--text-dark);
  cursor: pointer;
  text-decoration: none;
  transition: var(--transition);
  white-space: nowrap;
}
.reno-explorer-sort-btn:hover {
  border-color: var(--primary);
  color: var(--primary);
}
.reno-explorer-sort-btn.active {
  background: var(--primary);
  border-color: var(--primary);
  color: #fff;
}
.reno-sort-icon {
  transition: transform .2s;
  vertical-align: middle;
  margin-left: 2px;
}
.reno-explorer-sort {
  display: flex;
  gap: 8px;
  flex-wrap: nowrap;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.reno-explorer-sort::-webkit-scrollbar { display: none; }

.reno-building-card-badges {
  position: absolute;
  top: 16px;
  right: 16px;
  display: flex;
  gap: 6px;
}
.reno-building-card-label {
  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: var(--text-dark);
  font-size: 12px;
  font-weight: 400;
  padding: 4px 10px;
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  white-space: nowrap;
}
.reno-building-card-img {
  position: relative;
}
.reno-building-card h5 {
  display: none;
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: var(--heading-weight);
  color: var(--text-dark);
}
.reno-building-card-meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 16px;
  padding: 20px 24px 24px;
}
.reno-building-meta-address {
  grid-column: 1 / -1;
}
.reno-buildings-nav {
  display: flex;
  justify-content: flex-start;
  gap: 8px;
  margin-top: 24px;
}
.reno-nav-btn {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid var(--border);
  background: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: var(--transition);
}
.reno-nav-btn:hover { border-color: var(--primary); color: var(--primary); }
.reno-nav-btn:disabled { opacity: 0.3; cursor: default; }
.reno-nav-btn:disabled:hover { border-color: var(--border); color: inherit; }
.reno-building-meta-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.reno-building-meta-label {
  font-size: 13px;
  color: var(--text-light);
  letter-spacing: normal;
}
.reno-building-meta-value {
  font-size: 16px;
  font-weight: 700;
  color: var(--text-dark);
}

/* ─── Генплан ────────────────────────────────────── */
.reno-genplan-section {
  position: relative;
  overflow: hidden;
}
.reno-genplan-section::after {
  content: ''; position: absolute; right: 0; top: 0; bottom: 0;
  width: 80px; background: linear-gradient(to right, transparent, #fff);
  pointer-events: none; z-index: 2;
}
.reno-genplan-carousel {
  overflow: visible;
  position: relative;
  margin-right: calc(-1 * var(--container-padding));
}
.reno-genplan-grid {
  display: flex;
  gap: 20px;
  transition: transform 0.5s cubic-bezier(0.25, 0.1, 0.25, 1);
}
.reno-genplan-item {
  flex: 0 0 calc(50% - 10px);
  border-radius: var(--card-radius);
  overflow: hidden;
  cursor: pointer;
  transition: transform .2s;
  min-width: 0;
  box-sizing: border-box;
}
.reno-genplan-item:hover {
  transform: scale(1.02);
}
.reno-genplan-item img {
  width: 100%;
  height: auto;
  display: block;
}
.reno-genplan-nav {
  display: flex;
  justify-content: flex-start;
  gap: 8px;
  margin-top: 24px;
}

/* ─── Каталог квартир ────────────────────────────────────── */
.reno-catalog-count {
  font-size: 14px;
  font-weight: 400;
  color: var(--text-light);
  margin-left: 8px;
}
.reno-catalog-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: flex-end;
  padding: 20px;
  background: #f8f9fa;
  border-radius: var(--radius);
  margin-bottom: var(--space-lg);
}
.reno-catalog-filter-group {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.reno-catalog-filter-group label {
  font-size: 12px;
  font-weight: 600;
  color: var(--text-light);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.reno-catalog-filter-group select {
  padding: 8px 12px;
  border: 1px solid #ddd;
  border-radius: 8px;
  font-size: 14px;
  background: #fff;
  min-width: 120px;
}
.reno-catalog-pills {
  display: flex;
  gap: 4px;
}
.reno-catalog-pill {
  padding: 7px 14px;
  border: 1px solid #ddd;
  border-radius: 8px;
  background: #fff;
  font-size: 13px;
  cursor: pointer;
  transition: all .15s;
}
.reno-catalog-pill:hover { border-color: var(--primary); color: var(--primary); }
.reno-catalog-pill.active {
  background: var(--primary);
  color: #fff;
  border-color: var(--primary);
}
.reno-catalog-range-inputs {
  display: flex;
  align-items: center;
  gap: 6px;
}
.reno-catalog-range-inputs input {
  width: 90px;
  padding: 8px 10px;
  border: 1px solid #ddd;
  border-radius: 8px;
  font-size: 14px;
}
.reno-catalog-range-inputs span { color: #aaa; }
.reno-catalog-reset {
  padding: 8px 16px;
  border: 1px solid #e74c3c;
  border-radius: 8px;
  background: transparent;
  color: #e74c3c;
  font-size: 13px;
  cursor: pointer;
  transition: all .15s;
  align-self: flex-end;
}
.reno-catalog-reset:hover { background: #e74c3c; color: #fff; }

/* ─── Сортировка ─── */
.reno-catalog-sort-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
  flex-wrap: wrap;
  gap: 10px;
}
.reno-catalog-found {
  font-size: 14px;
  color: var(--text-light);
}
.reno-catalog-sort-btns {
  display: flex;
  align-items: center;
  gap: 6px;
}
.reno-catalog-sort-label {
  font-size: 13px;
  color: var(--text-light);
  margin-right: 4px;
}
.reno-catalog-sort-btn {
  padding: 6px 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
  font-size: 13px;
  cursor: pointer;
  transition: all .15s;
  color: var(--text-body);
}
.reno-catalog-sort-btn:hover { border-color: var(--primary); color: var(--primary); }
.reno-catalog-sort-btn.active {
  background: var(--primary);
  color: #fff;
  border-color: var(--primary);
}
.reno-catalog-sort-btn i { margin-right: 4px; }

/* ─── Карточки каталога ─── */
.reno-catalog-cards {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.reno-cat-card {
  display: flex;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
  transition: border-color .2s, box-shadow .2s;
}
.reno-cat-card:hover {
  border-color: var(--primary-light);
  box-shadow: none;
}

/* Планировка слева */
.reno-cat-card-plan {
  position: relative;
  width: 180px;
  min-height: 140px;
  flex-shrink: 0;
  background: #faf9f7;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
}
.reno-cat-card-plan img {
  max-width: 100%;
  max-height: 120px;
  object-fit: contain;
}
.reno-cat-card-plan-zoom {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 28px;
  height: 28px;
  background: rgba(0,0,0,.35);
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  opacity: 0;
  transition: opacity .2s;
}
.reno-cat-card:hover .reno-cat-card-plan-zoom { opacity: 1; }
.reno-cat-card-plan-empty {
  width: 48px;
  height: 48px;
  background: var(--border);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: #888888;
}

/* Информация справа */
.reno-cat-card-info {
  flex: 1;
  padding: 16px 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
}
.reno-cat-card-title {
  font-size: 16px;
  font-weight: var(--heading-weight);
  color: var(--text-dark);
}
.reno-cat-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 16px;
  font-size: 13px;
  color: var(--text-light);
}
.reno-cat-card-meta i {
  margin-right: 4px;
  width: 14px;
  text-align: center;
  color: var(--primary-light);
}
.reno-cat-card-price-row {
  display: flex;
  align-items: baseline;
  gap: 16px;
  margin-top: 4px;
}
.reno-cat-card-price {
  font-size: 20px;
  font-weight: 700;
  color: var(--text-dark);
  letter-spacing: -0.3px;
}
.reno-cat-card-mortgage {
  font-size: 13px;
  color: var(--primary-dark);
}
.reno-cat-card-mortgage i {
  margin-right: 4px;
}

.reno-catalog-empty {
  text-align: center;
  padding: 40px 20px;
  color: var(--text-light);
}
.reno-catalog-empty i { font-size: 48px; margin-bottom: 12px; color: #ccc; }
.reno-catalog-empty p { font-size: 16px; margin: 0 0 16px; }
.reno-catalog-empty button {
  padding: 10px 20px;
  border: 1px solid var(--primary);
  border-radius: 8px;
  background: transparent;
  color: var(--primary);
  cursor: pointer;
  font-size: 14px;
}

.reno-catalog-pagination {
  display: flex;
  justify-content: center;
  gap: 4px;
  margin-top: var(--space-lg);
  flex-wrap: wrap;
}
.reno-catalog-pagination button {
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1px solid #ddd;
  border-radius: 50%;
  background: #fff;
  font-size: 14px;
  cursor: pointer;
  transition: all .15s;
}
.reno-catalog-pagination button:hover { border-color: var(--primary); color: var(--primary); }
.reno-catalog-pagination button.active {
  background: var(--primary);
  color: #fff;
  border-color: var(--primary);
}
.reno-catalog-pagination span { display: flex; align-items: center; color: #aaa; }

/* ─── Планировки этажей ──────────────────────────────────── */
.reno-floorplan-tabs {
  display: flex;
  gap: 10px;
  margin-bottom: 0;
  flex-shrink: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  max-width: 100%;
}
.reno-floorplan-tabs::-webkit-scrollbar { display: none; }
.reno-floorplan-tab {
  padding: 10px 18px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: #fff;
  font-size: 14px;
  font-weight: 500;
  color: var(--text-dark);
  cursor: pointer;
  transition: var(--transition);
  white-space: nowrap;
}
.reno-floorplan-tab:hover { border-color: var(--primary); color: var(--primary); }
.reno-floorplan-tab.active {
  background: var(--primary);
  color: #fff;
  border-color: var(--primary);
}
.reno-floorplan-panel { display: none; }
.reno-floorplan-panel.active { display: block; }
.reno-floorplans-header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 0;
}
.reno-floorplans-header .reno-block-heading { margin: 0; min-width: 0; }
.reno-floorplan-carousel {
  overflow: visible;
  position: relative;
  margin-right: calc(-1 * var(--container-padding));
}
.reno-floorplan-track {
  display: flex;
  gap: var(--space-lg);
  transition: transform 0.5s cubic-bezier(0.25, 0.1, 0.25, 1);
}
.reno-floorplan-card {
  flex: 0 0 calc(33.333% - 14px);
  max-width: calc(33.333% - 14px);
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: var(--card-padding);
  gap: 26px;
  background: #F5F1EB;
  border-radius: var(--card-radius);
  cursor: pointer;
  transition: background 0.3s, box-shadow 0.3s, transform 0.3s;
  min-width: 0;
  box-sizing: border-box;
}
.reno-floorplan-card:hover {
  background: #EFEFEF;
  box-shadow: none;
  transform: translateY(-4px);
}
.reno-floorplan-card img {
  width: 100%;
  height: 200px;
  object-fit: contain;
  background: #fff;
  border-radius: 12px;
  padding: 8px;
  margin-bottom: 0;
  box-sizing: border-box;
}
.reno-floorplan-card-label {
  padding: 0;
  font-family: var(--font-heading);
  font-size: 15px;
  font-weight: var(--heading-weight);
  line-height: 1.3;
  color: var(--text);
  text-align: center;
}
.reno-floorplans-nav {
  display: flex;
  justify-content: flex-start;
  gap: 8px;
  margin-top: 24px;
}

/* ─── Легенда карты ──────────────────────────────────────── */
.reno-novo-map-legend {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 12px;
  padding: 12px;
  background: #f8f9fa;
  border-radius: 8px;
}
.reno-novo-map-legend-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
}
.reno-novo-map-legend-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  flex-shrink: 0;
}

/* ─── Responsive: Novostroyki ─────────────────────────────── */
@media (max-width: 1024px) {
  .reno-stats-row { flex-wrap: wrap; }
  .reno-novo-grid { grid-template-columns: repeat(2, 1fr); gap: var(--grid-gap); }
  .reno-novo-info-grid { grid-template-columns: repeat(2, 1fr); }
  .reno-novo-gallery-grid { grid-template-columns: repeat(3, 1fr); }
  .reno-novo-gallery-item:first-child { grid-column: span 3; grid-row: span 1; height: 250px; }
  .reno-apt-grid { grid-template-columns: repeat(3, 1fr); }
  .reno-novo-payment-grid { grid-template-columns: repeat(2, 1fr); }
  .reno-novo-payment-options { grid-template-columns: repeat(2, 1fr); }
  .reno-floorplan-card { flex: 0 0 calc(50% - 10px); }
  .reno-catalog-range-inputs input { width: 80px; }
}
@media (max-width: 768px) {
  .reno-tradein-banner { min-height: 480px; }
  .reno-tradein-content p { font-size: 17px; }
  .reno-tradein-content h2 { font-size: 42px; }
  .reno-tradein-kicker { font-size: 10px; }
  .reno-stats-row { flex-wrap: wrap; }
  .reno-stat-card { flex: 0 0 50%; border-right: none; border-bottom: 1px solid #ddd; padding: 14px 10px; }
  .reno-stat-card:nth-last-child(-n+2) { border-bottom: none; }
  .reno-stat-card:nth-child(odd) { border-right: 1px solid #ddd; }
  .reno-stat-card strong { font-size: 32px; }
  .reno-stat-card span { font-size: 13px; }
  .reno-novo-catalog-title { font-size: 32px; }
  .reno-novo-filter-bar { flex-direction: column; gap: 12px; padding: 16px; margin-top: 16px; }
  .reno-novo-filter-field { width: 100%; }
  .reno-novo-filter-field select,
  .reno-novo-filter-field input { width: 100%; }
  .reno-novo-filter-submit { width: 100%; }
  .reno-novo-filter-submit .reno-btn { width: 100%; }
  .reno-novo-grid { grid-template-columns: 1fr; gap: var(--grid-gap); }
  .reno-novo-card-img { height: auto; aspect-ratio: 4 / 3; }
  .reno-novo-card .reno-card-slider { aspect-ratio: 4 / 3; }
  .reno-novo-single-hero { height: 350px; }
  .reno-novo-single-hero-content h1 { font-size: var(--heading-2); }
  .reno-novo-single-price { font-size: 22px; }
  .reno-novo-info-grid { grid-template-columns: 1fr; }
  .reno-novo-gallery-grid { grid-template-columns: repeat(2, 1fr); }
  .reno-novo-gallery-item:first-child { grid-column: span 2; height: 200px; }
  .reno-novo-gallery-item { height: 140px; }
  .reno-novo-cta-box { padding: 30px 20px; }
  .reno-novo-cta-form { flex-direction: column; }
  .reno-novo-cta-form input,
  .reno-novo-cta-form .reno-btn { width: 100%; }
  .reno-apt-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .reno-apt-tabs { flex-wrap: wrap; border-radius: 8px; }
  .reno-apt-tab { padding: 8px 14px; font-size: 12px; }
  .reno-apt-card-visual { min-height: 130px; }
  .reno-apt-card-btn { padding: 8px; font-size: 12px; }
  .reno-novo-payment-grid { grid-template-columns: 1fr; gap: 14px; }
  .reno-novo-payment-options { grid-template-columns: 1fr; }
  .reno-novo-tabs-list { gap: 0; }
  .reno-novo-tab-link { padding: 12px 14px; font-size: 13px; }
  .reno-novo-apt-table-wrap { overflow-x: auto; }
  .reno-features-grid { grid-template-columns: 1fr; }
  .reno-buildings-grid > .reno-building-card {
    flex: 0 0 80%;
  }
  .reno-genplan-item {
    flex: 0 0 80%;
  }
  .reno-floorplan-card { flex: 0 0 calc(50% - 10px); }
  .reno-explorer { padding: 0; }
  .reno-explorer-header { flex-direction: column; align-items: flex-start; gap: 10px; }
  .reno-explorer-row-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 16px;
    padding: 24px 0;
  }
  .reno-explorer-row-col-type {
    grid-column: 1;
    padding: 0;
  }
  .reno-explorer-row-col {
    padding: 0;
  }
  /* Строка 1: Тип | Кнопка "Смотреть все" */
  .reno-explorer-row-col:nth-child(1) { order: 1; }
  .reno-explorer-row-arrow {
    order: 2;
    width: 100%;
    justify-content: center;
  }
  .reno-explorer-row-arrow {
    order: 2;
    width: 100%;
    justify-content: center;
  }
  /* Сплошная линия-разделитель */
  .reno-explorer-row-head::before {
    content: '';
    order: 3;
    grid-column: 1 / -1;
    height: 1px;
    background: var(--border);
  }
  .reno-explorer-row-col:nth-child(2) { order: 4; }
  .reno-explorer-row-col:nth-child(3) { order: 5; }
  /* Строка 3: Ипотека | Цена */
  .reno-explorer-row-col:nth-child(4) { order: 6; }
  .reno-explorer-row-col:nth-child(5) { order: 7; }
  .reno-explorer-controls { flex-wrap: wrap; }
  .reno-explorer-tabs { gap: 6px; }
  .reno-explorer-tab { padding: 8px 14px; font-size: 13px; }
  .reno-explorer-row { padding: 0 30px; }
  .reno-explorer-apt {
    grid-template-columns: 1fr 1fr;
    gap: 10px 16px;
    padding: 18px;
  }
  .reno-explorer-apt-plan { width: auto; max-width: none; height: 180px; grid-column: 1 / -1; justify-self: stretch; background: transparent; margin-bottom: 8px; padding-bottom: 12px; border-bottom: 1px solid var(--border); border-radius: 0; display: flex; align-items: center; justify-content: center; margin-left: 0; margin-right: 0; }
  .reno-explorer-apt-col {
    padding: 0;
    display: flex;
    flex-direction: column;
  }
  .reno-explorer-apt > :nth-child(2) { grid-column: 1; }
  .reno-explorer-apt > :nth-child(3) { grid-column: 2; }
  .reno-explorer-apt > :nth-child(4) { grid-column: 1; }
  .reno-explorer-apt > :nth-child(5) { grid-column: 2; }
  .reno-explorer-apt-price-row { grid-column: 1 / -1; padding: 0; border-top: 1px solid var(--border); padding-top: 10px; margin-top: 4px; flex-wrap: wrap; gap: 8px; }
  .reno-explorer-apt-price-row .reno-explorer-apt-col { padding: 0; }
  .reno-apt-renovation { font-size: 12px; }
  .reno-explorer-apt-icons { flex-direction: row; align-self: auto; gap: 6px; }
  .reno-explorer-apt-fav, .reno-explorer-apt-compare { width: 36px; height: 36px; }
  .reno-detail-panel { width: 100vw; padding: 24px 20px; }
  .reno-detail-area { font-size: 24px; }
  .reno-detail-price { font-size: 20px; }
  .reno-detail-mortgage-val { font-size: 18px; }
  .reno-compare-grid { grid-template-columns: 100px repeat(var(--cols,2),1fr) !important; }
  .reno-compare-modal-inner { padding: 20px; max-height: 95vh; }
  .reno-compare-modal-inner h3 { font-size: 18px; }
  .reno-compare-grid-plan img { max-height: 100px; }
  .reno-compare-grid-label { font-size: 12px; }
  .reno-compare-grid-val { font-size: 13px; }
  .reno-chess-floor-grid { grid-template-columns: repeat(3, 1fr); gap: 8px; }
  .reno-explorer-tab { min-height: 44px; min-width: 44px; }
  /* Fav tray mobile */
  .reno-fav-tray-inner { flex-wrap: wrap; }
  .reno-fav-tray-previews { order: 1; }
  .reno-fav-tray-info { order: 2; }
  .reno-fav-tray-actions { order: 3; width: 100%; justify-content: stretch; }
  .reno-fav-tray-cta { flex: 1; text-align: center; }
  .reno-fav-tray-compare { flex: 0 0 auto; }
  /* Toast position above tray on mobile */
  #renoToast { bottom: 120px; }
  /* Chess mobile hearts always visible */
  .reno-chess-mcard-fav { opacity: 1; }
}
@media (max-width: 576px) {
  .reno-novo-archive-top { margin-top: 90px; }
  .reno-novo-card-body { padding: 30px; }
  .reno-novo-card-title { font-size: 22px; }
  .reno-novo-card-price { font-size: 16px; }
  .reno-novo-card-address { font-size: 13px; margin-bottom: 12px; }
  .reno-novo-card-details { font-size: 13px; }
  .reno-novo-card-img { height: auto; aspect-ratio: 4 / 3; }
  .reno-novo-card .reno-card-slider { aspect-ratio: 4 / 3; }
  .reno-novo-single-hero { height: 300px; }
  .reno-novo-single-hero-content h1 { font-size: 24px; }
  .reno-novo-cta-box { padding: 24px 16px; }
  .reno-apt-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
}
@media (max-width: 480px) {
  .reno-novo-single-hero { height: 280px; }
  .reno-novo-single-hero-content h1 { font-size: 22px; }
  .reno-novo-gallery-grid { grid-template-columns: 1fr; }
  .reno-novo-gallery-item:first-child { grid-column: span 1; }
  .reno-apt-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .reno-apt-card-visual { min-height: 110px; padding: 10px; }
  .reno-apt-card-visual img { max-height: 110px; }
  .reno-apt-card-body { padding: 12px; }
  .reno-apt-card-price { font-size: 15px; }
  .reno-apt-card-type { font-size: 14px; }
  .reno-floorplan-card { flex: 0 0 80%; }
  .reno-floorplan-tabs { flex-wrap: wrap; }
  .reno-novo-price-card-dark { padding: var(--card-padding); margin-left: 0; }
  .reno-novo-mortgage-card { padding: var(--card-padding); margin-left: 0; }
  .reno-novo-mortgage-card::before { content: ''; position: absolute; top: 0; left: 26px; right: 26px; height: 1px; background: var(--border); }
  .reno-explorer { padding: 0; }
  .reno-row-label { font-size: 13px; }
  .reno-explorer-row { padding: 0 30px; border-radius: var(--card-radius); margin-bottom: 16px; }
  .reno-explorer-row-head { gap: 18px 12px; padding: 24px 0; }
  .reno-explorer-apt { grid-template-columns: 1fr 1fr; gap: 8px 12px; padding: 16px; border-radius: 12px; }
  .reno-explorer-apt-plan { height: 160px; }
  .reno-apt-renovation { font-size: 12px; }
  .reno-explorer-apt-price-row { gap: 6px; }
  .reno-explorer-apt-phone { font-size: 11px; }
  .reno-explorer-apt-price { font-size: 15px; }
  .reno-explorer-apt-ppm { font-size: 12px; }
  .reno-view-btn { padding: 6px 10px; font-size: 12px; }
  .reno-view-btn i { display: none; }
  .reno-explorer-sort { flex-wrap: nowrap; gap: 6px; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; margin: 0 -16px; padding: 0 16px 4px; }
  .reno-explorer-sort-btn { flex-shrink: 0; }
  .reno-chess-cell { min-width: 64px; padding: 6px 4px; }
  .reno-chess-cell-area { font-size: 12px; }
  .reno-chess-cell-price { font-size: 12px; }
  .reno-fav-tray-inner { flex-direction: column; gap: 10px; align-items: stretch; text-align: center; }
  .reno-fav-tray-previews { justify-content: center; }
  .reno-fav-tray-actions { flex-direction: column; }
  .reno-fav-tray-cta { width: 100%; padding: 12px; }
  #renoToast { bottom: 140px; }
  .reno-chess-floor-grid { grid-template-columns: repeat(2, 1fr); gap: 6px; }
  .reno-chess-mcard { padding: 8px; }
  .reno-chess-mcard-area { font-size: 13px; }
  .reno-chess-mcard-price { font-size: 12px; }
  .reno-detail-panel { padding: 20px 16px; }
  .reno-detail-area { font-size: 22px; }
  .reno-detail-price { font-size: 18px; }
  .reno-detail-specs td { padding: 8px 0; font-size: 13px; }
  .reno-compare-grid { grid-template-columns: 80px repeat(var(--cols,2),1fr) !important; gap: 0 !important; }
  .reno-compare-grid-plan img { max-height: 80px; }
  .reno-compare-grid-label { font-size: 12px; padding: 6px 4px; }
  .reno-compare-grid-val { font-size: 12px; padding: 6px 4px; }
  .reno-explorer-tab { padding: 8px 10px; font-size: 12px; }
}

/* ═══════════════════════════════════════════════════════════════
   COMPREHENSIVE RESPONSIVE — all pages & all blocks
   ═══════════════════════════════════════════════════════════════ */

/* --- Tablets landscape / small laptops (≤1024px) --- */
@media (max-width: 1024px) {
  /* New blocks */
  .reno-why-header { grid-template-columns: 1fr; gap: 16px; }
  /* why-heading inherits --heading-2 clamp */
  .reno-why-bento { grid-template-columns: repeat(2, 1fr); grid-template-rows: repeat(5, 220px); }
  .reno-why-bento__img--wide { grid-column: span 2; }
  .reno-why-bento__img--tall { grid-row: span 1; }
  .reno-why-bento__card--span2 { grid-column: span 2; }
  .reno-promo-grid { grid-template-columns: repeat(2, 1fr); }
  .reno-apt-select-form { flex-wrap: wrap; }
  .reno-apt-select-form input,
  .reno-apt-select-form select,
  .reno-apt-select-form .reno-custom-select { flex: 1 1 calc(50% - 8px); min-width: 140px; }
  .reno-apt-select-btn { width: 100%; }
  .reno-seo-links { grid-template-columns: repeat(2, 1fr); gap: var(--grid-gap) 0; }
  .reno-seo-col:nth-child(2) { border-right: none; padding-right: 0; }
  .reno-seo-col:nth-child(3) { padding-left: 0; }
  .reno-map-wrap { height: 400px; }
  .reno-map-section { padding: var(--section-padding) 0; }
  /* Sections padding */
  .reno-contact-section { padding: var(--section-padding) 0; }
}

/* --- Tablets portrait (≤768px) --- */
@media (max-width: 768px) {
  /* New blocks */
  /* why-heading inherits --heading-2 clamp */
  .reno-why-bento { grid-template-columns: 1fr 1fr; grid-template-rows: repeat(5, 200px); }
  .reno-why-bento__num { font-size: 36px; }
  .reno-promo-grid { grid-template-columns: 1fr; gap: 14px; }
  .reno-banks-row { gap: 10px; }
  .reno-bank-item { padding: 12px 18px; font-size: 13px; }
  .reno-apt-select-card { min-height: 520px; padding: 16px; }
  .reno-apt-select-banner {
    width: auto;
    min-height: auto;
    margin: 36px 14px;
    border-radius: var(--card-radius);
    background-size: 100% auto;
    background-position: top center;
    background-repeat: no-repeat;
    background-color: transparent;
    overflow: visible;
  }
  .reno-apt-select-overlay { display: none; }
  .reno-apt-select-inner {
    min-height: auto;
    padding: 0;
    display: flex;
    flex-direction: column;
  }
  .reno-apt-select-inner::before {
    content: '';
    display: block;
    aspect-ratio: 1584/672;
  }
  .reno-apt-select-top {
    padding: var(--card-padding);
    grid-template-columns: 1fr;
    border-radius: var(--card-radius);
    margin: -40px 0 10px;
    position: relative;
    z-index: 3;
  }
  .reno-apt-select-top .reno-apt-select-heading,
  .reno-apt-select-top .reno-apt-select-desc { text-align: left; }
  .reno-apt-select-top .reno-apt-form-v2 { grid-column: 1; grid-row: auto; }
  .reno-apt-select-top .reno-form-consent { grid-column: 1; }
  .reno-apt-select-heading { font-size: var(--heading-2); }
  .reno-apt-select-form { flex-wrap: wrap; }
  .reno-apt-select-form input,
  .reno-apt-select-form select,
  .reno-apt-select-form .reno-custom-select { flex: 1 1 100%; }
  .reno-apt-form-v2 { grid-template-columns: repeat(2, 1fr); }
  .reno-apt-select-form input,
  .reno-apt-select-form select { height: 48px; }
  .reno-apt-select-form .reno-cs-trigger { height: 48px; }
  .reno-apt-select-btn { width: 100%; height: 48px; }
  .reno-apt-field-v2 { flex: 1 1 100%; }
  .reno-seo-links { grid-template-columns: 1fr; gap: var(--grid-gap); }
  .reno-seo-col { padding: 0; border-right: none; border-bottom: 1px solid #e5e2dd; padding-bottom: 24px; }
  .reno-seo-col:last-child { border-bottom: none; padding-bottom: 0; }
  .reno-map-wrap { height: 320px; }
  .reno-map-section__header { flex-direction: column; align-items: flex-start; gap: 12px; }
  .reno-map-section { padding: var(--section-padding) 0; }
  .reno-map-section__card { border-radius: 14px; }
  /* Margin-top for fixed header */
  .reno-archive-hero { margin-top: 54px; }
  .reno-property-single { margin-top: 54px; }
  .reno-novo-archive-top { margin-top: 54px; }
  .reno-about-hero { margin-top: 90px; }
  /* Stats row */
  .reno-stats-section { padding-top: 48px; }
  /* District card */
  .reno-district-name { font-size: 16px; }
  .reno-district-count { font-size: 11px; }
  /* Developers carousel */
  .reno-developers-section { padding: 56px 0; }
  .reno-developers-header { margin-bottom: var(--heading-gap); }
  .reno-dev-card { flex: 0 0 calc(33.333% - 14px); padding: 6px 6px 16px; }
  .reno-dev-card__logo img { max-width: 80px; max-height: 44px; }
  .reno-dev-card__name { font-size: 14px; }
  /* Find home gap */
  .reno-find-home-grid { gap: var(--grid-gap); }
  /* Custom select dropdown */
  .reno-cs-dropdown { max-height: 200px; }
  /* Hero nav — hide on mobile */
  .reno-hero-nav { display: none !important; }
}

/* --- Small phones (≤576px) --- */
@media (max-width: 576px) {
  /* Apt select */
  .reno-apt-select-card { min-height: 500px; padding: 14px; }
  .reno-apt-select-top { padding: var(--card-padding); }
  .reno-apt-select-desc { font-size: 14px; margin-bottom: 12px; }
  .reno-apt-form-v2 { grid-template-columns: 1fr; }
  .reno-apt-select-form input,
  .reno-apt-select-form select { height: 48px; }
  .reno-apt-select-form .reno-cs-trigger { height: 48px; }
  .reno-apt-select-btn { height: 48px; }
  /* Stats */
  .reno-stats-section { padding-top: 36px; }
  .reno-stat-card strong { font-size: 28px; }
  .reno-stat-card span { font-size: 12px; }
  .reno-stat-card { padding: 10px 8px; }
  /* Map */
  .reno-map-wrap { height: 260px; }
  .reno-map-section { padding: var(--section-padding) 0; }
  .reno-map-section__card { border-radius: 12px; }
  .reno-map-controls { top: 12px; right: 12px; }
  .reno-map-ctrl { width: 38px; height: 38px; }
  /* Promo */
  .reno-promo-card { padding: 20px 18px; }
  .reno-promo-card h4 { font-size: 15px; }
  /* Why us */
  /* why-heading inherits --heading-2 clamp */
  .reno-why-bento { grid-template-columns: 1fr; grid-template-rows: auto; }
  .reno-why-bento__img--wide,
  .reno-why-bento__card--span2 { grid-column: span 1; }
  .reno-why-bento__img { min-height: 200px; }
  .reno-why-bento__num { font-size: 32px; }
  /* SEO links */
  .reno-seo-links h4 { font-size: 14px; }
  .reno-seo-links a { font-size: 13px; }
  /* Margin-top for fixed header */
  .reno-archive-hero { margin-top: 54px; }
  .reno-property-single { margin-top: 54px; }
  .reno-novo-archive-top { margin-top: 90px; }
  .reno-about-hero { margin-top: 90px; }
  /* Contact form tighter gaps */
  .reno-form-row { gap: 12px; }
  /* Custom select */
  .reno-cs-dropdown { max-height: 180px; }
  /* Find home */
  .reno-find-home-grid { gap: var(--space-lg); }
  /* District card mobile */
  .reno-district-name { font-size: 15px; }
  .reno-district-count { font-size: 11px; }
  /* Developers carousel */
  .reno-developers-section { padding: 48px 0; }
  .reno-developers-header { margin-bottom: var(--heading-gap); }
  .reno-developers-link { font-size: 13px; }
  .reno-districts-carousel,
  .reno-developers-carousel { margin: 0; margin-right: -14px; padding: 0; }
  .reno-dev-card { flex: 0 0 calc(44% - 10px); padding: var(--card-padding); border-radius: 24px; }
  .reno-dev-card__logo img { max-width: 80px; max-height: 40px; }
  .reno-dev-card__name { font-size: 14px; }
  .reno-dev-card__count { font-size: 12px; }
  .reno-dev-card__initials { font-size: 22px; }
  /* nav margin unified */
  /* arrow size unified in shared carousel block */
  .reno-calc-result-card { padding: var(--card-padding); }
  /* Novo catalog title */
  .reno-novo-catalog-title { font-size: var(--heading-2); }
}

/* --- Extra small phones (≤414px) --- */
@media (max-width: 414px) {
  /* Hero height — match ЖК gallery */
  .reno-hero { height: calc(70vh - 103px); min-height: 480px; }
  .reno-hero-wrap { padding: 0 16px 46px; }
  /* Apt select */
  .reno-apt-select-card { min-height: 480px; padding: 12px; }
  .reno-apt-select-top { padding: var(--card-padding); border-radius: 12px; }
  .reno-apt-select-form { gap: 8px; }
  .reno-apt-select-form input,
  .reno-apt-select-form select { height: 48px; font-size: 13px; }
  .reno-apt-select-form .reno-cs-trigger { height: 48px; font-size: 13px; }
  .reno-apt-select-btn { height: 48px; font-size: 13px; }
  /* Calc */
  .reno-calc-form-card { padding: var(--card-padding); padding-bottom: 36px; }
  .reno-calc-banks-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .reno-calc-bank-card { padding: 14px 10px; border-radius: 12px; }
  .reno-calc-bank-card img { height: 18px; }
  .reno-calc-trust-line { font-size: 12px; }
  /* Promo */
  .reno-promo-icon { width: 40px; height: 40px; }
  .reno-promo-icon i { font-size: 17px; }
  /* Stats */
  .reno-stat-card strong { font-size: 24px; }
  /* Section headers */
  .reno-section-header h1, .reno-section-header h2 { font-size: var(--heading-2); }
  /* Search */
  .reno-search-trigger span { font-size: 18px; }
  .reno-search-trigger { padding: 14px 16px; }
  /* Novo catalog */
  .reno-novo-catalog-title { font-size: 24px; }
  /* Services row */
  .reno-services-row-title { font-size: 22px; }
  /* Find section — fluid clamp handles sizing */
  .reno-find-field select { font-size: 14px; }
  .reno-find-footer { flex-direction: column; align-items: flex-start; gap: 6px; }
}

/* --- Very small phones (≤375px) --- */
@media (max-width: 375px) {
  /* Header: top bar hidden on mobile, only nav 54px */
  .reno-archive-hero { margin-top: 54px; }
  .reno-property-single { margin-top: 54px; }
  .reno-novo-archive-top { margin-top: 84px; }
  .reno-about-hero { margin-top: 84px; height: 250px; }
  /* Apt select */
  .reno-apt-select-card { min-height: 460px; padding: 10px; }
  .reno-apt-select-top { padding: var(--card-padding); border-radius: 10px; }
  .reno-apt-select-form { gap: 8px; }
  /* Calc */
  .reno-calc-form-card { padding: var(--card-padding); padding-bottom: 32px; }
  .reno-calc-result-card { padding: var(--card-padding); }
  .reno-calc-title { font-size: 24px; }
  .reno-calc-payment strong { font-size: 42px; }
  /* Stats */
  .reno-stat-card strong { font-size: 22px; }
  .reno-stat-card { padding: 8px 6px; }
  /* Map */
  .reno-map-wrap { height: 220px; }
  /* Calc */
  .reno-calc-banks-grid { grid-template-columns: repeat(2, 1fr); gap: 6px; }
  .reno-calc-bank-card { padding: 12px 8px; border-radius: 10px; }
  .reno-calc-bank-card img { height: 16px; }
  /* Why us */
  .reno-why-bento__img--tall { display: none; }
  /* SEO */
  .reno-seo-links { gap: var(--space-lg); }
  /* Contact — uses fluid --section-padding */
}

/* ========================================================================
   MOBILE POLISH — адаптивная полировка 768 → 576 → 414 → 375
   ======================================================================== */

body { overflow-x: hidden; }

/* --- 768px ------------------------------------------------------------ */
@media (max-width: 768px) {
  /* Hero — main & page hero unified */
  .reno-hero-content h1 { font-size: 42px; letter-spacing: var(--heading-spacing); }
  .reno-hero-kicker { font-size: 10px; letter-spacing: 2px; }
  .reno-page-hero h1 { font-size: 42px !important; letter-spacing: var(--heading-spacing) !important; }
  .reno-page-hero__kicker { font-size: 10px !important; }
  .reno-page-hero__desc { font-size: 17px !important; line-height: 1.5 !important; }
  /* Expertise */
  .reno-exp__container { padding: 0 16px; }
  .reno-exp__title { font-size: 32px; }
  .reno-exp__grid { grid-template-columns: 1fr; }
  .reno-exp__features { gap: var(--grid-gap); }
  /* Tradein — match hero: line at 16px, text at 46px from edge */
  .reno-tradein-content { padding: 0 16px 46px 46px; }
  .reno-tradein-content::before { left: 16px; top: 0; bottom: 0; }
  .reno-tradein-content h2 { font-size: 34px; }
  .reno-tradein-content p { font-size: 15px; }
  .reno-tradein-kicker { font-size: 9px; }
  /* Blog */
  .reno-blog-card-body h4 { font-size: 17px; }
  /* About agency — уменьшаем гигантский заголовок */
  /* agency title inherits --heading-2 clamp */
  /* Uniform section spacing */
  .reno-exp { padding: 40px 0; }
}

/* --- 576px ------------------------------------------------------------ */
@media (max-width: 576px) {
  /* Hero — main & page hero unified */
  .reno-hero-content h1 { font-size: 34px; line-height: 1.22; }
  .reno-hero-content > p { font-size: 15px; line-height: 1.6; font-weight: 400; }
  .reno-hero-kicker { font-size: 9px; letter-spacing: 1.5px; }
  .reno-page-hero h1 { font-size: 34px !important; line-height: 1.22 !important; }
  .reno-page-hero__desc { font-size: 15px !important; line-height: 1.6 !important; }
  .reno-page-hero__kicker { font-size: 9px !important; }
  /* About agency */
  /* agency title inherits --heading-2 clamp */
  .reno-about-agency__metric-value { font-size: 28px; }
  .reno-about-agency__metrics { gap: 0; }
  .reno-about-agency { padding: var(--card-padding) 0; }
  /* Expertise */
  .reno-exp__title { font-size: 26px; }
  .reno-exp__desc { font-size: 14px; }
  .reno-exp__icon { width: 42px; height: 42px; border-radius: 12px; }
  .reno-exp { padding: 32px 0; }
  /* Tradein */
  .reno-tradein-banner { min-height: 480px; }
  .reno-tradein-content h2 { font-size: 32px; }
  .reno-tradein-content p { font-size: 15px; }
  .reno-tradein-kicker { font-size: 9px; }
  .reno-tradein-btn { height: 44px; font-size: 14px; }
  /* Novo cards */
  .reno-novo-card-img { height: auto; aspect-ratio: 4 / 3; }
  .reno-novo-card-body { padding: 30px; }
  .reno-novo-card .reno-card-badges-row { top: 26px; right: 26px; }
  .reno-novo-card .reno-card-badge-white { font-size: 12px; padding: 4px 10px; }
  .reno-novo-card .reno-badge-icon { width: 14px; height: 14px; }
  .reno-novo-cta-wrap { margin-top: 16px; }
  .reno-section-novo-home { padding-bottom: 48px; }
  /* Map */
  .reno-map-title-badge { display: none; }
  .reno-map-wrap { height: 360px; }
  .reno-map-section--flush { padding: 0; }
  .reno-map-section__card { border-radius: 0; }
  /* Section header */
  .reno-section-header--row { flex-wrap: wrap; }
  .reno-btn-see-all { width: auto; height: auto; padding: 0; font-size: 18px; border: none; border-radius: 0; color: var(--primary); }
  .reno-btn-see-all:hover { background: transparent; color: var(--primary-dark); }
  .reno-btn-see-all__text { display: none; }
  /* Testimonials */
  .reno-testimonial-card > p { font-size: 15px; }
  .reno-testimonials-carousel { padding-right: 24px; }
  /* arrow size unified in shared carousel block */
  /* Team */
  .reno-team-name { font-size: 14px; }
  /* Blog */
  .reno-blog-card-img { height: 180px; }
  .reno-blog-card-body h4 { font-size: 16px; }
  .reno-blog-card-body p { font-size: 13px; }
  /* Apt form */
  .reno-apt-select-heading { font-size: var(--heading-2); }

  /* Footer */
  .reno-footer-grid { gap: var(--space-lg); }
  /* Buttons full-width */
  .reno-btn,
  .reno-btn-gold,
  .reno-btn-outline,
  .reno-btn-outline-gold { max-width: 100%; }
  /* Why us */
  /* why-heading inherits --heading-2 clamp */
  .reno-why-bento__card { padding: 30px; }
  /* Uniform section spacing */
  .reno-testimonials-section,
  .reno-team-section,
  .reno-blog-section { padding: 32px 0; }
}

/* --- 414px ------------------------------------------------------------ */
@media (max-width: 414px) {
  /* Hero */
  .reno-hero-content h1 { font-size: 30px; }
  /* About agency */
  /* agency title inherits --heading-2 clamp */
  .reno-about-agency__metric-value { font-size: 24px; }
  /* Expertise */
  .reno-exp__title { font-size: 24px; }
  /* Tradein */
  /* Novo */
  .reno-novo-card-img { height: auto; aspect-ratio: 4 / 3; }
  .reno-novo-card-title { font-size: 20px; }
  /* Testimonials */
  .reno-testimonial-card > p { font-size: 14px; }
  /* Apt form */
  .reno-apt-select-heading { font-size: var(--heading-2); }
  /* Why */
  /* why-heading inherits --heading-2 clamp */
}

/* --- 375px ------------------------------------------------------------ */
@media (max-width: 375px) {
  /* Hero — main & page hero unified */
  .reno-hero-content h1 { font-size: 32px; }
  .reno-hero-content > p { font-size: 15px; line-height: 1.6; font-weight: 400; }
  .reno-hero-wrap { padding: 0 16px 46px; }
  .reno-page-hero h1 { font-size: 32px !important; }
  .reno-page-hero__desc { font-size: 15px !important; line-height: 1.6 !important; }
  .reno-page-hero__kicker { font-size: 9px !important; }
  /* Find */
  /* find-title inherits --heading-2 clamp */
  /* About agency */
  /* agency title inherits --heading-2 clamp */
  .reno-about-agency__metric-value { font-size: 22px; }
  .reno-about-agency__metric-label { font-size: 12px; }
  .reno-about-agency { padding: 24px 0; }
  /* Expertise */
  .reno-exp__title { font-size: 22px; }
  .reno-exp__ftitle { font-size: 15px; }
  .reno-exp { padding: var(--card-padding) 0; }
  /* Tradein */
  .reno-tradein-banner { min-height: 420px; }
  .reno-tradein-content h2 { font-size: 32px; }
  .reno-tradein-content p { font-size: 15px; }
  /* Novo */
  .reno-novo-card-img { height: auto; aspect-ratio: 4 / 3; }
  .reno-novo-card-title { font-size: 18px; }
  .reno-novo-card-body { padding: 30px; }
  .reno-novo-card .reno-card-badges-row { top: 26px; right: 26px; }
  /* Team */
  .reno-team-img { height: 240px; }
  .reno-team-grid { grid-template-columns: repeat(2, 1fr); gap: var(--grid-gap); }
  .reno-team-name { font-size: 13px; }
  /* Blog */
  .reno-blog-card-img { height: 160px; }
  /* Why */
  /* why-heading inherits --heading-2 clamp */
  .reno-why-bento__card { padding: 30px; }
  /* Testimonials */
  /* nav margin unified */
  /* Section spacing — uses fluid --section-padding */
}
/* ═══ SERVICE PAGES — стиль как на главной и ЖК (без теней!) ═══ */

/* Service page hero — как ЖК hero-bar */
/* ─── Service Pages: Premium Redesign ─────────────────── */

/* Hero */
.reno-svc-hero {
  background: #F5F1EB;
  padding-bottom: 75px;
}
.reno-svc-hero .reno-breadcrumb {
  padding: 16px 0 56px;
  font-size: 13px;
  color: var(--text-light);
}
.reno-svc-hero .reno-breadcrumb a {
  color: var(--primary, #c5a47e);
  text-decoration: none;
}
.reno-svc-hero .reno-breadcrumb a:hover { text-decoration: underline; }
.reno-svc-hero__body {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 64px;
  align-items: end;
}
.reno-svc-hero__kicker {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: var(--primary, #c5a47e);
  margin-bottom: 16px;
  padding: 4px 14px;
  border: 2px solid var(--primary, #c5a47e);
}
.reno-svc-hero-title {
  font-size: var(--heading-2);
  font-weight: var(--heading-weight);
  line-height: 1.22;
  letter-spacing: var(--heading-spacing);
  color: var(--text-dark);
  margin: 0 0 14px;
}
.reno-svc-hero-desc {
  font-size: 16px;
  color: #3D3D3D;
  line-height: 1.55;
  max-width: 560px;
  margin: 0;
}
.reno-svc-hero__metrics {
  display: flex;
  gap: 0;
}
.reno-svc-hero__metric {
  padding: 0 28px;
  border-left: 1px solid #ddd;
  text-align: center;
}
.reno-svc-hero__metric:first-child { border-left: none; padding-left: 0; }
.reno-svc-hero__metric:last-child { padding-right: 0; }
.reno-svc-hero__metric-val {
  display: block;
  font-size: 28px;
  font-weight: var(--heading-weight);
  letter-spacing: var(--heading-spacing);
  color: var(--primary, #c5a47e);
  line-height: 1.22;
  margin-bottom: 6px;
  white-space: nowrap;
}
.reno-svc-hero__metric-label {
  display: block;
  font-size: 12px;
  color: var(--text-light);
  white-space: nowrap;
}

/* Steps grid — premium */
.reno-svc-steps-section { background: #fff; }
.reno-svc-steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-lg);
}
.reno-svc-step {
  position: relative;
  background: var(--bg-light, #EEF0F3);
  border-radius: var(--card-radius);
  padding: 30px;
  overflow: hidden;
}
.reno-svc-step__num {
  position: absolute;
  top: -8px;
  right: 16px;
  font-size: 72px;
  font-weight: 700;
  line-height: 1;
  color: var(--primary, #c5a47e);
  opacity: 0.1;
  pointer-events: none;
  user-select: none;
}
.reno-svc-step__icon {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  color: var(--primary, #c5a47e);
  margin-bottom: 16px;
}
.reno-svc-step h3 {
  font-size: 16px;
  font-weight: var(--heading-weight);
  margin: 0 0 8px;
  color: var(--text-dark);
  letter-spacing: -0.01em;
}
.reno-svc-step p {
  font-size: 14px;
  color: #3D3D3D;
  line-height: 1.55;
  margin: 0;
}

/* Feature cards — premium */
.reno-svc-features {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-lg);
}
.reno-svc-features--5 { grid-template-columns: repeat(5, 1fr); }
.reno-svc-feature {
  background: #fff;
  border-radius: var(--card-radius);
  padding: var(--card-padding);
  border: 1px solid rgba(0,0,0,0.06);
  text-align: left;
  transition: var(--transition);
}
.reno-svc-feature:hover {
  border-color: var(--primary, #c5a47e);
  transform: translateY(-2px);
}
.reno-svc-feature__icon {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background: var(--bg-light, #EEF0F3);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  color: var(--primary, #c5a47e);
  margin-bottom: 16px;
}
.reno-svc-feature h3 {
  font-size: 16px;
  font-weight: var(--heading-weight);
  margin: 0 0 8px;
  color: var(--text-dark);
  letter-spacing: -0.01em;
}
.reno-svc-feature p {
  font-size: 14px;
  color: #3D3D3D;
  line-height: 1.55;
  margin: 0;
}

/* Checklist — premium card */
.reno-svc-checklist-card {
  background: #fff;
  border-radius: var(--card-radius);
  padding: 40px;
  border: 1px solid rgba(0,0,0,0.06);
}
.reno-svc-checklist {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px 48px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.reno-svc-checklist__item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 15px;
  color: var(--text-dark);
  line-height: 1.5;
  padding: 10px 0;
  border-bottom: 1px solid rgba(0,0,0,0.05);
}
.reno-svc-checklist__icon {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: rgba(197,164,126,0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 11px;
  color: var(--primary, #c5a47e);
  margin-top: 1px;
}

/* Pricing banner — full-width premium */
.reno-svc-pricing-section { padding-top: 0; }
.reno-svc-pricing-banner {
  background: var(--text-dark, #222);
  color: #fff;
  border-radius: var(--card-radius);
  padding: 48px 56px;
  display: flex;
  align-items: center;
  gap: 56px;
}
.reno-svc-pricing-banner__kicker {
  display: block;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: rgba(255,255,255,0.4);
  margin-bottom: 12px;
}
.reno-svc-pricing-banner__amount {
  font-size: 56px;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--primary, #c5a47e);
  line-height: 1;
  margin-bottom: 6px;
}
.reno-svc-pricing-banner__label {
  font-size: 16px;
  color: rgba(255,255,255,0.6);
}
.reno-svc-pricing-banner__right {
  flex: 1;
  border-left: 1px solid rgba(255,255,255,0.12);
  padding-left: 56px;
}
.reno-svc-pricing-banner__right p {
  font-size: 15px;
  color: rgba(255,255,255,0.55);
  line-height: 1.6;
  margin: 0;
}

.reno-svc-pricing-banner__right .reno-btn {
  margin-top: 24px;
}

/* Multi-field form */
.reno-svc-form-wrap {
  background: #fff;
  border-radius: var(--card-radius);
  padding: 40px;
  max-width: 700px;
  margin: 0 auto;
  border: 1px solid rgba(0,0,0,0.07);
}
.reno-svc-form-wrap h3 {
  font-size: 20px;
  font-weight: var(--heading-weight);
  text-align: center;
  margin-bottom: 24px;
  color: var(--text-dark);
}
.reno-svc-form-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}
.reno-svc-form-grid .reno-svc-form-full { grid-column: 1 / -1; }
.reno-svc-form-grid input,
.reno-svc-form-grid select,
.reno-svc-form-grid textarea {
  width: 100%;
  padding: 14px 16px;
  border: 1px solid #ddd;
  border-radius: 10px;
  font-size: 15px;
  font-family: inherit;
  background: var(--bg-light, #EEF0F3);
  color: var(--text-dark);
  transition: border-color 0.2s;
}
.reno-svc-form-grid input:focus,
.reno-svc-form-grid select:focus,
.reno-svc-form-grid textarea:focus {
  border-color: var(--primary, #c5a47e);
  outline: none;
}
.reno-svc-form-grid textarea { resize: vertical; min-height: 80px; }

/* Other services — premium */
.reno-svc-other-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-lg);
}
.reno-svc-other-card {
  display: flex;
  align-items: center;
  gap: var(--space-lg);
  padding: var(--card-padding);
  background: #fff;
  border-radius: var(--card-radius);
  text-decoration: none;
  color: var(--text-dark);
  border: 1px solid rgba(0,0,0,0.06);
  transition: var(--transition);
}
.reno-svc-other-card:hover {
  transform: translateY(-2px);
  border-color: var(--primary, #c5a47e);
}
.reno-svc-other-card__icon {
  width: 52px;
  height: 52px;
  border-radius: 12px;
  background: var(--bg-light, #EEF0F3);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: var(--primary, #c5a47e);
  flex-shrink: 0;
}
.reno-svc-other-card__body { flex: 1; }
.reno-svc-other-card h4 { font-size: 17px; font-weight: var(--heading-weight); margin-bottom: 4px; letter-spacing: -0.01em; }
.reno-svc-other-card p { font-size: 14px; color: #3D3D3D; margin: 0; line-height: 1.5; }
.reno-svc-other-card__arrow {
  font-size: 14px;
  color: #ccc;
  transition: all 0.3s;
  flex-shrink: 0;
}
.reno-svc-other-card:hover .reno-svc-other-card__arrow { color: var(--primary, #c5a47e); transform: translateX(3px); }

/* Metric values */
.reno-svc-metric-value {
  font-size: 32px;
  font-weight: var(--heading-weight);
  color: var(--primary, #c5a47e);
  display: block;
  margin-bottom: 4px;
  letter-spacing: -0.02em;
}
.reno-svc-metric-label {
  font-size: 13px;
  color: var(--text-light);
  display: block;
}

/* About page — service cards */
.reno-about-svc-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-lg);
}
.reno-about-svc-card {
  display: block;
  padding: var(--card-padding);
  background: #fff;
  border-radius: var(--card-radius);
  text-align: left;
  text-decoration: none;
  color: var(--text-dark);
  border: 1px solid rgba(0,0,0,0.06);
  transition: var(--transition);
}
.reno-about-svc-card:hover { transform: translateY(-2px); border-color: var(--primary, #c5a47e); }
.reno-about-svc-card .reno-svc-card-icon {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background: var(--bg-light, #EEF0F3);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  color: var(--primary, #c5a47e);
  margin: 0 0 16px;
}
.reno-about-svc-card h4 { font-size: 17px; font-weight: var(--heading-weight); margin-bottom: 6px; }
.reno-about-svc-card p { font-size: 14px; color: #3D3D3D; line-height: 1.5; margin: 0; }

/* ─── Service pages responsive ─────────────────────────── */
@media (max-width: 1024px) {
  .reno-svc-steps { grid-template-columns: repeat(3, 1fr); }
  .reno-svc-features { grid-template-columns: repeat(2, 1fr); }
  .reno-svc-features--5 { grid-template-columns: repeat(3, 1fr); }
  .reno-svc-hero-title { font-size: 36px; }
  .reno-svc-hero__body { grid-template-columns: 1fr; gap: 32px; }
  .reno-svc-hero__metrics { justify-content: flex-start; }
  .reno-svc-pricing-banner { flex-direction: column; gap: 32px; text-align: center; padding: 40px 32px; }
  .reno-svc-pricing-banner__right { border-left: none; padding-left: 0; border-top: 1px solid rgba(255,255,255,0.1); padding-top: 24px; }
}
@media (max-width: 768px) {
  .reno-svc-steps { grid-template-columns: 1fr; }
  .reno-svc-features { grid-template-columns: 1fr; }
  .reno-svc-features--5 { grid-template-columns: 1fr; }
  .reno-svc-checklist { grid-template-columns: 1fr; }
  .reno-svc-checklist-card { padding: 30px; }
  .reno-svc-pricing-banner { padding: 32px 24px; }
  .reno-svc-pricing-banner__amount { font-size: 40px; }
  .reno-svc-other-grid { grid-template-columns: 1fr; }
  .reno-svc-form-wrap { padding: 24px 16px; }
  .reno-svc-form-grid { grid-template-columns: 1fr; }
  .reno-about-svc-grid { grid-template-columns: 1fr; }
  .reno-svc-hero { padding-bottom: 40px; }
  .reno-svc-hero .reno-breadcrumb { padding: 16px 0 32px; }
  .reno-svc-hero-title { font-size: var(--heading-2); }
  .reno-svc-hero__metrics { flex-direction: column; gap: 16px; }
  .reno-svc-hero__metric { border-left: none; padding: 0; border-bottom: 1px solid #e0dcd7; padding-bottom: 12px; text-align: left; }
  .reno-svc-hero__metric:last-child { border-bottom: none; padding-bottom: 0; }
  .reno-svc-step__num { font-size: 56px; }
}

/* ═══════════════════════════════════════════════════════════════
   APARTMENT SINGLE PAGE
   ═══════════════════════════════════════════════════════════════ */
.reno-apartment-hero-info {
  padding: 24px 0 32px;
}
.reno-apartment-price-row {
  display: flex;
  gap: 32px;
  align-items: flex-start;
  margin-top: var(--space-lg);
}
.reno-apartment-mortgage-block {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.reno-apartment-mortgage-link {
  font-size: 13px;
  color: var(--primary);
  text-decoration: none;
}
.reno-apartment-mortgage-link:hover { text-decoration: underline; }
.reno-apartment-title {
  font-family: var(--font-heading);
  font-size: 36px;
  font-weight: var(--heading-weight);
  line-height: 1.22;
  letter-spacing: var(--heading-spacing);
  color: var(--text-dark);
  margin: 0 0 8px;
}
.reno-apartment-subtitle {
  font-size: 16px;
  color: var(--text-muted);
  margin: 4px 0 0;
}
.reno-apartment-price-block {
  background: #EEF0F3;
  border-radius: var(--card-radius);
  padding: 24px;
}
.reno-apartment-price-main {
  font-family: var(--font-heading);
  font-size: 32px;
  font-weight: 700;
  color: var(--text-dark);
  letter-spacing: -0.02em;
}
.reno-apartment-price-ppm {
  font-size: 15px;
  color: var(--text-muted);
  margin-top: 4px;
}
.reno-apartment-mortgage {
  font-size: 15px;
  color: var(--primary);
  margin-top: 8px;
}
.reno-apartment-specs {
  display: flex;
  flex-direction: column;
  margin-top: var(--space-lg);
}
.reno-apartment-spec {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 14px 0;
  border-bottom: 1px solid var(--border);
}
.reno-apartment-spec__label {
  font-size: 15px;
  color: var(--text-muted);
}
.reno-apartment-spec__value {
  font-size: 15px;
  font-weight: 600;
  color: var(--text-dark);
  text-align: right;
}
.reno-apartment-floorplan-section {
  padding: 0;
}
.reno-apartment-floorplan {
  margin-top: var(--space-lg);
  background: #faf9f7;
  border-radius: var(--card-radius);
  padding: 24px;
  text-align: center;
}
.reno-apartment-floorplan img {
  max-width: 100%;
  max-height: 500px;
  object-fit: contain;
}
.reno-apartment-similar {
  padding: 48px 0;
}
.reno-apartment-similar-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 24px;
}
.reno-apartment-similar-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--card-radius);
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  transition: box-shadow 0.2s;
}
.reno-apartment-similar-card:hover {
  box-shadow: none;
}
.reno-apartment-similar-card__plan {
  background: #faf9f7;
  padding: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 160px;
}
.reno-apartment-similar-card__plan img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.reno-apartment-similar-card__info {
  padding: 16px;
}
.reno-apartment-similar-card__type {
  font-size: 16px;
  font-weight: 600;
  color: var(--text-dark);
}
.reno-apartment-similar-card__area {
  font-size: 14px;
  color: var(--text-muted);
  margin-top: 4px;
}
.reno-apartment-similar-card__price {
  font-size: 16px;
  font-weight: 700;
  color: var(--primary);
  margin-top: 8px;
}

@media (max-width: 768px) {
  .reno-apartment-hero {
    grid-template-columns: 1fr;
    gap: var(--grid-gap);
    padding: 20px 0 32px;
  }
  .reno-apartment-hero__plan { min-height: 240px; padding: 16px; }
  .reno-apartment-title { font-size: 26px; }
  .reno-apartment-price-main { font-size: 26px; }
  .reno-apartment-similar-grid { grid-template-columns: 1fr; gap: 12px; }
  .reno-apartment-similar-card { flex-direction: row; }
  .reno-apartment-similar-card__plan { width: 120px; height: 120px; flex-shrink: 0; border-radius: 0; }
  .reno-apartment-similar-card__info { padding: 14px; display: flex; flex-direction: column; justify-content: center; }
  .reno-apartment-similar { padding: 32px 0; }
  .reno-apartment-floorplan-section { padding: 0; }
}
@media (max-width: 480px) {
  .reno-apartment-title { font-size: 22px; }
  .reno-apartment-price-main { font-size: 22px; }
  .reno-apartment-similar-card__plan { width: 100px; height: 100px; }
}

/* О жилом комплексе — блок на странице квартиры */
.reno-apartment-novo-card {
  padding: 0;
}
.reno-apartment-novo-info {
  margin-top: var(--space-lg);
}
.reno-apartment-novo-info__row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 12px 0;
  border-bottom: 1px solid var(--border);
  font-size: 15px;
}
.reno-apartment-novo-info__row span {
  color: var(--text-muted);
}
.reno-apartment-novo-info__row strong {
  color: var(--text-dark);
  text-align: right;
}
.reno-apartment-novo-info__row a {
  color: var(--primary);
  text-decoration: none;
}
.reno-apartment-novo-link {
  display: inline-block;
  margin-top: 16px;
  color: var(--primary);
  font-weight: 500;
  font-size: 15px;
  text-decoration: none;
}
.reno-apartment-novo-link:hover { text-decoration: underline; }

/* Ритм между layout и full-width секциями на странице квартиры */
.reno-apartment-single .reno-map-section { margin-top: 32px; }
.reno-apartment-single .reno-calc-section { margin-top: 0; border-top: none; }

/* Sticky CTA Mobile */
.reno-sticky-cta {
  display: none;
}
@media (max-width: 768px) {
  .reno-sticky-cta {
    display: flex;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    background: #fff;
    border-top: 1px solid var(--border);
    padding: 10px 16px;
    gap: 10px;
    box-shadow: none;
  }
  .reno-sticky-cta__phone {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 12px 16px;
    border-radius: 12px;
    border: 1px solid var(--border);
    background: #fff;
    color: var(--text-dark);
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    white-space: nowrap;
  }
  .reno-sticky-cta__btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px 16px;
    border-radius: 12px;
    background: var(--primary);
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
  }
  /* Отступ от sticky CTA для контента */
  .reno-apartment-single { padding-bottom: 70px; }
}

/* ─── Extracted inline styles ─────────────────────────────── */

/* Badge position overlay (single-novostroyka gallery) */
.reno-novo-badge-position {
  position: absolute;
  top: 16px;
  left: 16px;
}

/* Map address with top spacing */
.reno-novo-map-address--spaced {
  margin-top: 16px;
}

/* Responsive video embed (16:9) */
.reno-video-responsive {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  border-radius: var(--card-radius);
}
.reno-video-responsive iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* "All novostroyki" link wrapper */
.reno-novo-all-link-wrap {
  text-align: center;
  margin-top: 0;
}

/* Inline-flex variant of find-btn */
.reno-find-btn--inline {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  width: auto;
  padding: 0 32px;
}

/* Breadcrumb padding unified */

/* ─── Legal: consent checkbox ────────────────────────────── */
.reno-form-consent-label {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 12px;
  color: #888;
  line-height: 1.4;
  cursor: pointer;
  margin-top: 8px;
}
.reno-form-consent-label a {
  color: var(--primary);
  text-decoration: underline;
}
.reno-form-consent-label a:hover {
  color: var(--primary-dark, #b08a50);
}
.reno-consent-checkbox {
  margin-top: 2px;
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  accent-color: var(--primary);
}
.reno-cta-modal-consent.reno-form-consent-label {
  color: #aaa;
  margin-top: 12px;
}

/* Fix consent in CTA modal — always under button, left-aligned */
.reno-cta-modal-form .reno-form-consent-label {
  text-align: left;
  justify-content: flex-start;
}

/* Consent checkboxes: always single column, visible checkbox */
.reno-cta-modal-form .reno-form-consent-label,
.reno-form-consent-label {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  width: 100%;
  grid-column: 1 / -1;
}
.reno-consent-checkbox {
  -webkit-appearance: checkbox !important;
  -moz-appearance: checkbox !important;
  appearance: checkbox !important;
  width: 16px !important;
  height: 16px !important;
  min-width: 16px;
  margin: 0 !important;
  cursor: pointer;
  opacity: 1 !important;
}

/* Fix consent text alignment */
.reno-form-consent-label span {
  text-align: left !important;
}
.reno-cta-modal-consent.reno-form-consent-label {
  text-align: left !important;
  justify-content: flex-start !important;
}

/* Force consent labels to span full width and align left */
.reno-cta-modal-fields + .reno-cta-modal-submit + .reno-form-consent-label,
form .reno-form-consent-label {
  grid-column: 1 / -1 !important;
  justify-self: start !important;
  text-align: left !important;
  margin-left: 0 !important;
}
.reno-form-consent-label + .reno-form-consent-label {
  margin-top: 0 !important;
}

/* Consent in grid forms — full width, left aligned */
.reno-apt-form-v2 .reno-form-consent-label {
  grid-column: 1 / -1;
  justify-self: start;
}
.reno-cta-modal-form .reno-form-consent-label {
  grid-column: 1 / -1;
  justify-self: start;
}

/* FINAL FIX: consent labels always full row */
.reno-apt-form-v2 > .reno-form-consent-label,
.reno-apt-select-top .reno-form-consent-label,
.reno-cta-modal-form > .reno-form-consent-label {
  grid-column: 1 / -1 !important;
  justify-self: start !important;
  text-align: left !important;
  margin: 0 !important;
}

/* Fix: consent label gap between checkbox and text */
.reno-form-consent-label {
  gap: 8px !important;
  justify-content: flex-start !important;
}
.reno-form-consent-label span {
  flex: 1;
  text-align: left !important;
}

/* Consent: compact layout, checkbox next to text */
.reno-apt-form-v2 > .reno-form-consent-label:first-of-type {
  margin-top: 8px !important;
}
.reno-form-consent-label {
  display: flex !important;
  align-items: flex-start !important;
  gap: 6px !important;
  padding: 0 !important;
  margin-top: 4px !important;
}
.reno-consent-checkbox {
  width: 14px !important;
  height: 14px !important;
  min-width: 14px !important;
  margin-top: 1px !important;
  flex-shrink: 0 !important;
}
.reno-form-consent-label span {
  font-size: 12px !important;
  line-height: 1.3 !important;
}

/* Fix: checkbox must not stretch like form inputs */
.reno-consent-checkbox {
  flex: 0 0 auto !important;
  width: 14px !important;
  min-width: 14px !important;
  max-width: 14px !important;
}

/* Modal scroll on mobile */
.reno-modal--cta {
  max-height: 90vh;
  overflow-y: auto;
}
