/* ===== Case Lightbox ===== */
#case-lightbox {
  position: fixed; inset: 0; z-index: 99999;
  display: none;
}
#case-lightbox.show { display: block; }
#case-lightbox .lb-backdrop{
  position:absolute; inset:0; background:rgba(0,0,0,.6); backdrop-filter:saturate(120%) blur(2px);
  opacity:0; transition:opacity .2s ease;
}
#case-lightbox.show .lb-backdrop{ opacity:1; }

#case-lightbox .lb-wrap{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center; padding:24px;
}
#case-lightbox .lb-card{
  background:#fff; color:#111; width:min(980px, 92vw); max-height:90vh;
  border-radius:18px; box-shadow:0 10px 40px rgba(0,0,0,.35);
  transform:scale(.98); opacity:.0; transition:transform .18s ease, opacity .18s ease;
  display:flex; flex-direction:column; overflow:hidden;
}
#case-lightbox.show .lb-card{ transform:scale(1); opacity:1; }

.lb-head{ display:flex; align-items:center; justify-content:space-between; gap:8px; padding:10px 14px; border-bottom:1px solid #eee; }
.lb-title{ font-weight:700; font-size:16px; }
.lb-close{
  border:0; background:transparent; font-size:22px; line-height:1; cursor:pointer; padding:4px 8px; border-radius:8px;
}
.lb-close:hover{ background:#f2f2f2; }

.lb-body{ position:relative; padding:10px 14px 14px; display:flex; flex-direction:column; gap:10px; }
.lb-stage{
  position:relative; display:flex; align-items:center; justify-content:center;
  height:min(70vh, 720px); background:#000;
  border-radius:12px; overflow:hidden;
}
.lb-img{
  max-width:100%; max-height:100%; object-fit:contain;
  transition: transform .2s ease; cursor: zoom-in;
}
.lb-img.zoom{ transform: scale(1.6); cursor: zoom-out; }

.lb-tabs{ display:flex; gap:8px; justify-content:center; margin-top:8px; }
.lb-tab{
  border:1px solid #ddd; background:#fff; padding:6px 12px; border-radius:999px; cursor:pointer; font-weight:600;
}
.lb-tab.active{ background:#111; color:#fff; }

.lb-nav{
  position:absolute; inset-block:0; inset-inline:0; pointer-events:none;
  display:flex; align-items:center; justify-content:space-between;
}
.lb-arrow{
  pointer-events:auto; border:0; background:rgba(255,255,255,.85); width:40px; height:40px; border-radius:50%;
  font-size:20px; cursor:pointer; display:grid; place-items:center;
  margin-inline:6px;
}
.lb-arrow:hover{ background:#fff; }
