/* Opt-in show gallery: mobile swipe / desktop thumbnail viewer. */
.vs-show-gallery{margin-top:26px;position:relative;min-width:0}
.vs-gallery-track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:18px;overscroll-behavior-x:contain}
.vs-gallery-track::-webkit-scrollbar{display:none}
.vs-gallery-slide{position:relative;flex:0 0 100%;min-width:0;scroll-snap-align:start;border:0;padding:0;border-radius:18px;overflow:hidden;background:#100819;cursor:zoom-in;aspect-ratio:16/9}
.vs-gallery-slide img{display:block;width:100%;height:100%;object-fit:contain}
.vs-gallery-label{position:absolute;left:14px;bottom:14px;padding:5px 11px;border-radius:20px;background:rgba(15,6,27,.88);color:#fff;font-size:.75rem;font-weight:700}
.vs-gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px}
.vs-gallery-position{font:800 .82rem Inter,sans-serif;color:#51485e;letter-spacing:.02em}
.vs-gallery-arrows{display:flex;gap:8px}
.vs-gallery-arrow{display:grid;place-items:center;width:44px;height:44px;border:1px solid #d9cde8;border-radius:50%;background:#fff;color:#30124e;font:400 1.7rem/1 Inter,sans-serif;cursor:pointer}
.vs-gallery-arrow:hover{background:#ebe0ff}
.vs-gallery-thumbs{display:flex;gap:10px;overflow-x:auto;padding:5px 3px 8px;margin-top:10px;scrollbar-width:thin}
.vs-gallery-thumb{position:relative;flex:0 0 104px;height:72px;overflow:hidden;border:2px solid transparent;border-radius:10px;padding:0;background:#100819;cursor:pointer;opacity:.65}
.vs-gallery-thumb img{width:100%;height:100%;object-fit:cover}
.vs-gallery-thumb[data-chart] img{object-fit:contain}
.vs-gallery-thumb[aria-current=true]{border-color:#6d28d9;box-shadow:0 0 0 2px #e3d0ff;opacity:1}
.vs-gallery-thumb:hover{opacity:1}
.vs-show-gallery button:focus-visible,.vs-gallery-dialog button:focus-visible{outline:3px solid #ffb000;outline-offset:3px}
.vs-gallery-dialog{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;border:0;padding:64px 66px;background:rgba(10,3,18,.97);color:#fff;overflow:hidden}
.vs-gallery-dialog[open]{display:grid;place-items:center}
.vs-gallery-dialog::backdrop{background:#0a0312}
.vs-gallery-dialog img{display:block;max-width:100%;max-height:calc(100dvh - 128px);width:auto;height:auto;object-fit:contain}
.vs-gallery-dialog button{position:absolute;width:44px;height:44px;border:1px solid #675971;border-radius:50%;background:#21152d;color:#fff;cursor:pointer;font:400 1.8rem/1 Inter,sans-serif}
.vs-gallery-close{right:18px;top:16px}
.vs-gallery-dialog-prev{left:12px;top:calc(50% - 22px)}
.vs-gallery-dialog-next{right:12px;top:calc(50% - 22px)}
.vs-gallery-dialog-caption{position:absolute;bottom:20px;left:60px;right:60px;text-align:center;font-size:.8rem;color:#eee}
@media(max-width:800px){
 .vs-gallery-position{font-size:.9rem;color:#17082e}
 .vs-gallery-track{border-radius:0;padding-right:10%;scroll-padding-left:0}
 .vs-gallery-slide{flex-basis:100%;aspect-ratio:4/3;border-radius:15px}
 .vs-gallery-thumbs{display:none}
 .vs-gallery-toolbar{margin-top:10px}
 .vs-gallery-dialog{padding:65px 12px 80px}
 .vs-gallery-dialog img{max-height:calc(100dvh - 145px)}
 .vs-gallery-dialog-prev,.vs-gallery-dialog-next{top:auto;bottom:12px}
 .vs-gallery-dialog-caption{bottom:25px}
}
@media(prefers-reduced-motion:reduce){.vs-gallery-track{scroll-behavior:auto}}
.vs-show-gallery [hidden],.vs-gallery-dialog [hidden]{display:none}
.vs-show-gallery:has(.vs-gallery-slide:only-child) .vs-gallery-track{padding-right:0}

/* Gallery heading highlight and bright mobile navigation. */
.vs-gallery-heading{line-height:1.2}
.vs-gallery-heading>span{background:#ffe0ee;border-radius:.16em;padding:.06em .2em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
@media(max-width:800px){
 .vs-show-gallery .vs-gallery-arrow{background:#d6f33c;border:2px solid #17082e;color:#17082e;box-shadow:0 3px 10px rgba(109,40,217,.12);font-weight:700}
 .vs-show-gallery .vs-gallery-arrow:hover,.vs-show-gallery .vs-gallery-arrow:active{background:#e3ff59;border-color:#17082e}
}
