/* V4 room galleries: intentional non-interactive placeholders until photos arrive. */
.room-gallery-section { background:var(--mist); }
.room-gallery-intro { max-width:60ch; margin-bottom:2rem; }
.room-photo-grid { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.3rem; }
.room-photo-slot { position:relative; aspect-ratio:4/3; min-width:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.7rem; border:1px solid var(--stone); background:var(--chalk); color:var(--slate); text-align:center; padding:1.2rem; font-size:.8rem; }
.photo-slot-number { position:absolute; left:1rem; top:.8rem; font-size:.7rem; letter-spacing:.12em; color:var(--sage); }
.photo-slot-icon { font-family:var(--serif); font-size:2.6rem; line-height:1; font-weight:300; color:var(--sage); }
.hero-photo-note { margin-top:1rem; color:var(--chalk); font-size:.78rem; }
.room-photo-pending-label { position:absolute; top:1rem; left:1rem; right:1rem; color:white; font-size:.8rem; text-align:center; }
.room-specs strong { max-width:65%; }
.room-card .room-stats { flex-direction:column; gap:.4rem; }
.room-detail-page .hero-inner { padding-top:150px; }
.room-detail-page .hero-title { overflow-wrap:break-word; }
@media(max-width:767px) {
 .room-photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; }
 .room-photo-slot { padding:.7rem; font-size:.73rem; }
 .room-detail-page .hero-inner { padding-top:130px; }
}
@media(max-width:420px) {
 .room-specs strong { max-width:none; }
 .photo-slot-number { top:.5rem; left:.6rem; }
}
