[data-lb]{cursor:zoom-in}
[data-lb]:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}
html.lb-open{overflow:hidden}
.lb{position:fixed;inset:0;z-index:9999;background:rgba(6,16,24,.94);opacity:0;visibility:hidden;transition:opacity .22s ease,visibility .22s ease}
.lb.on{opacity:1;visibility:visible}
.lb-stage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:70px 84px 30px}
.lb-fig{margin:0;display:flex;flex-direction:column;align-items:center;gap:14px;max-width:100%;max-height:100%}
.lb-img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100vh - 168px);border-radius:10px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.55);transition:opacity .18s ease}
.lb.loading .lb-img{opacity:.35}
.lb-cap{text-align:center;color:#fff;max-width:560px}
.lb-cap b{display:block;font-size:16px;font-weight:800;letter-spacing:-.01em}
.lb-cap span{display:block;margin-top:3px;font-size:13.5px;font-weight:600;color:rgba(255,255,255,.66)}
.lb-btn{position:absolute;border:0;padding:0;background:rgba(255,255,255,.13);color:#fff;border-radius:100px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease,transform .2s ease}
.lb-btn:hover{background:rgba(255,255,255,.26)}
.lb-btn:focus-visible{outline:3px solid #fff;outline-offset:3px}
.lb-btn svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.lb-prev,.lb-next{top:50%;width:54px;height:54px;margin-top:-27px}
.lb-prev{left:18px}
.lb-next{right:18px}
.lb-prev:hover{transform:translateX(-3px)}
.lb-next:hover{transform:translateX(3px)}
.lb-close{top:18px;right:18px;width:46px;height:46px}
.lb-close svg{width:20px;height:20px}
.lb-count{position:absolute;top:30px;left:26px;color:rgba(255,255,255,.72);font-size:14px;font-weight:700;letter-spacing:.05em}
.lb.single .lb-prev,.lb.single .lb-next,.lb.single .lb-count{display:none}
@media(max-width:760px){
  .lb-stage{padding:62px 14px 84px}
  .lb-img{max-height:calc(100vh - 210px)}
  .lb-prev,.lb-next{top:auto;bottom:16px;margin-top:0;width:48px;height:48px}
  .lb-prev{left:calc(50% - 62px)}
  .lb-next{right:calc(50% - 62px)}
  .lb-close{top:14px;right:14px;width:42px;height:42px}
  .lb-count{top:26px;left:18px;font-size:13px}
  .lb-cap b{font-size:15px}
  .lb-cap span{font-size:12.5px}
}
