.basicLightbox{position:fixed;display:flex;justify-content:center;align-items:center;top:0;left:0;width:100%;height:100vh;background:rgba(0,0,0,.8);opacity:.01;transition:opacity .4s ease;z-index:1000;will-change:opacity}.basicLightbox--visible{opacity:1}.basicLightbox__placeholder{max-width:100%;-webkit-transform:scale(.9);transform:scale(.9);transition:-webkit-transform .4s ease;transition:transform .4s ease;transition:transform .4s ease,-webkit-transform .4s ease;z-index:1;will-change:transform}.basicLightbox__placeholder>iframe:first-child:last-child,.basicLightbox__placeholder>img:first-child:last-child,.basicLightbox__placeholder>video:first-child:last-child{display:block;position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;max-width:95%;max-height:95%}.basicLightbox__placeholder>iframe:first-child:last-child,.basicLightbox__placeholder>video:first-child:last-child{pointer-events:auto}.basicLightbox__placeholder>img:first-child:last-child,.basicLightbox__placeholder>video:first-child:last-child{width:auto;height:auto}.basicLightbox--iframe .basicLightbox__placeholder,.basicLightbox--img .basicLightbox__placeholder,.basicLightbox--video .basicLightbox__placeholder{width:100%;height:100%;pointer-events:none}.basicLightbox--visible .basicLightbox__placeholder{-webkit-transform:scale(1);transform:scale(1)}
/* Lightbox nav buttons and caption */
.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,0.5);color:#fff;border:none;padding:.5rem .75rem;font-size:1.25rem;cursor:pointer;border-radius:.375rem;display:flex;align-items:center;justify-content:center;z-index:1001}
.lightbox-prev{left:1rem}
.lightbox-next{right:1rem}
.basicLightbox__caption{margin-top:.75rem;color:rgba(255,255,255,0.95);font-size:.95rem;text-align:center;max-width:90vw}
.basicLightbox__placeholder{display:flex;flex-direction:column;align-items:center}

/* Thumbnail strip */
.basicLightbox__thumbs{display:flex;gap:.5rem;margin-top:.75rem;overflow-x:auto;padding:.25rem 0;max-width:90vw}
.lightbox-thumb{width:72px;height:48px;object-fit:cover;border-radius:.375rem;cursor:pointer;opacity:.85;transition:transform .15s ease, opacity .15s ease;border:2px solid transparent}
.lightbox-thumb:hover{transform:scale(1);opacity:1}
.lightbox-thumb.active{opacity:1;border-color:rgba(255,255,255,0.95);box-shadow:0 0 0 3px rgba(0,0,0,0.45) inset}

/* Gallery scroller + indicators */
.gallery-scroller{position:relative}
.gallery-indicator{position:absolute;top:0;right:0;height:100%;width:6rem;background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,0.95) 100%);z-index:10;pointer-events:none}
.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,0.55);color:#fff;border:none;padding:.35rem .5rem;border-radius:9999px;font-size:1rem;cursor:pointer;z-index:11}
.gallery-prev{left:.75rem}
.gallery-next{right:.75rem}
.gallery-more-badge{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.45);color:#fff;font-weight:600;border-radius:.5rem;font-size:1rem;z-index:5}

/* better snapping */
.gallery-track{scroll-snap-type:x mandatory}
.gallery-track > *{scroll-snap-align:center}

/* small adjustments */
@media (prefers-color-scheme: dark){
  .gallery-indicator{background:linear-gradient(90deg,rgba(0,0,0,0) 0%,rgba(0,0,0,0.6) 100%)}
}
