/* === Bauerschmidt Video ===
   Layout:
     .bs-video         → äußerer Wrapper (Padding/Max-Width via
                          widget-content-width.css)
     .bs-video__frame  → Aspect-Ratio-Container (CSS aspect-ratio)
     .bs-video__el     → das tatsächliche <video> oder <iframe>

   Aspect-Ratio über das `aspect-ratio` Property (Standard seit 2021,
   alle modernen Browser). Keine Tricks mit padding/height. */

.bs-video {
  font-family: "Funnel Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  display: block;
}

.bs-video__frame {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background-color: #0a0a0a;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  line-height: 0;
}

.bs-video__frame--16-9 { aspect-ratio: 16 / 9; }
.bs-video__frame--4-3  { aspect-ratio: 4 / 3; }
.bs-video__frame--1-1  { aspect-ratio: 1 / 1; }
.bs-video__frame--21-9 { aspect-ratio: 21 / 9; }

/* Video / iframe füllt den Frame komplett. */
.bs-video__el {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  background: transparent;
  object-fit: cover;
  object-position: center;
}

/* Play-Button-Overlay (nur bei file + Poster). */
.bs-video__play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 96px;
  height: 96px;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  color: #0077C8;
  cursor: pointer;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.25);
  transition: transform .25s cubic-bezier(0.22, 1, 0.36, 1),
              background .25s ease,
              box-shadow .25s ease,
              opacity .2s ease;
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0.2);
}
.bs-video__play svg {
  width: 36px;
  height: 36px;
  margin-left: 4px; /* optisches Zentrieren des Play-Dreiecks */
}

@media (hover: hover) {
  .bs-video__play:hover {
    background: #ffffff;
    transform: translate(-50%, -50%) scale(1.06);
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.32);
  }
}
.bs-video__play:active {
  transform: translate(-50%, -50%) scale(0.96);
}
.bs-video__play:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 4px;
}

/* Wiedergabe läuft → Play-Button + Poster-Background ausblenden. */
.bs-video__frame.is-playing {
  background-image: none !important;
}
.bs-video__frame.is-playing .bs-video__play {
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -50%) scale(0.85);
}

/* Editor-Platzhalter (nur sichtbar, wenn keine Quelle gesetzt ist). */
.bs-video__placeholder {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  background: #1a2433;
  color: rgba(255, 255, 255, 0.7);
  font-family: inherit;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .02em;
  line-height: 1.4;
  text-align: center;
  padding: 16px;
}
.bs-video__placeholder svg {
  width: 56px;
  height: 56px;
  opacity: 0.6;
}

@media (max-width: 480px) {
  .bs-video__play {
    width: 76px;
    height: 76px;
  }
  .bs-video__play svg {
    width: 28px;
    height: 28px;
    margin-left: 3px;
  }
}
