/* Карусель баннеров SNP.AM (главная сайта и предпросмотр в админке) */
.bn-sec{padding:22px 0 8px}
.bn{position:relative;--bn-r:1920/500;--bn-rm:2/1;border-radius:6px;overflow:hidden;background:#101212;box-shadow:0 1px 0 #0000001a,0 10px 30px -18px #000000;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}
.bn-vp{position:relative;overflow:hidden;aspect-ratio:var(--bn-r);touch-action:pan-y;cursor:grab}
.bn-vp.drag{cursor:grabbing}
.bn-track{display:flex;height:100%;will-change:transform;transform:translate3d(0,0,0)}
.bn-track.anim{transition:transform .55s cubic-bezier(.4,0,.2,1)}
.bn-s{position:relative;flex:0 0 100%;min-width:0;height:100%;display:block;color:#ffffff;text-decoration:none;overflow:hidden}
.bn-s picture,.bn-s img{display:block;width:100%;height:100%}
.bn-s img{object-fit:cover;-webkit-user-drag:none;pointer-events:none}
a.bn-s:focus-visible{outline:3px solid var(--y,#20AA56);outline-offset:-3px}
/* фирменная плашка для баннера без картинки */
.bn-t{display:flex;flex-direction:column;justify-content:center;gap:8px;height:100%;padding:0 clamp(56px,9vw,120px);box-sizing:border-box}
.bn-t b{font:600 clamp(1.15rem,3.1vw,2.5rem)/1.1 var(--disp,inherit);letter-spacing:-.01em;max-width:22ch}
.bn-t>span:not(.bn-badge){font-size:clamp(.8rem,1.4vw,1.1rem);opacity:.9;max-width:52ch}
.bn-badge{align-self:flex-start;background:var(--y,#20AA56);color:#000000;font:600 11px/1 var(--disp,inherit);letter-spacing:.14em;text-transform:uppercase;padding:6px 10px;border-radius:2px}
.bn-c-orange{background:linear-gradient(105deg,#101212 0%,#2a1d06 45%,#c98a00 140%)}
.bn-c-navy{background:linear-gradient(105deg,#101212 0%,#14243f 55%,#2a4f8f 140%)}
.bn-c-teal{background:linear-gradient(105deg,#101212 0%,#1A1F28 55%,#389060 140%)}
/* стрелки */
.bn-ar{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:40px;height:40px;border-radius:50%;border:0;background:#ffffffeb;color:#101212;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .2s,background .2s,transform .2s;box-shadow:0 2px 10px #0004}
.bn-prev{left:14px}.bn-next{right:14px}
.bn:hover .bn-ar,.bn:focus-within .bn-ar{opacity:1}
.bn-ar:hover{background:var(--y,#20AA56)}
.bn-ar:active{transform:translateY(-50%) scale(.94)}
.bn-ar:focus-visible,.bn-dot:focus-visible{outline:2px solid var(--y,#20AA56);outline-offset:2px}
/* точки */
.bn-dots{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);z-index:3;display:flex;gap:6px;padding:5px 8px;border-radius:99px;background:#10121273;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.bn-dot{position:relative;width:8px;height:8px;padding:0;border:0;border-radius:99px;background:#ffffff8c;cursor:pointer;transition:width .25s,background .25s}
.bn-dot::after{content:"";position:absolute;inset:-8px}
.bn-dot.on{width:22px;background:var(--y,#20AA56)}
@media (hover:none){.bn-ar{display:none}}
@media (max-width:700px){
  .bn-sec{padding-top:14px}
  .bn{border-radius:4px}
  .bn-vp{aspect-ratio:var(--bn-rm)}
  .bn-t{padding:0 20px;gap:5px}
  .bn-ar{display:none}
  .bn-dots{bottom:6px;padding:4px 7px}
  .bn-dot{width:7px;height:7px}.bn-dot.on{width:18px}
}
/* принудительные режимы предпросмотра (не зависят от ширины окна) */
.bn.is-d .bn-vp{aspect-ratio:var(--bn-r)}
.bn.is-m .bn-vp{aspect-ratio:var(--bn-rm)}
.bn.is-m .bn-ar{display:none}
.bn.is-m .bn-t{padding:0 20px}.bn.is-m .bn-t b{font-size:1.15rem}.bn.is-m .bn-t>span:not(.bn-badge){font-size:.8rem}
.bn.is-d .bn-ar{display:flex}
@media (prefers-reduced-motion:reduce){.bn-track.anim{transition:none}}
