/* Раздел «Районы для жизни» (/rayony, /en/neighborhoods), 18.10.2026. Только на этих страницах, классы .dst-*.
   Без JS: видны карточки с цифрами и схема; цели, фильтры, веса, сортировка и сравнение - только с JS (.dst-js). */
.dst-wrap{max-width:var(--container)}
.dst{--dst-hl:#EEEAFC;--dst-l3:#4B37E3;--dst-l2:#8A7BEF;--dst-l1:#C9C1F7;--dst-l0:#EFEBE1;position:relative}
.dst:not(.dst-js) .dst-goals-w,.dst:not(.dst-js) .dst-side,.dst:not(.dst-js) .dst-open,.dst:not(.dst-js) .dst-sort,
.dst:not(.dst-js) .dst-cmpb,.dst:not(.dst-js) .dst-hint,.dst:not(.dst-js) .dst-active{display:none}
.dst button{font:inherit;color:inherit;cursor:pointer}
.dst :focus-visible{outline:2px solid var(--violet);outline-offset:2px}
.dst-lbl{display:block;font:700 .9rem/1.3 var(--font-display);color:var(--ink);margin:0 0 .45rem}
.dst-note{font-size:.85rem;color:var(--muted);margin:.2rem 0 .6rem}
.dst-h{font:800 1.15rem/1.2 var(--font-display);margin:0;color:var(--ink)}

/* цели */
.dst-goals-w{margin:0 0 18px}
.dst-goals{display:flex;flex-wrap:wrap;gap:8px}
.dst-chip{display:inline-flex;align-items:center;gap:.4em;min-height:44px;padding:0 16px;border:1px solid var(--line-2);
  border-radius:999px;background:var(--card);font-weight:600;font-size:.95rem;line-height:1.2;text-align:start;
  transition:background .15s ease,border-color .15s ease,color .15s ease}
.dst-chip:hover{border-color:var(--ink)}
.dst-chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.dst-chip .dst-n{font-weight:500;color:var(--muted);font-size:.85em}
.dst-chip[aria-pressed="true"] .dst-n{color:var(--on-dark-m)}
@media(max-width:760px){
  .dst-goals{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity;margin-inline:calc(-1*var(--gutter));
    padding:2px var(--gutter) 6px;scrollbar-width:none}
  .dst-goals::-webkit-scrollbar{display:none}
  .dst-goals .dst-chip{flex:none;scroll-snap-align:start}
}

/* раскладка: фильтры слева, результаты справа */
.dst-layout{display:grid;gap:28px}
@media(min-width:961px){
  .dst.dst-js .dst-layout{grid-template-columns:300px minmax(0,1fr)}
  .dst-side{position:sticky;top:84px;align-self:start;max-height:calc(100vh - 100px);overflow:auto;
    background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px 16px;scrollbar-width:thin}
  .dst .dst-side .dst-x,.dst .dst-show,.dst .dst-bar .dst-open{display:none}
}
.dst-side-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.dst-x{width:44px;height:44px;border:0;background:transparent;font-size:1.7rem;line-height:1;border-radius:50%}
.dst-x:hover{background:var(--paper-dim)}
.dst-f{margin:0 0 18px;border:0;padding:0;min-width:0}
.dst-in{width:100%;min-height:44px;padding:0 12px;border:1px solid var(--line-2);border-radius:var(--radius-s);
  background:var(--card);font:inherit;font-size:.95rem;color:var(--ink)}
.dst-range{width:100%;height:44px;accent-color:var(--violet)}
.dst-lbl output{font-weight:800;color:var(--violet)}
.dst-flags{display:flex;flex-direction:column;gap:8px}
.dst-flags .dst-chip{border-radius:var(--radius-s);justify-content:space-between;width:100%}
.dst-wg{border-top:1px solid var(--line)}
.dst-wg>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;min-height:44px;
  font:700 .95rem/1.2 var(--font-display);color:var(--ink)}
.dst-wg>summary::-webkit-details-marker{display:none}
.dst-wg>summary::after{content:"";width:9px;height:9px;border-right:2px solid var(--violet);border-bottom:2px solid var(--violet);
  transform:rotate(45deg);margin:-4px 4px 0 0;transition:transform .2s ease}
.dst-wg[open]>summary::after{transform:rotate(-135deg);margin-top:4px}
.dst-wr{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 10px;padding:6px 0 10px}
.dst-wl{flex:1 1 100%;font-size:.92rem;color:var(--ink-soft)}
.dst-ws,.dst-wd{display:inline-flex;border:1px solid var(--line-2);border-radius:var(--radius-s);overflow:hidden;background:var(--card)}
.dst-ws button,.dst-wd button{min-width:44px;min-height:44px;padding:0 10px;border:0;background:transparent;font-weight:700;font-size:.92rem}
.dst-ws button+button,.dst-wd button+button{border-inline-start:1px solid var(--line-2)}
.dst-ws button[aria-pressed="true"]{background:var(--violet);color:#fff}
.dst-wd button[aria-pressed="true"]{background:var(--ink);color:#fff}
.dst-wd{opacity:.45;transition:opacity .15s ease}
.dst-wr.is-on .dst-wd{opacity:1}
.dst-side-bot{display:flex;gap:10px;padding-top:6px}
.dst-btn2{display:inline-flex;align-items:center;justify-content:center;gap:.4em;min-height:44px;padding:0 16px;white-space:nowrap;
  border:1px solid var(--line-2);border-radius:var(--radius-s);background:var(--card);font-weight:700;font-size:.94rem;color:var(--ink)}
.dst-btn2:hover{border-color:var(--ink)}
.dst-btn2[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}

/* телефон и планшет: фильтры - выезжающая снизу панель */
@media(max-width:960px){
  .dst-side{position:fixed;left:0;right:0;bottom:0;z-index:125;max-height:88vh;max-height:88dvh;background:var(--paper);
    border-radius:20px 20px 0 0;box-shadow:var(--shadow-lg);transform:translateY(102%);transition:transform .25s ease,visibility 0s linear .25s;
    display:flex;flex-direction:column;visibility:hidden}
  .dst-side.is-open{transform:translateY(0);visibility:visible;transition:transform .25s ease,visibility 0s}
  .dst-side-in{overflow:auto;padding:14px var(--gutter) 0;overscroll-behavior:contain}
  .dst-side-top{position:sticky;top:-14px;background:var(--paper);padding-top:14px;margin-top:-14px;z-index:2}
  .dst-side-bot{position:sticky;bottom:0;background:var(--paper);padding:10px 0 calc(12px + env(safe-area-inset-bottom));
    border-top:1px solid var(--line);margin-top:8px}
  .dst-side-bot .dst-btn2,.dst-side-bot .dst-show{flex:1}
  .dst-back{position:fixed;inset:0;z-index:124;background:rgba(21,22,27,.45)}
  .dst-bar{position:sticky;top:70px;z-index:40;background:rgba(247,245,239,.94);backdrop-filter:blur(8px);
    margin-inline:calc(-1*var(--gutter));padding:8px var(--gutter)}
}
html.dst-lock,html.dst-lock body{overflow:hidden}

/* строка результатов */
.dst-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:10px}
.dst-count{margin:0;font:800 1.05rem/1.2 var(--font-display);color:var(--ink);flex:1 1 auto}
.dst-badge:not(:empty){display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;
  background:var(--violet);color:#fff;font-size:.78rem}
.dst-sort{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;color:var(--muted)}
.dst-sort .dst-in{width:auto}
@media(max-width:560px){.dst-sort span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.dst-sort .dst-in{max-width:46vw}}
.dst-active{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.dst-active:empty{display:none}
.dst-active button{min-height:36px;padding:0 12px;border:1px solid #ddd4fb;border-radius:999px;background:var(--violet-t);
  font-size:.86rem;font-weight:600;color:var(--ink)}
.dst-active button::after{content:" ×";font-weight:800;color:var(--violet)}
.dst-hint{margin:0 0 12px;color:var(--muted);font-size:.95rem}
.dst-ask-w{margin:0 0 16px}
.dst-ask-w .btn{padding:.75em 1.2em;font-size:.96rem}

/* схема */
.dst-map{margin:0 0 18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}
.dst-map>summary{cursor:pointer;min-height:48px;display:flex;align-items:center;padding:0 16px;font:700 .98rem var(--font-display)}
.dst-map svg{display:block;width:100%;max-height:72vh;height:auto;padding:0 10px}
.dst-map path{fill:var(--dst-l0);stroke:#fff;stroke-width:1;stroke-linejoin:round;transition:fill .2s ease,opacity .2s ease}
.dst-map a:hover path,.dst-map a:focus path{stroke:var(--ink);stroke-width:2}
.dst-map path.l3{fill:var(--dst-l3)}.dst-map path.l2{fill:var(--dst-l2)}.dst-map path.l1{fill:var(--dst-l1)}
.dst-map path.off{opacity:.25}
.dst-map-cap{margin:6px 16px 14px;font-size:.86rem;color:var(--muted)}
.dst-leg{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0 16px 4px;font-size:.84rem;color:var(--muted)}
.dst-leg i{display:inline-block;width:14px;height:14px;border-radius:4px;vertical-align:-2px;margin-inline-end:5px}

/* карточки */
.dst-cards{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}
.dst-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px 16px 14px;
  display:flex;flex-direction:column;gap:10px;scroll-margin-top:140px}
.dst-card[hidden]{display:none}
.dst-card:target,.dst-card.is-flash{border-color:var(--violet);box-shadow:0 0 0 3px var(--violet-t)}
.dst-cn{font:800 1.14rem/1.25 var(--font-display);margin:0;color:var(--ink)}
.dst-cs{margin:.15rem 0 0;font-size:.86rem;color:var(--muted)}
.dst-sc{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;padding:8px 10px;border-radius:var(--radius-s);
  background:var(--paper);border-inline-start:4px solid var(--dst-l0);font-size:.88rem;color:var(--muted)}
.dst-sc b{font:800 1.35rem/1 var(--font-display);color:var(--ink)}
.dst-sc strong{color:var(--ink);font-weight:700}
.dst-sc.l3{border-color:var(--dst-l3)}.dst-sc.l2{border-color:var(--dst-l2)}.dst-sc.l1{border-color:var(--dst-l1)}
.dst-why{margin:0;padding:0;list-style:none;font-size:.88rem;line-height:1.4}
.dst-why li{padding-inline-start:18px;position:relative;margin:2px 0;color:var(--ink-soft)}
.dst-why li::before{position:absolute;inset-inline-start:0;font-weight:800}
.dst-why .p::before{content:"+";color:#1d7a4a}
.dst-why .m::before{content:"−";color:#b3412e}
.dst-kv{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;margin:0}
.dst-kv>div{min-width:0}
.dst-kv dt{font-size:.78rem;line-height:1.25;color:var(--muted);margin:0 0 2px}
.dst-kv dd{margin:0;font-weight:700;font-size:.92rem;line-height:1.3;color:var(--ink);overflow-wrap:anywhere}
.dst-kv dd.is-hl{background:var(--dst-hl);border-radius:6px;padding:1px 5px;margin-inline-start:-5px}
.dst-y{font-weight:400;color:var(--muted);font-size:.86em;white-space:nowrap}
.dst-nd{font-weight:400;color:var(--muted);font-style:italic}
.dst-more>summary{cursor:pointer;min-height:40px;display:flex;align-items:center;font-weight:700;font-size:.92rem;color:var(--violet)}
.dst-more[open]>summary{margin-bottom:8px}
.dst-info{margin:12px 0 0;padding:10px 0 0 18px;border-top:1px solid var(--line);font-size:.86rem;color:var(--ink-soft)}
.dst-info li{margin:3px 0}
.dst-cb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:auto;padding-top:4px}
.dst-ask-sm{padding:.62em 1em;font-size:.92rem;box-shadow:none;min-height:44px}
.dst-link{font-size:.88rem;font-weight:600;color:var(--violet);text-decoration:underline;text-underline-offset:.18em;
  min-height:44px;display:inline-flex;align-items:center}
.dst-empty{padding:18px;border:1px dashed var(--line-2);border-radius:var(--radius);color:var(--muted);text-align:center}

/* сравнение */
.dst-cmpbar{position:fixed;left:50%;transform:translateX(-50%);bottom:16px;z-index:59;display:flex;align-items:center;gap:10px;
  background:var(--ink);color:var(--on-dark);padding:8px 8px 8px 16px;border-radius:14px;box-shadow:var(--shadow-lg);
  max-width:calc(100vw - 24px);font-size:.92rem}
.dst-cmpbar[hidden]{display:none}
.dst-cmpbar .btn{padding:.6em 1em;font-size:.92rem;min-height:44px}
.dst-cmpbar .dst-btn2{background:transparent;color:var(--on-dark);border-color:var(--line-dark)}
@media(max-width:760px){.dst-cmpbar{bottom:calc(84px + env(safe-area-inset-bottom));width:calc(100vw - 24px);justify-content:space-between}
  .dst-cmpbar-t{font-size:.84rem}}
.dst-cmp{position:fixed;inset:0;z-index:130;background:rgba(21,22,27,.5);display:grid;place-items:center;padding:16px}
.dst-cmp[hidden]{display:none}
.dst-cmp-in{background:var(--paper);border-radius:var(--radius-l);padding:18px;width:min(960px,100%);max-height:calc(100dvh - 32px);
  overflow:auto;box-shadow:var(--shadow-lg)}
.dst-tw{overflow-x:auto}
.dst-tw table{border-collapse:collapse;width:100%;font-size:.9rem;min-width:520px}
.dst-tw th,.dst-tw td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:start;vertical-align:top}
.dst-tw thead th{font:800 .98rem var(--font-display);color:var(--ink);background:var(--paper)}
.dst-tw tbody th{font-weight:500;color:var(--muted);position:sticky;left:0;background:var(--paper);min-width:150px}
.dst-tw td.best{font-weight:800;color:#1d7a4a}

/* хаб раздела */
.dst-hub{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.dst-hc{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;display:flex;flex-direction:column;gap:10px}
.dst-hf{margin:0;font-size:.86rem;color:var(--muted)}
.dst-hn{margin:0;font:800 1.5rem/1.15 var(--font-display)}
.dst-hn a{color:var(--ink);text-decoration:none}
.dst-hc .dst-kv{grid-template-columns:1fr}
.dst-hc p:last-child{margin:auto 0 0}

/* блок сопровождения */
.dst-support{display:flex;flex-direction:column;gap:.5rem}
.dst-support-h{font:800 1.12rem/1.3 var(--font-display);color:var(--ink)!important}
.dst-support .btn{margin-top:.3rem}
