/**
 * RB Core — Shared Lightbox Styles
 */
.rb-lightbox {
    position: fixed; inset: 0; z-index: 99999;
    background: var(--rb-lightbox-bg, rgba(0,0,0,.9));
    display: flex; align-items: center; justify-content: center;
    opacity: 0; transition: opacity .3s;
}
.rb-lightbox--visible { opacity: 1; }

.rb-lightbox__close {
    position: absolute; top: 16px; right: 16px; width: 40px; height: 40px;
    background: rgba(255,255,255,.1); border-radius: 50%; color: #fff;
    font-size: 24px; cursor: pointer; display: flex; align-items: center;
    justify-content: center; transition: background .2s;
    -webkit-appearance: none; appearance: none; border: 0;
}
.rb-lightbox__close:hover { background: rgba(255,255,255,.2); }

.rb-lightbox__img { max-width: 90vw; max-height: 85vh; object-fit: contain; border-radius: 4px; }

.rb-lightbox__caption {
    position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%);
    color: #fff; font-size: 14px; text-align: center; max-width: 80vw;
}
.rb-lightbox__counter {
    position: absolute; top: 20px; left: 20px; color: rgba(255,255,255,.7); font-size: 14px;
}

.rb-lightbox__nav {
    position: absolute; top: 50%; transform: translateY(-50%); width: 48px; height: 48px;
    background: rgba(255,255,255,.1); border-radius: 50%; color: #fff;
    font-size: 24px; cursor: pointer; display: flex; align-items: center;
    justify-content: center; transition: background .2s;
    -webkit-appearance: none; appearance: none; border: 0;
}
.rb-lightbox__nav:hover { background: rgba(255,255,255,.25); }
.rb-lightbox__nav--prev { left: 16px; }
.rb-lightbox__nav--next { right: 16px; }

@media (max-width: 768px) { .rb-lightbox__nav { display: none; } }
@media (prefers-reduced-motion: reduce) { .rb-lightbox { transition: none; } }
