.ach-lightbox[hidden] { display: none; }
.ach-lightbox { position: fixed; inset: 0; z-index: 2147483000; display: grid; place-items: center; }
.ach-lightbox__backdrop { position: absolute; inset: 0; background: rgb(0 0 0 / .78); backdrop-filter: blur(3px); }
.ach-lightbox__dialog { position: relative; max-width: 96vw; max-height: calc(100vh - 1rem); color: #fff; text-align: center; }
.ach-lightbox__dialog figure { margin: 0; }
.ach-lightbox__image { display: block; max-width: 92vw; max-height: 84vh; object-fit: contain; border-radius: 6px; box-shadow: 0 10px 35px rgb(0 0 0 / .5); }
.ach-lightbox__caption, .ach-lightbox__counter, .ach-lightbox__error { max-width: 92vw; margin: .5rem auto 0; overflow-wrap: anywhere; }
.ach-lightbox__close, .ach-lightbox__previous, .ach-lightbox__next { position: absolute; min-width: 44px; min-height: 44px; border: 0; border-radius: 50%; background: rgb(0 0 0 / .7); color: #fff; font-size: 2rem; line-height: 1; cursor: pointer; }
.ach-lightbox__close { top: .5rem; right: .5rem; }.ach-lightbox__previous { left: -3.4rem; top: 45%; }.ach-lightbox__next { right: -3.4rem; top: 45%; }
.ach-lightbox__error a { color: #fff; text-decoration: underline; }.ach-lightbox-open { overflow: hidden; }
@media (max-width: 640px) { .ach-lightbox__previous { left: .25rem; }.ach-lightbox__next { right: .25rem; }.ach-lightbox__close { top: .25rem; right: .25rem; } }
@media (prefers-reduced-motion: reduce) { .ach-lightbox *, .ach-lightbox { transition: none !important; animation: none !important; } }
