:root{
  --bg:#f6f7fb;
  --card:#fff;
  --text:#111827;
  --muted:#6b7280;
  --brand:#1f6feb;
  --border:#e5e7eb;
  --shadow: 0 8px 24px rgba(17,24,39,.08);
}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,'Noto Sans',sans-serif;background:var(--bg);color:var(--text);overflow-x:hidden}
.container{max-width:1200px;margin:0 auto;padding:18px;width:100%;box-sizing:border-box}
/* Шапка сайта */
.topbar{
  background:#fff;border-bottom:1px solid var(--border);
  position:sticky;top:0;z-index:100;box-shadow:0 1px 3px rgba(0,0,0,.05)
}
.topbar__inner{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:12px 0;flex-wrap:wrap
}
.logo{
  font-weight:800;font-size:20px;text-decoration:none;color:var(--text);
  letter-spacing:.2px;display:flex;align-items:center;gap:8px;
  transition:color .2s
}
.logo:hover{color:var(--brand)}
.logo i{font-size:22px;color:var(--brand)}
.logo__img{
  height:32px;width:auto;object-fit:contain;display:block
}

/* Навигация по категориям */
.topbar__nav{
  display:flex;align-items:center;gap:4px;flex:1;
  justify-content:center;flex-wrap:wrap;position:relative
}
@media(max-width:768px){
  .topbar__nav{order:3;width:100%;margin-top:8px;justify-content:flex-start}
}
.topbar__nav-item{
  position:relative
}
.topbar__nav-link{
  display:inline-flex;align-items:center;
  padding:8px 12px;text-decoration:none;color:var(--text);
  font-size:14px;font-weight:500;border-radius:6px;
  transition:all .2s;white-space:nowrap
}
.topbar__nav-link:hover{
  background:var(--bg);color:var(--brand)
}
.topbar__nav-link:active{background:#e5e7eb}
.topbar__nav-item--has-dropdown:hover .topbar__nav-dropdown{
  display:block
}
.topbar__nav-dropdown{
  display:none;position:absolute;top:100%;left:0;margin-top:4px;
  background:#fff;border:1px solid var(--border);border-radius:8px;
  box-shadow:0 4px 12px rgba(0,0,0,.15);min-width:200px;z-index:100;
  padding:8px 0
}
.topbar__nav-dropdown-link{
  display:block;padding:10px 16px;text-decoration:none;color:var(--text);
  font-size:14px;transition:background .2s
}
.topbar__nav-dropdown-link:hover{
  background:#f3f4f6;color:var(--brand)
}

/* Пользовательское меню */
.topbar__user{
  display:flex;align-items:center;gap:8px
}
.topbar__btn{
  padding:8px 16px;border-radius:6px;text-decoration:none;
  font-size:14px;font-weight:600;display:inline-flex;
  align-items:center;gap:6px;transition:all .2s;
  border:1px solid transparent
}
.topbar__btn--login{
  color:var(--text);background:transparent;border-color:var(--border)
}
.topbar__btn--login:hover{
  background:var(--bg);border-color:var(--brand);color:var(--brand)
}
.topbar__btn--register{
  color:#fff;background:var(--brand);border-color:var(--brand)
}
.topbar__btn--register:hover{
  background:#1a5fd9;border-color:#1a5fd9;transform:translateY(-1px)
}

/* Выпадающее меню пользователя */
.topbar__user-menu{
  position:relative
}
.topbar__user-link{
  display:flex;align-items:center;gap:8px;padding:8px 12px;
  text-decoration:none;color:var(--text);font-size:14px;
  border-radius:6px;transition:background .2s
}
.topbar__user-link:hover{background:var(--bg)}
.topbar__user-name{
  max-width:150px;overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap
}
.topbar__user-dropdown{
  position:absolute;top:100%;right:0;margin-top:8px;
  background:#fff;border:1px solid var(--border);border-radius:8px;
  box-shadow:0 4px 12px rgba(0,0,0,.1);min-width:200px;
  display:none;z-index:10
}
.topbar__user-menu:hover .topbar__user-dropdown{display:block}
.topbar__user-dropdown-item{
  display:flex;align-items:center;gap:10px;padding:12px 16px;
  text-decoration:none;color:var(--text);font-size:14px;
  transition:background .2s;border-bottom:1px solid var(--border)
}
.topbar__user-dropdown-item:last-child{border-bottom:none}
.topbar__user-dropdown-item:hover{
  background:var(--bg);color:var(--brand)
}
.topbar__user-dropdown-item i{width:18px;text-align:center;color:var(--muted)}
.hero{padding:18px 0}
.hero h1{margin:0 0 6px 0;font-size:28px}
.muted{color:var(--muted)}
.small{font-size:13px}

.filters{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:14px;box-shadow:var(--shadow)}
.filters__row{display:grid;grid-template-columns: 2fr 1fr 1fr 1fr .8fr .8fr .8fr auto;gap:12px;align-items:end}
@media(max-width:1100px){.filters__row{grid-template-columns:1fr 1fr;}}
.field label{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}
.field input,.field select,.field textarea{
  width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:10px;
  background:#fff;outline:none
}
.field textarea{resize:vertical}
.field--btn{min-width:120px}
.field--checkbox{margin-top:8px}
.checkbox-label{
  display:flex;align-items:flex-start;gap:8px;cursor:pointer;
  font-size:14px;line-height:1.5
}
.checkbox-label input[type="checkbox"]{
  margin-top:2px;flex-shrink:0;cursor:pointer
}
.checkbox-label a{color:var(--brand);text-decoration:none}
.checkbox-label a:hover{text-decoration:underline}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:12px 20px;border-radius:8px;border:none;
  background:var(--brand);color:#fff;text-decoration:none;
  font-weight:600;font-size:15px;cursor:pointer;
  transition:background .2s,transform .1s;
  position:relative
}
.btn:hover:not(:disabled){background:#1a5fd9;transform:translateY(-1px)}
.btn:active:not(:disabled){transform:translateY(0)}
.btn:disabled{opacity:0.6;cursor:not-allowed}
.btn-loader{display:inline-block;animation:spin 1s linear infinite}
@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.btnrow{display:flex;flex-wrap:wrap;gap:10px}

.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:14px}
@media(max-width:1100px){.grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.grid{grid-template-columns:1fr}}
.grid--3{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.grid--3{grid-template-columns:1fr}}

/* Результаты поиска с картой */
.search-results{
  display:flex;flex-direction:column;gap:0;margin-top:14px
}
.search-results__grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:14px
}
@media(max-width:1100px){.search-results__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.search-results__grid{grid-template-columns:1fr}}

/* Режим сетка + карта - сетка слева (1/4), карта справа (3/4) */
.search-results--grid-map{
  display:flex;flex-direction:row;gap:14px;align-items:flex-start
}
.search-results--grid-map .search-results__grid{
  flex:0 0 25%;width:25%;display:flex;flex-direction:column;gap:14px;
  max-height:600px;overflow-y:auto
}
.search-results--grid-map .search-results__grid .card{
  width:100%;flex-shrink:0
}
.search-results--grid-map .search-results__map{
  flex:0 0 75%;width:75%;height:600px;margin-top:0;position:sticky;top:0
}
@media(max-width:1024px){
  .search-results--grid-map{
    flex-direction:column
  }
  .search-results--grid-map .search-results__grid{
    flex:1 1 auto;width:100%
  }
  .search-results--grid-map .search-results__map{
    flex:1 1 auto;width:100%;height:400px
  }
}

.search-results__map{
  width:100%;height:600px;border-radius:12px;overflow:hidden;
  border:1px solid var(--border);margin-top:14px;background:#f3f4f6
}
@media(max-width:1024px){
  .search-results__map{
    height:400px
  }
}

/* Переключатель режимов отображения */
.view-mode-switcher{
  display:flex;gap:2px;background:#fff;border:1px solid var(--border);
  border-radius:8px;padding:2px
}
.view-mode-btn{
  padding:6px 10px;border:none;background:transparent;border-radius:6px;
  color:var(--muted);cursor:pointer;transition:all .2s;
  display:flex;align-items:center;gap:4px;font-size:13px;white-space:nowrap
}
.view-mode-btn:hover{
  background:var(--bg);color:var(--text)
}
.view-mode-btn.is-active{
  background:var(--brand);color:#fff
}
.view-mode-btn i{font-size:12px}
@media(max-width:640px){
  .view-mode-switcher{
    padding:2px;gap:1px
  }
  .view-mode-btn{
    padding:6px 8px;font-size:12px
  }
  .view-mode-btn span{display:none}
}

/* Режим только карта - скрываем сетку */
.search-results[data-mode="map"] .search-results__grid{
  display:none
}

.card{
  display:block;background:var(--card);border:1px solid var(--border);border-radius:16px;
  overflow:hidden;text-decoration:none;color:inherit;box-shadow:var(--shadow)
}
.card__img{height:170px;background:#eef2ff;display:flex;align-items:center;justify-content:center}
.card__img img{width:100%;height:100%;object-fit:cover}
.noimg{color:var(--muted);font-weight:700}
.noimg.big{height:320px;border-radius:16px;background:#eef2ff;display:flex;align-items:center;justify-content:center}
.card__body{padding:12px}
.card__price{font-size:18px;font-weight:900;margin-bottom:6px}
.card__title{font-weight:800;line-height:1.2;margin-bottom:6px}
.card__meta{color:var(--muted);font-size:14px;margin-bottom:6px}

.results-head{
  display:flex;justify-content:space-between;align-items:center;
  margin-top:14px;flex-wrap:wrap;gap:12px
}
@media(max-width:640px){
  .results-head{
    flex-direction:column;align-items:flex-start
  }
}

.pager{
  display:flex;gap:6px;justify-content:center;align-items:center;
  margin:24px 0;flex-wrap:wrap
}
.pager__link{
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 14px;border:1px solid var(--border);border-radius:8px;
  background:#fff;text-decoration:none;color:var(--text);
  font-size:14px;font-weight:500;transition:all .2s;
  min-width:40px;justify-content:center
}
.pager__link:hover{
  border-color:var(--brand);color:var(--brand);background:#f8f9fa
}
.pager__link.is-active{
  border-color:var(--brand);background:var(--brand);color:#fff;
  font-weight:600;cursor:default
}
.pager__link.is-active:hover{
  background:var(--brand);color:#fff
}
.pager__link--prev,.pager__link--next{
  padding:8px 16px;font-weight:500
}
.pager__link--disabled{
  opacity:.5;cursor:not-allowed;pointer-events:none
}
.pager__ellipsis{
  padding:8px 4px;color:var(--muted);font-size:14px;user-select:none
}

.box{
  background:var(--card);border:1px solid var(--border);border-radius:16px;padding:16px;box-shadow:var(--shadow)
}
.error{color:#b91c1c}
.ok{color:#166534}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:10px;border-bottom:1px solid var(--border);text-align:left;font-size:14px}
.table th{color:var(--muted);font-weight:800}

/* 1. Верхняя панель с хлебными крошками */
.obj-top-bar{
  display:flex;justify-content:space-between;align-items:flex-start;
  gap:16px;margin:20px 0 16px;padding-bottom:12px;border-bottom:1px solid var(--border);
  flex-wrap:wrap
}
.obj-top-bar__left{flex:1;min-width:0}
.obj-top-bar__subtitle{
  font-size:14px;color:var(--muted);margin-bottom:8px
}
.obj-breadcrumbs{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;
  max-width:100%;word-break:break-word
}
.obj-breadcrumbs a{
  color:var(--brand);text-decoration:none;transition:color .2s
}
.obj-breadcrumbs a:hover{color:var(--text);text-decoration:underline}
.obj-breadcrumbs__sep{
  color:var(--muted);font-size:12px
}
.obj-top-bar__right{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap
}
.obj-meta{
  display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)
}
.obj-meta__text{white-space:nowrap}
.obj-badge{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 12px;background:rgba(31,111,235,.1);
  color:var(--brand);border-radius:6px;font-size:12px;font-weight:600;
  white-space:nowrap
}
.obj-badge i{font-size:11px}

/* 2. Главный заголовок и адрес + действия */
.obj-header{
  margin-bottom:20px;display:flex;justify-content:space-between;
  gap:16px;flex-wrap:wrap;align-items:flex-start
}
.obj-header__main{flex:1;min-width:0}
.obj-header__title{
  font-size:32px;font-weight:700;line-height:1.3;margin:0 0 12px;color:var(--text);
  word-wrap:break-word;overflow-wrap:break-word;max-width:100%
}
@media(max-width:640px){.obj-header__title{font-size:24px}}
.obj-header__address{
  font-size:15px;color:var(--text);display:flex;align-items:center;
  gap:8px;flex-wrap:wrap;word-break:break-word;max-width:100%
}
.obj-header__address a{
  color:var(--brand);text-decoration:none;transition:color .2s
}
.obj-header__address a:hover{color:var(--text);text-decoration:underline}
.obj-header__address-sep{
  color:var(--muted);font-size:12px
}
.obj-header__map-link{
  padding:4px 8px;background:transparent;border:1px solid var(--border);
  border-radius:4px;color:var(--muted);font-size:13px;cursor:pointer;
  transition:all .2s;display:inline-flex;align-items:center;gap:4px
}
.obj-header__map-link:hover{
  border-color:var(--brand);color:var(--brand);background:rgba(31,111,235,.05)
}
.obj-header__actions{
  display:flex;gap:6px;flex-wrap:wrap;flex-shrink:0;
  align-items:flex-start
}
@media(max-width:640px){
  .obj-header__actions{
    width:100%;justify-content:flex-start;margin-top:12px
  }
}
.obj-action-btn{
  padding:6px 10px;border:1px solid var(--border);background:#fff;
  border-radius:6px;color:var(--text);font-size:12px;cursor:pointer;
  transition:all .2s;display:flex;align-items:center;gap:4px;
  white-space:nowrap;flex-shrink:0
}
.obj-action-btn:hover{
  border-color:var(--brand);color:var(--brand);background:rgba(31,111,235,.05)
}
.obj-action-btn i{font-size:13px;flex-shrink:0}
.obj-action-btn span{
  display:inline
}
@media(max-width:768px){.obj-action-btn span{display:none}}
@media(max-width:640px){
  .obj-action-btn{
    padding:8px 10px;font-size:13px
  }
  .obj-action-btn i{font-size:14px}
}

/* Основной layout страницы объекта */
.obj-layout{
  display:grid;grid-template-columns:1fr 380px;gap:24px;margin-top:0;
  width:100%;max-width:100%;overflow-x:hidden
}
@media(max-width:1024px){.obj-layout{grid-template-columns:1fr}}
.obj-layout__left{
  display:flex;flex-direction:column;gap:24px;
  min-width:0;max-width:100%;overflow-x:hidden
}
.obj-layout__right{
  display:flex;flex-direction:column;gap:20px;
  min-width:0;max-width:100%
}

/* Секции */
.obj-section{
  background:var(--card);border:1px solid var(--border);border-radius:12px;
  padding:20px;box-shadow:0 1px 3px rgba(0,0,0,.05)
}
.obj-section__title{
  font-size:20px;font-weight:700;margin:0 0 16px;color:var(--text)
}

/* Слайдер галереи */
.gallery-slider{position:relative;background:var(--card);border:1px solid var(--border);border-radius:12px;overflow:hidden}
.gallery-slider__main{
  position:relative;width:100%;height:600px;background:#f3f4f6
}
@media(max-width:640px){.gallery-slider__main{height:400px}}
.gallery-slider__main img{
  width:100%;height:100%;object-fit:cover;display:block
}
.gallery-slider__prev,.gallery-slider__next{
  position:absolute;top:50%;transform:translateY(-50%);
  width:48px;height:48px;border-radius:50%;border:none;
  background:rgba(255,255,255,.95);color:var(--text);
  font-size:16px;cursor:pointer;z-index:2;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 2px 12px rgba(0,0,0,.15);transition:background .2s
}
.gallery-slider__prev:hover,.gallery-slider__next:hover{background:#fff}
.gallery-slider__prev{left:16px}
.gallery-slider__next{right:16px}
.gallery-slider__counter{
  position:absolute;bottom:16px;right:16px;
  background:rgba(0,0,0,.6);color:#fff;padding:6px 12px;
  border-radius:20px;font-size:13px;font-weight:600;z-index:2
}
.gallery-slider__thumbs{
  display:flex;gap:8px;padding:12px;overflow-x:auto;
  background:var(--card);border-top:1px solid var(--border);
  width:100%;max-width:100%
}
.gallery-slider__thumb{
  width:88px;height:88px;object-fit:cover;border-radius:8px;
  border:2px solid transparent;cursor:pointer;flex-shrink:0;
  opacity:.6;transition:all .2s
}
.gallery-slider__thumb:hover{opacity:1;transform:scale(1.05)}
.gallery-slider__thumb.active{
  opacity:1;border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)
}

/* 4. Блок ключевых характеристик */
.obj-key-features{
  display:grid;grid-template-columns:repeat(5,1fr);gap:16px;
  padding:20px;background:var(--card);border:1px solid var(--border);
  border-radius:12px;margin-top:16px;box-shadow:0 1px 3px rgba(0,0,0,.05)
}
@media(max-width:1024px){.obj-key-features{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.obj-key-features{grid-template-columns:repeat(2,1fr)}}
.obj-key-features__item{
  display:flex;flex-direction:column;gap:6px;text-align:center
}
.obj-key-features__label{
  font-size:12px;color:var(--muted);font-weight:500
}
.obj-key-features__value{
  font-size:18px;font-weight:700;color:var(--text)
}

/* Характеристики (детальные) */
.obj-features{
  display:grid;grid-template-columns:repeat(2,1fr);gap:16px
}
@media(max-width:640px){.obj-features{grid-template-columns:1fr}}
.obj-features__item{
  display:flex;flex-direction:column;gap:4px;padding-bottom:16px;
  border-bottom:1px solid var(--border)
}
.obj-features__item:last-child{border-bottom:none}
.obj-features__label{
  font-size:14px;color:var(--muted);font-weight:500
}
.obj-features__value{
  font-size:16px;font-weight:600;color:var(--text)
}

/* Описание */
.obj-description{
  font-size:16px;line-height:1.6;color:var(--text);white-space:pre-wrap;
  word-wrap:break-word;overflow-wrap:break-word;max-width:100%
}

/* Карта */
.obj-map{
  width:100%;height:400px;border-radius:8px;overflow:hidden
}

/* 9. Блок продавца */
.obj-seller-box{
  background:var(--card);border:1px solid var(--border);border-radius:12px;
  padding:20px;margin-bottom:20px;box-shadow:0 1px 3px rgba(0,0,0,.05)
}
.obj-seller-box__header{
  display:flex;justify-content:space-between;align-items:center;
  margin-bottom:12px;flex-wrap:wrap;gap:8px
}
.obj-seller-box__type{
  font-size:11px;font-weight:700;text-transform:uppercase;
  color:var(--muted);letter-spacing:.5px
}
.obj-seller-box__badge{
  display:inline-flex;align-items:center;gap:4px;
  padding:4px 8px;background:rgba(22,101,52,.1);
  color:#166534;border-radius:4px;font-size:11px;font-weight:600
}
.obj-seller-box__logo{
  width:60px;height:60px;object-fit:cover;border-radius:8px;
  border:1px solid var(--border);margin-bottom:12px
}
.obj-seller-box__name{
  font-size:18px;font-weight:700;margin-bottom:8px;color:var(--text)
}
.obj-seller-box__info{
  font-size:13px;color:var(--muted);line-height:1.6
}

/* Блок цены */
.obj-price-box{
  background:var(--card);border:1px solid var(--border);border-radius:12px;
  padding:24px;margin-bottom:20px;box-shadow:0 1px 3px rgba(0,0,0,.05)
}
.obj-price-box__main{
  font-size:36px;font-weight:700;line-height:1.2;color:var(--text);margin-bottom:8px
}
.obj-price-box__per-m2{
  font-size:16px;color:var(--muted);margin-bottom:8px
}
.obj-price-box__badge{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 12px;background:rgba(22,101,52,.1);
  color:#166534;border-radius:6px;font-size:13px;font-weight:600;margin-bottom:12px
}
.obj-price-box__change{
  margin-top:12px;padding-top:12px;border-top:1px solid var(--border);
  display:flex;flex-direction:column;gap:8px
}

/* Действия продавца */
.obj-seller-actions{
  background:var(--card);border:1px solid var(--border);border-radius:12px;
  padding:20px;margin-bottom:20px;box-shadow:0 1px 3px rgba(0,0,0,.05)
}
.obj-seller-actions__secondary{
  margin-top:16px;padding-top:16px;border-top:1px solid var(--border)
}
.obj-action-link{
  display:flex;align-items:center;gap:8px;color:var(--brand);
  text-decoration:none;font-size:14px;cursor:pointer;
  transition:color .2s;margin-bottom:8px
}
.obj-action-link:hover{color:var(--text)}
.obj-action-link i{font-size:14px}
.obj-offer-price label{
  display:block;font-size:13px;color:var(--muted);margin-bottom:4px
}
.btn--primary{
  background:var(--brand);color:#fff;border-color:var(--brand)
}
.btn--primary:hover{
  background:#1a5fd9;border-color:#1a5fd9
}
.btn--secondary{
  background:transparent;color:var(--text);border-color:var(--border)
}
.btn--secondary:hover{
  background:var(--bg);border-color:var(--brand);color:var(--brand)
}

/* 3. Ипотечный баннер */
.obj-mortgage-banner{
  background:linear-gradient(135deg,var(--brand) 0%,#1a5fd9 100%);
  color:#fff;border-radius:12px;padding:20px;margin-bottom:20px;
  box-shadow:0 4px 12px rgba(31,111,235,.2)
}
.obj-mortgage-banner__title{
  font-size:18px;font-weight:700;margin-bottom:12px
}
.obj-mortgage-banner__rates{
  display:flex;gap:16px;margin-bottom:12px;font-size:14px;opacity:.95
}
.obj-mortgage-banner__banks{
  display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap
}
.obj-mortgage-banner__bank{
  padding:4px 10px;background:rgba(255,255,255,.2);
  border-radius:4px;font-size:12px;font-weight:600
}
.obj-mortgage-banner .btn{
  background:#fff;color:var(--brand);border-color:#fff
}
.obj-mortgage-banner .btn:hover{
  background:rgba(255,255,255,.95);transform:translateY(-1px)
}

/* 10. Похожие объекты */
.obj-similar-grid{
  display:grid;grid-template-columns:repeat(5,1fr);gap:16px;
  margin-top:16px;width:100%;max-width:100%;overflow-x:hidden
}
@media(max-width:1200px){.obj-similar-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:900px){.obj-similar-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.obj-similar-grid{grid-template-columns:repeat(2,1fr);gap:12px}}
.obj-similar-card{
  display:block;background:var(--card);border:1px solid var(--border);
  border-radius:12px;overflow:hidden;text-decoration:none;color:inherit;
  transition:all .2s;box-shadow:0 1px 3px rgba(0,0,0,.05)
}
.obj-similar-card:hover{
  transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.1);
  border-color:var(--brand)
}
.obj-similar-card__img{
  width:100%;height:160px;object-fit:cover;display:block;background:#f3f4f6
}
.obj-similar-card__img--noimg{
  display:flex;align-items:center;justify-content:center;
  color:var(--muted);font-size:13px
}
.obj-similar-card__body{
  padding:12px
}
.obj-similar-card__title{
  font-size:14px;font-weight:600;margin-bottom:6px;line-height:1.3;
  color:var(--text)
}
.obj-similar-card__price{
  font-size:16px;font-weight:700;color:var(--text);margin-bottom:4px
}
.obj-similar-card__address{
  font-size:12px;color:var(--muted);line-height:1.4
}
.breadcrumbs{
  margin:16px 0;font-size:14px
}
.breadcrumbs a{
  text-decoration:none;color:var(--brand);font-weight:600;
  transition:color .2s
}
.breadcrumbs a:hover{color:var(--text)}
.raw summary{cursor:pointer;color:var(--muted);margin-top:10px}
.raw pre{white-space:pre-wrap;background:#0b1020;color:#e5e7eb;padding:12px;border-radius:12px;overflow:auto}
/* Футер */
.footer{
  margin-top:48px;padding:32px 0 24px;background:#fff;
  border-top:1px solid var(--border);color:var(--muted)
}
.footer__inner{
  display:flex;flex-direction:column;gap:24px
}
.footer__content{
  display:grid;grid-template-columns:repeat(3,1fr);gap:32px
}
@media(max-width:768px){.footer__content{grid-template-columns:1fr;gap:24px}}
.footer__section h3{
  font-size:16px;font-weight:700;color:var(--text);margin:0 0 12px
}
.footer__section p{margin:0;line-height:1.6}
.footer__nav{
  display:flex;flex-direction:column;gap:8px
}
.footer__nav a{
  color:var(--muted);text-decoration:none;font-size:14px;
  transition:color .2s
}
.footer__nav a:hover{color:var(--brand)}
.footer__copyright{
  padding-top:24px;border-top:1px solid var(--border);
  text-align:center;font-size:13px;display:flex;justify-content:center;
  align-items:center;gap:16px;flex-wrap:wrap
}
.footer__privacy-link{
  color:var(--muted);text-decoration:none;transition:color .2s
}
.footer__privacy-link:hover{color:var(--brand)}

/* Виджет изменения цены */
.price-change-pill{
  display:inline-flex;align-items:center;gap:6px;
  padding:4px 8px;border-radius:999px;font-size:13px;font-weight:600;
}
.price-change-pill--up{background:rgba(185,28,28,.08);color:#b91c1c;}
.price-change-pill--down{background:rgba(22,101,52,.08);color:#166534;}
.price-change-pill__arrow{font-size:12px;}
.price-change-link{
  margin-left:8px;font-size:13px;color:var(--brand);cursor:pointer;text-decoration:underline;
}

/* Модалка */
.modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:40;}
.modal.is-open{display:flex;}
.modal__backdrop{position:absolute;inset:0;background:rgba(15,23,42,.45);}
.modal__content{
  position:relative;z-index:41;background:#fff;border-radius:16px;
  box-shadow:var(--shadow);max-width:520px;width:100%;padding:18px;
}
.modal__close{
  position:absolute;top:8px;right:10px;border:none;background:transparent;
  font-size:20px;cursor:pointer;color:var(--muted);
}

/* Блок агента */
.agent-card{
  display:flex;gap:16px;align-items:flex-start
}
.agent-card__photo{
  width:80px;height:80px;border-radius:50%;object-fit:cover;
  border:2px solid var(--border);flex-shrink:0;background:#f3f4f6
}
.agent-card__info{flex:1}
.agent-card__name{
  font-weight:700;font-size:18px;margin-bottom:12px;color:var(--text)
}
.agent-card__contacts{
  display:flex;flex-direction:column;gap:10px
}
.agent-card__link{
  display:inline-flex;align-items:center;gap:8px;
  color:var(--brand);text-decoration:none;font-size:15px;
  transition:color .2s
}
.agent-card__link:hover{color:var(--text);text-decoration:none}
.agent-card__link--whatsapp{color:#25d366}
.agent-card__link--whatsapp:hover{color:#128c7e}
.agent-card__link i{font-size:16px;width:20px}

/* Ипотечный калькулятор */
.mortgage-form .field{margin-bottom:16px}
.mortgage-form .field:last-of-type{margin-bottom:20px}
.mortgage-result{
  margin-top:20px;padding:16px;background:#f9fafb;
  border-radius:8px;border:1px solid var(--border)
}
.mortgage-result__content{
  display:flex;flex-direction:column;gap:12px
}
.mortgage-result__item{
  display:flex;justify-content:space-between;align-items:center;
  padding-bottom:12px;border-bottom:1px solid var(--border)
}
.mortgage-result__item:last-child{border-bottom:none;padding-bottom:0}
.mortgage-result__label{
  font-size:14px;color:var(--muted)
}
.mortgage-result__value{
  font-size:18px;font-weight:700;color:var(--text)
}

/* Форма заявки */
.apply-form .field{margin-bottom:16px}
.apply-form .field:last-of-type{margin-bottom:20px}
.btn--block{width:100%;justify-content:center}

/* История цен в модалке */
.price-history-list{
  list-style:none;padding:0;margin:0;max-height:400px;overflow-y:auto
}
.price-history-list__item{
  display:flex;justify-content:space-between;align-items:center;
  padding:12px 0;border-bottom:1px solid var(--border)
}
.price-history-list__item:last-child{border-bottom:none}
.price-history-list__date{
  font-size:14px;color:var(--muted)
}
.price-history-list__price{
  font-size:16px;font-weight:700;color:var(--text)
}

/* Страницы */
.page-content{
  background:var(--card);border:1px solid var(--border);border-radius:12px;
  padding:32px;box-shadow:0 1px 3px rgba(0,0,0,.05);line-height:1.8
}
.page-content h1{font-size:32px;margin:0 0 20px;color:var(--text)}
.page-content h2{font-size:24px;margin:24px 0 16px;color:var(--text)}
.page-content h3{font-size:20px;margin:20px 0 12px;color:var(--text)}
.page-content ul,.page-content ol{margin:12px 0;padding-left:24px}
.page-content li{margin:8px 0}
.page-content p{margin:12px 0}
.page-content strong{font-weight:600}
