/* Tutte le misure seguono la larghezza dello slider (cqw), così le proporzioni restano quelle del progetto */
.vsyt{position:relative;max-width:100%;overflow:hidden;container-type:inline-size;background:#222}
.vsyt-track{display:flex;transition:transform .5s ease;will-change:transform}
.vsyt-slide{flex:0 0 100%;position:relative}
.vsyt-frame{position:relative;aspect-ratio:16/9;background-size:cover;background-position:center;background-color:#333}

/* !important: i temi spesso stilano i <button> e deformano il cerchio */
.vsyt .vsyt-play{position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%);width:clamp(56px,12.6cqw,170px)!important;height:clamp(56px,12.6cqw,170px)!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:50%!important;background:rgba(255,255,255,.65)!important;box-shadow:none!important;cursor:pointer;display:flex!important;align-items:center;justify-content:center;transition:transform .2s,background .2s}
.vsyt .vsyt-play:hover{transform:translate(-50%,-50%) scale(1.07);background:rgba(255,255,255,.85)!important}
.vsyt .vsyt-play svg{width:42%;height:42%;fill:#2b2f4a;margin-left:6%}

.vsyt-caption{position:absolute;left:0;right:0;bottom:0;height:max(34px,7.1cqw);padding:0 2cqw;box-sizing:border-box;display:flex;align-items:center;justify-content:center;background:rgba(40,40,40,.85);color:#fff;font-size:clamp(14px,2.9cqw,40px);line-height:1.2;text-align:center}
.vsyt-caption span{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.vsyt-arrow{position:absolute;top:50%;transform:translateY(-50%);width:max(36px,4.9cqw);height:max(44px,5.8cqw);border:2px solid #fff;background:rgba(255,255,255,.1);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;z-index:2}
.vsyt-arrow:hover{background:rgba(255,255,255,.35)}
.vsyt-arrow svg{width:50%;height:50%}
.vsyt-prev{left:0}
.vsyt-next{right:0}

/* Lightbox */
.vsyt-lb{position:fixed;inset:0;z-index:999999;background:rgba(0,0,0,.88);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;visibility:hidden;transition:opacity .25s}
.vsyt-lb.is-open{opacity:1;visibility:visible}
.vsyt-lb-inner{position:relative;width:min(100%,1100px,calc((100vh - 120px) * 16 / 9))}
/* !important: i temi spesso stilano i <button> (colore, sfondo) e rendono la X invisibile */
.vsyt-lb .vsyt-lb-close{position:absolute!important;right:0!important;top:-52px!important;width:42px!important;height:42px!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;border:2px solid rgba(255,255,255,.7)!important;border-radius:50%!important;background:rgba(255,255,255,.18)!important;color:#fff!important;box-shadow:none!important;cursor:pointer;display:flex!important;align-items:center;justify-content:center;transition:background .2s}
.vsyt-lb .vsyt-lb-close:hover,.vsyt-lb .vsyt-lb-close:focus-visible{background:rgba(255,255,255,.4)!important}
.vsyt-lb .vsyt-lb-close svg{width:18px;height:18px;stroke:#fff;stroke-width:2.5;fill:none;pointer-events:none}
.vsyt-lb-frame{position:relative;aspect-ratio:16/9;background-size:cover;background-position:center;background-color:#000;overflow:hidden}
.vsyt-lb-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vsyt-lb-title{margin-top:12px;color:#fff;text-align:center;font-size:1.1rem}
body.vsyt-lb-open{overflow:hidden}
