/* Shared galleries: edge-to-edge cover, four equal thumbnails. */
.detail-page.detail-2026 .detail-hero{height:360px;margin-inline:calc(-1 * var(--gutter,18px));border-radius:0 0 24px 24px}
.detail-page.has-room-gallery .detail-hero:after{pointer-events:none;background:linear-gradient(180deg,#10121544,transparent 45%,#10121555)}
.detail-page.has-room-gallery .detail-title{margin-top:20px;padding-inline:0}
.room-photo-open{position:absolute;inset:0;z-index:1;background:transparent;border:0;cursor:zoom-in;touch-action:manipulation}
.room-photo-open>span{position:absolute;right:18px;bottom:18px;padding:6px 10px;border-radius:9px;background:#101215df;color:#fff;font-size:14px;font-weight:600}
.room-gallery{display:grid;grid-template-columns:repeat(var(--photo-count,4),minmax(0,1fr));gap:8px;margin-top:12px}
.room-gallery-thumb{display:block;min-width:0;padding:0;border:1px solid var(--line);background:var(--surface);border-radius:10px;overflow:hidden;aspect-ratio:4/3;cursor:zoom-in;touch-action:manipulation}
.room-gallery-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.room-gallery-thumb[hidden]{display:none}
/* A fixed frame: image dimensions and local zoom cannot resize the dialog. */
.room-photo-dialog{position:fixed;inset:0;margin:auto;width:min(960px,100%);height:min(800px,100dvh);max-width:100%;max-height:100dvh;min-width:0;min-height:0;padding:16px;color:#fff;background:#171a1f;border:1px solid #454b54;border-radius:18px;overflow:hidden;overscroll-behavior:contain;box-sizing:border-box}
.room-photo-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:12px}
.room-photo-dialog::backdrop{background:#080a0ef2}
.room-photo-dialog .room-photo-toolbar,.room-photo-dialog .room-photo-controls{display:flex;align-items:center;gap:8px;min-width:0;padding:0;margin:0;background:none;border:0;position:static}
.room-photo-dialog h2{flex:1;font-size:16px;line-height:1.4;margin:0;min-width:0;max-height:4.2em;overflow:auto}
.room-photo-dialog button{flex:0 0 44px;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;display:grid;place-items:center;border:1px solid #48505b;border-radius:12px;background:#282d35;color:#fff;font-size:24px;line-height:1;cursor:pointer;touch-action:manipulation}
.room-photo-dialog .room-photo-controls{justify-content:center}
.room-photo-dialog #roomPhotoSource{font-size:11px;color:#ffc394;text-decoration:underline;text-underline-offset:3px;max-width:130px;line-height:1.3}
.room-photo-dialog [hidden]{display:none!important}
.room-photo-stage{position:relative;display:grid;place-items:center;min-width:0;min-height:0;width:100%;height:100%;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}
.room-photo-stage img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;min-width:0;min-height:0;object-fit:contain;transform-origin:center;will-change:transform;-webkit-user-drag:none}
.room-photo-stage p{position:absolute;inset:0;display:grid;place-items:center;padding:24px;color:#c5cbd4;text-align:center;font-size:16px}
.room-photo-dialog #roomPhotoCounter{min-width:65px;text-align:center;font-size:16px}
html.room-photos-open,html.room-photos-open body{overflow:hidden;overscroll-behavior:none}
@media(max-width:699px){.room-photo-dialog{height:100dvh;border:0;border-radius:0;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}}
@media(min-width:1000px){.detail-page.detail-2026 .detail-hero{height:620px;margin-inline:0;border-radius:32px}.detail-page.has-room-gallery .detail-title{margin-top:0}.detail-page.has-room-gallery .detail-media{position:static}}

.visit-facts{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}

.room-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:420px){.room-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}
