/* =========================================================
   G M LIGHTBOX
========================================================= */

.gm-lb { position: fixed; inset: 0; z-index: 99999; display: none; align-items: center; justify-content: center; padding: 34px; background: rgba(10,16,12,.95); opacity: 0; transition: opacity .22s ease; }
.gm-lb.is-open { display: flex; opacity: 1; }
.gm-lb-dialog { position: relative; width: min(94vw, 1500px); height: min(90vh, 1000px); display: flex; align-items: center; justify-content: center; }
.gm-lb-image { display: block; width: auto; max-width: 100%; height: auto; max-height: calc(90vh - 90px); object-fit: contain; box-shadow: 0 24px 80px rgba(0,0,0,.28); }
.gm-lb-caption { position: absolute; left: 0; right: 0; bottom: -2px; display: flex; justify-content: space-between; gap: 30px; align-items: flex-start; padding-top: 18px; color: rgba(255,255,255,.86); font-size: .85rem; line-height: 1.55; }
.gm-lb-count { flex: 0 0 auto; color: rgba(255,255,255,.5); font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }
.gm-lb-close, .gm-lb-prev, .gm-lb-next { position: absolute; z-index: 3; border: 0; background: rgba(255,255,255,.06); color: #fff; cursor: pointer; transition: background .2s ease, transform .2s ease; }
.gm-lb-close:hover, .gm-lb-prev:hover, .gm-lb-next:hover { background: rgba(255,255,255,.14); }
.gm-lb-close { top: -10px; right: -10px; width: 44px; height: 44px; border-radius: 50%; font-size: 1.45rem; line-height: 1; }
.gm-lb-prev, .gm-lb-next { top: 50%; width: 48px; height: 58px; transform: translateY(-50%); font-size: 1.55rem; }
.gm-lb-prev { left: -64px; }
.gm-lb-next { right: -64px; }
body.gm-lb-lock { overflow: hidden; }

@media (max-width: 767.98px) {
  .gm-lb { padding: 18px; }
  .gm-lb-dialog { width: 100%; height: 92vh; }
  .gm-lb-image { max-height: calc(92vh - 105px); }
  .gm-lb-close { top: 2px; right: 2px; }
  .gm-lb-prev { left: 4px; }
  .gm-lb-next { right: 4px; }
  .gm-lb-prev, .gm-lb-next { width: 42px; height: 50px; background: rgba(10,16,12,.5); }
  .gm-lb-caption { left: 8px; right: 8px; bottom: 0; gap: 15px; }
}
