/* Shared: lightbox + reset bits */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img { max-width: 100%; display: block; height: auto; }
a { color: inherit; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }

.lb { position: fixed; inset: 0; z-index: 1000; background: rgba(12, 8, 14, .92); display: none; align-items: center; justify-content: center; gap: 12px; padding: 24px; }
.lb.is-open { display: flex; }
.lb figure { margin: 0; max-width: min(1000px, 86vw); text-align: center; }
.lb img { max-height: 80vh; width: auto; margin: 0 auto; border-radius: 6px; box-shadow: 0 20px 60px rgba(0,0,0,.5); }
.lb figcaption { color: #eee; font: 500 15px/1.4 system-ui, sans-serif; margin-top: 12px; }
.lb button { background: rgba(255,255,255,.12); color: #fff; border: 0; width: 48px; height: 48px; border-radius: 50%; font-size: 30px; line-height: 1; cursor: pointer; flex-shrink: 0; }
.lb button:hover, .lb button:focus-visible { background: rgba(255,255,255,.28); outline: none; }
.lb .lb-close { position: absolute; top: 16px; right: 16px; }
@media (max-width: 600px) { .lb .lb-prev, .lb .lb-next { position: absolute; bottom: 20px; } .lb .lb-prev { left: 30%; } .lb .lb-next { right: 30%; } .lb figure { max-width: 100%; } }

