/* Site-wide photo fit corrections: fill image frames without stretching source photos. */
body main .balanced-gallery:not(.cafe-documents):not(.original-posters):not(.portrait-pair)>figure>a:first-child {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  background: transparent !important;
}

body main .balanced-gallery:not(.cafe-documents):not(.original-posters):not(.portrait-pair)>figure>a:first-child>img {
  position: absolute !important;
  inset: 0 !important;
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: center !important;
  margin: 0 !important;
  border-radius: 0;
}

body main .balanced-gallery:not(.cafe-documents):not(.original-posters):not(.portrait-pair)>figure>img {
  display: block;
  width: 100% !important;
  max-height: none !important;
  aspect-ratio: 3 / 2;
  object-fit: cover !important;
  background: transparent !important;
  margin: 0 !important;
}

/* Small, deliberate crop removes the printed cream margins in historical photos. */
body main .history45-grid .history45-photo img {
  transform: scale(1.08) !important;
  transform-origin: center bottom !important;
}

body main .history45-grid .history45-photo img[src*="history-new-09-v45.webp"] {
  transform-origin: center top !important;
}

body main .monastery-gallery82 a img {
  object-fit: cover !important;
  transform: scale(1.10) !important;
  transform-origin: center !important;
}

body main .balanced-gallery.document-gallery>figure>a:first-child>img {
  object-fit: cover !important;
  transform: scale(1.055) !important;
  transform-origin: center top !important;
}

/* These two groups have cream gutters embedded in the source photographs. */
body main #parking .parking-photos .filled-photo-frame img {
  transform: scale(1.12) !important;
  transform-origin: center !important;
}

/* Room carousels: use the full frame on desktop and phones, with no colored letterbox. */
body main .room-slider89,
body main .room-slider89 .room-slide89 {
  background: transparent !important;
}

body main .room-slider89 .room-slide89>img {
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center !important;
}

/* One source file contains a portrait photo centered on wide gray margins. Zoom the
   original photograph to remove those margins without stretching it. */
body main .room-slider89 .room-slide89 img[src*="hotel-unified-10.webp"] {
  transform: scale(1.9) !important;
  transform-origin: center 62% !important;
}

/* The gastrobar video-card image had visible side gutters inside its frame. */
body main .video-grid article>img {
  display: block;
  width: 100%;
  height: auto !important;
  max-height: none !important;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  object-position: center;
  background: transparent;
  margin: 0;
}

body main #videos .video-grid article {
  overflow: hidden;
}

body main #videos .video-grid article>img {
  transform: scale(1.12) !important;
  transform-origin: center !important;
}

/* Equal-height map buttons. */
body main .directions-actions83 .button {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 16px !important;
  line-height: 1.2 !important;
}

@media (max-width: 600px) {
  body main .directions-actions83 .button {
    padding: 0 8px !important;
    font-size: 12px !important;
  }
}
