/* Click-to-zoom lightbox for full-width content images (blog figures + case study shots) */
figure.article-figure img.zoomable, .cs-hero .shot img.zoomable, .gallery img.zoomable { cursor: zoom-in; }
body.lightbox-open { overflow: hidden; }
dialog.img-lightbox { border: 0; padding: 0; background: transparent; max-width: none; max-height: none; width: 100vw; height: 100vh; }
dialog.img-lightbox[open] { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; }
dialog.img-lightbox::backdrop { background: rgba(22, 18, 15, 0.86); backdrop-filter: blur(5px); }
dialog.img-lightbox img { max-width: 95vw; max-height: 85vh; width: auto; height: auto; border-radius: 12px; background: #fff; box-shadow: 0 30px 80px rgba(0, 0, 0, 0.5); cursor: zoom-out; }
dialog.img-lightbox .lightbox-caption { margin: 0; padding: 0 24px; max-width: 78ch; text-align: center; font-size: 14px; line-height: 1.55; color: #e9e5dd; }
dialog.img-lightbox .lightbox-close { position: fixed; top: 18px; right: 22px; width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, 0.4); background: rgba(0, 0, 0, 0.35); color: #fff; font-size: 26px; line-height: 1; cursor: pointer; }
dialog.img-lightbox .lightbox-close:hover { background: rgba(0, 0, 0, 0.6); }
