.video-gallery-card button{position:relative;aspect-ratio:16/9;background:#182d26;cursor:pointer}
.video-gallery-card video{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .3s ease;pointer-events:none}
.video-gallery-card:hover video,.video-gallery-card:focus-within video{filter:grayscale(0)}
.video-play{position:absolute;inset:0;display:grid;place-items:center;color:white;font-size:32px;text-shadow:0 2px 8px #000;pointer-events:none}
.video-gallery-card .video-preview-error{position:absolute;inset:0;display:grid;place-items:center;padding:12px;background:#182d26;color:white;font-size:13px}
.video-preview-error[hidden]{display:none!important}
.video-lightbox{position:fixed;inset:0;width:calc(100% - 32px);max-width:1500px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);padding:58px 16px 16px;border:0;border-radius:14px;background:#10271f;color:#fff;overflow:auto}
.video-lightbox::backdrop{background:rgba(0,15,10,.94)}
.video-lightbox video{display:block;width:100%;height:calc(100vh - 190px);height:calc(100dvh - 190px);object-fit:contain;background:#000}
.video-lightbox h2{margin:14px 0 0;font-size:18px;text-align:center;overflow-wrap:anywhere}
.video-lightbox-close{position:absolute;right:12px;top:8px;width:42px;height:42px;border:0;border-radius:50%;font-size:30px;background:#fff;color:#103c2c;cursor:pointer}
.video-lightbox-close:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.video-gallery-card figcaption{overflow-wrap:anywhere}
@media(hover:none){.video-gallery-card figcaption{opacity:1;transform:none}}
@media(max-width:560px){.video-lightbox{width:calc(100% - 16px);padding-inline:8px}.video-lightbox h2{font-size:15px}}
@media(prefers-reduced-motion:reduce){.video-gallery-card video,.video-gallery-card figcaption{transition:none}}

/* Righe centrate, anche quando incomplete, con miniature e spazi uniformi. */
.video-gallery-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:22px}
.video-gallery-grid>.video-gallery-card{flex:0 0 calc((100% - 88px)/5)}
@media(max-width:1100px){.video-gallery-grid>.video-gallery-card{flex-basis:calc((100% - 66px)/4)}}
@media(max-width:820px){.video-gallery-grid{gap:16px}.video-gallery-grid>.video-gallery-card{flex-basis:calc((100% - 32px)/3)}}
@media(max-width:560px){.video-gallery-grid{gap:12px}.video-gallery-grid>.video-gallery-card{flex-basis:calc((100% - 12px)/2)}}