.ns-stories{--ns-accent:#635bff;--ns-ink:#172238;--ns-muted:#7a8496;--ns-line:#e9edf3;--ns-gap:20px;--ns-cols:6;--ns-cols-md:4;--ns-cols-sm:3.5;--ns-c:var(--ns-cols);margin:0 0 24px}
.ns-stories *{box-sizing:border-box}
.ns-stories__title{margin:0 0 14px;font-size:20px;font-weight:700}
.ns-stories__wrap{position:relative}
.ns-stories__strip{display:flex;gap:var(--ns-gap);overflow-x:auto;scrollbar-width:none;scroll-behavior:smooth;padding:10px 1px 16px;margin:-6px 0 -4px;-webkit-overflow-scrolling:touch}
.ns-stories__strip::-webkit-scrollbar{display:none}
.ns-thumb{position:relative;flex:0 0 calc((100% - (var(--ns-c) - 1) * var(--ns-gap)) / var(--ns-c));min-width:0;border:0;background:none;padding:0;text-align:var(--ns-align,center);color:var(--ns-ink);cursor:pointer;font:inherit}
.ns-ring{display:block;width:100%;aspect-ratio:112/145;padding:var(--ns-ring-w,3px);border-radius:18px;box-shadow:0 5px 15px #1c2a4410;transition:transform .25s ease,box-shadow .25s ease}
.ns-ring::before{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--ns-ring,linear-gradient(145deg,#ffb456,#ff4885 48%,#6b59f5));transition:opacity .2s}
.ns-thumb.is-seen .ns-ring::before{opacity:var(--ns-seen-o,.4)}
.ns-ring{position:relative}
.ns-ring__in{position:absolute;top:var(--ns-ring-w,3px);left:var(--ns-ring-w,3px);width:calc(100% - 2 * var(--ns-ring-w,3px));height:calc(100% - 2 * var(--ns-ring-w,3px));overflow:hidden;border:var(--ns-gap-w,3px) solid var(--ns-ring-gap,#fff);border-radius:calc(18px - var(--ns-ring-w,3px))}
.ns-ring__in img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.ns-thumb__text{display:block;overflow-wrap:anywhere}
.ns-thumb__title{display:block;margin-top:10px;font-size:13px;font-weight:700;line-height:1.3;color:var(--ns-label-color,var(--ns-ink))}
.ns-thumb__sub{display:block;font-size:11px;color:var(--ns-sub-color,var(--ns-muted))}
/* подпись поверх превью */
.ns-stories--label-overlay .ns-ring::after{content:"";position:absolute;inset:calc(var(--ns-ring-w,3px) + var(--ns-gap-w,3px));border-radius:max(0px,calc(18px - var(--ns-ring-w,3px) - var(--ns-gap-w,3px)));background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.7));pointer-events:none}
.ns-stories--round.ns-stories--label-overlay .ns-ring::after{border-radius:50%}
.ns-stories--label-overlay .ns-thumb__text{position:absolute;left:12px;right:12px;bottom:12px;z-index:1}
.ns-stories--label-overlay .ns-thumb__title{margin-top:0;color:var(--ns-label-color,#fff);text-shadow:0 1px 6px rgba(0,0,0,.5);overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;line-clamp:4;overflow:hidden}
.ns-stories--label-overlay .ns-thumb__sub{color:var(--ns-sub-color,rgba(255,255,255,.85));text-shadow:0 1px 6px rgba(0,0,0,.5);overflow-wrap:anywhere;line-height:1.3;margin-top:2px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;line-clamp:4;overflow:hidden}
.ns-stories--round.ns-stories--label-overlay .ns-thumb__text{left:18%;right:18%;bottom:16%}
.ns-thumb:focus-visible .ns-ring{outline:3px solid var(--ns-accent);outline-offset:2px}
.ns-stories--round .ns-ring{aspect-ratio:1/1;border-radius:50%;margin:0 auto}
.ns-stories--round .ns-ring__in{border-radius:50%}
.ns-nav{position:absolute;top:38%;transform:translateY(-50%);z-index:2;width:38px;height:38px;border:1px solid var(--ns-line);border-radius:50%;background:#fff;color:#172238;box-shadow:0 5px 20px #17223825;font-size:15px;line-height:1;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer}
.ns-nav[hidden]{display:none}
.ns-nav--prev{left:-12px}
.ns-nav--next{right:-12px}
.ns-stories--round .ns-nav{top:36%}

.ns-overlay{position:fixed;inset:0;z-index:2000;display:none;align-items:center;justify-content:center;padding:16px;background:#080b15ee;font:15px/1.5 system-ui,-apple-system,'Segoe UI',sans-serif}
.ns-overlay.is-open{display:flex}
.ns-overlay *{box-sizing:border-box}
.ns-viewer{--ns-text:#fff;--ns-tag-bg:#fff;--ns-tag-color:#151c2b;--ns-button-bg:#635bff;--ns-button-color:#fff;--ns-card-bg:#fff;--ns-card-color:#172238;--ns-s:1;position:relative;width:min(420px,100%);height:min(750px,calc(100dvh - 32px));border-radius:20px;overflow:hidden;background:#222;color:var(--ns-text);box-shadow:0 20px 100px #0008;touch-action:pan-y}
.ns-bg,.ns-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ns-bg-blur{position:absolute;top:-30px;left:-30px;width:calc(100% + 60px);height:calc(100% + 60px);object-fit:cover;filter:blur(28px) brightness(.75);display:none}
.ns-viewer.is-contain .ns-bg-blur{display:block}
.ns-viewer.is-contain .ns-bg,.ns-viewer.is-contain .ns-video{object-fit:contain}
.ns-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,calc(.6*var(--ns-s))) 0%,transparent 30%,rgba(0,0,0,calc(.07*var(--ns-s))) 49%,rgba(0,0,0,calc(.8*var(--ns-s))) 100%);pointer-events:none}
.ns-progress{position:absolute;top:14px;left:14px;right:14px;z-index:4;display:flex;gap:4px}
.ns-progress.is-hidden{display:none}
.ns-track{flex:1;height:3px;border-radius:3px;background:rgba(128,128,128,.45);overflow:hidden}
.ns-fill{height:100%;width:0;background:var(--ns-text)}
.ns-head{position:absolute;top:26px;left:16px;right:12px;z-index:5;display:flex;align-items:center;gap:10px}
.ns-avatar{width:35px;height:35px;border-radius:50%;border:2px solid var(--ns-text);object-fit:cover}
.ns-head__text{flex:1;min-width:0}
.ns-head__text b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ns-text)}
.ns-head__text small{font-size:11px;opacity:.8}
.ns-btn{width:36px;height:36px;border:0;border-radius:50%;background:rgba(128,128,128,.35);color:var(--ns-text);font-size:15px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.ns-btn:focus-visible,.ns-arrow:focus-visible{outline:2px solid #fff;outline-offset:2px}
.ns-btn[hidden]{display:none}
.ns-hit{position:absolute;top:80px;bottom:150px;width:32%;z-index:2;border:0;background:transparent;cursor:pointer}
.ns-hit--prev{left:0}
.ns-hit--next{right:0}
.ns-copy{position:absolute;left:22px;right:22px;bottom:150px;z-index:3;text-shadow:0 2px 12px rgba(0,0,0,calc(.45*var(--ns-s)));pointer-events:none}
.ns-tag{display:inline-block;padding:6px 11px;border-radius:30px;background:var(--ns-tag-bg);color:var(--ns-tag-color);font-size:11px;font-weight:800;text-shadow:none}
.ns-headline{margin:16px 0 8px;font-size:30px;line-height:1.08;letter-spacing:-.03em;font-weight:800;color:var(--ns-text)!important}
.ns-text{margin:0;font-size:14px;max-width:320px;color:var(--ns-text)!important}
.ns-bottom{position:absolute;left:14px;right:14px;bottom:14px;z-index:5;display:flex;flex-direction:column;gap:8px}
.ns-cta{display:block;padding:13px 14px;border-radius:14px;background:var(--ns-button-bg);color:var(--ns-button-color)!important;text-align:center;font-size:14px;font-weight:800;text-decoration:none;box-shadow:0 10px 35px #0003}
.ns-product{display:flex;align-items:center;gap:11px;padding:10px;border-radius:15px;background:var(--ns-card-bg);color:var(--ns-card-color);box-shadow:0 10px 35px #0003}
.ns-product__img{width:57px;height:60px;flex:none;border-radius:9px;object-fit:cover}
.ns-product__info{flex:1;min-width:0;text-decoration:none;color:inherit}
.ns-product__name{display:block;font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ns-price{font-size:15px;font-weight:800}
.ns-old{margin-left:5px;font-size:11px;color:#a0a6b0;text-decoration:line-through}
.ns-buy{border:0;border-radius:10px;padding:11px 12px;background:var(--ns-button-bg);color:var(--ns-button-color);font:inherit;font-size:12px;font-weight:800;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;cursor:pointer}
.ns-buy:disabled,.ns-buy.is-disabled{opacity:.6;cursor:default}
a.ns-buy{text-decoration:none!important;color:var(--ns-button-color)!important}
.ns-arrow{position:absolute;top:50%;z-index:2;width:45px;height:45px;margin-top:-22px;border:1px solid #ffffff55;border-radius:50%;background:#ffffff20;color:#fff;font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer}
.ns-arrow--prev{left:calc(50% - 280px)}
.ns-arrow--next{right:calc(50% - 280px)}
.ns-toast{position:absolute;left:50%;bottom:92px;z-index:8;transform:translateX(-50%);max-width:90%;padding:10px 16px;border-radius:12px;background:#172238;color:#fff;font-size:13px;box-shadow:0 8px 30px #0005;display:none}
.ns-toast.is-show{display:block}
@media(max-width:991px){.ns-stories{--ns-c:var(--ns-cols-md)}}
@media(max-width:700px){
  .ns-stories{--ns-c:var(--ns-cols-sm);--ns-gap:12px}
  .ns-nav{display:none}
  .ns-overlay{padding:0}
  .ns-viewer{width:100%;height:100dvh;border-radius:0}
  .ns-arrow{display:none}
}
@media(max-width:900px){.ns-arrow{display:none}}
/* эффект наведения (выбирается в настройках модуля) */
@media(hover:hover){
  .ns-stories--hover-zoom .ns-thumb:is(:hover,:focus-visible) .ns-ring__in img,.ns-stories--hover-zoom_lift .ns-thumb:is(:hover,:focus-visible) .ns-ring__in img{transform:scale(1.08)}
  .ns-stories--hover-lift .ns-thumb:is(:hover,:focus-visible) .ns-ring,.ns-stories--hover-zoom_lift .ns-thumb:is(:hover,:focus-visible) .ns-ring{transform:translateY(-4px);box-shadow:0 12px 24px #1c2a4430}
  .ns-stories--hover-glow .ns-thumb:is(:hover,:focus-visible) .ns-ring{box-shadow:0 0 0 4px color-mix(in srgb,var(--ns-accent) 22%,transparent),0 10px 28px color-mix(in srgb,var(--ns-accent) 45%,transparent)}
}
.ns-stories:not(.ns-stories--hover-none) .ns-thumb:active .ns-ring{transform:scale(.97)}
@media(prefers-reduced-motion:reduce){.ns-stories__strip{scroll-behavior:auto}.ns-ring,.ns-ring__in img,.ns-ring::before{transition:none}.ns-stories .ns-thumb .ns-ring,.ns-stories .ns-thumb .ns-ring__in img{transform:none!important}}
