/* === BOOTSTRAP CAROUSEL – MIN SAFE (bez migotania) === */
.carousel{position:relative}
.carousel-inner{position:relative;width:100%;overflow:hidden}
.carousel-inner::after{display:block;content:"";clear:both}
.carousel-item{
  position:relative;
  display:none;
  float:left;                 /* krytyczne dla animacji */
  width:100%;                 /* j.w. */
  margin-right:-100%;         /* j.w. */
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden; /* anty-błysk */
  transition:transform .6s ease-in-out;
}
@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}
.carousel-item.active,
.carousel-item-next,
.carousel-item-prev{display:block}
.carousel-item-next:not(.carousel-item-start),
.active.carousel-item-end{transform:translateX(100%)}
.carousel-item-prev:not(.carousel-item-end),
.active.carousel-item-start{transform:translateX(-100%)}
/* Wskaźniki (stylistyka jak w BS) */
.carousel-indicators{
  position:absolute;right:0;left:0;bottom:0;z-index:2;
  display:flex;justify-content:center;margin:0 15% 1rem;list-style:none;
}
.carousel-indicators [data-bs-target]{
  box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;margin:0 3px;
  text-indent:-999px;cursor:pointer;background:#fff;border:0;
  border-top:10px solid transparent;border-bottom:10px solid transparent;
  opacity:.5;transition:opacity .6s ease;
}
.carousel-indicators .active{opacity:1}
/* ===== HERO: #homepage-zenslider – bez stałych wysokości ===== */
/* Rezerwacja wysokości natychmiast po załadowaniu CSS */
#homepage-zenslider .carousel-inner{ aspect-ratio: 1800 / 650; }
/* Fallback dla bardzo starych przeglądarek bez aspect-ratio */
@supports not (aspect-ratio: 1 / 1){
  #homepage-zenslider .carousel-inner::before{
    content:""; display:block; padding-top: calc(650 / 1800 * 100%);
  }
}
/* Slajd i obraz dopasowane do ramki */
#homepage-zenslider .carousel-item{ height: 100%; overflow: hidden; }
#homepage-zenslider .carousel-item > img{display:block; width:100%; height:100%; object-fit:cover;}
/* Caption po prawej (Desktop) */
#homepage-zenslider .carousel-item{ position:relative } /* kotwica dla caption */
#homepage-zenslider .carousel-caption{
  position:absolute;
  top:12%;
  left:58%;
  right:3%;
  bottom:auto;
  width:auto;
  max-width:640px;
  text-align:left;
  color:#2b2b2b;
  z-index:5;
}
