
.brm-image-carousel{position:relative;overflow:hidden;width:100%;height:var(--brm-carousel-height,520px);border-radius:var(--brm-carousel-radius,18px);background:#111}
.brm-image-carousel-track{height:100%;display:flex;transition:transform var(--brm-carousel-transition,700ms) ease;will-change:transform}
.brm-image-carousel-slide{min-width:100%;height:100%;background-size:cover;background-position:var(--brm-carousel-position,center center);background-repeat:no-repeat;position:relative}
.brm-image-carousel-slide:after{content:"";position:absolute;inset:0;background:var(--brm-carousel-overlay,rgba(0,0,0,0));pointer-events:none}
.brm-image-carousel.brm-carousel-fade .brm-image-carousel-track{display:block}
.brm-image-carousel.brm-carousel-fade .brm-image-carousel-slide{position:absolute;inset:0;opacity:0;transition:opacity var(--brm-carousel-transition,700ms) ease}
.brm-image-carousel.brm-carousel-fade .brm-image-carousel-slide.is-active{opacity:1;position:relative}
.brm-image-carousel.brm-carousel-zoom .brm-image-carousel-slide.is-active{animation:brmCarouselZoom var(--brm-carousel-zoom-duration,7000ms) ease-in-out forwards}
.brm-carousel-dots{position:absolute;z-index:3;left:0;right:0;bottom:16px;display:flex;justify-content:center;gap:8px}
.brm-carousel-dot{width:9px;height:9px;border-radius:999px;border:0;padding:0;cursor:pointer;background:rgba(255,255,255,.45);transition:width .2s ease,background .2s ease}
.brm-carousel-dot.is-active{width:24px;background:#fff}
.brm-carousel-arrows{position:absolute;z-index:4;inset:0;pointer-events:none;display:flex;align-items:center;justify-content:space-between;padding:0 16px}
.brm-carousel-arrow{pointer-events:auto;border:1px solid rgba(255,255,255,.45);background:rgba(0,0,0,.35);color:#fff;width:42px;height:42px;border-radius:999px;cursor:pointer;font-size:24px;line-height:1;display:inline-flex;align-items:center;justify-content:center}
.brm-carousel-arrow:hover{background:rgba(0,0,0,.58)}
@keyframes brmCarouselZoom{from{transform:scale(1)}to{transform:scale(1.07)}}
@media(max-width:720px){.brm-image-carousel{height:var(--brm-carousel-height-mobile,340px);border-radius:var(--brm-carousel-radius-mobile,var(--brm-carousel-radius,18px))}.brm-image-carousel-slide{background-position:var(--brm-carousel-position-mobile,var(--brm-carousel-position,center center))}.brm-carousel-arrows{padding:0 8px}.brm-carousel-arrow{width:34px;height:34px;font-size:20px}.brm-carousel-dots{bottom:10px}}


/* Backend Image Carousel v1.7.1 - stable multi image */
.brm-image-carousel-track {
  gap: var(--brm-carousel-gap, 16px);
}

.brm-image-carousel-slide {
  min-width: calc((100% - (var(--brm-carousel-gap, 16px) * (var(--brm-carousel-slides-desktop, 3) - 1))) / var(--brm-carousel-slides-desktop, 3));
  background-size: var(--brm-carousel-fit, cover);
}

.brm-image-carousel.brm-carousel-fade .brm-image-carousel-slide {
  min-width: 100%;
}

@media (max-width: 1024px) {
  .brm-image-carousel-slide {
    min-width: calc((100% - (var(--brm-carousel-gap, 16px) * (var(--brm-carousel-slides-tablet, 2) - 1))) / var(--brm-carousel-slides-tablet, 2));
  }

  .brm-image-carousel.brm-carousel-fade .brm-image-carousel-slide {
    min-width: 100%;
  }
}

@media (max-width: 720px) {
  .brm-image-carousel-slide {
    min-width: calc((100% - (var(--brm-carousel-gap, 16px) * (var(--brm-carousel-slides-mobile, 1) - 1))) / var(--brm-carousel-slides-mobile, 1));
  }

  .brm-image-carousel.brm-carousel-fade .brm-image-carousel-slide {
    min-width: 100%;
  }
}


/* Backend Image Carousel v1.7.2 - smooth continuous mode */
.brm-image-carousel.brm-carousel-smooth {
  overflow: hidden;
}

.brm-image-carousel.brm-carousel-smooth .brm-image-carousel-track {
  width: max-content;
  animation-duration: var(--brm-carousel-smooth-speed, 35s);
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  will-change: transform;
}

.brm-image-carousel.brm-carousel-smooth.brm-smooth-left .brm-image-carousel-track {
  animation-name: brmCarouselSmoothLeft;
}

.brm-image-carousel.brm-carousel-smooth.brm-smooth-right .brm-image-carousel-track {
  animation-name: brmCarouselSmoothRight;
}

.brm-image-carousel.brm-carousel-smooth.brm-smooth-pause-hover:hover .brm-image-carousel-track {
  animation-play-state: paused;
}

.brm-image-carousel.brm-carousel-smooth .brm-carousel-dots,
.brm-image-carousel.brm-carousel-smooth .brm-carousel-arrows {
  display: none !important;
}

@keyframes brmCarouselSmoothLeft {
  from { transform: translateX(0); }
  to { transform: translateX(calc(-50% - (var(--brm-carousel-gap, 16px) / 2))); }
}

@keyframes brmCarouselSmoothRight {
  from { transform: translateX(calc(-50% - (var(--brm-carousel-gap, 16px) / 2))); }
  to { transform: translateX(0); }
}


/* Backend Image Carousel v1.7.4 - stable slide loop */
.brm-image-carousel-track.no-transition {
  transition: none !important;
}

/* v1.7.4 disables experimental smooth mode visually */
.brm-image-carousel.brm-carousel-smooth .brm-image-carousel-track {
  animation: none !important;
}
