/* NS Трейлеры игр */
.ns-vslide__a{position:relative;display:block}
.ns-vslide__play{position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;
  background:rgba(3,7,18,.62);box-shadow:0 0 0 2px rgba(255,255,255,.85);pointer-events:none;transition:transform .15s ease,background .15s ease}
.ns-vslide__play::after{content:'';position:absolute;left:26px;top:20px;border-style:solid;border-width:12px 0 12px 20px;border-color:transparent transparent transparent #fff}
.ns-vslide__a:hover .ns-vslide__play{transform:scale(1.08);background:rgba(145,70,255,.85)}
.ns-vslide__cap{position:absolute;left:10px;top:10px;padding:4px 8px;border-radius:6px;background:rgba(3,7,18,.72);color:#fff;
  font-size:12px;font-weight:700;line-height:1;pointer-events:none}
.nsv-box{width:min(1100px,92vw);max-width:100%;padding:0;background:#000;border-radius:10px;overflow:hidden}
.nsv-box video,.nsv-yt iframe{display:block;width:100%;aspect-ratio:16/9;height:auto;background:#000;border:0}
.nsv-box__t{margin:0;padding:10px 14px;color:#cbd5e1;font-size:14px;background:#0b0f19}
.nsv-box__t a{color:#b99aff}
/* превью в листинге: видео поверх обложки, проявляется, когда пошёл кадр */
[data-nsv]{position:relative}
.nsv-prev{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .25s ease;pointer-events:none;z-index:1;background:transparent}
[data-nsv].nsv-on .nsv-prev{opacity:1}
[data-nsv] .ns-l__mc,[data-nsv] .ns-l__streamed,[data-nsv] .ns-l__plate{z-index:2}
@media (prefers-reduced-motion:reduce){.nsv-prev{display:none}}
/* 🩸 02.10.2026, iPhone Safari: обложка листинга держит 16:9 через aspect-ratio, а картинка внутри — height:100%.
   В Safari процентная высота в такой рамке не всегда считается, рамка вырастает по картинке, и когда поверх
   запускается превью, под кадром остаётся пустое поле (скрин юзера). Картинка и видео — абсолютно поверх рамки,
   высоту рамке задаёт только пропорция; для браузеров без aspect-ratio — старый приём с padding-top. */
.ns-l__cover{min-height:0}
.ns-l__cover>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@supports not (aspect-ratio:1/1){.ns-l__cover{height:0;padding-top:56.25%}}
/* YouTube-слайд (после скриншотов) и пометка в лайтбоксе */
.ns-vslide--yt .ns-vslide__cap{background:rgba(120,20,20,.8)}
.nsv-box__note{color:#94a3b8}
/* слайдшоу из скриншотов вместо обложки (карточки без ролика Steam): кроссфейд + медленный зум */
[data-nss]{position:relative}
.nss-show{position:absolute;inset:0;z-index:1;opacity:0;transition:opacity .3s ease;pointer-events:none;overflow:hidden}
[data-nss].nsv-on .nss-show{opacity:1}
.nss-show img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s ease;transform-origin:50% 50%}
.nss-show img.is-on{opacity:1;animation:nssKB 2.6s linear forwards}
.nss-nozoom img.is-on{animation:none}
@keyframes nssKB{from{transform:scale(1)}to{transform:scale(1.08)}}
[data-nss] .ns-l__mc,[data-nss] .ns-l__streamed,[data-nss] .ns-l__plate{z-index:2}
