:root:has(.room-photo-viewer[open]){scrollbar-gutter:auto}.room-photo-viewer{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:var(--ink);color:var(--on-accent);overflow:hidden}.room-photo-viewer[open]{display:flex;flex-direction:column}.room-photo-viewer::backdrop{background:var(--ink)}.room-photo-viewer-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-shrink:0;padding:var(--space-3) var(--space-6)}.room-photo-viewer-header h2{font-size:var(--text-md);font-weight:var(--weight-semibold)}.room-photo-viewer-header>span{font-size:var(--text-sm);font-variant-numeric:tabular-nums}.room-photo-viewer-control{display:grid;flex-shrink:0;place-items:center;width:var(--control-h-lg);height:var(--control-h-lg);border-radius:var(--radius-full);background:color-mix(in srgb,var(--ink) 80%,transparent);color:var(--on-accent);cursor:pointer}.room-photo-viewer-control:hover{background:color-mix(in srgb,var(--on-accent) 16%,var(--ink))}.room-photo-viewer :is(button):focus-visible{outline:2px solid var(--on-accent);outline-offset:-4px}.room-photo-viewer-stage{position:relative;flex:1;min-height:0;margin-inline:var(--space-6)}.room-photo-viewer-image{object-fit:contain}.room-photo-viewer-stage>.room-photo-viewer-control{position:absolute;top:50%;transform:translateY(-50%)}.room-photo-viewer-stage>.is-previous{left:var(--space-3)}.room-photo-viewer-stage>.is-next{right:var(--space-3)}.room-photo-viewer-thumbnails{display:flex;justify-content:safe center;flex-shrink:0;gap:var(--space-2);max-width:100%;padding:var(--space-4) var(--space-6);overflow-x:auto}.room-photo-viewer-thumbnails button{position:relative;width:calc(var(--space-8) + var(--space-7));height:var(--space-9);flex-shrink:0;overflow:hidden;border:2px solid transparent;border-radius:var(--radius-lg);opacity:.6;cursor:pointer}.room-photo-viewer-thumbnails button[aria-current]{border-color:var(--on-accent);opacity:1}.room-photo-viewer-thumbnails img{object-fit:cover}.room-photo-viewer-error{display:grid;place-content:center;gap:var(--space-3);height:100%;text-align:center}.room-photo-viewer-error button{min-height:var(--control-h-lg);padding-inline:var(--space-4);border:1px solid;border-radius:var(--radius-lg);cursor:pointer}@media (max-width:639px){.room-photo-viewer-header{padding-inline:var(--space-3)}.room-photo-viewer-stage{margin-inline:0}.room-photo-viewer-thumbnails{padding:var(--space-3)}}