/* Base layout */
.fsp-carousel{ position:relative; }
.fsp-viewport{ overflow:hidden; width:100%; }
.fsp-track{ display:flex; align-items:stretch; transition: transform 300ms ease; will-change: transform; }
.fsp-item{ flex:0 0 auto; display:flex; flex-direction:column; }
.fsp-item-inner{ width:100%; }

.fsp-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:5;
  background: rgba(255,255,255,0.95);
  border:none;
  border-radius:50%;
  padding:10px;
  cursor:pointer;
  box-shadow:0 2px 6px rgba(0,0,0,.2);
  width: 40px;
  height: 40px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.fsp-prev{ left:-24px; }
.fsp-next{ right:-24px; }

.fsp-dots{ text-align:center; margin-top:10px; }
.fsp-dot{ width:12px; height:12px; border-radius:50%; background:#ccc; border:none; display:inline-block; margin:0 3px; cursor:pointer; padding:0; }
.fsp-dot.active{ background:#000; }

.fsp-item .wp-caption-text,
.fsp-item figcaption,
.fsp-item .blocks-gallery-caption,
.fsp-item .gallery-caption{
  display:none;
}
.fsp-item.focus .wp-caption-text,
.fsp-item.focus figcaption,
.fsp-item.focus .blocks-gallery-caption,
.fsp-item.focus .gallery-caption{
  display:block;
}


/* Equal height mode */
.fsp-carousel.fsp-equal-height .fsp-track{
  align-items:stretch;
}
.fsp-carousel.fsp-equal-height .fsp-item{
  align-self:stretch;
}
.fsp-carousel.fsp-equal-height .fsp-item-inner{
  height:100%;
  display:flex;
  flex-direction:column;
}
.fsp-carousel.fsp-equal-height .fsp-item-inner img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
}
.fsp-carousel.fsp-equal-height .wp-block-image,
.fsp-carousel.fsp-equal-height figure{
  margin:0;
}


/* Equal height: content alignment + full-width images */
.fsp-carousel.fsp-equal-height .fsp-item-inner{
  display:flex;
  flex-direction:column;
  height:100%;
}
.fsp-carousel.fsp-equal-height .fsp-item-inner img{
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  display:block;
}
.fsp-carousel.fsp-equal-height .wp-block-image,
.fsp-carousel.fsp-equal-height figure,
.fsp-carousel.fsp-equal-height .wp-caption{
  width:100% !important;
  max-width:100% !important;
  margin-left:0;
  margin-right:0;
}






/* Caption display modes via data-caption-mode */
.fsp-carousel[data-caption-mode="none"] .wp-caption-text,
.fsp-carousel[data-caption-mode="none"] figcaption,
.fsp-carousel[data-caption-mode="none"] .blocks-gallery-caption,
.fsp-carousel[data-caption-mode="none"] .gallery-caption {
  display: none !important;
}

.fsp-carousel[data-caption-mode="focus"] .wp-caption-text,
.fsp-carousel[data-caption-mode="focus"] figcaption,
.fsp-carousel[data-caption-mode="focus"] .blocks-gallery-caption,
.fsp-carousel[data-caption-mode="focus"] .gallery-caption {
  display: none !important;
}

.fsp-carousel[data-caption-mode="focus"] .fsp-item.focus .wp-caption-text,
.fsp-carousel[data-caption-mode="focus"] .fsp-item.focus figcaption,
.fsp-carousel[data-caption-mode="focus"] .fsp-item.focus .blocks-gallery-caption,
.fsp-carousel[data-caption-mode="focus"] .fsp-item.focus .gallery-caption {
  display: block !important;
}

.fsp-carousel[data-caption-mode="all"] .wp-caption-text,
.fsp-carousel[data-caption-mode="all"] figcaption,
.fsp-carousel[data-caption-mode="all"] .blocks-gallery-caption,
.fsp-carousel[data-caption-mode="all"] .gallery-caption {
  display: block !important;
}
