.d-image-viewer{width:min(1240px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:0;border:0;border-radius:18px;background:#16162f;color:#fff;box-shadow:0 24px 90px #0008;overflow:hidden}
.d-image-viewer::backdrop{background:#080916df;backdrop-filter:blur(5px)}
.d-image-viewer__panel{display:flex;flex-direction:column;max-height:calc(100dvh - 32px)}
.d-image-viewer__top{display:flex;align-items:center;justify-content:space-between;min-height:54px;padding:6px 12px 6px 24px;font-weight:700}
.d-image-viewer__close,.d-image-viewer__nav{display:grid;place-items:center;flex:none;border:0;border-radius:50%;background:#ffffff20;color:#fff;cursor:pointer}
.d-image-viewer__close{width:42px;height:42px;font-size:30px;line-height:1}
.d-image-viewer__stage{display:grid;grid-template-columns:54px minmax(0,1fr) 54px;align-items:center;gap:8px;min-height:0;padding:0 12px}
.d-image-viewer__stage img{display:block;max-width:100%;max-height:calc(100dvh - 145px);margin:auto;object-fit:contain}
.d-image-viewer__nav{width:46px;height:46px;font-size:36px;line-height:1}
.d-image-viewer__nav[hidden]{visibility:hidden;display:grid}
.d-image-viewer__close:hover,.d-image-viewer__nav:hover{background:#ffffff38}
.d-image-viewer__close:focus-visible,.d-image-viewer__nav:focus-visible{outline:3px solid #ffc043;outline-offset:2px}
.d-image-viewer__caption{margin:0;padding:12px 24px 18px;text-align:center;color:#e5e5ef;font-size:15px}
@media(max-width:600px){.d-image-viewer{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:12px}.d-image-viewer__panel{max-height:calc(100dvh - 16px)}.d-image-viewer__stage{grid-template-columns:34px minmax(0,1fr) 34px;gap:2px;padding:0 6px}.d-image-viewer__stage img{max-height:calc(100dvh - 135px)}.d-image-viewer__nav{width:34px;height:40px;font-size:28px}.d-image-viewer__caption{padding:10px 12px 16px;font-size:13px}}
