/* Space for the two-step type increase. Existing ink, opacity and weights stay intact. */
.room-heading-row { flex-wrap: wrap; }
.room-navigation { flex-shrink: 0; }
.filter-group { flex-wrap: wrap; }
body .menu-drawer .menu-room-head { white-space: normal; }
body .menu-drawer .menu-room-grid a { flex-wrap: wrap; gap: 8px 16px; }
.inquiry-chat-contact>div { flex-wrap: wrap; }
.lightbox-bar { gap: 16px; }
.lightbox-bar>div:first-child { min-width: 0; }
.lightbox-bar h2 { overflow-wrap: anywhere; }
@media(max-width:700px), (max-width:1000px) and (pointer:coarse) {
  body .site-header { grid-template-columns: 54px minmax(0,1fr) 54px; }
  body .site-header .header-actions .menu-toggle { width: 54px; }
  .filter-group { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); width: 100%; }
  .filter { min-width: 0; }
  .inquiry-actions { flex-wrap: wrap; }
  .inquiry-actions>.contact-action { flex: 1 1 200px; }
}
@media(max-width:480px) {
  #roomDetail .room-header-block { grid-template-columns: minmax(0,1fr); row-gap: 16px; }
  #roomDetail .room-heading-row { display: contents; }
  #roomDetail .room-navigation { grid-column: 1; grid-row: 3; justify-self: end; }
  .member-form { grid-template-columns: minmax(0,1fr) 48px; }
  .member-form input { grid-column: 1; }
  .member-form button { grid-column: 2; grid-row: 1 / 3; }
}

.original-main .hero-bottom { justify-content: flex-end; }

/* Every price cell opens its room; touch input has no persistent hover shade. */
#priceTable tr { cursor: pointer; background: transparent; }
@media (hover: hover) and (pointer: fine) {
  #priceTable tr:hover { background: rgba(0, 0, 0, 0.035); }
}
body:not(.pointer-mode) #priceTable tr:focus-within { background: rgba(0, 0, 0, 0.035); }
#priceTable button:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
