/* ===== CBMG Full-Width Slider ===== */
.cbmg-fws{position:relative; width:100%; overflow:hidden; --ui: #fff; --ui-stroke: rgba(0,0,0,.35)}
.cbmg-fws.ui-dark, .cbmg-fws .ui-dark{--ui:#111; --ui-stroke: rgba(255,255,255,.35)}
.cbmg-fws__viewport{position:relative; height:var(--fws-h-desktop); }
.cbmg-fws__slide{position:absolute; inset:0; opacity:0; transform:translateX(0); transition:opacity .6s ease, transform .6s ease; }
.cbmg-fws__slide.is-active{opacity:1; pointer-events:auto}
.cbmg-fws__bg{position:absolute; inset:0; background-size:cover; background-position:center; z-index:0}
.cbmg-fws__bg--mobile{display:none}
.cbmg-fws__inner{position:absolute; left:6vw; bottom:12vh; right:6vw; z-index:2; max-width:min(920px, 84vw)}
.cbmg-fws__title{margin:0 0 10px}
.cbmg-fws__text{margin:0 0 24px}

/* Mobile image block above text (no overlap) */
.cbmg-fws__mobile-image{display:none; width:100%; height:40vh; background-size:cover; background-position:center;}

/* Arrows */
.cbmg-fws__arrow{position:absolute; top:50%; transform:translateY(-50%); width:48px; height:48px; border-radius:24px;
  border:1px solid var(--ui-stroke); background:rgba(0,0,0,.25); backdrop-filter:saturate(120%) blur(1px);
  cursor:pointer; z-index:5; outline:none}
.cbmg-fws__arrow:after{content:''; position:absolute; inset:0; margin:auto; width:12px; height:12px; border:2px solid #fff; border-top:none; border-right:none; transform:rotate(45deg)}
.cbmg-fws__arrow--prev{left:20px}
.cbmg-fws__arrow--next{right:20px}
.cbmg-fws__arrow--next:after{transform:rotate(-135deg)}
.cbmg-fws__arrow:hover{background:rgba(0,0,0,.4)}

/* Bullets */
.cbmg-fws__bullets{position:absolute; left:50%; bottom:22px; transform:translateX(-50%); display:flex; gap:10px; z-index:5}
.cbmg-fws__bullets button{width:10px; height:10px; border-radius:50%; border:1px solid var(--ui-stroke); background:#fff; opacity:.5; padding:0}
.cbmg-fws__bullets button[aria-current="true"]{opacity:1; background:var(--ui)}

/* Effects handled via classes from JS */
.cbmg-fws[data-effect="fade"] .cbmg-fws__slide{transform:none}
.cbmg-fws[data-effect="slide-left"] .cbmg-fws__slide{transform:translateX(10%)}
.cbmg-fws[data-effect="slide-left"] .cbmg-fws__slide.is-active{transform:translateX(0)}
.cbmg-fws[data-effect="slide-right"] .cbmg-fws__slide{transform:translateX(-10%)}
.cbmg-fws[data-effect="slide-right"] .cbmg-fws__slide.is-active{transform:translateX(0)}
.cbmg-fws[data-effect="zoom-in"] .cbmg-fws__slide{transform:scale(1.04)}
.cbmg-fws[data-effect="zoom-in"] .cbmg-fws__slide.is-active{transform:scale(1)}
.cbmg-fws[data-effect="zoom-out"] .cbmg-fws__slide{transform:scale(.96)}
.cbmg-fws[data-effect="zoom-out"] .cbmg-fws__slide.is-active{transform:scale(1)}

/* Mobile */
@media (max-width: 991px){
  .cbmg-fws__viewport{height:var(--fws-h-mobile)}
  .cbmg-fws__bg--desktop{display:none}
  .cbmg-fws__bg--mobile{display:block}
  .cbmg-fws__mobile-image{display:block; height:calc(var(--fws-h-mobile) * .48)}
  .cbmg-fws__inner{position:absolute; inset:auto 20px 20px 20px; max-width:unset}
}

/* Improve contrast on all backgrounds */
.cbmg-fws__title, .cbmg-fws__text{filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}
.cbmg2-button a{filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}
