/* ==========================================================================
   Pegas Realty — main stylesheet
   Structure: tokens -> reset -> layout -> components -> pages -> media
   ========================================================================== */

:root{
  --ink:            #1f2937;
  --ink-soft:       #45505E;
  --ink-mute:       #7C8798;
  --line:           #E3E7ED;
  --line-soft:      #EDF0F4;
  --bg:             #f9fafb;
  --bg-muted:       #f3f4f6;
  --bg-navy:        #102340;

  --brand:          #1f2937;
  --brand-deep:     #0C1E33;
  --brand-tint:     #E9EEF3;

  --accent:         #C79A4B;
  --accent-deep:    #A87F38;
  --accent-tint:    #FBF3E3;

  --teal:           #3b82f6;
  --teal-tint:      #E6F3F0;

  --danger:         #C0503E;

  --radius-s:       6px;
  --radius-m:       12px;
  --radius-l:       20px;

  --shadow-s:       0 1px 2px rgba(16,27,45,.06), 0 1px 1px rgba(16,27,45,.04);
  --shadow-m:       0 8px 24px rgba(16,27,45,.08);
  --shadow-l:       0 20px 48px rgba(16,27,45,.14);

  --container:      1536px;
  --gap:            24px;

  --font-display:   "Manrope", "Segoe UI", sans-serif;
  --font-body:      "Inter", "Segoe UI", sans-serif;
  --primary-color: #3b82f6;
  --color-slate-900: lab(7.78673% 1.82345 -15.0537);
  --foreground: #000000;
  --spacing: 4px;
  --bg-white: #FFF;
  --bg-fee: #00a63e
}

/* ---------- Reset ---------- */
*, *::before, *::after{ box-sizing: border-box; }
html{ scroll-behavior: smooth; height: 100%; }

body, h1, h2, h3, h4, p, ul, ol, figure{ margin: 0; }
ul, ol{ padding: 0; list-style: none; }
.container img{ max-width: 100%; display: block; }
a{ color: inherit; text-decoration: none; }
button{ font: inherit; color: inherit; background: none; border: none; cursor: pointer; }
input, select, textarea{ font: inherit; color: inherit; }
svg{ display: block; }


body{
   font-family: var(--font-body);
  color: var(--ink-soft);
  background: var(--bg);
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;

  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
}

h1, h2, h3, h4{
  font-family: var(--font-display);
  color: var(--ink);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.01em;
}

:focus-visible{
  outline: 2px solid var(--teal);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce){
  *{ animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; scroll-behavior: auto !important; }
}

/* ---------- Layout helpers ---------- */
.container{
  width: 100%;
  max-width: var(--container);
  margin-inline: auto;
  padding-inline: 24px;
}

.section{ padding-block: 42px; }
.section--muted{ background: var(--bg-muted); }
.section--navy{ background: var(--bg-navy); color: rgba(255,255,255,.72); }
.section--navy h1, .section--navy h2, .section--navy h3{ color: #fff; }
.section--tight{ padding-block: 48px; }

.section__head{
  max-width: 640px;
  margin-bottom: 40px;
}
.section__head--center{ max-width: 640px; margin-inline: auto; text-align: center; }
.text-primary{ color: var(--primary-color) }
.text-ink{ color: var(--ink) }
.eyebrow{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--primary-color);
  margin-bottom: 12px;
}
.eyebrow::before{
  content: "";
  width: 18px;
  height: 2px;
  background: var(--primary-color);
  border-radius: 2px;
}

h2.h2{ font-size: 34px; }
h1.h1{ font-size: 42px; }
.lead{ font-size: 17px; color: var(--ink-soft); margin-top: 12px; }

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

.gap-2 {
  gap: calc(var(--spacing) * 2);
}

.center-item{
  align-items: center;
  justify-content: center;
  text-align: center;
}

.visually-hidden{
  position: absolute; width: 1px; height: 1px; overflow: hidden;
  clip: rect(0 0 0 0); white-space: nowrap;
}

/* ---------- Buttons ---------- */
.btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 26px;
  border-radius: var(--radius-s);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 15px;
  white-space: nowrap;
  transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease, color .15s ease, border-color .15s ease;
  max-height: 42px;
  cursor: pointer;
}
.btn:active{ transform: translateY(1px); }

.btn--primary{ background: var(--primary-color); color: #fff; }
.btn--primary:hover{ background: color-mix(in oklab, var(--primary-color) 90%, transparent); }

.btn--dark{ background: var(--primary-color); color: #fff; }
.btn--dark:hover{ background: color-mix(in oklab, var(--primary-color) 90%, transparent); }

.btn--ghost{ background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.35); }
.btn--ghost:hover{ background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.6); }

.btn--outline{ background: transparent; color: var(--brand); border: 1px solid var(--line); }
.btn--outline:hover{ border-color: var(--brand); background: var(--brand-tint); }

.btn--sm{ padding: 10px 18px; font-size: 14px; }
.btn--block{ width: 100%; }
.btn--icon{ padding: 10px; border-radius: 50%; }

/* ---------- Header ---------- */
.header{
  position: sticky;
  top: 0;
  z-index: 200;
  background: rgba(255,255,255,.92);
  backdrop-filter: saturate(140%) blur(8px);
  border-bottom: 1px solid var(--line);
  transition: box-shadow .2s ease;
}
.header.is-scrolled{ box-shadow: var(--shadow-s); }

.header__bar{
  display: flex;
  align-items: center;
  gap: 32px;
  height: 84px;
}

.logo{
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 21px;
  color: var(--brand);
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}
.logo__mark{
  width: 34px;
  height: 34px;
  border-radius: 9px;
  background: linear-gradient(135deg, var(--brand) 0%, var(--brand-deep) 100%);
  display: grid;
  place-items: center;
}
.logo__mark svg{ width: 20px; height: 20px; }

.nav{
  display: flex;
  align-items: center;
  gap: 4px;
  margin-inline: auto;
}
.nav__link{
  padding: 10px 14px;
  border-radius: var(--radius-s);
  font-size: 15px;
  font-weight: 600;
  color: var(--ink);
  transition: background-color .15s ease, color .15s ease;
}
.nav__link:hover{ background: var(--brand-tint);   color: var(--primary-color); }
.nav__link.is-active{ color: var(--brand); background: var(--brand-tint); }

.header__actions{
  display: flex;
  align-items: center;
  gap: 18px;
  flex-shrink: 0;
}
.header__phone{
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 15px;
  color: var(--ink);
  white-space: nowrap;
}
.header__phone span{
  display: block;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 11px;
  color: var(--ink-mute);
}

.burger{
  display: none;
  width: 40px;
  height: 40px;
  border-radius: var(--radius-s);
  border: 1px solid var(--line);
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
}
.burger span{ width: 18px; height: 2px; background: var(--ink); border-radius: 2px; transition: transform .2s ease, opacity .2s ease; }
.burger[aria-expanded="true"] span:nth-child(1){ transform: translateY(6px) rotate(45deg); }
.burger[aria-expanded="true"] span:nth-child(2){ opacity: 0; }
.burger[aria-expanded="true"] span:nth-child(3){ transform: translateY(-6px) rotate(-45deg); }

/* ---------- Mobile nav ---------- */
.mobile-nav{
  position: fixed;
  inset: 84px 0 0 0;
  background: #fff;
  z-index: 190;
  padding: 24px;
  overflow-y: auto;
  transform: translateX(100%);
  transition: transform .25s ease;
  display: none;
}
.mobile-nav.is-open{ transform: translateX(0); }
.mobile-nav__link{
  display: block;
  padding: 16px 4px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 19px;
  border-bottom: 1px solid var(--line-soft);
}
.mobile-nav__phone{
  margin-top: 24px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 20px;
  color: var(--brand);
}
.mobile-nav__actions{ margin-top: 20px; display: grid; gap: 12px; }

body.nav-open{ overflow: hidden; }

/* ---------- Breadcrumbs ---------- */
.breadcrumbs{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: var(--ink-mute);
  padding-block: 18px;
}
.breadcrumbs a:hover{ color: var(--brand); }
.breadcrumbs__sep{ opacity: .5; }
.breadcrumbs__current{ color: var(--ink); font-weight: 600; }

/* ---------- Page hero (inner pages) ---------- */
.page-hero{
  padding-block: 40px 56px;
  border-bottom: 1px solid var(--line);
  /*
  background:
    radial-gradient(700px 240px at 85% -20%, var(--brand-tint), transparent 70%),
    var(--bg);
  */
  background-color: color-mix(in oklab, var(--primary-color) 5%, transparent);
}
.page-hero h1{ font-size: 38px; /*max-width: 720px;*/ }
.page-hero .lead{ max-width: 560px; }

.stat-row{
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  margin-top: 0px;
}

.stat-row__item strong{
  display: block;
  font-family: var(--font-display);
  font-size: 30px;
  color: var(--brand);
  font-weight: 800;
}
.stat-row__item span{ font-size: 13px; color: var(--ink-mute); }

/* ---------- Metro route badge (signature element) ---------- */
.metro{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: var(--ink-soft);
  font-weight: 600;
  flex-wrap: wrap;
}
.metro div{
	display: flex;
	align-items: center;
	gap: 5px;
}

.metro__dot{
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--teal);
  flex-shrink: 0;
}
.metro__line{
  width: 20px;
  height: 0;
  border-top: 2px dotted var(--teal);
  flex-shrink: 0;
}
.metro__time{ color: var(--ink-mute); font-weight: 500; }

.cl-dialog-map {
    display: block;
    position: absolute;
    top: 5px;
    left: 0px;
    width: 100%;
    min-height: 100%;
    z-index: 12;
}
.cl-dialog-map-wrapper {
    position: relative;
    width: 98%;
    margin: 0px auto;
    max-width: 98%;
    height: 98%;
    background: white;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
	height: 238px;
}

.cl-dialog-map-close {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 30px;
    height: 30px;
    background: #fff;
    border: none;
    border-radius: 50%;
    font-size: 20px;
    font-weight: bold;
    cursor: pointer;
    z-index: 1001;
    display: flex;
    line-height: 30px;
    justify-content: center;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
    transition: background-color 0.3s;
}

.cl-dialog-map-content {
    width: 100%;
    height: 100%;
}

.main-cont-views-blk-section.cl-view-table .cards .cl-dialog-map-wrapper{
	height: 218px;
}

/* ---------- Badges ---------- */
.badge{
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .01em;
  flex-direction: column; /* Элементы встанут друг под друга */
  opacity: 0.7;
}

.obj-left-block .badge{
	opacity: 1;
}

.badge span{
  font-weight: normal;
  color: var(--ink-mute);
}

.badge--new{ background: var(--teal); color: var(--bg-white); }
.badge--class{ background: var(--foreground); color: var(--bg-muted); }
.badge--nofee{ background-color: color-mix(in oklab, var(--bg-fee) 10%, transparent); color: var(--bg-fee); }
.badge--muted{ background: var(--bg-muted); color: var(--foreground);  }
.badge--map{ background: var(--foreground); color: var(--bg-muted); }

.badge--muted.is-active,
.badge--muted.is-active span,
.badge--muted:hover,
.badge--muted:hover span{ background: var(--primary-color); color: var(--bg-white); }

.catalog-main-page .badge--nofee{
  color: var(--bg-white);
  background-color: color-mix(in oklab, var(--bg-fee) 40%, transparent);
}

/* ---------- Hero search (home) ---------- */
.hero{
  position: relative;
  background: linear-gradient(160deg, var(--bg-navy) 0%, #16314f 55%, #1c3d61 100%);

  background-image: url(../images/moscow-city-skyscrapers-business-district-skyline-.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50%;
  color: rgba(255,255,255,.78);
  overflow: hidden;
  padding-block: 64px 64px;
}
.hero::before{
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: color-mix(in oklab, var(--color-slate-900) 80%, transparent);
}

.hero__content{
  position: relative;
  max-width: 896px;
  margin: 0px auto;
  text-align: center;
}
.hero h1{ color: #fff; font-size: 52px; }
.hero .lead{ color: rgba(255,255,255,.72); font-size: 18px; }

.hero__routeline{
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 20px 0 4px;
  color: rgba(255,255,255,.55);
  font-size: 13px;
  font-weight: 600;
}
.hero__routeline .metro__line{ border-top-color: var(--accent); width: 34px; }
.hero__routeline .metro__dot{ background: var(--accent); }

.filters.custom-vertical .sf-foot,
.filters.custom-vertical .sf-head{ display: none !important}
 
.search-card__action{
	min-width: 170px;
}

.search-card{
  position: relative;
  margin-top: 40px;
  background: #fff;
  border-radius: var(--radius-l);
  box-shadow: var(--shadow-l);
  padding: 22px;
  max-width: 896px;
  margin: 40px auto;
}

.search-card__grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr) auto;
  gap: 14px;
  align-items: end;
}
.search-card__grid .search-card__count{ color: #000;}
.field{ display: flex; flex-direction: column; gap: 6px; }
.field label{ font-size: 12px; font-weight: 700; color: var(--ink-mute); text-transform: uppercase; letter-spacing: .04em; }
.field select, .field input{
  border: 1px solid var(--line);
  border-radius: var(--radius-s);
  padding: 10px 14px;
  font-size: 14px;
  color: var(--ink);
  background: #fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6'><path d='M0 0l5 6 5-6z' fill='%237C8798'/></svg>") no-repeat right 14px center;
  appearance: none;
  max-height: 42px;
}
.field select{
  padding-right: 32px;
}

.field input{ background-image: none; }
.field select:focus, .field input:focus{ border-color: var(--brand); }

.search-card__grid .field{
	min-width: 150px;
}

.hero__quick{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  position: relative;
  z-index: 2;
}

.pill{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 16px;
  border-radius: 100px;
  border: 1px solid rgba(255,255,255,.22);
  font-size: 13px;
  font-weight: 600;
  color: rgba(255,255,255,.65);
  transition: background-color .15s ease, border-color .15s ease;
}
.pill:hover{ background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.4); color: rgba(255,255,255, .9); }

.hero__stats{
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  padding-top: 32px;
  border-top: 1px solid rgba(255,255,255,.15);
  max-width: 896px;
  margin: 40px auto;
  margin-bottom: 0px;
  text-align: center;
}

.hero__stats strong{
  display: block;
  font-family: var(--font-display);
  font-size: 36px;
  color: #fff;
}
.hero__stats span{ font-size: 16px; color: rgba(255,255,255,.55); }

.hero__stats.is-no-black strong{
  color: var(--foreground)
}
.hero__stats.is-no-black span{
  color: var(--ink-soft);
}


/* ---------- Category tiles ---------- */
.tiles{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.tile{
  border: 1px solid var(--line);
  border-radius: var(--radius-m);
  padding: 22px;
  background: #fff;
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.tile:hover{ border-color: var(--brand); box-shadow: var(--shadow-m); transform: translateY(-2px); }
.tile__count{
  display: block;
  font-family: var(--font-display);
  font-size: 24px;
  font-weight: 800;
  color: var(--brand);
  margin-bottom: 6px;
}
.tile__label{ font-size: 14px; font-weight: 600; color: var(--ink); }

/* ---------- Link lists (metro / districts) ---------- */
.link-columns{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}
.link-list{ display: grid; gap: 2px; }
.link-list h3{ font-size: 18px; margin-bottom: 14px; }
.link-list__row{
  display: flex;
  justify-content: space-between;
  padding: 10px 0;
  border-bottom: 1px solid var(--line-soft);
  font-size: 14px;
  font-weight: 600;
  color: var(--ink);
}
.link-list__row:hover{ color: var(--brand); }
.link-list__row span{ color: var(--ink-mute); font-weight: 500; }
.link-list__more{
  display: inline-block;
  margin-top: 14px;
  font-size: 14px;
  font-weight: 700;
  color: var(--brand);
}

/* ---------- Listings ---------- */
#listings .filters{
	position: sticky;
    top: 100px;
}

.listings-head{
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 24px;
}
.listings-head h2{ font-size: 26px; }
.listings-toolbar{ display: flex; align-items: center; gap: 12px; }

.listings-layout{
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 32px;
  align-items: start;
}

.filters .views-blk-section{
  border: 1px solid var(--line);
  border-radius: var(--radius-m);
  padding: 22px;
  background: var(--bg-white);
}
.filters .views-blk-section.others-block{
	margin-top: 20px;
}

.filters__group{ padding-block: 6px; border-bottom: 1px solid var(--line-soft); }
#listings .filters__group{ padding-block: 12px;}
.filters__group .bx_filter_block{display: none;}
.filters__group.active .bx_filter_block{display: block;}
.filters__group:first-child{ padding-top: 0; }
.filters__group:first-child .filters__title{ margin-bottom: 12px; }
.filters__group:last-child{ border-bottom: none; }
.filters__group:last-child .filters__title{ margin-bottom: 12px; }
.filters__group:nth-last-child(1 of .filters__group) {
  border-bottom: none;
}
.filters__title{ font-size: 14px; font-weight: 700; color: var(--ink); margin-bottom: 3px; }
.filters__group.f-code-unit .filters__title{ display: none !important; }
.filters__row{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 2px 0;
  font-size: 13px;
  cursor: pointer;
}
.filters__row.cl-ico-types-main-menu-pages{
	padding-left: 30px;
	background-size: 20px auto !important;
}

.filters__row.cl-ico-types-main-menu-pages.cl-ico-types-main-menu-pages-office{
	background: url(images/cl-ico-types-main-menu-pages-office.svg) no-repeat left center;
}

.filters__row.cl-ico-types-main-menu-pages.cl-ico-types-main-menu-pages-osobnyak{
	background: url(images/cl-ico-types-main-menu-pages-osobnyak.svg) no-repeat left center;
}

.filters__row.cl-ico-types-main-menu-pages.cl-ico-types-main-menu-pages-tax{
	background: url(images/cl-ico-types-main-menu-pages-tax.svg) no-repeat left center;
}

.filters__row.cl-ico-types-main-menu-pages.cl-ico-types-main-menu-pages-pomeshenie{
	background: url(images/cl-ico-types-main-menu-pages-pomeshenie.svg) no-repeat left center;
}


.filters__group.f-code-komission .filters__title,
.filters__group.f-code-loft .filters__title,
.filters__group.f-code-props .filters__title,
.filters__group.f-code-tax_number .filters__title,
.filters__group.f-code-realstate_view .filters__title,
.filters__group.f-code-remote .filters__title,
.filters__group.f-code-district_id .filters__title,
.filters__group.f-code-metro .filters__title,
.filters__group.f-code-price_rub_month .filters__title,
.filters__group.f-code-square .filters__title,
.filters__group.f-code-realstate_class .filters__title{
	background-repeat: no-repeat;
    background-size: 20px 20px;
    background-position: left center;
    padding-left: 28px;
	background-repeat: no-repeat;
	cursor: pointer;
}
	
.filters__group.f-code-realstate_class .filters__title{
  background-image: url(images/filter-bz-ico.svg);
}

.filters__group.f-code-square .filters__title{
  background-image: url(images/filter-plosh-ico.svg);
}

.filters__group.f-code-price_rub_month .filters__title{
  background-image: url(images/filter-price-m-ico.svg);
}

.filters__group.f-code-metro .filters__title{
	background-image: url(images/filter-metro-ico.svg);
}

.filters__group.f-code-district_id .filters__title{
	background-image: url(images/filter-okr-ico.svg);
}
.filters__group.f-code-remote .filters__title{
	background-image: url(images/filter-rast-ico.svg);
}

.filters__group.f-code-realstate_view .filters__title{
	background-image: url(images/filter-arenda-type-ico.svg);
}

.filters__group.f-code-tax_number .filters__title{
	background-image: url(images/filter-nalog-ico.svg);
}

.filters__group.f-code-props .filters__title{
  background-image: url(images/filter-props-ico.svg);
}

.filters__group.f-code-loft .filters__title{
  background-image: url(images/filter-loft-ico.svg);
}

.filters__group.f-code-komission .filters__title{
  background-image: url(images/filter-fee-ico.svg);
}


@-webkit-keyframes widgetPulse{50%{-webkit-transform:scale(1,1);transform:scale(1,1);opacity:1}100%{-webkit-transform:scale(2,2);transform:scale(2,2);opacity:0}}@keyframes widgetPulse{50%{-webkit-transform:scale(1,1);transform:scale(1,1);opacity:1}100%{-webkit-transform:scale(2,2);transform:scale(2,2);opacity:0}}


.b24-widget-button-inner-container {
	position: fixed;
    display: inline-block;
    bottom: 40px;
    left: 40px;
	z-index:100;
}
.b24-widget-button-inner-container.telegram-animation{
	bottom: 100px;
}
.b24-widget-button-inner-container,
.bx-touch .b24-widget-button-inner-container {
    -webkit-transform: scale(.85);
    transform: scale(.85);
    -webkit-transition: transform .3s;
    transition: transform .3s;
}
.b24-widget-button-block {
    width: 66px;
    height: 66px;
    border-radius: 100%;
    box-sizing: border-box;
    overflow: hidden;
    cursor: pointer;
}

.b24-widget-button-pulse-telegram,
.b24-widget-button-pulse {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    border: 1px solid #FBAF1E;
    border-radius: 50%;
}

.b24-widget-button-pulse-animate-telegram,
.b24-widget-button-pulse-animate {
    -webkit-animation: widgetPulse infinite 1.5s;
    animation: widgetPulse infinite 1.5s;
}
.b24-widget-button-inner-block {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 66px;
    border-radius: 100px;
    background: #00aeef;
    box-sizing: border-box;
	background: #FBAF1E;
}
.b24-widget-button-icon-container {
    position: relative;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.b24-widget-button-inner-item {
    position: absolute;
    top: 0;
    left: 0;
    padding: 20px 19px;
    -webkit-transition: opacity .6s ease-out;
    transition: opacity .6s ease-out;
    -webkit-animation: socialRotateBack .4s;
    animation: socialRotateBack .4s;
    opacity: 1;
}

/*Track*/
.bx_filter .bx_ui_slider_track{
	position:relative;
	height:7px;
	margin:25px 10px;
	border:1px solid #8da3ad;
	background:#a1c0c8;
	background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ExYzBjOCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNiM2Q1ZGYiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
	background:-webkit-gradient(linear, left top, left bottom, color-stop(0%,#a1c0c8), color-stop(100%,#b3d5df));
	background:-webkit-linear-gradient(top, #a1c0c8 0%,#b3d5df 100%);
	background:   -moz-linear-gradient(top, #a1c0c8 0%,#b3d5df 100%);
	background:    -ms-linear-gradient(top, #a1c0c8 0%,#b3d5df 100%);
	background:     -o-linear-gradient(top, #a1c0c8 0%,#b3d5df 100%);
	background:        linear-gradient(top bottom, #a1c0c8 0%,#b3d5df 100%);
	box-shadow:0 1px 0 0 rgba(255,255,255,.35);

	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a1c0c8', endColorstr='#b3d5df',GradientType=0 );
}

.bx_filter .bx_ui_slider_part{
	position:absolute;
	top:-6px;
	width:1px;
	height:17px;
	background:#a2bfc7;
}
.bx_filter .bx_ui_slider_part.p1{left:-1px;}
.bx_filter .bx_ui_slider_part.p2{left:25%;}
.bx_filter .bx_ui_slider_part.p3{left:50%;}
.bx_filter .bx_ui_slider_part.p4{left:75%;}
.bx_filter .bx_ui_slider_part.p5{right:-1px;}
.bx_filter .bx_ui_slider_part span{
	font-size: 11px;
    position: absolute;
    top: -16px;
    left: 0px;
    display: block;
    width: 100px;
    margin-left: 0px;
    text-align: left;
    color: #000;
}
.bx_filter .bx_ui_slider_part.p5 span{
	left:auto;
	right: 0px;
	text-align: right;
}

.bx_filter .bx_ui_slider_part.p2 span,
.bx_filter .bx_ui_slider_part.p3 span,
.bx_filter .bx_ui_slider_part.p4 span{color:#6b8086;}

.bx_filter .bx_ui_slider_range,
.bx_filter .bx_ui_slider_pricebar,
.bx_filter .bx_ui_slider_pricebar_VD,
.bx_filter .bx_ui_slider_pricebar_VN,
.bx_filter .bx_ui_slider_pricebar_V{
	position:absolute;
	top:-1px;
	bottom:-1px;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
}

.bx_filter .bx_ui_slider_range{
	z-index:100;
}
.bx_filter .bx_ui_slider_pricebar{
	z-index:100;
}

.bx_filter .bx_ui_slider_pricebar_VD{
	z-index:60;
	border-top:   1px solid #74868e;
	border-bottom:1px solid #74868e;
	background:#000;
	/*
	background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzg0OWRhNCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM5M2FmYjciIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
	background:-webkit-gradient(linear, left top, left bottom, color-stop(0%,#849da4), color-stop(100%,#93afb7));
	background:-webkit-linear-gradient(top, #849da4 0%,#93afb7 100%);
	background:   -moz-linear-gradient(top, #849da4 0%,#93afb7 100%);
	background:    -ms-linear-gradient(top, #849da4 0%,#93afb7 100%);
	background:     -o-linear-gradient(top, #849da4 0%,#93afb7 100%);
	background:        linear-gradient(top bottom, #849da4 0%,#93afb7 100%);

	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#849da4', endColorstr='#93afb7',GradientType=0 );
	*/
}
.bx_filter .bx_ui_slider_pricebar_VN{
	z-index:70;
	border:1px solid #8da3ad;
	background:#a8dff3;
	background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2E4ZGZmMyIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNiMGVhZmYiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
	background:-webkit-gradient(linear, left top, left bottom, color-stop(0%,#6eccea), color-stop(100%,#73d6f6));
	background:-webkit-linear-gradient(top, #6eccea 0%,#73d6f6 100%);
	background:   -moz-linear-gradient(top, #6eccea 0%,#73d6f6 100%);
	background:    -ms-linear-gradient(top, #6eccea 0%,#73d6f6 100%);
	background:     -o-linear-gradient(top, #6eccea 0%,#73d6f6 100%);
	background:        linear-gradient(top bottom, #6eccea 0%,#73d6f6 100%);

	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#6eccea', endColorstr='#73d6f6',GradientType=0 );
}
.bx_filter .bx_ui_slider_pricebar_V{
	z-index:80;
	top:-1px;
	bottom:-1px;
	/*	border-right:1px solid #1888cc;
		border-left: 1px solid #1888cc;*/
	background:
		url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAABGdBTUEAALGPC/xhBQAAAANQTFRFGIjM1MdTygAAAApJREFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CIIA=') repeat-y left,
		url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAABGdBTUEAALGPC/xhBQAAAANQTFRFGIjM1MdTygAAAApJREFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CIIA=') repeat-y right,
		url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAJCAMAAAAxZj1mAAAABGdBTUEAALGPC/xhBQAAAL1QTFRFANz2ALTqAKrmALbrAN33AKzmANf0ALPqAKfkAKrlAKbkHpThALXqALHqAI/dAKDkAJviAJ/lAJrhAKnnAKTnAJTgAJ/kAKTmAJXfAJnhAKbjAJriAJ3iAKfoAKPnAJHeAKHjAKfmAKznAKvoAKvpAKHkAKzqALTrALTpANb0ALXrALPrALjtAJ7kAKfnAKPlAKTlAKLnAKbnAK/pHpTiALDqANz3AHi6AKzpAKjoANv2AHm6AKzoAHm7H5XiGxHqSgAAAG9JREFUCNcVxEUCwkAQBMDG3V2Dxz3rO/n/s4A6FOqq/vk3qsC7XGsfuu1rjk7gtZoNLxqMgwg9xvqh6w7ZJDyitDcpbVbax9titVT35yFRr7P8YJ5k6T7dFadLoTBbxNN1vN3k19yBEIYEkTGG6AvhQBEyBjCadgAAAABJRU5ErkJggg==') repeat-x;
}



.bx_filter .bx_ui_slider_handle{
	position: absolute;
    top: -6px;
    width: 6px;
    height: 32px;
}
.bx_filter .bx_ui_slider_handle:hover{
	-webkit-cursor:grab;
	-ms-cursor:grab;
	-o-cursor:grab;
	cursor:grab;
}
.bx_filter .bx_ui_slider_handle:active{
	-webkit-cursor:grabbing;
	-ms-cursor:grabbing;
	-o-cursor:grabbing;
	cursor:grabbing;
}
.bx_filter .bx_ui_slider_handle.left{
	left:0;
	margin-left:-6px;
	background: var(--primary-color);
    border-radius: var(--radius-s);
}
.bx_filter .bx_ui_slider_handle.right{
	right:0;
	margin-right:-6px;
	background: var(--primary-color);
    border-radius: var(--radius-s);
}

.flex{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 0;
}

.flex-range-block .bx_filter_parameters_box_container_block:last-child{
	margin-left: auto;
}

.shrink-0{
  max-width: 12px;
  max-height: 12px;
  border-radius: 4px;
  height: 12px;
  width: 12px;
}
.bg-green-500{   background-color: #22c55e;}
.bg-blue-500 {   background-color: #2b7fff;}
.bg-amber-500 {   background-color: #bb4d00;}


.filters__row input{ accent-color: var(--brand); width: 16px; height: 16px; }
.filters__row span{ flex: 1; color: var(--ink); }

.metro-colors,
.filters__row span.metro-colors{display: flex;max-width: min-content;gap: 3px;}
.filters__row em{ font-style: normal; color: var(--ink-mute);  margin-left: auto; }
.filters__row a:hover{color: var(--primary-color)}
.filters__more{ font-size: 13px; color: var(--primary-color); margin-top: 8px; display: inline-block; }
.filters__more:hover{ color:  color-mix(in oklab, var(--primary-color) 90%, transparent); }


.cards{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  position: relative;
}
.cards.is-loading::before{
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 20;
  background: var(--bg-white);
  opacity: 0.7;
  background-image: url("images/loader.gif");
  background-repeat: no-repeat;
  background-position: center 100px;
  border-radius: var(--radius-m);
}


.cards--3{ grid-template-columns: repeat(3, 1fr); }
.main-cont-views-blk-section.cl-view-table .cards{ grid-template-columns: repeat(1, 1fr); }
.main-cont-views-blk-section.cl-view-table .cards .card__media img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.card{
  border: 1px solid var(--line);
  border-radius: var(--radius-m);
  overflow: hidden;
  background: #fff;
  transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease;
  display: flex;
  flex-direction: column;
  position: relative;
}
.card.is-active{ border: 2px solid var(--teal);}
.main-cont-views-blk-section.cl-view-table .cards .card{flex-direction: row;}

.card:hover{ box-shadow: var(--shadow-m); transform: translateY(-3px); border-color: transparent; }

.card__media{ position: relative; aspect-ratio: 4/3; overflow: hidden; max-height: 250px;}
.cl-dialog-map-wrapper,
.card__media{ background: url(images/loader.gif) no-repeat center center;}
.cl-dialog-map-wrapper{ background-color: var(--bg-white)}
/*
.card__media img{ width: 100%; height: 100%;  object-fit: cover; }
*/
.card__badges{
  position: absolute; top: 12px; left: 12px;
  display: flex; gap: 6px;
  z-index: 10;
      flex-wrap: wrap;
	  padding-right: 10px;
}
.cl-dialog-map-content{
	    display: flex;
    align-items: center;
    justify-content: center;
}

.card__body{ padding: 18px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.card__title{ font-size: 16px; font-weight: 700; color: var(--ink); }
.card:hover .card__title{ color: var(--teal)}
.card__addr{ font-size: 13px; color: var(--ink-mute); }
.card__meta{ display: flex; flex-wrap: wrap; gap: 8px; font-size: 13px; color: var(--ink-soft); margin-top: 2px; }

/*.card__meta span:not(:last-child)::after{ content: "•"; margin-left: 8px; color: var(--line); }*/

.card__foot{
  margin-top: auto;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  padding-top: 12px;
  border-top: 1px solid var(--line-soft);
}
.card__price{ font-family: var(--font-display); font-size: 22px; font-weight: 800; color: var(--teal); }
.card__price small{ display: block; font-family: var(--font-body); font-size: 12px; font-weight: 500; color: var(--ink-mute); }

/*.active-filters*/

.active-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.active-filters__chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:0;border-radius: var(--radius-s);background:#eaf1ff;color: var(--primary-color);font-size:14px;cursor:pointer}
.active-filters__chip:hover{background:#d9e6ff}
.active-filters__x{font-style:normal;font-size:16px;line-height:1}
.active-filters__reset{padding:6px 12px;border:0;background:none;color:#8a94a6;font-size:14px;cursor:pointer;text-decoration:underline}

.bx_filter_button_box{ display: none !important;}
/*favorite*/

.favorite-block{
   position: relative;
   cursor: pointer;
}
.favorite-block span{
  position: absolute;
  top: -11px;
  right: -9px;
  border-radius: 30px;
  background: var(--ink);
  color: var(--bg-white);
  font-size: 10px;
  padding: 3px 9px;
}

.favorite-item{
  position: absolute;
  top: 12px;
  right: 12px;
  background-color: #0006;
  border-radius: 4px;
  padding: 3px;
}
.favorite-item.is-active{
	background-color:var(--primary-color)
}
.favorite-item.is-active svg{
  fill: var(--bg-white);
  color: var(--bg-white);
}

.gallery{
	position: relative;
}

.gallery .favorite-item{
	z-index: 10;
    cursor: pointer;
}

.pagination{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-top: 36px;
  flex-wrap: wrap;
}

.pagination-mores {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-top: 36px;
}

.pagination a, .pagination span{
  min-width: 38px; height: 38px;
  border-radius: var(--radius-s);
  border: 1px solid var(--line);
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 14px; font-weight: 600;
}
.pagination a:hover{ border-color: var(--brand); color: var(--brand); }
.pagination li.is-active span{ background: var(--brand); border-color: var(--brand); color: #fff; }
.pagination span{ border: none; }
.pagination li.bx-pag-prev > span{border: 1px solid var(--line); color: var(--ink-mute);}
.pagination li.bx-pag-next > span{border: 1px solid var(--line); color: var(--ink-mute);}

.load-more{ display: flex; justify-content: center; margin-top: 32px; }

.box-block.c-seo-text-bottom{
  border: 1px solid var(--line);
  border-radius: var(--radius-m);
  padding: 22px;
  margin-top: 22px;
  background-color: color-mix(in oklab, var(--primary-color) 5%, transparent);
}

.section.pages-section p,
.box-block.c-seo-text-bottom p{
	margin: 10px 0px;
}

/*------------BOX BLOCK ------------------*/
.box-block-view{ border: 1px solid var(--line); border-radius: var(--radius-l); overflow: hidden; background: var(--bg-white); padding: 22px; align-items: center;}
/* ---------- Map toggle block ---------- */
.map-block{ border: 1px solid var(--line); border-radius: var(--radius-l); overflow: hidden;
  background: var(--bg-white);
  padding: 20px;
  position: relative;
}
.map-block svg{
  max-width: 100%;
  height: auto;
}
.map-block svg.scheme-objects-view__scheme-svg{
  top:0px;
}
.map-block svg._click-through{
  position: absolute;
}

.map-block>div{
  will-change: transform;
  --my-scale: 1;
  transform: matrix(var(--my-scale), 0, 0, var(--my-scale), 0, 0);
  transition: transform 0.5s ease; /* Браузер сам все сделает плавно */
}


.map-block__bar{
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px 20px; border-bottom: 1px solid var(--line);
  background: var(--bg-white);
}
.view-toggle{ display: inline-flex; border: 1px solid var(--line); border-radius: var(--radius-s); overflow: hidden; min-height: 42px}
.view-toggle button{ padding: 8px 16px; font-size: 13px; font-weight: 700; color: var(--ink-mute); }
.view-toggle button.is-active{ background: var(--primary-color); color: #fff; }
.rg-auto{margin-left: auto}
.map-canvas{
  position: relative;
  height: 420px;
  background: linear-gradient(135deg, #EAF0F6 0%, #DCE6EF 100%);
  overflow: hidden;
  margin-bottom: 10px;
      display: flex;
    align-items: center;
    justify-content: center;
}
.map-canvas::before{
  content: "";
  position: absolute; inset: 0;
  background-image: linear-gradient(rgba(16,35,64,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(16,35,64,.05) 1px, transparent 1px);
  background-size: 34px 34px;
}
.map-pin{
  position: absolute;
  width: 30px; height: 30px;
  background: var(--brand);
  border-radius: 50% 50% 50% 0;
  transform: translate(-50%,-100%) rotate(45deg);
  display: grid; place-items: center;
  box-shadow: var(--shadow-m);
  border: 2px solid #fff;
}
.map-pin span{ transform: rotate(-45deg); color: #fff; font-size: 11px; font-weight: 800; }
.map-pin:hover, .map-pin.is-active{ background: var(--accent-deep); }
.map-canvas__hint{
  position: absolute; left: 20px; bottom: 20px;
  background: rgba(255,255,255,.92);
  padding: 10px 14px;
  border-radius: var(--radius-s);
  font-size: 13px;
  color: var(--ink-soft);
  box-shadow: var(--shadow-s);
}
.map-popover{
  position: absolute;
  width: 240px;
  background: #fff;
  border-radius: var(--radius-m);
  box-shadow: var(--shadow-l);
  padding: 14px;
  z-index: 5;
  display: none;
}
.map-popover.is-open{ display: block; }
.map-popover h4{ font-size: 14px; margin-bottom: 4px; }
.map-popover p{ font-size: 12px; color: var(--ink-mute); margin-bottom: 8px; }

/* ---------- About split ---------- */
.split{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: center;
}
.split__media{ position: relative; border-radius: var(--radius-l); overflow: hidden; }
.split__media svg{ width: 100%; height: auto; display: block; }
.split__badge{
  position: absolute; left: 24px; bottom: 24px;
  background: rgba(16,27,45,.82);
  color: #fff;
  padding: 14px 20px;
  border-radius: var(--radius-m);
  backdrop-filter: blur(6px);
}
.split__badge strong{ display: block; font-family: var(--font-display); font-size: 26px; }
.split__badge span{ font-size: 12px; color: rgba(255,255,255,.7); }

.check-list{ display: grid; gap: 12px; margin: 20px 0 28px; }
.check-list li{ display: flex; align-items: flex-start; gap: 10px; font-size: 15px; color: var(--ink-soft); }
.check-list svg{ flex-shrink: 0; margin-top: 3px; color: var(--teal); }

/* ---------- Features grid ---------- */
.feature{
  padding: 26px;
  border-radius: var(--radius-m);
  border: 1px solid var(--line);
  background: #fff;
}
.feature__icon{
  width: 46px; height: 46px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--primary-color) 10%, transparent);
  color: var(--primary-color);
  display: grid; place-items: center;
  margin-bottom: 16px;
}
.feature h3{ font-size: 17px; margin-bottom: 8px; }
.feature p{ font-size: 14px; color: var(--ink-mute); }

/* ---------- FAQ accordion ---------- */
.faq{ max-width: 780px; margin-inline: auto; }
.faq__item{ border-bottom: 1px solid var(--line); }
.faq__q{
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 4px;
  text-align: left;
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 700;
  color: var(--ink);
}
.faq__q .plus{
  width: 24px; height: 24px;
  border-radius: 50%;
  border: 1px solid var(--primary-color);
  flex-shrink: 0;
  position: relative;
}
.faq__q .plus::before, .faq__q .plus::after{
  content: "";
  position: absolute; background: var(--ink);
  top: 50%; left: 50%; transform: translate(-50%,-50%);
}
.faq__q .plus::before{ width: 10px; height: 1.5px; }
.faq__q .plus::after{ width: 1.5px; height: 10px; transition: transform .2s ease, opacity .2s ease; }
.faq__item.is-open .plus::after{ opacity: 0; transform: translate(-50%,-50%) rotate(90deg); }
.faq__item.is-open .plus{ border-color: var(--brand); }

.faq__a{
  max-height: 0;
  overflow: hidden;
  transition: max-height .25s ease;
  font-size: 14px;
  color: var(--ink-mute);
  padding-inline: 4px;
}
.faq__a p{ padding-bottom: 20px; }

/* ---------- CTA banner ---------- */
.cta-banner{
  border-radius: var(--radius-l);
  background: linear-gradient(135deg, var(--bg-navy), #1b3c5e);
  color: #fff;
  padding: 56px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  flex-wrap: wrap;
}
.cta-banner h2{ color: #fff; font-size: 28px; max-width: 480px; }
.cta-banner p{ color: rgba(255,255,255,.65); margin-top: 10px; max-width: 460px; }
.cta-banner__actions{ display: flex; gap: 12px; flex-wrap: wrap; }

/* ---------- Forms ---------- */
.form-grid{ display: grid; gap: 14px; }
.form-field{ display: flex; flex-direction: column; gap: 6px; }
.form-field label{ font-size: 13px; font-weight: 600; color: var(--ink); }
.uf-form .form-field label.cl-inpt{ display: none !important}
input.min-price,input.max-price,
.form-field input, .form-field textarea{
  border: 1px solid var(--line);
  border-radius: var(--radius-s);
  padding: 13px 14px;
  font-size: 14px;
  background: #fff;
}

input.min-price,input.max-price{
    height: 32px;
}
	
input.min-price:focus,input.max-price:focus,
.form-field input:focus, .form-field textarea:focus{ border-color: var(--brand); }
.form-consent{ font-size: 12px !important; color: var(--ink-mute);    margin-bottom: 0px !important; }
.uf-hidden-field{ display: none}
.form-consent a{ color: var(--brand); text-decoration: underline; }
.form-success{
  display: none;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  border-radius: var(--radius-s);
  background: var(--teal-tint);
  color: var(--teal);
  font-size: 14px;
  font-weight: 600;
}
.form-success.is-visible{ display: flex; }

/* ---------- Contact page ---------- */
.contact-cards{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-top: 20px;}
.contact-card{
  border: 1px solid var(--line);
  border-radius: var(--radius-m);
  padding: 22px;
  display: flex;
  gap: 16px;
  background: var(--bg-white);
}
.contact-card__icon{
  width: 44px; height: 44px; border-radius: 12px;
  display: grid; place-items: center; flex-shrink: 0;
  background: color-mix(in oklab, var(--primary-color) 10%, transparent);
  color: var(--primary-color);
}
.contact-card h3{ font-size: 15px; margin-bottom: 6px; }
.contact-card p{ font-size: 14px; }
.contact-card .req{ font-size: 13px; display: flex; justify-content: space-between; gap: 8px; margin-bottom: 4px; }
.contact-card .req b{ color: var(--ink); }

.contact-layout{ display: grid; grid-template-columns: 1.3fr 1fr; gap: 32px; align-items: start; }
.callback-card{
  border: 1px solid var(--line);
  border-radius: var(--radius-l);
  padding: 28px;
  position: sticky;
  top: 100px;
  background: var(--bg-white);
}
.txt-preview-visible{
  max-height: 27px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.map-embed{ border-radius: var(--radius-l); overflow: hidden; border: 1px solid var(--line); }

.map-embed{
	background-color: #FFF;
  background-image: url("images/loader.gif");
  background-repeat: no-repeat;
  background-position: center 100px;
}

.map-embed iframe{ width: 100%; height: 360px; border: 0; display: block; }
.map-embed__foot{ padding: 14px 20px; font-size: 13px; color: var(--ink-mute); border-top: 1px solid var(--line); background: var(--bg-white)}


.contact-info{ display: grid; gap: 16px; }

/* карта */
.map-embed__map{ height: 360px; background: var(--bg-muted); }
.map-embed__map > *,
.map-embed__map iframe,
.map-embed__map ymaps{ width: 100% !important; height: 100% !important; }

/* карточки */
.contact-card--wide{ grid-column: 1 / -1; }
.contact-card > div:last-child{ min-width: 0; flex: 1; }
.contact-card a{ color: var(--ink); font-weight: 600; transition: color .15s ease; }
.contact-card a:hover{ color: var(--primary-color); }
.contact-card p{ overflow-wrap: anywhere; }

/* реквизиты: подпись слева, значение справа */
.contact-card--req .req{
  padding: 6px 0;
  border-bottom: 1px dashed var(--line);
  margin-bottom: 0;
}
.contact-card--req .req:last-child{ border-bottom: none; }
.contact-card--req .req span{ color: var(--ink-mute); }
.contact-card--req .req b{ text-align: right; font-weight: 600; }


/* ---------- Legal pages (политика, условия) ---------- */
.legal-layout{
}

/* оглавление */
.legal-toc{
  position: sticky;
  top: 100px;
  padding: 20px;
  background: var(--bg-white);
  border: 1px solid var(--line);
  border-radius: var(--radius-m);
}
.legal-toc__title{
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 10px;
}
.legal-toc ol{ list-style: none; counter-reset: toc; display: grid; gap: 2px; }
.legal-toc li{ counter-increment: toc; }
.legal-toc a{
  display: flex;
  gap: 10px;
  padding: 7px 10px;
  border-radius: var(--radius-s);
  font-size: 14px;
  line-height: 1.35;
  color: var(--ink-soft);
  transition: background-color .15s ease, color .15s ease;
}
.legal-toc a::before{
  content: counter(toc);
  flex-shrink: 0;
  width: 20px;
  color: var(--ink-mute);
  font-weight: 600;
}
.legal-toc a:hover{ background: var(--brand-tint); color: var(--primary-color); }

/* статья */
.legal{ padding: 36px 40px; }
.legal__intro{
  padding-bottom: 24px;
  margin-bottom: 8px;
  border-bottom: 1px solid var(--line);
  font-size: 15px;
  color: var(--ink);
}
.legal__intro p + p{ margin-top: 12px; }

.legal__section{ padding-top: 28px; scroll-margin-top: 100px; }
.legal__section h2{
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 22px;
  margin-bottom: 14px;
}
.legal__sec-num{
  flex-shrink: 0;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: color-mix(in oklab, var(--primary-color) 10%, transparent);
  color: var(--primary-color);
  font-size: 16px;
}

.legal__item{
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 4px;
  padding: 6px 0;
  font-size: 15px;
  line-height: 1.6;
  color: var(--ink-soft);
}
.legal__num{ color: var(--ink-mute); font-weight: 600; font-variant-numeric: tabular-nums; }
.legal__item--sub{
  margin-left: 48px;
  grid-template-columns: 56px 1fr;
  font-size: 14px;
}
.legal a{ color: var(--primary-color); text-decoration: underline; text-underline-offset: 2px; }
.legal a:hover{ color: color-mix(in oklab, var(--primary-color) 85%, black); }

@media (max-width: 1080px){
  .legal-layout{ grid-template-columns: 1fr; }
  .legal-toc{ position: static; }
}
@media (max-width: 560px){
  .legal{ padding: 22px 18px; }
  .legal__item{ grid-template-columns: 40px 1fr; }
  .legal__item--sub{ margin-left: 20px; grid-template-columns: 48px 1fr; }
}


/* ---------- Reviews ---------- */
.reviews{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

.review{
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 24px;
  background: var(--bg-white);
  border: 1px solid var(--line);
  border-radius: var(--radius-m);
  transition: box-shadow .18s ease, border-color .18s ease;
}
.review:hover{ box-shadow: var(--shadow-m); border-color: transparent; }

/* декоративная кавычка */
.review::before{
  content: "\201C";
  position: absolute;
  top: 8px;
  right: 20px;
  font-family: var(--font-display);
  font-size: 80px;
  line-height: 1;
  color: color-mix(in oklab, var(--primary-color) 12%, transparent);
  pointer-events: none;
}

.review__head{ display: flex; align-items: center; gap: 14px; padding-right: 48px; }
.review__avatar{
  flex-shrink: 0;
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: color-mix(in oklab, var(--primary-color) 10%, transparent);
  color: var(--primary-color);
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 800;
}
.review__company{ font-size: 16px; margin-bottom: 4px; }

.review__tag{
  display: inline-block;
  padding: 2px 8px;
  border-radius: var(--radius-s);
  background: var(--bg-muted);
  color: var(--ink-soft);
  font-size: 12px;
  font-weight: 600;
  transition: background-color .15s ease, color .15s ease;
}
.review__tag:hover{ background: var(--primary-color); color: var(--bg-white); }

.review__text{ margin: 0; flex: 1; }
.review__text p{ font-size: 14px; line-height: 1.65; color: var(--ink-soft); }

.review__author{
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding-top: 14px;
  border-top: 1px solid var(--line-soft);
  font-size: 13px;
}
.review__author strong{ color: var(--ink); font-weight: 700; }
.review__author span{ color: var(--ink-mute); }

@media (max-width: 880px){
  .reviews{ grid-template-columns: 1fr; }
}


/* ---------- Articles ---------- */
.articles{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.article-card{ display: flex; }
.article-card__link{
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
  padding: 24px;
  background: var(--bg-white);
  border: 1px solid var(--line);
  border-radius: var(--radius-m);
  transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease;
}
.article-card__link:hover{
  box-shadow: var(--shadow-m);
  transform: translateY(-3px);
  border-color: transparent;
}

.article-card__top{ display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.article-card__top .feature__icon{ margin-bottom: 0; }
.article-card__date{ font-size: 12px; color: var(--ink-mute); }

.article-card__title{
  font-size: 17px;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  transition: color .15s ease;
}
.article-card__link:hover .article-card__title{ color: var(--teal); }

.article-card__text{
  flex: 1;
  font-size: 14px;
  line-height: 1.65;
  color: var(--ink-soft);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  overflow: hidden;
}

.article-card__more{
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid var(--line-soft);
  font-size: 14px;
  font-weight: 700;
  color: var(--primary-color);
}
.article-card__more span{ display: inline-block; transition: transform .15s ease; }
.article-card__link:hover .article-card__more span{ transform: translateX(4px); }

@media (max-width: 1080px){ .articles{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px){ .articles{ grid-template-columns: 1fr; } }


/* ---------- 404 ---------- */
.error-page{
  max-width: 720px;
  margin-inline: auto;
  padding: 32px 0 24px;
  text-align: center;
}

.error-page__code{
  font-family: var(--font-display);
  font-size: clamp(96px, 22vw, 190px);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.04em;
  background: linear-gradient(135deg, var(--primary-color) 0%, var(--bg-navy) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  user-select: none;
}

.error-page__text{
  max-width: 520px;
  margin: 16px auto 0;
  font-size: 17px;
  color: var(--ink-soft);
}

.error-page__actions{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 28px;
}

.error-page__links{
  margin-top: 44px;
  padding-top: 28px;
  border-top: 1px solid var(--line);
}
.error-page__links-title{
  margin-bottom: 14px;
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 700;
  color: var(--ink);
}
.error-page__links .chips{ justify-content: center; }

@media (max-width: 560px){
  .error-page__actions .btn{ width: 100%; }
}

/* ---------- Object page ---------- */
.object-top{ display: grid; grid-template-columns: 1.5fr 1fr; gap: 40px; align-items: start; }
.object-top .metro{ gap: 12px;}
.gallery__main{ 
	border-radius: var(--radius-l);
    overflow: hidden;
    position: relative;
    aspect-ratio: 16 / 10.5;
	/*
	background-size: auto;
	background-size: cover;
	*/
    background-repeat: no-repeat;
    background-position: center;
	box-shadow: var(--shadow-m);
    border: solid 2px #FFF;
	max-height: 600px;
    max-width: 800px;
	min-height: 600px;
}
.gallery__main.cover-bg{
	background-size: cover;
}

.obj-left-block{
	/*max-width: 450px;*/
    min-height: 600px;
    max-width: 800px;
}

.gallery__main img{ width: 100%; }


.gallery__counter{
  position: absolute; right: 14px; bottom: 14px;
  background: rgba(16,27,45,.7); color: #fff;
  font-size: 12px; font-weight: 600;
  padding: 5px 12px; border-radius: 100px;
}
.gallery__nav{
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 38px; height: 38px; border-radius: 50%;
  background: var(--line);
  display: grid; place-items: center;
  box-shadow: var(--shadow-s);
 
}
.gallery__nav--prev{ left: 14px; }
.gallery__nav--next{ right: 14px; }

.gallery__thumbs{
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 6px;
  margin-top: 8px;
}
.gallery__thumb{
  cursor: pointer;
  aspect-ratio: 1/1;
  border-radius: var(--radius-s);
  overflow: hidden;
  border: 2px solid #FFF;
  opacity: .7;
  position: relative;
  background-size: cover;
  background-repeat: no-repeat;
  box-shadow: var(--shadow-m);
}

.gallery__thumb svg{ width: 100%; height: 100%; }
.gallery__thumb.is-active{ border-color: var(--brand); opacity: 1; }
.gallery__thumb .more{
  position: absolute; inset: 0;
  background: rgba(16,27,45,.6);
  color: #fff; font-weight: 700; font-size: 14px;
  display: grid; place-items: center;
}

/* Галерея: скрытые миниатюры и кнопка «Показать ещё» */
.gallery__thumb.is-hidden { display: none !important; }
.gallery__more { display: block; margin: 12px auto 0; }
 
.object-badges{ display: flex; flex-wrap: wrap; gap: 8px; margin: 24px 0 10px; }
.object-top h1{ font-size: 28px; margin-bottom: 10px; }
.object-addr{ display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--ink-mute); margin-bottom: 14px; }

.object-facts{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  padding: 10px 0;
  border-top: 1px solid var(--line);
  /* border-bottom: 1px solid var(--line); */
  margin: 20px 0 0px;
}

.object-facts.last-child{
	border-bottom: 1px solid var(--line);
	margin-bottom: 20px;
}

.object-facts div span{ display: block; font-size: 12px; color: var(--ink-mute); margin-bottom: 4px; }
.object-facts div strong{ font-family: var(--font-display); font-size: 17px; color: var(--ink); }

.tabs__list{ display: flex; gap: 4px; border-bottom: 1px solid var(--line); margin-bottom: 24px; overflow-x: auto; }
.tabs__btn{ padding: 12px 18px; font-size: 14px; font-weight: 700; color: var(--ink-mute); border-bottom: 2px solid transparent; white-space: nowrap; }
.tabs__btn.is-active{ color: var(--brand); border-color: var(--brand); }
.tabs__panel{ display: none; }
.tabs__panel.is-active{ display: block; }
.tabs__panel h3{ font-size: 16px; margin: 20px 0 10px; }
.tabs__panel h3:first-child{ margin-top: 0; }
.tabs__panel p{ margin-bottom: 12px; font-size: 14px; }

ul.list-station,
.cl_other_square ul,
.tabs__panel ul{ display: grid; gap: 8px; margin-bottom: 12px; }

ul.list-station li,
.tabs__panel ul li{ font-size: 14px; padding-left: 18px; position: relative; }

ul.list-station li::before,
.tabs__panel ul li::before{ content: ""; position: absolute; left: 0; top: 9px; width: 6px; height: 6px; border-radius: 50%; background: var(--teal); }

.cl_other_square ul li::before{
	top: calc(50% - 6px);
}

ul.list-station li a{
	color: var(--ink-mute);
}
ul.list-station li a:hover{
	color: var(--brand);
}
ul.list-station{
    grid-template-columns: 1.5fr 1fr;
}


.area-groups { display: grid; gap: 24px; }

.area-group__title {
  font-size: 16px;
  font-weight: 600;
  margin: 0 0 12px;
  color: #1f2937;
}
.area-group__title span {
  font-weight: 400;
  color: #8a94a6;
  margin-left: 6px;
}

.chips {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.chips a {
  display: inline-block;
  padding: 6px 12px;
  border: 1px solid #e3e8f0;
  border-radius: var(--radius-s);
  background: #fff;
  color: #3b4559;
  font-size: 14px;
  text-decoration: none;
  transition: .15s;
  cursor: pointer;
}
	
.chips a:hover {
  border-color: #3b82f6;
  background: #eff6ff;
  color: #2563eb;
}

.chips__count {
  margin-left: 4px;
  font-size: 12px;
  color: #8a94a6;
}

.area-more { display: grid; gap: 24px; }
.area-more[hidden] { display: none; }

.area-toggle {
  justify-self: start;
  padding: 10px 18px;
  border: 1px solid #3b82f6;
  border-radius: 10px;
  background: transparent;
  color: #3b82f6;
  cursor: pointer;
}
.area-toggle:hover { background: #eff6ff; }


/* Навигация по буквам */
.alpha-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 24px;
}
.alpha-nav a {
  min-width: 34px;
  padding: 6px 8px;
  text-align: center;
  border: 1px solid #e3e8f0;
  border-radius: 8px;
  background: #fff;
  color: #3b4559;
  font-size: 14px;
  text-decoration: none;
  transition: .15s;
}
.alpha-nav a:hover {
  border-color: #3b82f6;
  background: #eff6ff;
  color: #2563eb;
}

/* Группа: буква слева, список справа */
.alpha-group {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 8px;
  padding: 16px 0;
  border-top: 1px solid #eef1f6;
  scroll-margin-top: 80px; /* чтобы заголовок не прятался под шапкой */
}
.alpha-group__letter {
  margin: 0;
  font-size: 24px;
  font-weight: 700;
  color: #3b82f6;
}

/* Колонки */
.alpha-list {
  list-style: none;
  margin: 0;
  padding: 0;
  column-width: 220px;
  column-gap: 24px;
}
.alpha-list li { break-inside: avoid; padding: 4px 0; }
.alpha-list a { color: #3b4559; text-decoration: none; }
.alpha-list a:hover { color: #2563eb; }

/* Режим чипов (метро) */
.alpha-list--chips {
  columns: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.alpha-list--chips li { padding: 0; }
.alpha-list--chips a {
	display: inline-block;
    padding: 6px 12px;
    border: 1px solid #e3e8f0;
    border-radius: var(--radius-s);
    background: #fff;
    color: #3b4559;
    font-size: 14px;
    text-decoration: none;
    transition: .15s;
    cursor: pointer;
}
.alpha-list--chips a:hover {
  border-color: #3b82f6;
  background: #eff6ff;
}

@media (max-width: 600px) {
  .alpha-group { grid-template-columns: 1fr; }
}


.perk-grid{ display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 20px; }
.perk{
  display: inline-flex; align-items: center; gap: 2px;
  padding: 9px 14px; border-radius: var(--radius-s);
  border: 1px solid var(--line); font-size: 13px; font-weight: 600; color: var(--ink);
  background: var(--bg-white);
}

.sidebar-card{
  border: 1px solid var(--line);
  border-radius: var(--radius-l);
  padding: 24px;
  position: sticky;
  top: 100px;
  background: var(--bg-white);
}
.obj-left-block .sidebar-card{
	 position: relative;
	 top: 0px;
}

.sidebar-card-mini{
    margin-left: auto;
}

.sidebar-card-mini .card__price{
	min-width: 210px;
}
.cl_other_square{
    font-size: 14px;
}
.cl_other_square li > a{
	display: flex;
    align-items: center;
    gap: 12px;
	border-radius: 5px;
    padding: 5px;
    background: var(--bg-white);
	border: 1px solid var(--line);
}

.cl_other_square li .card__foot{     
	gap: 12px;
    align-items: center;
    padding: 0px;
    border: none !important;
}

.sidebar-card__price{ font-family: var(--font-display); font-size: 30px; font-weight: 800; color: var(--brand); }
.sidebar-card__price small{ display: block; font-size: 13px; color: var(--ink-mute); font-family: var(--font-body); font-weight: 500; margin-top: 4px; }
.sidebar-card hr{ border: none; border-top: 1px solid var(--line); margin: 20px 0; }
.sidebar-card h4{ font-size: 15px; margin-bottom: 12px; }
.sidebar-card__phone{ display:block; text-align:center; margin-top: 12px; font-family: var(--font-display); font-weight: 700; color: var(--brand); }

/* ---------- Similar offers ---------- */
.similar-card{
  border: 1px solid var(--line);
  border-radius: var(--radius-m);
  padding: 16px;
  display: flex;
  gap: 14px;
  background: var(--bg-white);
}
.similar-card.similar-item-close{display: none; }
.similar-card__media{ width: 96px; height: 96px; border-radius: var(--radius-s); overflow: hidden; flex-shrink: 0; }
.similar-card__media img{ width: 100%; height: 100%; object-fit: cover;}
.similar-card h3{ font-size: 14px; margin-bottom: 4px; }
.similar-card__meta{ font-size: 12px; color: var(--ink-mute); margin-bottom: 6px; }
.similar-card__price{ font-family: var(--font-display); font-weight: 800; color: var(--brand); font-size: 15px; }

.b-print-detail{
	display: flex;
	align-items: center;
	gap: 7px;
}

.h-4{
  height: calc(var(--spacing) * 4);
}
.w-4{
  width: calc(var(--spacing) * 4);
}

.h-5{
  height: calc(var(--spacing) * 5);
}
.w-5{
  width: calc(var(--spacing) * 5);
}


.fav-list{ display: grid; gap: 12px; }

.fav-item{
  display: grid;
  grid-template-columns: 160px 1fr auto;
  gap: 20px;
  align-items: center;
  padding: 12px;
  background: var(--bg-white);
  border: 1px solid var(--line);
  border-radius: var(--radius-m);
  transition: box-shadow .18s ease, border-color .18s ease;
}
.fav-item:hover{ box-shadow: var(--shadow-m); border-color: transparent; }

.fav-item__media{
  aspect-ratio: 4 / 3;
  border-radius: var(--radius-s);
  overflow: hidden;
  background: url(images/loader.gif) no-repeat center center;
}
.fav-item__media img{ width: 100%; height: 100%; object-fit: cover; }

.fav-item__body{ display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.fav-item__title{
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 700;
  color: var(--ink);
}
.fav-item__title:hover{ color: var(--teal); }
.fav-item__meta{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
  font-size: 13px;
  color: var(--ink-soft);
}
.fav-item__id{ color: var(--ink-mute); }

.fav-item__side{
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 12px;
  text-align: right;
}
.fav-item__actions{ display: flex; gap: 8px; }

@media (max-width: 880px){
  .fav-item{ grid-template-columns: 120px 1fr; }
  .fav-item__side{
    grid-column: 1 / -1;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    text-align: left;
  }
}
@media (max-width: 560px){
  .fav-item{ grid-template-columns: 1fr; }
  .fav-item__media{ aspect-ratio: 16 / 9; max-height: 120px; margin: 0px auto;}
  
        
}


/* ---------- Modal ---------- */
.modal-overlay{
  position: fixed; inset: 0;
  background: rgba(12,20,33,.55);
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
  z-index: 400;
}
.modal-overlay.is-open{ display: flex; }
.modal{
  background: #fff;
  border-radius: var(--radius-l);
  padding: 32px;
  width: 100%;
  max-width: 420px;
  position: relative;
  box-shadow: var(--shadow-l);
}
.modal__close{
  position: absolute; top: 16px; right: 16px;
  width: 32px; height: 32px; border-radius: 50%;
  display: grid; place-items: center;
  color: var(--ink-mute);
}
.modal__close:hover{ background: var(--bg-muted); }

.sidebar-card .uf-inline h3,
.modal h3{ font-size: 20px; margin-bottom: 6px; }
.sidebar-card .uf-inline p,
.modal p{ font-size: 14px; color: var(--ink-mute); margin-bottom: 20px; }
.sidebar-card .uf-form.is-success .form-success{
	display: flex !important;
}

/* ---------- Footer ---------- */
.footer{ background: var(--bg-navy); color: rgba(255,255,255,.6); padding-block: 64px 28px; flex-shrink: 0; }
.footer__top{ display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 32px; padding-bottom: 40px; }
.footer__logo{ font-family: var(--font-display); font-weight: 800; font-size: 20px; color: #fff; margin-bottom: 14px; display: flex; align-items: center; gap: 10px; }
.footer__about{ font-size: 14px; max-width: 280px; }
.footer h4{ color: #fff; font-size: 14px; font-weight: 700; margin-bottom: 16px; }


.footer__lines__menu{
	margin-top: auto;      
  padding-top: 20px;       
  margin-bottom: 20px;
  flex-shrink: 0;
}

.footer__lines__menu .footer__lines__menu__items{ 
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
    width: 100%;
}

.footer__lines__menu a{ 
    padding: 6px 12px;
    border: 0;
    border-radius: var(--radius-s);
    background: #eaf1ff;
    color: var(--bg-navy);
    font-size: 14px;
    cursor: pointer;
    flex: 1;
    white-space: nowrap;
    text-align: center;
}

.footer__lines__menu a:hover{ background: #d9e6ff; }

.footer__lines__menu a.selected{ background: var(--bg-navy); color: #FFF; }

.footer__list{ display: grid; gap: 10px; }
.footer__list a{ font-size: 14px; }
.footer__list a:hover{ color: #fff; }

.footer address{ font-style: normal; font-size: 14px; margin-top: 10px; }
.footer__subscribe{ display: flex; gap: 8px; margin-top: 14px; }
.footer__subscribe input{
  flex: 1; border-radius: var(--radius-s); border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.06); padding: 10px 14px; font-size: 13px; color: #fff; max-height: 42px;
}
.footer__subscribe input::placeholder{ color: rgba(255,255,255,.4); }
.footer__bottom{
  display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px;
  padding-top: 24px; border-top: 1px solid rgba(255,255,255,.12);
  font-size: 13px;
}
.footer__bottom a:hover{ color: #fff; }
.footer__legal{ display: flex; gap: 18px; flex-wrap: wrap; }

/* ---------- Back to top ---------- */
.to-top{
  position: fixed; right: 24px; bottom: 24px;
  width: 46px; height: 46px; border-radius: 50%;
  background: var(--brand); color: #fff;
  display: grid; place-items: center;
  box-shadow: var(--shadow-m);
  opacity: 0; visibility: hidden; transform: translateY(8px);
  transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
  z-index: 150;
}
.to-top.is-visible{ opacity: 1; visibility: visible; transform: translateY(0); }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1080px){
  .tiles{ grid-template-columns: repeat(2, 1fr); }
  .link-columns{ grid-template-columns: repeat(2, 1fr); }
  .listings-layout{ grid-template-columns: 1fr; }
  .filters{ position: static; }
  .contact-layout{ grid-template-columns: 1fr; }
  .callback-card{ position: static; }
  .object-top{ grid-template-columns: 1fr; }
  .sidebar-card{ position: static; }
  .footer__top{ grid-template-columns: 1fr 1fr; }
  .cl-head-blk{flex: 100%}
  .listings-toolbar{    margin-left: 0;}
  .listings-head .view-toggle{margin-left: auto}
  .header__actions{     margin-left: auto; }
  .tabs__list{flex-wrap: wrap}
  .gallery__main{ min-height: auto; background-size: contain;}
  .gallery__thumbs{ grid-template-columns: repeat(4, 1fr);}
}

@media (max-width: 880px){
  .main-cont-views-blk-section.cl-view-table .cards .card{flex-direction: column;}
  .nav{ display: none; }
  .burger{ display: flex; }
  .mobile-nav{ display: block; }
  .header__phone{ display: none; }
  .header__bar{ height: 68px; }
  .header .btn--dark.btn--sm{ display: none; }

  .hero{ padding-block: 40px 72px; }
  .hero h1{ font-size: 32px; }
  .search-card__grid{ grid-template-columns: 1fr 1fr; }
  .search-card__grid .btn{ grid-column: 1 / -1; }
  .search-card__grid .search-card__count{ color: #000;}
  .hero__stats{ grid-template-columns: repeat(3, 1fr); gap: 12px; }
  .hero__stats strong{ font-size: 22px; }

  .split{ grid-template-columns: 1fr; gap: 28px; }
  .grid--3{ grid-template-columns: 1fr 1fr; }
  .grid--4{ grid-template-columns: 1fr 1fr; }
  .tiles{ grid-template-columns: 1fr 1fr; }
  .cards{ grid-template-columns: 1fr; }
  .cards--3{ grid-template-columns: 1fr; }
  .link-columns{ grid-template-columns: 1fr; gap: 24px; }
  .contact-cards{ grid-template-columns: 1fr; }
  .object-facts{ grid-template-columns: 1fr 1fr; }
  .cta-banner{ padding: 32px; }
  .footer__top{ grid-template-columns: 1fr; gap: 28px; }
  .gallery__thumbs{ grid-template-columns: repeat(4, 1fr); }
  h1.h1{ font-size: 30px; }
  h2.h2{ font-size: 26px; }
  .section{ padding-block: 48px; }
  .grid--2{grid-template-columns: 1fr;}
  #listings .filters{position: relative;top: 0px;}
  #listings .badge { flex-direction: row;}
  #listings .badge { flex-direction: row;}
  #listings .badge span {    margin-left: auto;}
  .main-cont-views-blk-section .cards .card__media img{	  
	position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
  .listings-head .view-toggle{display: none !important}
  .main-cont-views-blk-section .cards .card__foot{ display: grid; gap: 10px;}
  .bx_filter .bx_ui_slider_track{ display: none !important}
  .flex-range-block .bx_filter_parameters_box_container_block{
	  flex: 0 0 calc(50% - 5px);
      max-width: calc(50% - 5px);
      box-sizing: border-box;
  }
  
  .flex-range-block .bx_filter_parameters_box_container_block input.min-price, 
  .flex-range-block .bx_filter_parameters_box_container_block input.max-price {
		width: 100%;
	}
  .uf-form .form-consent{ display: none !important}
  .cl_other_square li .card__foot,
  .cl_other_square li > a{ flex-wrap: wrap;}
  .gallery__main{    aspect-ratio: 9 / 7;}
  .filters.custom-vertical{ display: none !important}
  .filters.custom-vertical.sf-sheet{ display: block !important}
  .filters.custom-vertical .sf-head{ display: block !important}
  .filters.custom-vertical .sf-foot{ display: block !important}
  
}

@media (max-width: 560px){
  .container{ padding-inline: 16px; }
  .search-card{ padding: 16px; }
  .search-card__grid{ grid-template-columns: 1fr; }
  .grid--3, .grid--4{ grid-template-columns: 1fr; }
  .object-facts{ grid-template-columns: 1fr 1fr; }
  .cta-banner{ flex-direction: column; align-items: flex-start; }
  .page-hero h1{ font-size: 28px; }
  .stat-row{ gap: 24px; }
  .similar-card{ flex-direction: column; }
  .similar-card__media{ width: 100%; height: 140px; }
}
