/* Video Infinity Slider frontend */
.vis-slider { position: relative; width: 100%; overflow: hidden; }
.vis-slider .vis-track { display: flex; will-change: transform; }
.vis-slide { position: relative; overflow: hidden; background:#000; color:#fff; margin: 0; }
.vis-slide .vis-media { position: relative; width: 100%; height: 0; padding-top: 56.25%; /* 16:9 */ overflow:hidden; }
.vis-slide .vis-media iframe,
.vis-slide .vis-media video,
.vis-slide .vis-media .vis-yt-placeholder { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; border:0; }
.vis-slide .vis-caption { font-size:14px; padding:6px 8px; color:#222; background:#fff; }
.vis-nav { position:absolute; top:50%; transform:translateY(-50%); z-index:5; background:#fff; border:1px solid #ddd; border-radius:999px; width:36px; height:36px; display:flex; align-items:center; justify-content:center; cursor:pointer; }
.vis-nav.prev { left:6px; }
.vis-nav.next { right:6px; }
.vis-slider:focus-within .vis-slide, .vis-slide:focus { outline: 2px solid #005fcc; outline-offset: -2px; }

/* spacing handled by JS via inline style gap */
.vis-play-toggle { position:absolute; bottom:8px; right:8px; width:32px; height:32px; border-radius:999px; background:rgba(255,255,255,.8); border:0; cursor:pointer; }
.vis-missing { display:flex; align-items:center; justify-content:center; position:absolute; inset:0; background:#111; color:#fff; font-size:13px; }
