
.photo-viewer{box-sizing:border-box;width:calc(100% - 32px);max-width:1440px;max-height:calc(100dvh - 32px);margin:auto;padding:18px 22px;background:#111317;color:#f6f6f4;border:1px solid #454951;border-radius:8px;box-shadow:0 20px 100px #0008;overflow:auto}
.photo-viewer::backdrop{background:rgba(0,0,0,.9)}
.photo-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}
.photo-counter{color:#b9bdc4;font:14px Arial,sans-serif}
.photo-viewer button{background:#252a32;color:#fff;border:1px solid #454951;border-radius:4px;cursor:pointer;min-height:44px;min-width:44px;font:700 16px Arial,sans-serif}
.photo-viewer button:hover{background:#e33a30;border-color:#e33a30}
.photo-viewer button:focus-visible{outline:2px solid #fff;outline-offset:3px}
.photo-close{padding:10px 16px}
.photo-stage{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:16px;align-items:center}
.photo-stage figure{margin:0;min-width:0;text-align:center}
.photo-stage img{display:block;width:100%;height:auto;max-height:calc(100dvh - 180px);object-fit:contain}
.photo-stage figcaption{margin-top:12px;color:#b9bdc4;font-size:13px;line-height:1.5}
.photo-viewer .photo-prev,.photo-viewer .photo-next{font-size:32px}
.photo-viewer [hidden]{display:none!important}
@media(max-width:600px){.photo-viewer{width:calc(100% - 16px);max-height:calc(100dvh - 16px);padding:12px}.photo-stage{gap:6px;grid-template-columns:44px minmax(0,1fr) 44px}.photo-stage figcaption{font-size:11px}.photo-close{font-size:13px;padding:8px 12px}}
