/* Лента новостей /news/: фильтры, период, поиск, подгрузка (news-feed.cjs / news-feed.js) */
.nf-tabs{position:relative;isolation:isolate}
.nf-tabs>button{position:relative;z-index:1;transition:color .35s cubic-bezier(.22,1,.36,1),background-color .25s ease,transform .18s cubic-bezier(.22,1,.36,1)}
.nf-tabs>button:not([aria-pressed=true]):hover{background:#e3eae5}
.nf-tabs>button:active{transform:scale(.97)}
.nf-pill{position:absolute;left:0;top:0;z-index:0;border-radius:40px;background:var(--mrs-ink);pointer-events:none;opacity:0}
.nf-tabs.has-pill>button[aria-pressed=true]{background:transparent;color:#fff}
.nf-tabs.has-pill .nf-pill{opacity:1}
.nf-tabs.is-ready .nf-pill{transition:transform .5s cubic-bezier(.22,1,.36,1),width .5s cubic-bezier(.22,1,.36,1),height .5s cubic-bezier(.22,1,.36,1)}

/* Период */
.nf-date{position:relative;flex:0 0 auto}
.nf-date-trigger{display:flex;align-items:center;gap:14px;min-height:56px;border:1px solid #c5d2ca;border-radius:40px;padding:12px 22px 12px 24px;background:transparent;color:var(--mrs-ink);font-family:var(--type-family);font-size:var(--type-control);line-height:1.35;cursor:pointer;white-space:nowrap;transition:background-color .3s ease,border-color .3s ease,color .3s ease,transform .18s cubic-bezier(.22,1,.36,1)}
.nf-date-trigger:hover,.nf-date-trigger[aria-expanded=true]{background:#e6ece7;border-color:#81998d}
.nf-date-trigger:active{transform:scale(.97)}
.nf-date-trigger.is-set{background:var(--mrs-ink);border-color:var(--mrs-ink);color:#fff}
.nf-date-trigger>i{width:7px;height:7px;margin-top:-4px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .3s cubic-bezier(.22,1,.36,1),margin .3s}
.nf-date-trigger[aria-expanded=true]>i{transform:rotate(225deg);margin-top:4px}
.nf-date-trigger>span{display:inline-block;transition:opacity .2s ease,transform .25s ease}
.nf-date-trigger>span.is-swap{opacity:0;transform:translateY(4px)}
.nf-date-panel{position:absolute;left:50%;top:calc(100% + 12px);z-index:45;display:grid;grid-template-columns:132px 300px;gap:6px;padding:10px;border:1px solid #ccd6cf;border-radius:24px;background:#f8faf7;box-shadow:0 18px 44px #172e2420;transform-origin:50% 0;transform:translateX(-50%);animation:nf-pop-in .32s cubic-bezier(.22,1,.36,1)}
.nf-date-panel.is-closing{animation:nf-pop-out .2s ease-in forwards}
@keyframes nf-pop-in{from{opacity:0;transform:translateX(-50%) translateY(-8px) scale(.97)}}
@keyframes nf-pop-out{to{opacity:0;transform:translateX(-50%) translateY(-6px) scale(.98)}}
.nf-presets{display:flex;flex-direction:column;gap:3px;padding-right:8px;border-right:1px solid #dfe6e1}
.nf-presets>button,.nf-cal-grid>button,.nf-cal-nav{border:0;background:transparent;color:var(--mrs-ink);font-family:var(--type-family);font-size:14px;line-height:1.3;cursor:pointer;transition:background-color .25s ease,color .25s ease,transform .18s cubic-bezier(.22,1,.36,1)}
.nf-presets>button{min-height:42px;border-radius:14px;padding:10px 14px;text-align:left}
.nf-presets>button:hover,.nf-cal-grid>button:hover:not(:disabled),.nf-cal-nav:hover:not(:disabled){background:#e4ece6}
.nf-presets>button[aria-pressed=true]{background:var(--mrs-ink);color:#fff}
.nf-cal{padding:4px 4px 2px 8px}
.nf-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.nf-cal-head b{font-weight:400;font-size:16px;color:var(--mrs-ink);display:inline-block;transition:opacity .18s ease,transform .25s cubic-bezier(.22,1,.36,1)}
.nf-cal-head b.is-left{opacity:0;transform:translateX(-10px)}.nf-cal-head b.is-right{opacity:0;transform:translateX(10px)}
.nf-cal-nav{width:38px;height:38px;border-radius:50%;font-size:20px}
.nf-cal-nav:disabled{opacity:.25;cursor:default}
.nf-cal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px 0}
.nf-cal-grid>button{height:42px;border-radius:0;position:relative}
.nf-cal-grid>button:disabled{color:#a7b4ad;cursor:default}
.nf-cal-grid>button.in-range{background:#dfe9e3}
.nf-cal-grid>button.is-start,.nf-cal-grid>button.is-end{background:var(--mrs-ink);color:#fff}
.nf-cal-grid>button.is-start{border-radius:14px 0 0 14px}.nf-cal-grid>button.is-end{border-radius:0 14px 14px 0}
.nf-cal-grid>button.is-start.is-end{border-radius:14px}
.nf-cal-grid>button:not(.in-range):not(.is-start):not(.is-end){border-radius:14px}
.nf-cal-grid>button:active:not(:disabled){transform:scale(.95)}
.ed-page .nf-cal-hint{margin:10px 2px 2px;font-size:12px;line-height:1.45;color:#6c7f77}

/* Сбросить — появляется, когда выбран хоть один фильтр */
.nf-reset{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:10px 20px 10px 16px;border:1px solid #c5d2ca;border-radius:40px;background:transparent;color:var(--mrs-ink);font-family:var(--type-family);font-size:var(--type-control);cursor:pointer;white-space:nowrap;animation:nf-reset-in .35s cubic-bezier(.22,1,.36,1);transition:background-color .25s ease,transform .18s cubic-bezier(.22,1,.36,1)}
.nf-reset[hidden]{display:none}
.nf-reset:hover{background:var(--mrs-ink);border-color:var(--mrs-ink);color:#fff}
.nf-reset:active{transform:scale(.97)}
.nf-reset i{position:relative;width:12px;height:12px;transition:transform .35s cubic-bezier(.22,1,.36,1)}
.nf-reset i:before,.nf-reset i:after{content:"";position:absolute;left:50%;top:50%;width:13px;height:1.5px;margin:-.75px 0 0 -6.5px;background:currentColor;transform:rotate(45deg)}
.nf-reset i:after{transform:rotate(-45deg)}
.nf-reset:hover i{transform:rotate(90deg)}
@keyframes nf-reset-in{from{opacity:0;transform:translateX(-8px) scale(.96)}}

/* в каталоге проектов — по высоте полей фильтра */
.ed-page.ed-catalog:has(.ed-grid) .ed-reset{min-height:50px;font-size:14px}

/* Поиск */
.nf-search{position:relative;margin-left:auto;display:block;flex:1 1 200px;max-width:300px;min-width:0}
.ed-toolbar .nf-search input{margin:0;width:100%;min-width:0;height:56px;padding:12px 44px 12px 26px;font-family:var(--type-family);font-size:var(--type-control);transition:border-color .3s ease,background-color .3s ease,width .4s cubic-bezier(.22,1,.36,1)}
.ed-toolbar .nf-search input:focus{outline:none;border-color:#81998d;background:#fbfcfa}
.nf-search input::-webkit-search-cancel-button{display:none}
.nf-clear{position:absolute;right:10px;top:50%;width:32px;height:32px;margin-top:-16px;border:0;border-radius:50%;background:transparent;color:#60756e;font-size:20px;line-height:1;cursor:pointer;transition:background-color .2s,opacity .2s,transform .2s}
.nf-clear:hover{background:#e4ece6;color:var(--mrs-ink)}
.nf-clear[hidden]{display:block;opacity:0;transform:scale(.6);pointer-events:none}

.ed-toolbar:has(>.nf-tabs){flex-wrap:wrap;row-gap:14px}

/* Найдено N · Сбросить */
.ed-page .nf-status{display:flex;align-items:center;gap:10px 18px;flex-wrap:wrap;margin:-18px 0 14px;font-size:14px;color:#60756e;animation:nf-fade .35s ease}
.ed-page .nf-status[hidden]{display:none}
.nf-empty button{border:0;background:none;padding:0;font:inherit;font-size:14px;color:var(--mrs-ink);text-decoration:underline;text-underline-offset:4px;text-decoration-color:#9fb1a8;cursor:pointer;transition:text-decoration-color .2s}
.nf-empty button:hover{text-decoration-color:var(--mrs-ink)}

/* Строки */
.nf-list{transition:opacity .18s ease}
.nf-list.is-leaving{opacity:0}
.nf-list .ed-news-row.nf-in{animation:nf-rise .6s cubic-bezier(.22,1,.36,1) both}
@keyframes nf-rise{from{opacity:0;transform:translateY(22px)}}
@keyframes nf-fade{from{opacity:0}}
.nf-list mark{background:#dfe9e3;color:inherit;border-radius:3px;padding:0 2px;margin:0 -2px}

/* Подгрузка и конец ленты */
.nf-more{display:flex;justify-content:center;padding:44px 0 8px}
.nf-more[hidden]{display:none}
.nf-more-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:220px;min-height:56px;padding:12px 34px;border:1px solid var(--mrs-ink);border-radius:40px;background:transparent;color:var(--mrs-ink);font-family:var(--type-family);font-size:var(--type-control);cursor:pointer;transition:background-color .3s ease,color .3s ease,transform .18s cubic-bezier(.22,1,.36,1),box-shadow .3s ease;animation:nf-fade .4s ease}
.nf-more-btn:hover{background:var(--mrs-ink);color:#fff;box-shadow:0 10px 24px #122c261f}
.nf-more-btn:active{transform:scale(.97)}
.nf-more-btn:disabled{cursor:default}
.nf-more-label{transition:opacity .2s ease,transform .25s ease}
.nf-more-dots{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:7px;opacity:0;transition:opacity .2s ease}
.nf-more.is-loading .nf-more-label{opacity:0;transform:translateY(-4px)}
.nf-more.is-loading .nf-more-dots{opacity:1}
.nf-more-dots i{width:6px;height:6px;border-radius:50%;background:currentColor;animation:nf-dot 1s ease-in-out infinite}
.nf-more-dots i:nth-child(2){animation-delay:.15s}.nf-more-dots i:nth-child(3){animation-delay:.3s}
@keyframes nf-dot{0%,80%,100%{opacity:.2;transform:translateY(0)}40%{opacity:1;transform:translateY(-6px)}}
.nf-end,.nf-empty{text-align:center;padding:72px 20px 40px}
.nf-end[hidden],.nf-empty[hidden]{display:none}
.nf-end.is-shown>*,.nf-empty.is-shown>*{animation:nf-rise .8s cubic-bezier(.22,1,.36,1) both}
.nf-end.is-shown>:nth-child(2),.nf-empty.is-shown>:nth-child(2){animation-delay:.12s}
.nf-end.is-shown>:nth-child(3),.nf-empty.is-shown>:nth-child(3){animation-delay:.24s}
.nf-end-line{display:block;width:72px;height:1px;margin:0 auto 34px;background:var(--mrs-ink);transform-origin:50% 50%}
.nf-end.is-shown .nf-end-line{animation:nf-line .9s cubic-bezier(.22,1,.36,1) both}
@keyframes nf-line{from{transform:scaleX(0);opacity:0}}
.ed-page .nf-end-title{margin:0;font-family:var(--type-family);font-weight:400;font-size:clamp(26px,2.6vw,40px);line-height:1.2;color:var(--mrs-ink)}
.ed-page .nf-end-text{margin:14px auto 0;max-width:520px;font-size:16px;line-height:1.55;color:#60756e;text-wrap:balance}
.nf-empty button{margin-top:22px}

@media(max-width:1100px){.nf-search{flex:1 1 260px;max-width:none}}
@media(max-width:750px){
  .ed-toolbar:has(>.nf-tabs){gap:10px}
  .nf-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-16px;padding-inline:16px;max-width:calc(100% + 32px);flex:1 1 100%}
  .nf-tabs::-webkit-scrollbar{display:none}
  .nf-tabs>button{white-space:nowrap;flex:0 0 auto}
  .nf-date{flex:0 0 auto}
  .nf-date-trigger{min-height:50px;padding:10px 18px}
  .nf-search{flex:1 1 160px}.ed-toolbar .nf-search input{height:50px;padding-left:20px}
  .nf-date-panel{position:fixed;left:16px;right:16px;top:auto;bottom:16px;grid-template-columns:1fr;transform:none;animation-name:nf-sheet-in;max-height:calc(100vh - 32px);overflow:auto}
  .nf-date-panel.is-closing{animation-name:nf-sheet-out}
  @keyframes nf-sheet-in{from{opacity:0;transform:translateY(24px)}}
  @keyframes nf-sheet-out{to{opacity:0;transform:translateY(24px)}}
  .nf-presets{flex-direction:row;flex-wrap:wrap;border-right:0;border-bottom:1px solid #dfe6e1;padding:0 0 8px}
  .nf-presets>button{min-height:38px;padding:8px 14px}
  .nf-end{padding-top:48px}
}
@media(prefers-reduced-motion:reduce){
  .nf-tabs .nf-pill,.nf-list,.nf-more-btn{transition:none!important}
  .nf-date-panel,.nf-list .ed-news-row.nf-in,.nf-end.is-shown>*,.nf-empty.is-shown>*,.nf-end.is-shown .nf-end-line,.nf-status,.nf-reset,.nf-more-btn{animation:none!important}
}

/* ---------- Страница новости: текст слева, фото справа; всё главное — в первом экране */
.ed-page .nd{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);grid-template-areas:"head media" "body media";grid-template-rows:auto 1fr;column-gap:clamp(40px,5vw,88px);align-items:start;padding:8px 0 64px}
.ed-page .nd.nd-no-media{grid-template-columns:minmax(0,820px);grid-template-areas:"head" "body"}
.nd-head{grid-area:head}
.nd-head .ed-back{margin-bottom:26px}
.nd-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:16px;font-size:13px;color:#60756e;letter-spacing:.02em}
.nd-meta span{padding:5px 12px;border:1px solid #c5d2ca;border-radius:40px;color:var(--mrs-ink)}
.ed-page .nd-title{margin:0;font-family:var(--type-family);font-weight:400;font-size:clamp(28px,2.5vw,44px);line-height:1.16;letter-spacing:-.01em;color:var(--mrs-ink);text-wrap:balance;animation:nd-rise .7s cubic-bezier(.22,1,.36,1) both}
.nd-body{grid-area:body;padding-top:28px;max-width:640px;animation:nd-rise .7s .08s cubic-bezier(.22,1,.36,1) both}
.ed-page .nd-body p{font-size:clamp(16px,1.05vw,18px);line-height:1.68;color:#3f554e;margin:0 0 18px}
.ed-page .nd-body p:first-child{color:var(--mrs-ink)}
.nd-body blockquote{margin:28px 0 0;padding:4px 0 4px 24px;border-left:2px solid var(--mrs-ink);font-size:20px;line-height:1.5;color:var(--mrs-ink)}
.nd-media{grid-area:media;position:sticky;top:112px;animation:nd-rise .8s .05s cubic-bezier(.22,1,.36,1) both}
.nd-main{position:relative;display:block;width:100%;padding:0;border:0;border-radius:16px;overflow:hidden;background:#dfe6e1;cursor:zoom-in}
.nd-main-img{display:block;width:100%;height:min(64vh,620px);object-fit:cover;transition:opacity .25s ease,transform .6s cubic-bezier(.22,1,.36,1)}
.nd-main:hover .nd-main-img{transform:scale(1.015)}
.nd-main-img.is-swap{opacity:0}
.nd-count{position:absolute;left:16px;bottom:16px;padding:6px 12px;border-radius:40px;background:rgba(32,56,50,.72);color:#fff;font-size:13px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.nd-zoom{position:absolute;right:16px;bottom:16px;width:38px;height:38px;border-radius:50%;background:rgba(245,246,243,.88);opacity:0;transform:scale(.9);transition:opacity .25s ease,transform .25s ease}
.nd-zoom:before,.nd-zoom:after{content:"";position:absolute;left:50%;top:50%;width:14px;height:1.5px;margin:-.75px 0 0 -7px;background:var(--mrs-ink)}
.nd-zoom:after{transform:rotate(90deg)}
.nd-main:hover .nd-zoom,.nd-main:focus-visible .nd-zoom{opacity:1;transform:none}
.nd-thumbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:12px}
.nd-thumbs.is-many{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:calc((100% - 40px)/5);overflow-x:auto;scrollbar-width:thin;padding-bottom:4px;scroll-snap-type:x proximity}
.nd-thumbs button{position:relative;padding:0;border:0;border-radius:10px;overflow:hidden;aspect-ratio:4/3;background:#dfe6e1;cursor:pointer;scroll-snap-align:start;transition:transform .2s cubic-bezier(.22,1,.36,1)}
.nd-thumbs button:after{content:"";position:absolute;inset:0;border-radius:10px;box-shadow:inset 0 0 0 2px transparent;transition:box-shadow .25s ease,background-color .25s ease}
.nd-thumbs button:not([aria-pressed=true]):after{background:rgba(245,246,243,.28)}
.nd-thumbs button[aria-pressed=true]:after{box-shadow:inset 0 0 0 2px var(--mrs-ink)}
.nd-thumbs button:hover{transform:translateY(-2px)}
.nd-thumbs img{display:block;width:100%;height:100%;object-fit:cover}
@keyframes nd-rise{from{opacity:0;transform:translateY(14px)}}

/* просмотр на весь экран */
.nd-box{position:fixed;inset:0;z-index:200;display:grid;grid-template-columns:72px minmax(0,1fr) 72px;grid-template-rows:64px minmax(0,1fr) 56px;background:rgba(18,32,28,.94);color:#fff;animation:nd-fade .25s ease}
.nd-box[hidden]{display:none}
.nd-box.is-closing{animation:nd-fade-out .2s ease forwards}
.nd-box-img{grid-column:2;grid-row:2;place-self:center;max-width:100%;max-height:100%;object-fit:contain;border-radius:6px;transition:opacity .2s ease,transform .3s cubic-bezier(.22,1,.36,1)}
.nd-box-img.is-swap{opacity:0;transform:scale(.985)}
.nd-box button{border:0;background:transparent;color:#fff;cursor:pointer}
.nd-box-close{grid-column:3;grid-row:1;place-self:center;width:44px;height:44px;border-radius:50%;font-size:26px;line-height:1;transition:background-color .2s}
.nd-box-prev,.nd-box-next{grid-row:2;place-self:center;width:52px;height:52px;border-radius:50%;font-size:28px;transition:background-color .2s}
.nd-box-prev{grid-column:1}.nd-box-next{grid-column:3}
.nd-box button:hover{background:rgba(255,255,255,.12)}
.nd-box-count{grid-column:2;grid-row:3;place-self:center;font-size:14px;color:rgba(255,255,255,.72)}
@keyframes nd-fade{from{opacity:0}}
@keyframes nd-fade-out{to{opacity:0}}

@media(max-width:1000px){
  .ed-page .nd{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "media" "body";grid-template-rows:none;row-gap:24px}
  .nd-media{position:static}
  .nd-main-img{height:auto;aspect-ratio:4/3;max-height:70vh}
  .nd-body{padding-top:0}
  .nd-thumbs{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(84px,22%);overflow-x:auto}
  .nd-box{grid-template-columns:44px minmax(0,1fr) 44px}
}
@media(prefers-reduced-motion:reduce){.ed-page .nd-title,.nd-body,.nd-media,.nd-box,.nd-box.is-closing{animation:none!important}.nd-main-img,.nd-box-img{transition:none!important}}

/* Узкие фото — целиком, по центру, бока светлым фирменным зелёным (класс ставит news-feed.js) */
img.is-narrow{object-fit:contain!important;background-color:var(--mrs-ink-soft,#dfe9e3)}
.ed-card-photo:has(img.is-narrow),.nd-main:has(.is-narrow),.ed-cover:has(> img.is-narrow){background-color:var(--mrs-ink-soft,#dfe9e3)}
.ed-card:hover img.is-narrow{transform:none}
/* заглушка вместо фото (нет своих снимков): весь кадр 16:9, без увеличения и просмотра */
.nd-media-ph .nd-main{cursor:default}
.nd-media-ph .nd-main-img{height:auto;aspect-ratio:16/9}
.nd-media-ph .nd-main:hover .nd-main-img{transform:none}
