
/* Local Lightbox - minimal */
.lightbox-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.88);display:none;align-items:center;justify-content:center;z-index:3000}
.lightbox-backdrop.active{display:flex}
.lightbox-content{max-width:92vw;max-height:88vh;position:relative}
.lightbox-content img{max-width:92vw;max-height:80vh;border-radius:14px;box-shadow:0 12px 40px rgba(0,0,0,.55)}
.lightbox-caption{margin-top:10px;text-align:center;color:#ddd;font-size:1rem;line-height:1.4;max-width:90vw;font-style:italic}
.lightbox-close{position:absolute;top:-44px;right:0;font-size:28px;cursor:pointer;color:#fff;line-height:1}
.lightbox-prev,.lightbox-next{position:absolute;top:50%;transform:translateY(-50%);font-size:48px;color:#fff;cursor:pointer;
  padding:8px 14px;background:rgba(0,0,0,.3);border-radius:50%;user-select:none;transition:background .2s,transform .2s;}
.lightbox-prev:hover,.lightbox-next:hover{background:rgba(0,0,0,.6);transform:translateY(-50%) scale(1.08)}
.lightbox-prev{left:-64px}.lightbox-next{right:-64px}
@media(max-width:900px){.lightbox-prev,.lightbox-next{font-size:36px;left:-40px;right:-40px}}

/* Counter and transitions */
.lightbox-counter{
  position:absolute;top:-42px;left:0;color:#fff;background:rgba(0,0,0,.35);
  padding:6px 10px;border-radius:999px;font-weight:700;font-size:.95rem
}
.lightbox-backdrop{opacity:0;transition:opacity .25s ease}
.lightbox-backdrop.active{opacity:1}
.lightbox-content img{opacity:0;transition:opacity .25s ease}
.lightbox-content img.shown{opacity:1}
