/*
  Shared Room Content — Phase 06
  Reusable editorial compositions for every public room.
*/
.room-composition {
  display: grid;
  gap: clamp(1.5rem, 4vw, 3.5rem);
  align-items: start;
}
.room-composition--one { grid-template-columns: minmax(0, var(--house-reading)); justify-content: center; }
.room-composition--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.room-composition--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.room-composition--feature { grid-template-columns: minmax(0, 1.5fr) minmax(16rem, 0.75fr); }
.room-collection {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
  gap: clamp(1rem, 2.5vw, 2rem);
}
.room-item {
  min-width: 0;
  padding: clamp(1.25rem, 3vw, 2.25rem);
  border: 1px solid var(--house-rule);
  background: rgba(3, 5, 10, 0.82);
}
.room-item > :first-child { margin-top: 0; }
.room-item > :last-child { margin-bottom: 0; }
.room-item__label {
  color: var(--house-gold);
  font: 700 0.58rem/1.4 var(--house-ui);
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.room-item__title { color: var(--house-ivory); font-weight: 400; line-height: 1.25; }
.room-item__text { color: var(--house-ivory-muted); }
.room-doorway {
  display: block;
  color: inherit;
  text-decoration: none;
  transition: background 180ms ease, border-color 180ms ease;
}
.room-doorway:hover,
.room-doorway:focus-visible {
  border-color: var(--house-gold-soft);
  background: rgba(13, 15, 23, 0.94);
}
@media (max-width: 800px) {
  .room-composition--three,
  .room-composition--feature { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .room-composition--two,
  .room-composition--three,
  .room-composition--feature { grid-template-columns: 1fr; }
}
