/* Lightbox xem trang Catalogue — tràn màn hình, zoom theo con trỏ, lật trang ‹ ›. Vanilla, không thư viện ngoài. */
.oe-lb { position: fixed; inset: 0; z-index: 100080; display: none; font-family: var(--font-sans, system-ui, sans-serif); }
.oe-lb.open { display: block; }
.oe-lb__overlay { position: absolute; inset: 0; background: rgba(0, 0, 0, .93); }
.oe-lb__stage { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.oe-lb__img { max-width: 92vw; max-height: 90vh; display: block; transform: scale(1); transform-origin: center center;
    transition: transform .18s ease; cursor: zoom-in; user-select: none; -webkit-user-drag: none; }
.oe-lb__img.zoomed { cursor: zoom-out; transition: none; }

.oe-lb__close, .oe-lb__nav { position: absolute; z-index: 2; color: #fff; background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .28); border-radius: 50%; cursor: pointer; display: flex; align-items: center;
    justify-content: center; line-height: 1; transition: background .2s ease; }
.oe-lb__close:hover, .oe-lb__nav:hover { background: rgba(255, 255, 255, .26); }
.oe-lb__close { top: 22px; right: 22px; width: 46px; height: 46px; font-size: 20px; }
.oe-lb__nav { top: 50%; transform: translateY(-50%); width: 54px; height: 54px; font-size: 30px; }
.oe-lb__prev { left: 22px; }
.oe-lb__next { right: 22px; }
.oe-lb__counter { position: absolute; bottom: 24px; left: 50%; transform: translateX(-50%); z-index: 2;
    color: #fff; font-size: 14px; font-weight: 600; letter-spacing: .5px; background: rgba(0, 0, 0, .4);
    padding: 6px 16px; border-radius: 999px; }

@media (max-width: 575px) {
    .oe-lb__nav { width: 44px; height: 44px; font-size: 24px; }
    .oe-lb__prev { left: 10px; } .oe-lb__next { right: 10px; }
    .oe-lb__close { top: 14px; right: 14px; }
}
