/* Просмотр фото на весь экран (assets/lightbox.js); вид — как у лайтбокса образцов на странице заказа (#lb) */
img.zoomable { cursor:zoom-in; }
img.zoomable:focus-visible { outline:2px solid #f5f5f5; outline-offset:4px; }
.blb { position:fixed; inset:0; width:100vw; height:100dvh; max-width:none; max-height:none; margin:0; padding:0; border:0;
  background:rgba(5,5,5,.97); color:#f5f5f5; overflow:hidden; }
.blb::backdrop { background:#000; }
.blb[open] { display:flex; flex-direction:column; align-items:center; justify-content:center; animation:blbin .35s ease; }
@keyframes blbin { from { opacity:0; } }
.blb .z { display:flex; max-width:100%; max-height:100%; touch-action:none; }
.blb .z img { max-width:94vw; max-height:82dvh; object-fit:contain; user-select:none; -webkit-user-drag:none;
  transition:opacity .25s, transform .35s cubic-bezier(.2,.8,.2,1); }
.blb .z img.swap { opacity:0; transform:scale(.98); }
.blb button { position:absolute; z-index:2; display:flex; align-items:center; justify-content:center; min-width:44px; min-height:44px;
  background:none; border:0; color:#f5f5f5; cursor:pointer; opacity:.55; padding:18px; transition:opacity .3s, transform .4s cubic-bezier(.2,.8,.2,1); }
.blb button:hover, .blb button:focus-visible { opacity:1; outline:none; }
.blb button svg { display:block; width:30px; height:30px; }
.blb .x { top:6px; right:6px; } .blb .x:hover { transform:rotate(90deg); }
.blb .p { left:6px; top:50%; margin-top:-33px; } .blb .p:hover { transform:translateX(-4px); }
.blb .n { right:6px; top:50%; margin-top:-33px; } .blb .n:hover { transform:translateX(4px); }
.blb .c { max-width:min(640px, 90vw); margin:14px auto 0; font:400 13px/1.5 -apple-system, "Helvetica Neue", Arial, sans-serif; color:rgba(245,245,245,.7); text-align:center; }
.blb .k { position:absolute; bottom:18px; left:0; right:0; text-align:center; font:400 11px/1 -apple-system, "Helvetica Neue", Arial, sans-serif;
  letter-spacing:.22em; color:rgba(245,245,245,.5); }
@media (max-width:700px) { .blb .p, .blb .n { top:auto; bottom:6px; margin-top:0; } .blb .z img { max-height:74dvh; } }
@media (prefers-reduced-motion:reduce) { .blb[open] { animation:none; } .blb .z img, .blb button { transition:none; } }
.blb [hidden] { display:none !important; }
