/* Keep the complete photograph visible without changing its proportions. */
.room-gallery-main > img,
.building-gallery img,
.shot-pair .media img,
.aoyama-common-grid img,
.aoyama-photo-card img,
.type-photo-preview-grid img,
.lv-picture img:not(.lv-blur-background),
.shot img,
.listing-media img,
.detail-media img,
.portal-gallery img {
  object-fit: contain;
  object-position: center;
}

/* The photograph defines the frame; no fixed-height letterboxing. */
.room-gallery-stage:not(.is-plan) {
  height: auto;
  aspect-ratio: 4 / 3;
  border: 0;
}
.gallery-track { align-items: flex-start; overflow-y: hidden; }
.gallery-open img { height: auto; min-height: 0; max-height: none; aspect-ratio: auto 4 / 3; }
.building-gallery img { height: auto; }
/* A constant frame and native scrolling keep both touch gestures and arrow navigation continuous. */
.room-gallery-stage,.room-gallery-stage:not(.is-plan){height:auto;aspect-ratio:4/3;max-height:none;background:#ece8df;touch-action:auto}
.room-gallery-main{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;pointer-events:auto;touch-action:pan-x pan-y;cursor:grab;background:#ece8df}
.room-gallery-main::-webkit-scrollbar{display:none}
.room-gallery-main>img{position:relative;inset:auto;flex:0 0 100%;width:100%;height:100%;min-width:100%;object-fit:contain;background:#ece8df;scroll-snap-align:start;user-select:none;-webkit-user-drag:none}
.room-gallery-main.is-dragging{scroll-snap-type:none;cursor:grabbing}
.room-gallery-stage .room-gallery-arrow{display:grid;pointer-events:auto;width:46px;height:46px;background:#fffdf4ed;z-index:3;touch-action:manipulation}
.room-gallery-stage .room-gallery-swipe{display:none!important}
@media(min-width:721px){.room-gallery-stage,.room-gallery-stage:not(.is-plan){aspect-ratio:16/10}}
