*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --navy:#001230;--nl:#1a2d52;--nd:#000a1f;
  --cream:#f8f6f2;--w:#fff;
  --g2:#e0e0e0;--g4:#999;--g6:#666;--g8:#333;
  --ok:#1f8a4c;--ok-bg:#e6f4eb;--gold:#f59e0b;--gold-l:#fcd34d;
  --r-pill:30px;--r-card:16px;
}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
.helpband,.ctab,section[id]{scroll-margin-top:130px}
body{font-family:"Montserrat",sans-serif;color:var(--navy);background:var(--cream);line-height:1.5;-webkit-font-smoothing:antialiased;font-weight:300}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
.it{font-family:Georgia,serif;font-style:italic;font-weight:400}
.cw{max-width:1640px;margin:0 auto;padding:0 24px}
@media(max-width:760px){.cw{padding:0 14px}}

/* HEADER (compact) */
.hd{padding:14px 0;background:#fff;position:sticky;top:0;z-index:90;border-bottom:1px solid var(--g2)}
.hd .cw{display:flex;align-items:center;justify-content:space-between;gap:20px}
.hd__logo{display:flex;align-items:center;gap:10px}
.hd__logo-mark{width:36px;height:36px;border:1.5px solid var(--navy);border-radius:9px;display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:15px}
.hd__logo-name{font-size:12px;font-weight:500;line-height:1.2}
.hd__logo-name .it{display:block;font-size:10px;color:var(--g6);font-weight:400}
.hd__nav{display:flex;gap:28px;font-size:14px}
.hd__nav a{padding:6px 0;position:relative}
.hd__nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--navy);transform:scaleX(0);transition:transform .2s;transform-origin:left}
.hd__nav a:hover::after,.hd__nav a.active::after{transform:scaleX(1)}
.hd__right{display:flex;align-items:center;gap:12px}
.hd__phone{display:flex;align-items:center;gap:7px;font-weight:500;font-size:14px}
.hd__phone svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.6}
.hd__fav{position:relative;width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1.5px solid var(--g2);transition:border-color .15s}
.hd__fav:hover{border-color:var(--navy)}
.hd__fav svg{width:17px;height:17px;stroke:var(--navy);fill:none;stroke-width:1.6}
.hd__fav-cnt{position:absolute;top:-3px;right:-3px;min-width:17px;height:17px;background:var(--navy);color:#fff;border-radius:9px;font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center;padding:0 4px}
.hd__cta{padding:10px 20px;background:var(--navy);color:#fff;border-radius:var(--r-pill);font-size:13px;font-weight:500;transition:background .15s}
.hd__cta:hover{background:var(--nl)}
.hd__burger{display:none;width:38px;height:38px;flex-direction:column;justify-content:center;align-items:center;gap:5px}
.hd__burger span{width:20px;height:1.5px;background:var(--navy);transition:transform .25s,opacity .15s}
.hd__burger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.hd__burger.open span:nth-child(2){opacity:0}
.hd__burger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
@media(max-width:960px){.hd__nav,.hd__phone span,.hd__fav,.hd__cta{display:none}.hd__burger{display:flex}}

/* MOBILE MENU */
.mob-menu{position:fixed;inset:0;background:var(--w);z-index:130;transform:translateX(100%);transition:transform .3s ease;display:flex;flex-direction:column;padding:74px 28px 28px;overflow-y:auto}
.mob-menu.open{transform:translateX(0)}
.mob-menu a{font-size:19px;padding:16px 0;border-bottom:1px solid var(--g2)}
.mob-menu__cta{margin-top:16px;padding:14px;background:var(--navy);color:#fff;border-radius:var(--r-pill);font-size:15px;font-weight:500;text-align:center}

/* INFO STRIP (single-line breadcrumbs + counts + sort + view) */
.is{background:#fff;border-bottom:1px solid var(--g2);font-size:13px}
.is .cw{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:46px;flex-wrap:wrap}
.is__left{display:flex;align-items:center;gap:6px;color:var(--g6);flex-wrap:wrap;font-weight:400}
.is__left .bc{color:var(--g4)}
.is__left .sep{opacity:.5;margin:0 4px}
.is__left b{color:var(--navy);font-weight:600}
.is__left .dot{width:6px;height:6px;border-radius:50%;background:var(--ok);display:inline-block;margin-right:4px;animation:pulse 2.4s infinite}
@keyframes pulse{0%,100%{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}
.is__right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.is__view{display:none;background:var(--cream);border-radius:var(--r-pill);padding:3px}
.is__view button{padding:7px 14px;font-size:12px;font-weight:500;border-radius:var(--r-pill);color:var(--g6);transition:all .15s}
.is__view button.active{background:var(--navy);color:#fff}
.is__sort{position:relative}
.is__sort-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:#fff;border:1px solid var(--g2);border-radius:var(--r-pill);font-size:12px;font-weight:500;min-height:34px}
.is__sort-btn:hover{border-color:var(--navy)}
.is__sort-btn svg{width:12px;height:12px;stroke:var(--g4);fill:none;stroke-width:2;transition:transform .2s}
.is__sort.open .is__sort-btn svg{transform:rotate(180deg)}
.is__sort-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:220px;background:#fff;border:1px solid var(--g2);border-radius:12px;padding:5px;box-shadow:0 12px 32px rgba(0,18,48,.12);display:none;z-index:100}
.is__sort.open .is__sort-menu{display:block}
.is__sort-item{display:flex;justify-content:space-between;align-items:center;width:100%;padding:9px 12px;background:none;border-radius:8px;font-size:13px;text-align:left;min-height:36px}
.is__sort-item:hover{background:var(--cream)}
.is__sort-item.active{background:var(--cream);font-weight:500}
.is__sort-check{width:13px;height:13px;stroke:var(--ok);fill:none;stroke-width:2.5;opacity:0}
.is__sort-item.active .is__sort-check{opacity:1}
@media(max-width:760px){.is__view{display:inline-flex}.is__left{font-size:12px;gap:4px;flex-wrap:wrap}.is__left .bc,.is__left>span:nth-child(5),.is__left>span.sep:nth-of-type(3){display:none}}

/* Map toggle button (info-strip) */
.is__map-toggle{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:#fff;border:1px solid var(--g2);border-radius:var(--r-pill);font-size:12px;font-weight:500;min-height:34px;cursor:pointer;transition:all .15s;color:var(--navy);white-space:nowrap}
.is__map-toggle:hover{border-color:var(--navy)}
.is__map-toggle svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:1.8}
body.map-hidden .is__map-toggle{background:var(--navy);color:#fff;border-color:var(--navy)}
@media(max-width:760px){.is__map-toggle{display:none}}

/* When map hidden — full-width cards in 4 cols */
body.map-hidden .aside-map{display:none}
body.map-hidden .catpage .cw{grid-template-columns:1fr;gap:0}
body.map-hidden .grid{grid-template-columns:repeat(4,1fr);gap:14px}
@media(max-width:1280px){body.map-hidden .grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:860px){body.map-hidden .grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){body.map-hidden .grid{grid-template-columns:1fr}}

/* FILTER BAR (single sticky row) */
.fb{background:#fff;border-bottom:1px solid var(--g2);position:sticky;top:65px;z-index:80;padding:10px 0}
.fb .cw{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.fb__group{display:flex;gap:6px;align-items:center}
.fp{position:relative}
.fp__btn{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;background:#fff;border:1.5px solid var(--g2);border-radius:var(--r-pill);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;min-height:38px;white-space:nowrap}
.fp__btn:hover{border-color:var(--navy)}
.fp.has-value .fp__btn{background:var(--navy);color:#fff;border-color:var(--navy)}
.fp.has-value .fp__btn svg{stroke:#fff}
.fp__btn svg{width:11px;height:11px;stroke:var(--g6);fill:none;stroke-width:2;transition:transform .2s}
.fp.open .fp__btn svg{transform:rotate(180deg)}
.fp__menu{position:absolute;top:calc(100% + 8px);left:0;min-width:240px;background:#fff;border:1px solid var(--g2);border-radius:14px;padding:16px;box-shadow:0 12px 36px rgba(0,18,48,.12);display:none;z-index:100}
.fp.open .fp__menu{display:block}
.fp__menu-t{font-size:11px;font-weight:500;color:var(--g6);letter-spacing:.06em;text-transform:uppercase;margin-bottom:10px}
.fp__check{display:flex;align-items:center;gap:10px;padding:5px 0;font-size:14px;cursor:pointer;min-height:32px}
.fp__check input{display:none}
.fp__check-box{width:18px;height:18px;border:1.5px solid var(--g2);border-radius:5px;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .15s}
.fp__check input:checked + .fp__check-box{background:var(--navy);border-color:var(--navy)}
.fp__check input:checked + .fp__check-box::after{content:"";width:5px;height:9px;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg) translate(-1px,-1px)}
.fp__radios{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.fp__radio{padding:8px 6px;border:1.5px solid var(--g2);border-radius:8px;font-size:12px;text-align:center;cursor:pointer;min-height:34px;display:inline-flex;align-items:center;justify-content:center}
.fp__radio:hover{border-color:var(--navy)}
.fp__radio.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.fp__price{display:flex;gap:8px;align-items:center;margin-bottom:8px}
.fp__price-wrap{position:relative;flex:1}
.fp__price-wrap::before{content:"₽";position:absolute;left:9px;top:50%;transform:translateY(-50%);font-size:12px;color:var(--g4);pointer-events:none}
.fp__price-input{width:100%;padding:8px 8px 8px 22px;border:1px solid var(--g2);border-radius:8px;font-size:13px;font-family:inherit}
.fp__price-input:focus{outline:none;border-color:var(--navy)}
.fp__apply{display:block;width:100%;padding:9px;background:var(--navy);color:#fff;border-radius:var(--r-pill);font-weight:500;font-size:12px;margin-top:8px}
.fb__find{padding:9px 20px;background:var(--navy);color:#fff;border-radius:var(--r-pill);font-size:13px;font-weight:500;display:inline-flex;align-items:center;gap:7px;min-height:38px}
.fb__find:hover{background:var(--nl)}
.fb__find svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2}
.fb__sep{width:1px;height:24px;background:var(--g2);margin:0 2px}
.fp__btn--fav{padding:9px 12px}
.fp__btn--fav svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.8}
.fp.has-value .fp__btn--fav svg{fill:currentColor}
@media(max-width:760px){
  .fb{top:60px;padding:8px 0}
  .fb .cw{gap:6px;justify-content:space-between}
  .fb__group{display:none}
  .fb__group--mob{display:flex;flex:1;justify-content:flex-start;gap:6px}
  .fb__find{display:none}
  .mob-filter-btn{display:inline-flex!important}
}
.mob-filter-btn{display:none;align-items:center;gap:6px;padding:9px 14px;background:#fff;border:1.5px solid var(--g2);border-radius:var(--r-pill);font-size:13px;font-weight:500;min-height:38px}
.mob-filter-btn svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2}
.mob-filter-cnt{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;background:var(--navy);color:#fff;border-radius:9px;font-size:10px;font-weight:600;padding:0 5px;margin-left:2px}

/* ACTIVE CHIPS */
.chips-row{background:var(--cream);padding:10px 0;border-bottom:1px solid var(--g2);display:none}
.chips-row.has-chips{display:block}
.chips-row .cw{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.fchip{padding:6px 12px;background:#fff;border:1.5px solid var(--navy);border-radius:var(--r-pill);font-size:12px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:5px;color:var(--navy);min-height:30px}
.fchip__x{font-size:13px;opacity:.7;padding-left:1px}
.fchips-reset{padding:6px 12px;background:transparent;color:var(--g6);font-size:12px;font-weight:500;text-decoration:underline}
.fchips-reset:hover{color:var(--navy)}

/* MAIN LAYOUT: cards 40% (2-col) + map 60% sticky */
.catpage{padding:20px 0 0}
.catpage .cw{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:20px;align-items:start}
@media(max-width:1400px){.catpage .cw{gap:16px}}
@media(max-width:1024px){.catpage .cw{grid-template-columns:1fr;gap:0}.aside-map{display:none}}

.results{min-width:0;padding-bottom:40px}
@media(min-width:1025px){
  .results{max-height:calc(100vh - 140px);overflow-y:auto;padding:16px 28px 40px 28px;scrollbar-width:thin}
  .results::-webkit-scrollbar{width:6px}
  .results::-webkit-scrollbar-track{background:transparent}
  .results::-webkit-scrollbar-thumb{background:var(--g2);border-radius:3px}
  .results::-webkit-scrollbar-thumb:hover{background:var(--g4)}
}
body.map-hidden .results{max-height:none;overflow:visible;padding-right:0;padding-bottom:40px}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
@media(max-width:1024px){.grid{grid-template-columns:repeat(3,1fr);gap:14px}}
@media(max-width:860px){.grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.grid{grid-template-columns:1fr}}

/* CARD (compact, vertical) */
.gc{background:#fff;border-radius:var(--r-card);overflow:hidden;cursor:pointer;transition:transform .22s,box-shadow .22s,border-color .2s;border:1px solid var(--g2);position:relative;display:flex;flex-direction:column;box-shadow:0 1px 6px rgba(0,18,48,.03)}
.gc:hover{transform:translateY(-3px);box-shadow:0 14px 36px rgba(0,18,48,.10);border-color:transparent}
.gc.hl{outline:2.5px solid var(--navy);outline-offset:-2px;box-shadow:0 14px 36px rgba(0,18,48,.18);border-color:transparent;transform:translateY(-2px)}

/* Expanded card (full-row) — triggered by pin click */
.gc--expanded{grid-column:1/-1;display:grid;grid-template-columns:44% 1fr;background:#fff;border:1px solid var(--g2);border-radius:var(--r-card);overflow:hidden;position:relative;cursor:pointer;box-shadow:0 8px 24px rgba(0,18,48,.12);animation:exIn .3s ease both;transition:box-shadow .2s}
.gc--expanded:hover{transform:none;box-shadow:0 12px 30px rgba(0,18,48,.16)}
@keyframes exIn{from{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}
.gc--expanded .gc__iw{aspect-ratio:auto;min-height:300px;height:100%}
.gc--expanded .gc__iw img{height:100%}
.gc--expanded .gc__close{position:absolute;top:12px;right:12px;width:32px;height:32px;background:rgba(255,255,255,.97);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--navy);z-index:6;box-shadow:0 2px 10px rgba(0,18,48,.18);transition:transform .15s;cursor:pointer;border:none;font-family:inherit;line-height:1}
.gc--expanded .gc__close:hover{transform:scale(1.08)}
.gc--expanded .gc__b{padding:18px 20px 18px;gap:8px}
.gc--expanded .gc__row1{padding-right:42px}
.gc--expanded .gc__name{font-size:17px;line-height:1.3;display:block;-webkit-line-clamp:initial;overflow:visible}
.gc--expanded .gc__rt{padding:4px 9px;font-size:12px}
.gc--expanded .gc__addr{font-size:12px}
.gc--expanded .gc__addr svg{width:11px;height:11px}
.gc__desc{font-size:12px;line-height:1.55;color:var(--g6);margin:2px 0 4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.gc--expanded .gc__feat{display:grid;grid-template-columns:1fr 1fr;gap:5px 14px;margin:0}
.gc--expanded .gc__feat span{font-size:11px;color:var(--g8);display:flex;align-items:center;gap:6px;line-height:1.4}
.gc--expanded .gc__feat span::before{content:"✓";color:var(--navy);font-weight:600;font-size:11px}
.gc--expanded .gc__tags{margin-top:2px}
.gc--expanded .gc__bot{padding-top:12px;flex-direction:column;align-items:stretch;gap:10px}
.gc--expanded .gc__price{flex-direction:row;align-items:baseline;gap:6px;flex-wrap:wrap}
.gc--expanded .gc__price-pre{font-size:11px}
.gc--expanded .gc__price-v{font-size:20px}
.gc--expanded .gc__price-suf{font-size:11px;width:100%}
.gc--expanded .gc__btns{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.gc--expanded .gc__btns .gc__cta{padding:9px 12px;font-size:12px;min-height:36px;justify-content:center;width:100%}
.gc--expanded .gc__cta--o{background:#fff;color:var(--navy);border:1.5px solid var(--g2)}
.gc--expanded .gc__cta--o:hover{background:var(--cream);border-color:var(--navy)}
@media(max-width:860px){.gc--expanded{grid-template-columns:1fr}.gc--expanded .gc__iw{min-height:220px;height:240px}}
.gc--pinned{border:1.5px solid var(--navy)}
.gc__iw{position:relative;overflow:hidden;background:var(--cream);aspect-ratio:4/3}
.gc__iw img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.gc:hover .gc__iw img{transform:scale(1.05)}
.gc__num{position:absolute;top:10px;left:10px;background:var(--navy);color:#fff;font-size:10px;font-weight:600;padding:4px 10px;border-radius:var(--r-pill);z-index:2;display:inline-flex;align-items:center;gap:4px;letter-spacing:.02em}
.gc__num--top::before{content:"★";color:var(--gold-l);font-size:9px}
.gc__badge{position:absolute;top:10px;left:10px;background:#fff;color:var(--navy);padding:4px 10px;border-radius:var(--r-pill);font-size:10px;font-weight:500;z-index:2}
.gc__num + .gc__badge{top:42px}
.gc__fav{position:absolute;top:10px;right:10px;width:34px;height:34px;background:rgba(255,255,255,.95);border-radius:50%;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);transition:transform .15s;z-index:2}
.gc__fav:hover{transform:scale(1.08)}
.gc__fav svg{width:16px;height:16px;stroke:var(--navy);fill:none;stroke-width:1.6}
.gc__fav.active svg{fill:var(--navy)}
.gc__free{position:absolute;bottom:10px;left:10px;display:inline-flex;align-items:center;gap:5px;padding:4px 10px;background:rgba(255,255,255,.92);backdrop-filter:blur(4px);border-radius:var(--r-pill);font-size:10px;font-weight:500;color:var(--ok)}
.gc__free::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--ok);animation:pulse 2.4s infinite}
.gc__quick{position:absolute;bottom:10px;right:10px;width:34px;height:34px;background:rgba(255,255,255,.95);border-radius:50%;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);transition:transform .15s;z-index:2;opacity:0}
.gc:hover .gc__quick{opacity:1}
.gc__quick:hover{transform:scale(1.08)}
.gc__quick svg{width:14px;height:14px;stroke:var(--navy);fill:none;stroke-width:1.8}
.gc__b{padding:12px 14px 14px;display:flex;flex-direction:column;gap:6px;flex:1}
.gc__row1{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.gc__name{font-size:14px;font-weight:500;line-height:1.3;color:var(--navy);flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.gc__rt{flex-shrink:0;display:inline-flex;align-items:center;gap:3px;background:var(--ok-bg);color:var(--ok);padding:3px 7px;border-radius:6px;font-size:11px;font-weight:600;height:fit-content;line-height:1.2}
.gc__rt::before{content:"★";font-size:9px}
.gc__addr{font-size:11px;color:var(--g6);line-height:1.4;display:flex;align-items:flex-start;gap:4px}
.gc__addr svg{width:10px;height:10px;stroke:var(--g6);fill:none;stroke-width:1.8;flex-shrink:0;margin-top:2px}
.gc__addr b{font-weight:500;color:var(--g8)}
.gc__tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:1px}
.gc__tag{padding:2px 7px;background:var(--cream);border-radius:5px;font-size:10px;color:var(--navy);font-weight:400}
.gc__bot{margin-top:auto;padding-top:8px;border-top:1px solid var(--g2);display:flex;justify-content:space-between;align-items:flex-end;gap:6px}
.gc__price{display:flex;flex-direction:column}
.gc__price-pre{font-size:9px;color:var(--g4);font-weight:400;text-transform:uppercase;letter-spacing:.04em}
.gc__price-v{font-size:16px;font-weight:600;color:var(--navy);line-height:1.1;letter-spacing:-.01em}
.gc__price-suf{font-size:9px;color:var(--g4);font-weight:400}
.gc__cta{padding:7px 14px;background:var(--navy);color:#fff;border-radius:var(--r-pill);font-size:11px;font-weight:500;min-height:30px;display:inline-flex;align-items:center}
.gc__cta:hover{background:var(--nl)}

.no-results{grid-column:1/-1;text-align:center;padding:50px 28px;background:#fff;border-radius:var(--r-card);border:1px solid var(--g2)}
.no-results__t{font-size:17px;color:var(--navy);font-weight:500;margin-bottom:6px}
.no-results__s{color:var(--g6);font-size:13px;margin-bottom:14px}
.no-results__cta{padding:11px 22px;background:var(--navy);color:#fff;border-radius:var(--r-pill);font-size:13px;font-weight:500}

/* STICKY MAP COLUMN */
.aside-map{position:sticky;top:122px;height:calc(100vh - 140px);min-height:520px;border-radius:var(--r-card);overflow:hidden;border:1px solid var(--g2);background:#e8eef5}
#map{width:100%;height:100%}
.aside-map__top{position:absolute;top:12px;left:12px;right:12px;z-index:5;display:flex;justify-content:space-between;align-items:center;pointer-events:none}
.aside-map__top > *{pointer-events:auto}
.aside-map__expand{background:rgba(255,255,255,.96);backdrop-filter:blur(6px);color:var(--navy);padding:8px 12px;border-radius:var(--r-pill);font-size:12px;font-weight:500;display:inline-flex;align-items:center;gap:6px;box-shadow:0 2px 8px rgba(0,18,48,.12)}
.aside-map__expand:hover{background:#fff}
.aside-map__expand svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2}
.opin{background:#fff;color:var(--navy);padding:4px 10px;border-radius:var(--r-pill);font-family:"Montserrat",sans-serif;font-size:11px;font-weight:600;white-space:nowrap;box-shadow:0 2px 8px rgba(0,18,48,.28);cursor:pointer;transition:all .15s;line-height:1.15;display:inline-flex;align-items:center;gap:4px;border:1.5px solid var(--navy)}
.opin__n{background:var(--navy);color:#fff;width:16px;height:16px;border-radius:50%;font-size:10px;display:inline-flex;align-items:center;justify-content:center;font-weight:600}
.opin:hover,.opin.act{background:var(--navy);color:#fff;transform:scale(1.12);z-index:10}
.opin:hover .opin__n,.opin.act .opin__n{background:#fff;color:var(--navy)}

/* THIN HELP/TRUST BAND (replaces fat CTA + trust strip) */
.helpband{background:#fff;border-top:1px solid var(--g2);padding:18px 0}
.helpband .cw{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;font-size:13px}
.helpband__trust{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.helpband__trust-lbl{color:var(--g6);font-weight:400}
.helpband__plats{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.helpband__p{display:inline-flex;align-items:center;gap:4px;color:var(--navy)}
.helpband__p .s{color:var(--gold);font-size:12px}
.helpband__p b{font-weight:600}
.helpband__p .nm{font-weight:400;color:var(--g6);font-size:12px}
.helpband__help{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:13px}
.helpband__help-lbl{color:var(--g6)}
.helpband__phone{font-weight:600;color:var(--navy);font-size:14px}
.helpband__wa{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;background:#25d366;color:#fff;border-radius:var(--r-pill);font-size:12px;font-weight:500;transition:opacity .15s}
.helpband__wa:hover{opacity:.9}
.helpband__wa svg{width:13px;height:13px;fill:currentColor}
@media(max-width:760px){.helpband .cw{justify-content:flex-start}.helpband__trust{font-size:11px;gap:10px}.helpband__plats{gap:8px}.helpband__p .nm{display:none}}

/* COMPACT FOOTER */
.ft-foot{background:var(--nd);color:rgba(255,255,255,.85);padding:36px 0 24px;font-weight:300;font-size:13px}
.ft-foot .cw{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px}
.ft-foot__l{display:flex;align-items:center;gap:14px}
.ft-foot__mark{width:36px;height:36px;border:1.5px solid rgba(255,255,255,.3);border-radius:9px;display:inline-flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:15px;color:#fff}
.ft-foot__name{font-weight:500;font-size:13px;line-height:1.25;color:#fff}
.ft-foot__name .it{display:block;font-size:11px;color:rgba(255,255,255,.6);font-weight:400}
.ft-foot__c{display:flex;align-items:center;gap:18px;flex-wrap:wrap;font-size:13px}
.ft-foot__c a{color:rgba(255,255,255,.75)}
.ft-foot__c a:hover{color:#fff}
.ft-foot__c .sep{color:rgba(255,255,255,.25)}
.ft-foot__copy{font-size:11px;color:rgba(255,255,255,.4)}
@media(max-width:760px){.ft-foot .cw{flex-direction:column;align-items:flex-start;gap:14px}.ft-foot__c{font-size:12px;gap:12px}}

/* MOBILE STICKY BOTTOM CTA */
.mob-cta{display:none;position:fixed;left:10px;right:10px;bottom:10px;z-index:75;background:#fff;border:1px solid var(--g2);border-radius:16px;padding:9px 11px 9px 16px;align-items:center;justify-content:space-between;gap:10px;box-shadow:0 12px 36px rgba(0,18,48,.16)}
.mob-cta__l{display:flex;flex-direction:column;line-height:1.2}
.mob-cta__t{font-size:12px;font-weight:600;color:var(--navy)}
.mob-cta__s{font-size:10px;color:var(--g6);margin-top:1px}
.mob-cta__btn{padding:10px 18px;background:var(--navy);color:#fff;border-radius:var(--r-pill);font-weight:500;font-size:12px;min-height:38px}
@media(max-width:760px){.mob-cta{display:flex}body{padding-bottom:60px}}

/* MAP OVERLAY (fullscreen mobile / Expand) */
.mapover{position:fixed;inset:0;background:#fff;z-index:130;display:none;flex-direction:column}
.mapover.open{display:flex}
.mapover__head{padding:12px 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--g2);background:#fff}
.mapover__head h3{font-size:15px;font-weight:500}
.mapover__head h3 b{color:var(--navy);font-weight:600}
.mapover__cl{width:36px;height:36px;border-radius:50%;background:var(--cream);display:flex;align-items:center;justify-content:center;font-size:18px}
.mapover__body{flex:1;position:relative}
#map-over{width:100%;height:100%}

/* FILTER BOTTOM SHEET */
.fsheet{position:fixed;inset:0;background:rgba(0,18,48,.45);z-index:140;display:none;opacity:0;transition:opacity .25s}
.fsheet.open{display:block;opacity:1}
.fsheet__b{position:absolute;left:0;right:0;bottom:0;background:#fff;max-height:92vh;border-radius:18px 18px 0 0;padding:12px 16px 16px;overflow-y:auto;transform:translateY(100%);transition:transform .3s ease;display:flex;flex-direction:column}
.fsheet.open .fsheet__b{transform:translateY(0)}
.fsheet__handle{width:38px;height:4px;background:var(--g2);border-radius:2px;margin:0 auto 12px}
.fsheet__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.fsheet__head h3{font-size:17px;font-weight:500}
.fsheet__cl{width:32px;height:32px;border-radius:50%;background:var(--cream);display:flex;align-items:center;justify-content:center;font-size:15px}
.fsheet__body{padding-bottom:64px;flex:1;overflow-y:auto}
.fsheet__sec{margin-bottom:18px}
.fsheet__sec-t{font-size:11px;font-weight:500;color:var(--g6);letter-spacing:.06em;text-transform:uppercase;margin-bottom:10px}
.fsheet__apply{position:absolute;left:0;right:0;bottom:0;padding:12px 16px;background:#fff;box-shadow:0 -6px 16px rgba(0,0,0,.04);display:flex;gap:8px}
.fsheet__apply-primary{flex:1;padding:13px;background:var(--navy);color:#fff;border-radius:var(--r-pill);font-weight:500;font-size:14px;min-height:46px}
.fsheet__apply-reset{padding:13px 16px;background:transparent;border:1.5px solid var(--g2);color:var(--g6);border-radius:var(--r-pill);font-weight:500;font-size:12px;min-height:46px}

/* APARTMENT MODAL — same as catalog.html */
.mdl{position:fixed;inset:0;background:rgba(0,18,48,.55);backdrop-filter:blur(6px);z-index:99999;display:none;align-items:flex-start;justify-content:center;padding:36px 18px;overflow-y:auto}
.mdl.open{display:flex}
.mdl__b{background:#fff;max-width:1080px;width:100%;border-radius:20px;overflow:hidden;position:relative;animation:mdlIn .35s cubic-bezier(.2,.8,.2,1)}
@keyframes mdlIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.mdl__cl{position:absolute;top:18px;right:18px;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.95);display:flex;align-items:center;justify-content:center;z-index:5;font-size:18px;color:var(--navy);box-shadow:0 4px 16px rgba(0,0,0,.15)}
.mdl__cl:hover{background:#fff;transform:scale(1.05)}
.mdl__gal{position:relative;height:460px;background:var(--cream)}
.mdl__gal img{width:100%;height:100%;object-fit:cover}
.mdl__nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.95);display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--navy);box-shadow:0 4px 16px rgba(0,0,0,.15);z-index:3}
.mdl__nav.prev{left:16px}.mdl__nav.next{right:16px}
.mdl__nav:hover{background:#fff}
.mdl__dots{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);display:flex;gap:5px;z-index:3}
.mdl__dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.5);cursor:pointer}
.mdl__dot.act{background:#fff;width:22px;border-radius:4px}
.mdl__badge{position:absolute;top:16px;left:16px;background:rgba(0,18,48,.85);backdrop-filter:blur(8px);color:#fff;padding:7px 14px;border-radius:18px;font-size:11px;font-weight:500;z-index:3}
.mdl__c{padding:32px 40px 40px}
.mdl__head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:6px;flex-wrap:wrap}
.mdl__title{font-size:26px;font-weight:500;line-height:1.2;flex:1;min-width:260px}
.mdl__rt{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500}
.mdl__rt::before{content:"★";color:#f59e0b;font-size:16px}
.mdl__addr{font-size:13px;font-weight:300;color:var(--g6);margin-bottom:20px}
.mdl__grid{display:grid;grid-template-columns:1fr 300px;gap:32px;margin-bottom:24px}
.mdl__sec{margin-bottom:20px}
.mdl__sec-t{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--g4);margin-bottom:10px}
.mdl__desc{font-size:14px;font-weight:300;line-height:1.6;color:var(--g6)}
.mdl__feat{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}
.mdl__feat span{font-size:13px;font-weight:300;display:flex;align-items:center;gap:7px}
.mdl__feat span::before{content:"✓";color:var(--navy);font-weight:600}
.mdl__price-box{background:var(--cream);border-radius:14px;padding:20px;position:sticky;top:18px;height:fit-content}
.mdl__price-l{font-size:12px;font-weight:300;color:var(--g6);margin-bottom:3px}
.mdl__price-v{font-size:28px;font-weight:600;color:var(--navy);margin-bottom:3px}
.mdl__price-v span{font-size:13px;font-weight:300;color:var(--g6)}
.mdl__price-note{font-size:11px;font-weight:300;color:var(--g4);margin-bottom:16px}
.mdl__cta{display:block;width:100%;padding:14px;background:var(--navy);color:#fff;border-radius:24px;font-family:inherit;font-size:14px;font-weight:500;margin-bottom:8px}
.mdl__cta:hover{background:var(--nl)}
.mdl__cta-2{display:block;width:100%;padding:12px;background:transparent;color:var(--navy);border:1.5px solid var(--g2);border-radius:24px;font-family:inherit;font-size:13px;font-weight:500;text-align:center;text-decoration:none}
.mdl__cta-2:hover{border-color:var(--navy)}
@media(max-width:780px){.mdl__grid{grid-template-columns:1fr}.mdl__c{padding:20px}.mdl__gal{height:280px}.mdl__title{font-size:20px}}
