.nvc-carousel{--nvc-color:#0EA5E9;--nvc-ratio:16/9;position:relative;width:100%;margin:1.5rem 0;box-sizing:border-box;padding:0 50px}
.nvc-carousel *{box-sizing:border-box}
.nvc-viewport{overflow:hidden;width:100%}
.nvc-track{display:flex;transition:transform .45s cubic-bezier(.4,0,.2,1);will-change:transform}
.nvc-slide{flex:0 0 auto;padding:0 8px}
.nvc-video-wrap{position:relative;width:100%;background:#000;border-radius:10px;overflow:hidden;aspect-ratio:var(--nvc-ratio)}
.nvc-video-wrap iframe,.nvc-video-wrap video,.nvc-html5{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover}
.nvc-poster{position:absolute;inset:0;background-size:cover;background-position:center;background-color:#111;cursor:pointer;display:flex;align-items:center;justify-content:center}
.nvc-play{width:64px;height:64px;border:0;border-radius:50%;background:rgba(0,0,0,.55);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,transform .2s}
.nvc-poster:hover .nvc-play{background:var(--nvc-color);transform:scale(1.08)}
.nvc-play span{display:block;width:0;height:0;border-style:solid;border-width:11px 0 11px 18px;border-color:transparent transparent transparent #fff;margin-left:4px}
.nvc-title{position:absolute;left:0;right:0;bottom:0;padding:14px 12px 10px;color:#fff;font-size:14px;font-weight:600;background:linear-gradient(transparent,rgba(0,0,0,.75));pointer-events:none}
.nvc-arrow{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;padding:0;border:0;border-radius:50%;background:rgba(0,0,0,.6);color:#fff;cursor:pointer;z-index:5;display:flex;align-items:center;justify-content:center;line-height:1;font-size:20px;font-family:Arial,sans-serif;transition:background .2s,opacity .2s}
.nvc-arrow:hover{background:var(--nvc-color)}
.nvc-prev{left:0}
.nvc-next{right:0}
.nvc-arrow[disabled]{opacity:.35;cursor:default}
.nvc-arrow[disabled]:hover{background:rgba(0,0,0,.6)}
.nvc-dots{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:14px}
.nvc-dots button{width:9px;height:9px;border:0;border-radius:50%;background:#ccc;cursor:pointer;padding:0;transition:background .2s,transform .2s}
.nvc-dots button.is-active{background:var(--nvc-color);transform:scale(1.25)}
@media(max-width:768px){.nvc-carousel{padding:0 40px}.nvc-arrow{width:36px;height:36px;font-size:17px}}
