.room-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.4rem;margin-top:1.5rem}.room-card{background:#fff;border:1px solid var(--line);padding:1rem}.room-card h3{font:1.45rem var(--serif);color:var(--pine);margin:1rem 0 .2rem}.room-card p{margin:0;color:var(--muted);font-size:.9rem}.room-gallery-trigger{display:block;position:relative;width:100%;padding:0;border:0;background:var(--pine);cursor:pointer;overflow:hidden}.room-gallery-trigger img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .25s}.room-gallery-trigger:hover img,.room-gallery-trigger:focus-visible img{transform:scale(1.05)}.room-gallery-trigger span{position:absolute;left:0;right:0;bottom:0;padding:.55rem;background:rgba(24,41,31,.8);color:#fff;font:600 .76rem var(--sans);letter-spacing:.08em;text-transform:uppercase}.room-dialog{max-width:min(94vw,1080px);border:0;padding:0;background:#17291f;color:#fff}.room-dialog::backdrop{background:rgba(0,0,0,.82)}.room-dialog img{max-height:78vh;width:auto;max-width:100%;margin:auto;object-fit:contain}.room-dialog-inner{padding:1rem}.room-dialog-controls{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.8rem}.room-dialog button{border:1px solid rgba(255,255,255,.45);background:transparent;color:#fff;padding:.55rem .8rem;cursor:pointer;font:600 .85rem var(--sans)}.room-dialog button:hover,.room-dialog button:focus-visible{background:#fff;color:var(--pine)}.room-dialog-close{position:absolute;right:.7rem;top:.7rem;z-index:1}.room-dialog-count{font-size:.88rem}@media(max-width:900px){.room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.room-grid{grid-template-columns:1fr}}
