/* Massimo room detail: align its legacy markup without changing other sites. */
.massimo-room .contents > .title {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  width: 100%;
}
.massimo-room .contents > .title > .left,
.massimo-room .contents > .title > .right { float: none; width: auto; }
.massimo-room .contents > .title h2 { width: 100%; overflow-wrap: anywhere; }
.massimo-room .room-inquiry {
  float: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 16px;
  border-radius: 3px;
  background: #8c1818;
  color: #fff;
  text-decoration: none;
  font-weight: bold;
}
.massimo-room .room-inquiry span { float: none; }
.massimo-room .room-inquiry:hover { background: #641010; }
.massimo-room a:focus-visible { outline: 3px solid #9d2929; outline-offset: 3px; }
.massimo-room .inner > .thumbnail.gallery,
.massimo-room .thumbnail.gallery > .photo { width: 100%; }
.massimo-room .thumbnail.gallery > .photo > ul {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  gap: 12px;
  width: 100%;
}
.massimo-room .thumbnail.gallery > .photo > ul > li { float: none; min-width: 0; }
.massimo-room .thumbnail.gallery > .photo > ul > li:first-child { grid-row: 1 / span 3; }
.massimo-room .thumbnail.gallery .link { display: block; width: 100%; }
.massimo-room .thumbnail.gallery img { display: block; width: 100%; height: auto; object-fit: contain; }
.massimo-room .youtube iframe { max-width: 100%; }
.massimo-room .thumbnail.gallery > .photo > ul:has(> li:only-child) { grid-template-columns: 1fr; }
.massimo-room .room-image-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 200px;
  padding: 24px;
  border: 1px solid #ddd;
  background: #f7f7f7;
  color: #555;
}
