/* Strand's slate, silver and ice-blue palette across the three venue plans. */
.room-section .room-disclosure{--bg:#13161a;--panel:#171c23;--ink:#e8ebef;--muted:#b9c2cf;--accent:#a9c8f6;--line:#48515e;background:var(--bg);color:var(--ink);border:1px solid #39414b}
.room-section .room-content{padding:clamp(16px,2.4vw,36px)}
.room-section .map-caption{font:400 11px/1.6 var(--body);color:#b9c2cf;margin:0 0 20px}
.room-section .map-explorer{grid-template-columns:minmax(0,1fr) minmax(220px,.32fr);gap:clamp(24px,3vw,44px)}
.room-section .map-gallery{min-width:0}
.room-section .map-viewport{background:#000;overflow:hidden;border:1px solid #333942;border-radius:3px;touch-action:pan-y;isolation:isolate}
.room-section .map-viewport.is-zoomed{cursor:grab;touch-action:none}
.room-section .map-viewport.is-dragging{cursor:grabbing}
.room-section .map-viewport.is-dragging .map-stage{transition:none}
.room-section .plan-image{display:block;width:100%;height:auto;user-select:none}
.room-section .map-angles{display:flex;gap:22px;border-bottom:1px solid #39414b;margin-bottom:18px;flex-wrap:wrap}
.room-section .map-angles button{background:none;border:0;border-bottom:2px solid transparent;color:#b9c2cf;min-height:46px;font:400 12px/1.4 var(--body);padding:8px 0;margin-bottom:-1px}
.room-section .map-angles button[aria-pressed=true]{border-color:var(--accent);color:#fff}
.room-section .map-angles button:hover{color:#fff}
.room-section .map-pin span{background:#20262de8;border:1px solid #bdc8d8;color:#fff;box-shadow:0 2px 9px #0009;min-width:27px;height:27px;line-height:25px;font-size:9px}
html[data-venue] .room-section .map-pin[aria-pressed=true] span{background:#b9d4ff;color:#13161a;outline:1px solid #b9d4ff;outline-offset:4px;box-shadow:0 0 0 2px #13161a}
.room-section .map-pin:hover span{background:#d4e4fa;color:#13161a}
.room-section .map-toolbar{padding-top:2px;gap:8px}
.room-section .map-toolbar button{border:1px solid #48515e;color:#e8ebef;border-radius:2px}
.room-section .map-toolbar button:hover{border-color:var(--accent)}
.room-section .map-perspective-note,.room-section .map-view-status{font:400 11px/1.65 var(--body);color:#b9c2cf;margin:14px 0 0}
.room-section .map-view-status:empty{display:none}
.room-section .map-sidebar{display:flex;flex-direction:column;position:sticky;top:90px;padding:0!important}
.room-section .selected-preview{height:clamp(130px,12vw,190px);border-radius:2px;filter:none;order:0}
.room-section .selection-image-note{order:1}
.room-section .map-selected{order:2;font-family:var(--body)!important;font-size:29px!important;font-weight:400;line-height:1.15!important;color:#e8ebef!important}
.room-section .selection-facts{order:3;min-height:4.8em;color:#b9c2cf!important}
.room-section .map-sidebar .book-selection{order:4;background:#dce7f5;color:#171d25;border:1px solid #dce7f5;margin:0 0 26px;min-height:54px;font:500 12px/1.4 var(--body)}
.room-section .map-sidebar .book-selection.secondary{background:transparent;border-color:#758297;color:#e8ebef}
.room-section .map-sidebar .map-list{order:5;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0;padding:0;max-height:none;overflow:visible;border-top:1px solid #39414b;padding-top:24px}
.room-section .table-choice{color:#bdc7d5;border:1px solid #414c5a;border-radius:2px;font:400 11px/1.5 var(--body);min-height:44px;padding:9px 5px}
.room-section .table-choice[aria-pressed=true]{color:#13161a;background:#b9d4ff;border-color:#b9d4ff}
.room-section .table-choice:hover{border-color:#b9d4ff}
.room-section button:focus-visible,.room-section .map-viewport:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
@media(max-width:1000px){.room-section .map-explorer{grid-template-columns:minmax(0,1fr) 210px;gap:22px}.room-section .map-angles{gap:16px}.room-section .map-angles button{font-size:11px}}
@media(max-width:900px){.room-section .map-explorer{grid-template-columns:1fr;gap:25px}.room-section .map-sidebar{position:static;display:grid;grid-template-columns:110px 1fr;gap:0 20px;border-top:1px solid #39414b;padding-top:24px!important}.room-section .selected-preview{grid-column:1;grid-row:1/4;height:132px;margin:0}.room-section .map-sidebar .selection-image-note{grid-column:1;grid-row:4;font-size:9px;margin:10px 0 20px}.room-section .map-selected{grid-column:2;grid-row:1;margin-top:0!important}.room-section .map-sidebar .selection-facts{grid-column:2;grid-row:2;min-height:0;margin-bottom:0}.room-section .map-sidebar .book-selection{grid-column:1/-1;grid-row:5;margin:0 0 20px}.room-section .map-sidebar .map-list{grid-column:1/-1;grid-row:6;grid-template-columns:repeat(4,minmax(0,1fr));padding-top:20px}.room-section .map-angles{gap:22px}.room-section .map-angles button{font-size:12px}.room-section .map-pin{width:36px;height:36px}.room-section .map-pin span{min-width:24px;height:24px;line-height:22px;font-size:9px}.room-section .map-toolbar .reset-map{font-size:11px}}
@media(max-width:430px){.room-section .room-content{padding:16px 10px}.room-section .map-angles{gap:13px}.room-section .map-angles button{font-size:10px}.room-section .map-sidebar .map-list{grid-template-columns:repeat(3,minmax(0,1fr))}.room-section .map-sidebar{grid-template-columns:90px 1fr;column-gap:15px}.room-section .map-selected{font-size:25px!important}}
@media(prefers-reduced-motion:reduce){.room-section .map-stage{transition:none}}
html[data-motion=off] .room-section .map-stage{transition:none}

.venue-map-visible .reservation-dock{left:auto;right:20px;transform:none;width:auto;padding:6px;background:#171c23f5}
.venue-map-visible .reservation-dock>span{display:none}
.venue-map-action-visible .reservation-dock{display:none}
