.a2bsm-slider{position:relative;width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);overflow:hidden;background:#000;isolation:isolate;}
.a2bsm-track{position:relative;width:100%;}
.a2bsm-slide{position:absolute;inset:0;width:100%;opacity:0;visibility:hidden;transform:scale(1.02);transition:opacity .8s ease,transform 1.2s ease,visibility .8s ease;z-index:1;pointer-events:none;}
.a2bsm-slide.is-active{position:relative;opacity:1;visibility:visible;transform:scale(1);z-index:2;pointer-events:auto;}
.a2bsm-banner-link{display:block;width:100%;text-decoration:none;color:inherit;}
.a2bsm-frame{position:relative;width:100%;aspect-ratio:100/55;overflow:hidden;background:#000;}
.a2bsm-frame picture,.a2bsm-frame img{position:absolute;inset:0;width:100%;height:100%;}
.a2bsm-frame img{display:block;object-fit:contain;object-position:center center;background:#000;}
.a2bsm-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04) 0%,rgba(0,0,0,.02) 55%,rgba(0,0,0,.18) 100%);pointer-events:none;z-index:3;}
.a2bsm-dots{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);z-index:5;display:flex;gap:8px;align-items:center;justify-content:center;padding:0 14px;}
.a2bsm-dot{width:10px;height:10px;border:0;border-radius:50%;padding:0;cursor:pointer;background:rgba(255,255,255,.55);transition:transform .25s ease,background .25s ease;}
.a2bsm-dot.is-active{background:#fff;transform:scale(1.15);}
.a2bsm-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:6;width:46px;height:46px;border:0;border-radius:50%;background:rgba(0,0,0,.28);color:#fff;font-size:20px;line-height:1;cursor:pointer;backdrop-filter:blur(4px);transition:background .25s ease;}
.a2bsm-nav:hover{background:rgba(0,0,0,.45);}.a2bsm-prev{left:18px;}.a2bsm-next{right:18px;}
.a2bsm-caption{position:absolute;z-index:4;left:7%;bottom:11%;color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.65);max-width:68%;}
.a2bsm-caption h2{font-family:inherit;font-size:clamp(19px,2.7vw,42px);font-weight:700;line-height:1.15;color:#fff;margin:0 0 5px;}
.a2bsm-caption p{margin:0;font-size:clamp(12px,1.4vw,19px);color:#fff;}
.a2bsm-slide[aria-hidden="true"] .a2bsm-banner-link{pointer-events:none;}
@media(max-width:767px){
 .a2bsm-frame{aspect-ratio:5/7;}.a2bsm-frame img{object-fit:cover;object-position:center center;}
 .a2bsm-nav{width:38px;height:38px;font-size:18px;}.a2bsm-prev{left:10px;}.a2bsm-next{right:10px;}
 .a2bsm-dots{bottom:14px;}.a2bsm-dot{width:9px;height:9px;}
 .a2bsm-caption{left:8%;bottom:12%;max-width:80%;}
}
@media(prefers-reduced-motion:reduce){.a2bsm-slide,.a2bsm-dot{transition:none!important;}}
/* v1.1.0: per-page banners or sliders inside content containers. */
.a2bsm-placement.a2bsm-width-boxed{width:100%;max-width:100%;margin-left:0;}
.a2bsm-placement.a2bsm-width-boxed .a2bsm-frame{width:100%;}

/* v1.1.1: protect slide stacking in Elementor shortcode preview and themes.
 * Only our own plugin classes are targeted; no Elementor/global carousel changes. */
.a2bsm-slider.a2bsm-slider{position:relative!important;overflow:hidden!important;}
.a2bsm-slider .a2bsm-track{position:relative!important;}
.a2bsm-slider .a2bsm-track>.a2bsm-slide{position:absolute!important;inset:0!important;width:100%!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:scale(1.02);}
.a2bsm-slider .a2bsm-track>.a2bsm-slide.is-active{position:relative!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:scale(1);}
.a2bsm-slider .a2bsm-frame{position:relative!important;overflow:hidden!important;}
.a2bsm-slider .a2bsm-frame picture,.a2bsm-slider .a2bsm-frame img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;}
