/* carouselimage: stufenlose Ausschnitt-Transition
 * Bild bleibt starr, Ausschnitt immer auf Bildmittelpunkt zentriert.
 * Desktop >=1440px: 37:9 | 768-1440: interpoliert | Mobile <=768: 3:4
 */

.ci-wrapper {
  position: relative;
  overflow: hidden;
  width: 100%;
}

.ci-wrapper img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

/* Mit JS aktiv: Bild wird absolut positioniert und manuell skaliert,
   damit beliebige Crop-Bereiche (auch < volle Bild­breite/-höhe) korrekt
   dargestellt werden können. */
.ci-wrapper.ci-js img {
  position: absolute;
  top: 0;
  left: 0;
  width: auto;
  height: auto;
  max-width: none;
  object-fit: fill;
  transform-origin: 0 0;
  will-change: transform;
}

/* No-JS fallback */
.ci-wrapper:not(.ci-js) {
  aspect-ratio: 3 / 4;
}

@media (min-width: 1440px) {
  .ci-wrapper:not(.ci-js) {
    aspect-ratio: 37 / 9;
  }
}
