.room-gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--space-xs,10px);margin:0}.room-gallery__item{grid-column:span var(--col-span,12);grid-row:span var(--row-span,1);margin:0;min-height:7.5rem;overflow:hidden;border-radius:var(--radius-md,10px);background-color:var(--color-surface-muted,#f1f6f7)}.room-gallery__link{display:block;height:100%;cursor:zoom-in}.room-gallery__link:focus-visible{outline:2px solid var(--color-accent-strong,#2e7a85);outline-offset:2px}.room-gallery__image,.room-gallery__item picture{display:block;width:100%;height:100%}.room-gallery__image{object-fit:cover;transition:transform var(--transition-base,.3s ease)}.room-gallery__link:hover .room-gallery__image{transform:scale(1.03)}@media (width <=767px){.room-gallery__item{grid-column:1/-1;grid-row:auto;min-height:0}.room-gallery__image{height:auto}}@media (prefers-reduced-motion:reduce){.room-gallery__image{transition:none}.room-gallery__link:hover .room-gallery__image{transform:none}}.room-gallery__dialog{width:100vw;max-width:100vw;height:100vh;height:100dvh;max-height:100dvh;margin:0;padding:var(--space-m,24px);border:0;background:0 0;color:var(--color-ink-inverse,#f8fafb)}.room-gallery__dialog[open]{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-xs,10px)}.room-gallery__dialog::backdrop{background:rgb(26 26 26/92%)}.room-gallery__stage{margin:0;display:flex;flex-direction:column;align-items:center;gap:var(--space-xs,10px);min-width:0}.room-gallery__full{max-width:100%;max-height:calc(100dvh - 6rem);width:auto;height:auto;object-fit:contain;border-radius:var(--radius-sm,4px)}.room-gallery__counter{font-size:var(--text-small,1rem)}.room-gallery__close{position:absolute;top:var(--space-s,16px);right:var(--space-s,16px)}.room-gallery__close,.room-gallery__nav{border:0;border-radius:var(--radius-round,50%);width:2.75rem;height:2.75rem;font-size:1.75rem;line-height:1;color:inherit;background:rgb(255 255 255/12%);cursor:pointer}.room-gallery__close:hover,.room-gallery__nav:hover{background:rgb(255 255 255/24%)}.room-gallery__close:focus-visible,.room-gallery__nav:focus-visible{outline:2px solid currentcolor;outline-offset:2px}.room-gallery-notice{padding:var(--space-s,16px);border:1px dashed var(--color-border,#d5e1e5);font-size:var(--text-small,1rem)}