.swiper-slider {
  width: 100%;
  position: relative;
  margin: 0 auto;
  /* height: 370px; */
  overflow: hidden;
  --swiper-theme-color: rgb(8, 122, 53);
  /* --swiper-pagination-bullet-inactive-color: #666668;
  --swiper-pagination-bullet-inactive-opacity: 0.0;
  --swiper-pagination-progressbar-bg-color: rgba(0, 0, 0, 0.25); */
  --swiper-navigation-size: 1.5em;  
}

.swiper-slider .swiper-wrapper {
  transition: height 0.5s ease;   /* sanfte Höhenänderung */
}

.swiper-slider .swiper-slide {
  height: auto !important;       /* zwingend notwendig */
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;     /* Caption unten */
}

.swiper-slider .swiper-slide img {
  width: 100%;
  height: auto;                  /* ← Kern: natürliche Bildhöhe */
  display: block;
  object-fit: contain;           /* ganzes Bild sichtbar – oder cover + ... */
  /* Alternative für einheitliches Format: */
  /* object-fit: cover; aspect-ratio: 16 / 9; */
}

.swiper-pagination-bullet:hover {
  opacity: 0.8;
  transform: scale(1.2);
  transition: all 0.2s ease;
}

.swiper-caption {
  position: relative;            /* nicht mehr absolute, da Höhe variabel */
  margin: 1.5rem auto;
  padding: 1.5rem 2rem;
  max-width: 90%;
  color: white;
  background: rgba(0,0,0,0.5);
  border-radius: 8px;
  text-align: center;
}

/* Optional: minimaler Bodenabstand */
.swiper-slider {
  margin-bottom: 2rem;
}