/* UNICUS Catering / Lightbox navigation v8
   Quiet fine-dining UI: generous picture, accessible arrows, touch swipes. */
.lightbox{
  z-index:110;
  background:rgba(9,13,10,.96);
  padding:80px 88px 65px;
  overscroll-behavior:contain;
  touch-action:pan-y;
}
.lightbox figure{
  width:100%;
  max-width:min(1160px,100%);
  max-height:min(81dvh,890px);
  margin:0;
  justify-content:center;
  gap:16px;
}
.lightbox figure img{
  max-width:100%;
  max-height:min(72dvh,750px);
  width:auto;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 14px 30px rgba(0,0,0,.22));
  box-shadow:none;
  user-select:none;
  -webkit-user-select:none;
  -webkit-user-drag:none;
}
.lightbox img.photo-shift{
  animation:unicus-gallery-shift .27s cubic-bezier(.22,1,.36,1) both;
}
@keyframes unicus-gallery-shift{
  from{opacity:.45;transform:translateY(5px)}
  to{opacity:1;transform:translateY(0)}
}
.lightbox figcaption{
  color:#dfd2b8;
  line-height:1.55;
  font-size:clamp(12px,1.1vw,15px);
  max-width:60ch;
  text-align:center;
}
.lightbox .lightbox-close{
  position:absolute;
  top:max(20px,env(safe-area-inset-top,0px));
  right:max(25px,env(safe-area-inset-right,0px));
  display:flex;
  justify-content:center;
  align-items:center;
  padding:0;
  border:1px solid rgba(221,207,185,.36);
  border-radius:50%;
  color:#f1e7d4;
  font:300 29px/1 system-ui,sans-serif;
  width:49px;
  height:49px;
  background:rgba(19,24,20,.62);
  transition:background .23s ease,border-color .23s ease,transform .23s ease;
}
.lightbox .lightbox-close:hover{
  background:#283025;
  border-color:#ceb58b;
  transform:rotate(90deg);
}
.lightbox-prev,.lightbox-next{
  appearance:none;
  position:absolute;
  top:50%;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  width:56px;
  height:56px;
  border:1px solid rgba(222,203,168,.52);
  background:rgba(17,23,18,.35);
  color:#e7d6b5;
  border-radius:50%;
  transform:translateY(-50%);
  transition:border-color .22s ease,background .22s ease,color .22s ease;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.lightbox-prev{left:23px}
.lightbox-next{right:23px}
.lightbox-prev svg,.lightbox-next svg{width:26px;height:20px}
.lightbox-prev:hover,.lightbox-next:hover{
  background:rgba(209,180,137,.2);
  color:#fff;
  border-color:#ead0a2;
}
.lightbox :is(.lightbox-close,.lightbox-prev,.lightbox-next):focus-visible{
  outline:2px solid #e4bc7d;
  outline-offset:5px;
}
.lightbox-count{
  position:absolute;
  left:50%;
  bottom:max(18px,env(safe-area-inset-bottom,0px));
  transform:translateX(-50%);
  color:#c6b798;
  font:500 12px/1.3 "DM Sans",Arial,sans-serif;
  letter-spacing:.20em;
  font-variant-numeric:tabular-nums;
}
@media(max-width:760px){
  .lightbox{
    padding:90px 17px 110px;
    align-items:center;
    justify-content:center;
    touch-action:pan-y;
  }
  .lightbox figure{width:100%;max-height:calc(100dvh - 224px)}
  .lightbox figure img{
    max-height:min(60dvh,600px);
    max-width:100%;
  }
  .lightbox figcaption{
    font-size:12px;
    line-height:1.45;
    max-width:calc(100vw - 42px);
  }
  .lightbox .lightbox-close{
    top:max(15px,env(safe-area-inset-top,0px));
    right:max(19px,env(safe-area-inset-right,0px));
    width:46px;
    height:46px;
  }
  .lightbox-prev,.lightbox-next{
    top:auto;
    bottom:max(25px,env(safe-area-inset-bottom,0px));
    width:48px;
    height:48px;
    transform:none;
  }
  .lightbox-prev{left:max(20px,env(safe-area-inset-left,0px))}
  .lightbox-next{right:max(20px,env(safe-area-inset-right,0px))}
  .lightbox-count{
    bottom:calc(max(25px,env(safe-area-inset-bottom,0px)) + 17px);
  }
}
@media(prefers-reduced-motion:reduce){
  .lightbox img.photo-shift{animation:none!important}
  .lightbox .lightbox-close{transition:none!important}
  .lightbox .lightbox-close:hover{transform:none}
  .lightbox-prev,.lightbox-next{transition:none!important}
}


/* V15: hand swipe stays within the photo instead of native image dragging. */
.lightbox figure,
.lightbox figure img {
  touch-action:pan-y;
  user-select:none;
  -webkit-user-select:none;
  -webkit-user-drag:none;
}
