.yt-video {
  position: relative;
  cursor: pointer;
  max-width: 906px;}
.yt-video img {
  width: 100%;
  display: block;}
/* Basis */
.yt-play {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 70px;
  height: 50px;
  background: rgba(253,183,20,1);
  border-radius: 12px;}
/* Mediathek Übersicht */
.yt-play.all { 
  width: 55px;
  height: 35px;
  border-radius: 10px;}
/* Dreieck (Play-Icon) Basis */
.yt-play::before {
  content: "";
  position: absolute;
  left: 26px;
  top: 15px;
  border-left: 18px solid white;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;}
/* Mediathek Übersicht */
.yt-play.all::before {
  left: 22px;
  top: 9px;
  border-left: 14px solid white;
  border-top: 9px solid transparent;
  border-bottom: 9px solid transparent;}
.yt-modal {
  position: fixed;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease;
  z-index: 9999;}
.yt-modal.active {
  opacity: 1;
  pointer-events: auto;}
.yt-backdrop {
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.85);}
.yt-dialog {
  position: absolute;
  top: 80px;
  left: 50%;
  transform: translateX(-50%);
  width: min(90vw, 1400px);
  height: min(
    calc(100vh - 100px), /* etwas Puffer */
    calc(90vw * 9 / 16));}
.yt-frame {
  width: 100%;
  height: 100%;}
.yt-frame iframe {
  width:100%;
  height:100%;
  border:0;}
.yt-close {
  position: absolute;
  right: 0;
  top: -60px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: none;
  background: rgba(0,0,0,0.7);
  color: white;
  font-size: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background .2s ease, transform .15s ease;}
.yt-close:hover {background: #fdb714;}
.yt-close:active {transform: scale(0.9);}
.yt-close:focus {
  outline: none;
  background:#fdb714;}
body.modal-open {
  overflow:hidden;}