.case-gallery-img{
  cursor:zoom-in;
  transition:opacity .25s;
}
.case-gallery-img:hover{opacity:0.92;}
.device-screen.case-gallery-wrap,
.visual-gallery-thumb.case-gallery-wrap{
  cursor:zoom-in;
  position:relative;
}
.device-screen.case-gallery-wrap::after,
.visual-gallery-thumb.case-gallery-wrap::after{
  content:'';
  position:absolute; inset:0;
  border-radius:0;
  pointer-events:none;
  box-shadow:inset 0 0 0 0 rgba(56,189,248,0);
  transition:box-shadow .25s;
}
.device-screen.case-gallery-wrap:hover::after,
.visual-gallery-thumb.case-gallery-wrap:hover::after{
  box-shadow:inset 0 0 0 2px rgba(56,189,248,0.35);
}

.case-lightbox{
  position:fixed; inset:0; z-index:200;
  display:flex; align-items:center; justify-content:center;
  padding:24px;
  background:rgba(8,6,14,0.92);
  backdrop-filter:blur(12px);
  opacity:0; visibility:hidden;
  transition:opacity .3s, visibility .3s;
}
.case-lightbox.is-open{
  opacity:1; visibility:visible;
}
.case-lightbox-dialog{
  position:relative; width:min(1600px, 96vw);
  max-height:calc(100vh - 48px);
  display:flex; flex-direction:column; align-items:center;
  transform:scale(0.96); transition:transform .3s cubic-bezier(.2,.7,.3,1);
}
.case-lightbox.is-open .case-lightbox-dialog{transform:scale(1);}

.case-lightbox-close{
  position:fixed; top:20px; right:20px; z-index:210;
  width:44px; height:44px; border-radius:50%;
  border:1px solid rgba(246,244,251,0.2);
  background:rgba(10,11,14,0.75);
  color:#f8fafc; font-size:22px; line-height:1;
  cursor:pointer; transition:background .25s, border-color .25s;
}
.case-lightbox-close:hover{
  background:rgba(56,189,248,0.25);
  border-color:rgba(56,189,248,0.5);
}

.case-lightbox-nav{
  position:fixed; top:50%; transform:translateY(-50%); z-index:210;
  width:48px; height:48px; border-radius:50%;
  border:1px solid rgba(246,244,251,0.2);
  background:rgba(10,11,14,0.75);
  color:#f8fafc; font-size:20px; line-height:1;
  cursor:pointer; transition:background .25s, border-color .25s, opacity .25s;
}
.case-lightbox-nav:hover:not(:disabled){
  background:rgba(56,189,248,0.25);
  border-color:rgba(56,189,248,0.5);
}
.case-lightbox-nav:disabled{opacity:0.25; cursor:not-allowed;}
.case-lightbox-prev{left:20px;}
.case-lightbox-next{right:20px;}

.case-lightbox-stage{
  width:100%; max-height:calc(100vh - 120px);
  display:flex; align-items:center; justify-content:center;
  overflow:auto;
}
.case-lightbox-img{
  max-width:100%; max-height:calc(100vh - 120px);
  width:auto; height:auto;
  object-fit:contain;
  border-radius:12px;
  box-shadow:0 32px 64px -20px rgba(0,0,0,0.75);
  user-select:none;
}

.case-lightbox-meta{
  margin-top:16px; text-align:center; max-width:720px;
}
.case-lightbox-count{
  font-family:'JetBrains Mono', monospace;
  font-size:12px; color:rgba(246,244,251,0.5);
  margin-bottom:8px;
}
.case-lightbox-caption{
  font-size:14px; line-height:1.55;
  color:rgba(246,244,251,0.78);
}

body.case-lightbox-open{overflow:hidden;}

@media (max-width:640px){
  .case-lightbox{padding:12px;}
  .case-lightbox-nav{width:40px; height:40px; font-size:16px;}
  .case-lightbox-prev{left:10px;}
  .case-lightbox-next{right:10px;}
  .case-lightbox-close{top:12px; right:12px;}
}
