/* Base */
.fr-fw-slider{ position:relative; width:100%; margin:0; padding:0; line-height:0; overflow:hidden; }

/* Height presets */
.fr-fw-slider.h-vh60  { height:60vh; }
.fr-fw-slider.h-vh75  { height:75vh; }
.fr-fw-slider.h-vh100 { height:100vh; }

/* Strict 16:9 height option */
.fr-fw-slider.h-ratio56{ position:relative; }
.fr-fw-slider.h-ratio56::before{ content:""; display:block; padding-top:56.25%; }
.fr-fw-slider.h-ratio56 > .fr-fw-bleed-viewport{ position:absolute; inset:0; }

/* Full-bleed viewport that aligns to browser edges and clips neighbors */
.fr-fw-bleed-viewport{
  position:relative;
  width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  height:100%;
  overflow:hidden;
}

/* Stacked single: only active shows, so no “peek” ever */
.fr-fw-track{ position:relative; height:100%; }
.fr-fw-slide{ position:absolute; inset:0; display:none; }
.fr-fw-slide.active{ display:block; }

.fr-fw-media{ position:relative; width:100%; height:100%; }

/* Full-bleed inner for both images and videos */
.fr-fw-media-inner.full-bleed{
  position:absolute; top:0; left:50%;
  transform:translateX(-50%);
  width:100vw; height:100%;
}

.fr-fw-media-inner.full-bleed img {
    width:100%; height:100%;
    object-fit:contain; display:block; background:#000;
}

.fr-fw-media-inner.full-bleed video,
.fr-fw-media-inner.full-bleed iframe{
  width:100%; height:100%;
  object-fit:cover; display:block; background:#000;
}

/* UI */
.fr-fw-caption{ position:absolute; left:20px; bottom:20px; padding:10px; background:rgba(0,0,0,.5); color:#fff; z-index:5; }
.fr-fw-nav{ position:absolute; top:50%; transform:translateY(-50%); background:rgba(0,0,0,.5); color:#fff; border:0; padding:10px; cursor:pointer; z-index:10; }
.fr-fw-nav.prev{ left:10px; } .fr-fw-nav.next{ right:10px; }
.fr-fw-dots{ position:absolute; left:0; right:0; bottom:12px; text-align:center; z-index:6; }
.fr-fw-dots button{ width:10px; height:10px; border-radius:50%; border:0; margin:5px; background:#fff; cursor:pointer; }
.fr-fw-dots button[aria-current="true"]{ background:#fc0f17; }

@media (max-width: 767.98px) {
  .fr-fw-slider,
  .fr-fw-track,
  .fr-fw-slide,
  .fr-fw-media,
  .fr-fw-media-inner.full-bleed {
    height: auto !important;
    min-height: 0 !important;
  }

  .fr-fw-media-inner.full-bleed img,
  .fr-fw-media-inner.full-bleed video {
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
  }

  .fr-fw-slider.h-vh60,
  .fr-fw-slider.h-vh75,
  .fr-fw-slider.h-vh100 {
    height: auto !important;
  }

  /* Maintain correct 16:9 proportion without blank space */
  .fr-fw-track {
    aspect-ratio: 16 / 9;
    min-height: auto !important;
  }
}

/* Optional helper to remove Elementor side padding on the section */
.fr-zero-pad > .elementor-container,
.fr-zero-pad.elementor-container,
.fr-zero-pad.elementor-column .elementor-widget-wrap{
  padding-left:0 !important; padding-right:0 !important;
}