html.iip-lightbox-open { overflow: hidden; }
.iip-lightbox { box-sizing: border-box; width: min(1120px, calc(100vw - 40px)); max-width: none; max-height: calc(100vh - 40px); max-height: calc(100dvh - 40px); margin: auto; padding: 6px; border: 1px solid #e2e8f0; border-radius: 12px; background: #fff; color: #0f172a; box-shadow: 0 12px 36px rgb(15 23 42 / 12%); font: 14px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; overflow: hidden; }
.iip-lightbox::backdrop { background: rgb(15 23 42 / 65%); }
.iip-lightbox *, .iip-lightbox *::before, .iip-lightbox *::after { box-sizing: border-box; }
.iip-lightbox [hidden] { display: none !important; }
.iip-lightbox-shell { overflow: hidden; border: 1px solid #e2e8f0; border-radius: 8px; background: #fff; }
.iip-lightbox-header, .iip-lightbox-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 18px; }
.iip-lightbox-header { border-bottom: 1px solid #e2e8f0; }
.iip-lightbox-header h2 { margin: 0; padding: 0; color: #0f172a; font: inherit; font-size: 16px; font-weight: 600; }
.iip-lightbox-tools, .iip-lightbox-navigation { display: flex; align-items: center; gap: 14px; }
.iip-lightbox-tools { flex-shrink: 0; }
.iip-lightbox .iip-lightbox-icon { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 36px; height: 36px; margin: 0; padding: 7px; border: 0; border-radius: 0; background: transparent; color: #64748b; box-shadow: none; cursor: pointer; }
.iip-lightbox-icon svg { display: block; width: 22px; height: 22px; }
.iip-lightbox .iip-lightbox-icon:hover, .iip-lightbox .iip-lightbox-icon:focus-visible { outline: none; background: transparent; color: #0068ce; }
.iip-lightbox .iip-lightbox-text { display: inline-block; margin: 0; padding: 6px 0; border: 0; background: transparent; color: #475569; font: inherit; font-size: 12px; text-decoration: none; white-space: nowrap; cursor: pointer; box-shadow: none; }
.iip-lightbox .iip-lightbox-text:hover, .iip-lightbox .iip-lightbox-text:focus-visible { outline: none; color: #0068ce; text-decoration: underline; text-underline-offset: 4px; }
.iip-lightbox .iip-lightbox-text:disabled { opacity: .45; cursor: default; text-decoration: none; }
.iip-lightbox-stage { display: flex; align-items: center; justify-content: center; position: relative; height: min(72vh, 800px); height: min(72dvh, 800px); max-height: calc(100vh - 180px); max-height: calc(100dvh - 180px); padding: 16px; overflow: auto; overscroll-behavior: contain; background: #f8fafc; }
.iip-lightbox .iip-lightbox-image { display: block; flex-shrink: 0; width: auto; height: auto; max-width: 100%; max-height: 100%; margin: auto; object-fit: contain; border: 0; border-radius: 3px; }
.iip-lightbox-stage.iip-lightbox-actual { display: block; }
.iip-lightbox-stage:focus-visible { outline: none; background: #f5f8fc; }
.iip-lightbox-actual .iip-lightbox-image { width: auto; height: auto; max-width: none; max-height: none; }
.iip-lightbox-message { margin: auto; max-width: 360px; color: #64748b; font-size: 13px; text-align: center; }
.iip-lightbox-footer { border-top: 1px solid #e2e8f0; }
.iip-lightbox-counter { min-width: 48px; color: #64748b; font-size: 12px; text-align: center; font-variant-numeric: tabular-nums; }
img.iip-lightbox-trigger { cursor: zoom-in; }
img.iip-lightbox-trigger:focus-visible { outline: none; opacity: .8; box-shadow: 0 1px 4px rgb(15 23 42 / 18%); }
@media (max-width: 480px) {
    .iip-lightbox { width: calc(100vw - 20px); max-height: calc(100vh - 20px); max-height: calc(100dvh - 20px); padding: 5px; }
    .iip-lightbox-header, .iip-lightbox-footer { padding: 10px 12px; gap: 10px; }
    .iip-lightbox-tools, .iip-lightbox-navigation { gap: 8px; }
    .iip-lightbox-stage { padding: 10px; max-height: calc(100vh - 154px); max-height: calc(100dvh - 154px); }
}
