/* Lightbox + version switcher, shared by all designs */
.lm-lb {
  position: fixed; inset: 0; z-index: 1000; display: none;
  background: rgba(8, 8, 8, .96); color: #eee;
  align-items: center; justify-content: center;
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
}
.lm-lb.open { display: flex; animation: lmfade .25s ease; }
@keyframes lmfade { from { opacity: 0 } }
.lm-lb figure { margin: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; height: 100%; padding: 56px 72px 24px; box-sizing: border-box; }
.lm-lb img { max-width: 100%; max-height: calc(100% - 96px); object-fit: contain; transition: opacity .3s; box-shadow: 0 10px 40px rgba(0,0,0,.5); }
.lm-lb img.loading { opacity: .35; }
.lm-lb figcaption { margin-top: 18px; text-align: center; line-height: 1.5; }
.lm-lb figcaption strong { display: block; font-weight: 500; font-size: 17px; letter-spacing: .02em; }
.lm-lb figcaption span { font-size: 13px; opacity: .6; }
.lm-lb-quote { margin: 10px 0 0; font-size: 13px; color: rgba(255,255,255,.7); }
.lm-lb-quote a { color: #fff; text-underline-offset: 3px; }
.lm-lb-quote a:hover { opacity: .8; }
.lm-lb button { position: absolute; background: none; border: 0; color: #fff; cursor: pointer; opacity: .65; font: 300 44px/1 system-ui, sans-serif; padding: 16px; }
.lm-lb button:hover, .lm-lb button:focus-visible { opacity: 1; }
.lm-lb-close { top: 4px; right: 8px; font-size: 26px !important; }
.lm-lb-prev { left: 6px; top: 50%; transform: translateY(-50%); }
.lm-lb-next { right: 6px; top: 50%; transform: translateY(-50%); }
.lm-lb-count { position: absolute; top: 20px; left: 24px; font-size: 12px; letter-spacing: .1em; opacity: .5; }
@media (max-width: 700px) {
  .lm-lb figure { padding: 56px 12px 16px; }
  .lm-lb-prev, .lm-lb-next { top: auto; bottom: 8px; transform: none; }
}
