/* Контейнер 16:9 + обрезка краёв */
.player-wrap {
    position: relative;
    width: 100%;
    /* max-width: 882px; */
    aspect-ratio: 16 / 9;
    margin: 0 auto;
    overflow: hidden;
    line-height: 0;
}

/* Центрируем media по контейнеру */
.player-wrap video,
.player-wrap iframe,
.player-wrap img{
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%,-50%);
  width: 100%;
  height: calc(100% + 4px);
  background: #000;
  z-index: 2;
}

.player-wrap video,
.player-wrap img{
  object-fit: cover;
  object-position: center;
}

/* Крышка для первого клика */
.guest-blocker{
  position:absolute; inset:0; width:100%; height:100%;
  background:transparent; border:0; padding:0; margin:0;
  cursor:pointer;
  z-index: 30;
}

/* Большая иконка Play */
.player-wrap .big-play{
  position:absolute; top:50%; left:50%;
  transform: translate(-50%,-50%) scale(1);
  width: 110px; height: 110px;
  border-radius: 999px;
  background: rgba(0,0,0,.45);
  box-shadow: 0 8px 30px rgba(0,0,0,.35), inset 0 0 0 1px rgba(255,255,255,.12);
  z-index: 32;
  transition: transform .18s ease, opacity .18s ease, background .18s ease;
  pointer-events: none;
}
.player-wrap .big-play::before{
  content:"";
  position:absolute; top:50%; left:50%;
  transform: translate(-40%,-50%);
  border-left: 34px solid #fff;
  border-top: 22px solid transparent;
  border-bottom: 22px solid transparent;
}
.player-wrap:hover .big-play{
  transform: translate(-50%,-50%) scale(1.05);
  background: rgba(0,0,0,.55);
}

/* Затемнение и модалка */
.guest-dim{
  position:absolute; inset:0;
  background:rgba(0,0,0,.55);
  opacity:0; pointer-events:none;
  transition:opacity .2s ease;
  z-index: 40;
}
.guest-modal{
  position:absolute; top:50%; left:50%;
  transform:translate(-50%,-50%) scale(.98);
  width:min(92%, 560px);
  background:#111; color:#fff;
  border-radius:16px;
  box-shadow:0 10px 40px rgba(0,0,0,.5);
  padding:22px 20px 18px;
  opacity:0; pointer-events:none;
  transition:opacity .2s ease, transform .2s ease;
  text-align:center;
  z-index: 50;
}
.guest-modal h3{ margin:0 0 8px; font-size:18px; line-height:1.3; }
.guest-modal p{ margin:0 0 16px; color:#ddd; font-size:14px; }
.guest-modal .actions{ display:flex; gap:8px; justify-content:center; flex-wrap:wrap; }
.guest-modal .btn{
  appearance:none; border:0; cursor:pointer;
  padding:10px 14px; border-radius:10px; font-weight:600;
  text-decoration:none; display:inline-block;
}
.guest-modal .btn-primary{ background:#06f; color:#fff; }
.guest-modal .btn-secondary{ background:#333; color:#fff; }
.guest-modal .close-x{
  position:absolute; top:8px; right:10px;
  width:34px; height:34px; border-radius:10px;
  border:0; background:#222; color:#fff; cursor:pointer;
  font-size:18px; line-height:1;
}

/* Активные состояния */
.player-wrap.is-open .guest-dim,
.player-wrap.is-open .guest-modal{ opacity:1; pointer-events:all; }
.player-wrap.is-open .guest-modal{ transform:translate(-50%,-50%) scale(1); }
.player-wrap.is-open .big-play,
.player-wrap.is-playing .big-play,
.player-wrap.is-unlocked .big-play{ opacity:0; transform: translate(-50%,-50%) scale(.92); }

/* Косметика для webkit-контролов (для залогиненных) 
.player-wrap video::-webkit-media-controls-panel { backdrop-filter: blur(2px) saturate(1.1); }*/
