/* Главная — рейтинг объектов (как у Мореина): крупные плитки с «№», ряд 4–10, список 11–20 */
.rt-seg{margin-top:18px}
.rt-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px;margin-top:20px}
.rt-big,.rt-mid{position:relative;display:block;overflow:hidden;border-radius:var(--r-lg);background:var(--tile);color:#fff;isolation:isolate}
.rt-big{aspect-ratio:auto;height:380px}
.rt-big img,.rt-mid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .6s var(--ease)}
.rt-big::after,.rt-mid::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(14,24,23,.05) 30%,rgba(14,24,23,.82) 100%)}
.rt-big:hover img,.rt-mid:hover img{transform:scale(1.04)}
.rt-no{position:absolute;left:22px;top:14px;font-family:"Montserrat",sans-serif;font-weight:800;font-style:italic;line-height:1;font-size:132px;letter-spacing:-.04em;text-shadow:0 2px 18px rgba(0,0,0,.25)}
.rt-no small{font-size:.28em;font-style:normal;margin-right:4px;vertical-align:.2em}
.rt-go{position:absolute;right:18px;top:18px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(14,24,23,.55);font-size:17px}
.rt-t{position:absolute;left:22px;right:22px;bottom:20px;display:flex;flex-direction:column;gap:4px}
.rt-t b{font-family:"Montserrat",sans-serif;font-size:30px;line-height:1.1;font-weight:700}
.rt-city{font-size:13.5px;opacity:.85}
.rt-p{font-size:16px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.rt-up{color:#9fe0a1;font-size:.88em}
.rt-dn{color:#ff9b8a;font-size:.88em}
.rt-new{color:var(--tint);font-size:.88em;font-weight:600}
.rt-mids{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;margin-top:16px}
.rt-mid{height:196px}
.rt-mid .rt-no{left:12px;top:8px;font-size:46px}
.rt-mid .rt-t{left:12px;right:12px;bottom:12px;gap:2px}
.rt-mid .rt-t b{font-size:14px;line-height:1.2}
.rt-mid .rt-city{font-size:11.5px}
.rt-mid .rt-p{font-size:12px;gap:6px}
.rt-list{margin-top:18px;border-top:1px solid var(--line)}
.rt-row{display:grid;grid-template-columns:34px 58px minmax(0,1.6fr) minmax(0,1fr) auto 64px;gap:16px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line);font-size:15px;transition:color .2s}
.rt-row:hover{color:var(--link)}
.rt-row img{width:58px;height:34px;object-fit:cover;border-radius:6px}
.rt-row b{font-weight:500}
.rt-row .rt-city,.rt-i{color:var(--muted-2);font-size:13.5px;opacity:1}
.rt-row .rt-p{font-size:14.5px;justify-content:flex-end;white-space:nowrap}
.rt-row .rt-up{color:#2f8f4e}.rt-row .rt-dn{color:#c2412d}
.rt-m{text-align:right;font-size:13px}
.rt-more{text-align:center;margin-top:26px}
.rt-more a{display:inline-flex;gap:8px;align-items:center;font-weight:600;color:var(--link);border-bottom:2px solid var(--tint);padding-bottom:2px}
@media (max-width:1100px){
  .rt-mids{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:900px){
  .rt-top{grid-template-columns:1fr 1fr}
  .rt-top .rt-big:first-child{grid-column:1/-1}
  .rt-big{height:300px}
  .rt-no{font-size:96px}
  .rt-mids{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rt-row{grid-template-columns:28px 52px minmax(0,1fr) auto;gap:10px}
  .rt-row .rt-city,.rt-m{display:none}
}
@media (max-width:560px){
  .rt-top{grid-template-columns:1fr}
  .rt-big{height:260px}
  .rt-t b{font-size:24px}
}

/* Карточка объекта — предложения банков: только логотип, без подложки; при наведении чуть крупнее */
.mg-bname{background:none;border:0;box-shadow:none;padding:0;min-width:0;height:auto;display:inline-flex;align-items:center;justify-content:flex-start;transition:transform .25s var(--ease)}
.mg-bname[data-logo],.mg-bname[data-logo]:hover,.mg-bname:hover{background:none;border:0;padding:0;height:auto}
.mg-bname[data-logo] img,.mg-bname img{height:20px;width:auto;transition:transform .25s var(--ease)}
.mg-bname:hover img,.mg-bname:focus-visible img{transform:scale(1.15)}
.mg-bname:hover{transform:scale(1.04)}

/* Застройщики и отельеры — плитки с логотипом (как у Мореина) и список */
.co-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:22px}
.co-bar .flt-q{flex:1 1 320px;min-width:0}
.co-list .lst-n{margin-top:14px}
.co-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:14px}
.co-f{position:relative;display:flex;flex-direction:column;height:100%;padding:24px;border-radius:var(--r-lg);background:var(--tile);transition:background .2s}
.co-f:hover{background:var(--tile-h)}
/* переворот плитки при наведении (static/js/hovercard.js ставит .flip): на обороте маленький логотип, ↗ и до 6 проектов */
.co-card{perspective:1600px}
.co-in{position:relative;height:100%;transform-style:preserve-3d;transition:transform .55s var(--ease)}
.co-card.flip .co-in{transform:rotateY(180deg)}
.co-f,.co-b{-webkit-backface-visibility:hidden;backface-visibility:hidden}
.co-b{position:absolute;inset:0;transform:rotateY(180deg);display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:var(--r-lg);background:var(--tile-h);overflow:hidden}
.co-b-h{position:relative;display:flex;align-items:center;gap:10px;min-width:0;padding-right:28px}
.co-b-h .co-logo{width:56px;height:32px;border-radius:8px}
.co-b-h .co-logo img{max-width:46px;max-height:22px}
.co-b-h .co-ini{font-size:12px}
.co-b-h b{font:600 16px/1.2 "Montserrat",sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.co-b-h .co-go{right:2px;top:50%;margin-top:-12px}
.co-b-h:hover b,.co-b-h:hover .co-go{color:var(--link)}
.co-pj{flex:1;min-height:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:10px}
.co-pj.one{grid-template-rows:minmax(0,1fr)}
.co-pj-i{display:flex;flex-direction:column;min-width:0;min-height:0;font-size:12.5px;line-height:1.3}
.co-pj-i img{flex:1 1 0;min-height:0;width:100%;object-fit:cover;border-radius:10px;background:var(--tile)}
.co-pj-i b{margin-top:5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.co-pj-i span{color:var(--muted-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.co-pj-i:hover b{color:var(--link)}
@media (prefers-reduced-motion:reduce){.co-in{transition:none}}
.co-logo{display:grid;place-items:center;width:128px;height:72px;border-radius:12px;background:#fff;overflow:hidden;flex:none}
.co-logo img{max-width:104px;max-height:46px;width:auto;height:auto;object-fit:contain}
.co-ini{font:700 22px/1 "Montserrat",sans-serif;color:#284646;letter-spacing:.02em}
.co-go{position:absolute;right:22px;top:20px;font-size:18px;color:var(--muted-2)}
.co-h{font:600 24px/1.2 "Montserrat",sans-serif;margin-top:18px}
.co-f:hover .co-h{color:var(--link)}
.co-d{font-size:14.5px;color:var(--muted);margin-top:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.co-st{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:auto;padding-top:18px;font-size:13.5px;color:var(--muted-2)}
.co-st .co-n{color:var(--ink);font-weight:600}
.co-row{display:inline-flex;align-items:center;gap:12px}
.co-row .co-logo{width:64px;height:36px;border-radius:8px}
.co-row .co-logo img{max-width:54px;max-height:26px}
.co-row .co-ini{font-size:13px}
@media (max-width:1000px){.co-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.co-grid{grid-template-columns:1fr}.co-h{font-size:21px}}

/* выбор нескольких городов в списках компаний — как в фильтрах каталога */
.co-bar .ms{position:relative;flex:0 0 auto;max-width:100%}
.co-bar .ms-btn{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 38px 0 14px;border:1px solid var(--line-2);border-radius:21px;background-color:var(--card);font-family:inherit;font-size:14px;color:var(--ink);white-space:nowrap;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--muted-2) 50%),linear-gradient(135deg,var(--muted-2) 50%,transparent 50%);background-position:calc(100% - 22px) 18px,calc(100% - 17px) 18px;background-size:5px 5px;background-repeat:no-repeat}
.co-bar .ms-btn:hover,.co-bar .ms-btn[aria-expanded="true"]{border-color:var(--primary)}
.co-bar .ms-pop input[type="checkbox"]{flex:0 0 auto;width:16px;height:16px;margin:0;accent-color:var(--tint)}
.co-bar .ms-q{box-sizing:border-box;width:100%;height:36px;margin:0 0 6px;padding:0 12px;border:1px solid var(--line-2);border-radius:10px;background:var(--card);color:var(--ink)}

/* шапка: восемь пунктов меню не помещаются уже до 1180px — раньше переходим на меню-бургер */
@media (max-width:1180px){
  .hdr-burger{display:grid}
  .hdr-nav{display:none;position:absolute;left:0;right:0;top:62px;flex-direction:column;align-items:stretch;gap:0;background:#0E1817;padding:8px var(--pad) 16px;border-bottom:1px solid rgba(255,255,255,.08)}
  .hdr-nav.open{display:flex}
  .hdr-nav a{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.08)}
  .theme-t{margin-left:auto}
}

/* Главная — фильтры рейтинга */
.rt-flt{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:12px}
.rt-pool{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 14px;border:1px solid var(--line-2);border-radius:19px;background:var(--card);font-size:14px;cursor:pointer}
.rt-pool input{width:16px;height:16px;margin:0;accent-color:var(--tint)}
.rt-empty{margin-top:18px}

/* Окно «Оставить запрос» */
.req-dlg{position:fixed;inset:0;margin:auto;height:fit-content;width:min(520px,calc(100vw - 32px));max-height:calc(100vh - 40px);overflow:auto;padding:28px;border:0;border-radius:var(--r-lg);background:var(--card);color:var(--ink);box-shadow:0 24px 64px rgba(14,24,23,.35)}
.req-dlg::backdrop{background:rgba(14,24,23,.55)}
.req-dlg h2{font:700 26px/1.2 "Montserrat",sans-serif;padding-right:36px}
.req-dlg .form{margin-top:16px}
.req-x{position:absolute;right:16px;top:14px;width:36px;height:36px;border:0;border-radius:50%;background:var(--tile);color:var(--ink);font-size:22px;line-height:1;cursor:pointer}
.req-x:hover{background:var(--tile-h)}

/* каталог: отступ под картой, списки с галочками */
#catMapBox{margin-bottom:28px}

/* каталог: районы галочками, постоянная ширина полей */
.flt-row .flt-q{flex:0 0 300px}
@media (max-width:640px){.flt-row .flt-q{flex:1 1 100%}}
/* счётчик выбранных занимает место заранее (даже когда пуст): кнопка не меняет ширину после выбора */
.flt .ms-n[hidden]{display:inline-grid !important;visibility:hidden}
.ms-sub{color:var(--muted-2)}

/* Похожие объекты на карточке объекта: тип и срок чипами, кнопка «Открыть» */
.sl-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;padding:0;list-style:none}
.sl-chips li{font-size:12.5px;padding:3px 10px;border-radius:12px;background:var(--tile);color:var(--ink-2)}
.sl-open{display:inline-flex;align-items:center;gap:6px;margin-top:14px;height:40px;padding:0 18px;border-radius:20px;background:var(--ink);color:var(--bg);font-weight:600;font-size:14.5px;transition:opacity .2s}
.sl-open:hover{opacity:.85}

/* белый логотип — на тёмной подложке */
.co-logo.dk{background:#1d2b2a}
