/* Container füllt Parent. Stelle sicher, dass der Parent position:relative und Höhe/Min-Höhe hat. */
.hover-vimeo {
  position: absolute;
  inset: 0;
  width: calc(100% + 0%); /* Grundwert; JS addiert Overscan, falls nötig */
  height: 100%;
  overflow: hidden;
}

/* Video-Iframe (Vimeo background=1 -> cover) */
.hover-vimeo__frame {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  border: 0;
  display: block;
  object-fit: cover;
  pointer-events: none; /* Overlays bleiben klickbar */
}

/* Poster über dem Video */
.hover-vimeo__poster {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transition: opacity .35s ease;
  opacity: 1;
  z-index: 2;
  pointer-events: none;
}
.hover-vimeo.is-playing .hover-vimeo__poster {
  opacity: 0;
}

/* Spinner oben links */
.hover-vimeo__spinner {
  position: absolute;
  top: 10px;
  left: 10px;
  color: #fff;
  font-size: 20px;
  opacity: 0;
  transition: opacity .25s ease;
  z-index: 3;
  pointer-events: none;
}
.hover-vimeo.is-loading .hover-vimeo__spinner {
  opacity: 1;
}
