/* Photos keep their full frame; navigation sits on the paper below. */
.rooms__pics {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  aspect-ratio: auto;
  overflow: visible;
  background: transparent;
  align-self: start;
  touch-action: pan-y pinch-zoom;
  -webkit-user-select: none;
  user-select: none;
}
.rooms__pics .rooms__slide {
  grid-area: 1 / 1;
  position: relative;
  inset: auto;
  aspect-ratio: 4 / 3;
  min-width: 0;
  overflow: hidden;
  pointer-events: none;
}
.rooms__pics .rooms__slide img { height: 100%; }
.rooms__pics .rooms__label { bottom: 24px; }
html[lang="ja"] .rooms__pics .rooms__slide:nth-of-type(5) .rooms__label { height: 8em; }
.room-controls {
  grid-area: 2 / 1;
  position: relative;
  inset: auto;
  z-index: 3;
  justify-self: end;
  width: fit-content;
  margin: 14px 8px 0 0;
  padding: 0 7px 6px 0;
  gap: 17px;
  background: rgba(40, 39, 35, .045);
  color: var(--sumi);
}
.room-counter { font-size: 14px; min-width: 58px; text-align: center; }
body .room-controls .edoya-control { --control-focus: #855d39; }
.rail-controls { padding: 0 7px 6px 0; }
.rail-controls > [data-photo-count] { min-width: 62px; }
.rail-controls .control__arrow { min-width: 0; }
.photo-rail, .bath-details, .dining-details { cursor: grab; }
.photo-rail:active, .bath-details:active, .dining-details:active { cursor: grabbing; }
.photo-rail img, .bath-details img, .dining-details img { -webkit-user-select: none; user-select: none; }
body .photo-viewer .edoya-control { --control-icon-size: 32px; }
.responsive-photo, .photo-viewer__picture { display: contents; }
.collage__picture { position: absolute; inset: 0; display: block; }
.relaxation-collection { grid-column: 1 / -1; grid-row: 2; min-width: 0; width: calc(100% + var(--gutter) * 2); margin: 40px 0 0 calc(var(--gutter) * -1); }
.relaxation-photos { align-items: flex-start; }
.relaxation-photos img { width: 100%; aspect-ratio: 3 / 2; }
.relaxation-photos figcaption { margin-top: 14px; font-size: 13px; line-height: 1.8; }
.relaxation-collection .rail-controls { justify-content: flex-end; margin: 12px var(--gutter) 0; }
.address-map-link { display: inline-block; padding-block: 7px; color: inherit; text-decoration: underline; text-decoration-color: rgba(40, 39, 35, .35); text-underline-offset: .35em; }
.address-map-link:hover { text-decoration-color: currentColor; }
.neighborhood-collection { padding-top: 0; }
.neighborhood-collection .collection-heading { margin-bottom: 44px; }
.neighborhood-collection .photo-rail figcaption > .ink-icon { display: inline-block; vertical-align: middle; width: 24px; height: 24px; margin: 0 0 0 12px; }
.neighborhood-note { margin: 20px var(--gutter) 0; color: var(--sumi-soft); font-size: 12px; line-height: 1.9; }
@media (max-width: 819px) {
  .rooms__pics { width: calc(100% + var(--gutter) * 2); margin-right: calc(var(--gutter) * -1); }
  .rooms__pics .rooms__slide { aspect-ratio: 4 / 3; }
  .rooms__pics .rooms__label { bottom: 20px; }
  .room-controls { margin: 12px 18px 0 0; gap: 14px; }
  .bath-details figure { flex-basis: 86%; }
  .bath-details .bath-details__portrait { flex-basis: 68%; }
  .dining-details figure, .dining-details figure:nth-child(even) { flex-basis: 88%; }
  .hospitality-strip .photo-rail figure { flex-basis: 82vw; }
  .hospitality-strip .photo-rail .photo-rail__portrait { flex-basis: 60vw; }
  body .float-reserve__btn.edoya-control { --control-padding: 10px 17px; min-height: 48px; }
  body .float-reserve__btn.edoya-control .control__arrow { --control-icon-size: 26px; }
  .relaxation-collection { margin-top: 32px; }
  .relaxation-photos figure { flex-basis: 84vw; }
  .neighborhood-collection .collection-heading { margin-bottom: 26px; }
  .neighborhood-collection .photo-rail figure { flex-basis: 88vw; }
}
