.gvt-ve{ width:100%; }
.gvt-ve--error{ padding:.75rem 1rem; background: rgba(255,0,0,.08); border: 1px solid rgba(255,0,0,.25); border-radius: 12px; }

.gvt-ve-frame{ position:relative; width:100%; height:0; overflow:hidden; border-radius:16px; background:#000; }
.gvt-ve-frame iframe, .gvt-ve-frame video{ position:absolute; inset:0; width:100%; height:100%; border:0; }

.gvt-ve-thumb{ position:relative; width:100%; aspect-ratio:16/9; border-radius:16px; border:0; cursor:pointer; background-size:cover; background-position:center; overflow:hidden; }
.gvt-ve-thumb__play{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  font-size:32px; background:rgba(0,0,0,.6); border-radius:50%;
  padding:.45em .6em; color:#fff;
}

.gvt-ve-fs{
  position:absolute;
  right:10px;
  top:10px;
  z-index:5;
  border:0;
  cursor:pointer;
  font-weight:800;
  border-radius:10px;
  padding:.35rem .55rem;
  background:rgba(0,0,0,.55);
  color:#fff;
  line-height:1;
}

.gvt-ve-modal{ display:none; position:fixed; inset:0; z-index:9999; }
.gvt-ve-modal.is-open{ display:block; }
.gvt-ve-backdrop{ position:absolute; inset:0; background:rgba(0,0,0,.72); }
.gvt-ve-dialog{ position:relative; width:min(980px,92vw); margin:6vh auto; background:#111; border-radius:18px; padding:54px 14px 14px; }
.gvt-ve-close{ position:absolute; top:10px; right:10px; padding:.55rem .9rem; border-radius:999px; border:0; cursor:pointer; font-weight:800; }

.gvt-ve-zoomwrap{
  position:absolute;
  inset:0;
  overflow:hidden;
  border-radius:16px;
}
.gvt-ve-zoomwrap .gvt-ve-mp4{
  width:100%;
  height:100%;
  object-fit:contain;
  transform-origin: 0 0;
}
.gvt-ve-zoomwrap.is-zoom-enabled{
  touch-action:none;
}
.gvt-ve-zoomreset{
  position:absolute;
  left:10px;
  top:10px;
  z-index:6;
  border:0;
  cursor:pointer;
  font-weight:800;
  border-radius:10px;
  padding:.30rem .55rem;
  background:rgba(0,0,0,.55);
  color:#fff;
  line-height:1;
  display:none;
}
.gvt-ve-zoomwrap.is-zoomed .gvt-ve-zoomreset{
  display:inline-flex;
}
