.ab-image-trigger { cursor: zoom-in; }
.ab-image-trigger:focus-visible { outline: 2px solid #ddd; outline-offset: 5px; }
.ab-image-lightbox { box-sizing: border-box; position: fixed; inset: 0; width: 100vw; max-width: none; height: 100vh; height: 100dvh; max-height: none; margin: 0; padding: 65px 65px 70px; border: 0; background: #101010; color: #eee; font-family: "Lato",sans-serif; }
.ab-image-lightbox[open] { display: grid; place-items: center; }
.ab-image-lightbox::backdrop { background: #101010; }
.ab-image-lightbox figure { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; width: 100%; height: 100%; min-height: 0; margin: 0; }
.ab-image-lightbox figure img { display: block; width: auto; height: auto; max-width: 100%; max-height: calc(100vh - 180px); max-height: calc(100dvh - 180px); object-fit: contain; }
.ab-image-lightbox figcaption { flex: 0 0 auto; max-width: 900px; max-height: 3.5em; overflow: auto; font-size: 14px; font-weight: 300; line-height: 1.5; text-align: center; white-space: pre-line; }
.ab-image-lightbox button { position: absolute; z-index: 1; min-width: 44px; min-height: 44px; padding: 8px; border: 0; background: transparent; color: #eee; font: inherit; cursor: pointer; }
.ab-image-lightbox button:focus-visible { outline: 2px solid #ddd; }
.ab-image-lightbox .ab-lb-close { top: 10px; right: 15px; font-size: 36px; }
.ab-image-lightbox .ab-lb-prev,.ab-image-lightbox .ab-lb-next { top: 45%; font-size: 48px; font-weight: 100; }
.ab-image-lightbox .ab-lb-prev { left: 5px; }.ab-image-lightbox .ab-lb-next { right: 5px; }

.ab-image-lightbox .ab-lb-count { position: absolute; bottom: 24px; left: 22px; margin: 0; color: #bbb; font-size: 12px; }
.ab-image-lightbox [hidden] { display: none !important; }
@media(max-width:600px) { .ab-image-lightbox { padding: 65px 28px 70px; }.ab-image-lightbox figure img { max-height: calc(100dvh - 200px); }.ab-image-lightbox .ab-lb-prev { left: 0; }.ab-image-lightbox .ab-lb-next { right: 0; } }

.ab-image-lightbox button:disabled { opacity: .35; cursor: progress; }
.ab-image-lightbox .ab-lb-post { position: absolute; bottom: 24px; left: 22px; color: #bbb; font-size: 12px; text-underline-offset: 3px; }
.ab-image-lightbox .ab-lb-status { position: absolute; top: 18px; left: 22px; right: 80px; font-size: 13px; line-height: 1.5; color: #ddd; }
.ab-lb-status a { color: inherit; text-underline-offset: 3px; }
.ab-lb-empty { color: #bbb; font-size: 16px; text-align: center; }


