/* Scoped to the photo overlay; no listing/detail or responsive breakpoint changes. */
dialog.listing-photo-viewer{box-sizing:border-box;position:fixed;inset:0;margin:0;width:100vw;max-width:100vw;height:100vh;height:100dvh;max-height:100dvh;padding:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom));border:0;border-radius:0;color:var(--theme-text-primary,#101f32);background:var(--theme-bg-surface,#fff);overflow:hidden}
.listing-photo-viewer[open]{display:grid;grid-template-rows:44px minmax(0,1fr) 48px;gap:8px}
.listing-photo-viewer::backdrop{background:#101f32e6}
.listing-photo-viewer .pv-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-inline:4px}
.listing-photo-viewer .pv-stage{min-height:0;min-width:0;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}
.listing-photo-viewer .pv-stage img{display:block;width:100%;height:100%;object-fit:contain;transform-origin:center;pointer-events:none;-webkit-user-drag:none}
.listing-photo-viewer .pv-controls{display:flex;align-items:center;justify-content:center;gap:8px}
.listing-photo-viewer button{flex:none;min-width:44px;min-height:44px;padding:6px 10px;border:1px solid var(--theme-border-default,#dce3e6);border-radius:8px;background:var(--theme-bg-subtle,#f0f4f2);color:inherit;font:inherit;cursor:pointer;touch-action:manipulation}
.listing-photo-viewer button:focus-visible{outline:2px solid var(--theme-text-accent,#228560);outline-offset:2px}
.listing-photo-viewer button:disabled{opacity:.45}
.listing-photo-viewer [hidden]{display:none!important}
#gallery-frame:has(img){cursor:zoom-in}
