/* Свёрнутый вводный абзац: 2 строки + мягкое затухание; высоту ставит JS по реальной строке */
.ns-l__lead.is-clamp,.ns-page-desc.is-clamp{overflow:hidden;position:relative;margin-bottom:0}
.ns-page-desc.is-clamp::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.4em;background:linear-gradient(to bottom,rgba(11,15,25,0),#0b0f19);pointer-events:none}
.ns-l__lead.is-clamp::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.4em;
  background:linear-gradient(to bottom,rgba(17,24,39,0),var(--surface,#111827));pointer-events:none}
.ns-l__lead > *:first-child{margin-top:0}
.ns-l__more{display:inline-flex;align-items:center;gap:6px;margin:4px 0 0!important;padding:4px 0!important;min-height:32px;background:none!important;border:0;box-shadow:none!important;
  color:#0bcbc9;font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.ns-l__more:hover{color:#fff}
.ns-l__more::after{content:"▾";transition:transform .2s ease}
.ns-l__more[aria-expanded="true"]::after{transform:rotate(180deg)}
/* Телефон: фильтры за кнопкой */
.ns-f__toggle{display:none}
@media (max-width:760px){
  /* свёрнуто СРАЗУ из CSS (до скрипта) — иначе контент прыгает вверх после отрисовки (CLS 0,37) */
  .ns-f:not(.is-open) .ns-f__row,.ns-f:not(.is-open) .ns-f__chips,.ns-f:not(.is-open) .ns-f__panel,.ns-f:not(.is-open) ~ .ns-hwbar{display:none}
  .ns-f:not(.ns-f--js) .ns-f__search{margin-bottom:54px}   /* место под кнопку «Фильтры», пока скрипт её не вставил */
  .ns-f__toggle{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px;margin:10px 0 0;
    border-radius:13px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);color:#e5e7eb;font:inherit;font-size:15px;font-weight:600;cursor:pointer}
  .ns-f__toggle b{min-width:22px;padding:1px 7px;border-radius:999px;background:#0bcbc9;color:#03141b;font-size:12px}
  .ns-f.is-open .ns-f__row{margin-top:10px}
  .ns-l__tools{padding:12px 14px}
  .ns-l__head h1,.ns-page-header .ns-page-title{font-size:26px;line-height:1.2}
}

/* абзац под H1 свёрнут из CSS сразу (≈2 строки) + место под «Развернуть»; точную высоту ставит скрипт */
[data-clamp]:not(.is-open){max-height:3.35em;overflow:hidden}
[data-clamp]:not(.ns-clamp-js){margin-bottom:40px!important}
