/* Venue map: provided artwork, with a keyboard and touch accessible viewer. */
.enjoy-map .map-card{margin:var(--s3) calc(-1 * var(--s2)) 0}
.map-access{margin-top:var(--s2);color:var(--gold-1);font-size:12px;line-height:1.6}
.map-cafe-note{margin-top:var(--s2);color:var(--muted);font-size:11px;line-height:1.7}
.map-card{display:block;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--night-900);box-shadow:0 12px 32px rgba(0,0,0,.2)}
.map-card img{width:100%;height:auto}
.map-open-label{display:flex;justify-content:center;align-items:center;gap:8px;min-height:48px;font-size:13px;font-weight:700;color:var(--gold-1)}
.map-open-label svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6}
.map-card:active{border-color:var(--gold-1)}
.map-card:focus-visible,.map-dialog button:focus-visible,.map-viewport:focus-visible{outline:3px solid var(--gold-1);outline-offset:4px}
.shop-serving{padding:0 var(--s3) var(--s2);color:var(--gold-1);font-size:12px;line-height:1.6}
.map-dialog{position:fixed;inset:0;margin:auto;width:min(960px,100%);height:min(760px,100dvh);max-width:100%;max-height:100dvh;border:1px solid var(--line);border-radius:20px;padding:0;color:var(--text);background:var(--night-900);overflow:hidden;box-shadow:0 24px 100px #0008}
.map-dialog[open]{display:flex;flex-direction:column}
.map-dialog::backdrop{background:rgba(4,6,24,.88)}
.map-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px 0}
.map-dialog-head h2{font-size:18px;letter-spacing:.12em}
.map-dialog-head button{display:flex;gap:12px;align-items:center;min-height:44px;padding:0 12px;font-size:14px;border:1px solid var(--line);border-radius:24px}
.map-dialog-head button span{font-size:24px}
.map-help{padding:12px 16px;color:var(--muted);font-size:12px}
.map-viewport{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y;scroll-behavior:auto;background:#142a35}
.map-surface{display:flex;align-items:center;justify-content:center;min-width:100%;min-height:100%}
.map-surface img{max-width:none;flex:none;user-select:none;-webkit-user-select:none}
.map-tools{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:16px 12px max(16px,env(safe-area-inset-bottom));background:var(--night-900)}
.map-tools button{min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:50%;font-size:22px}
.map-tools button:disabled{opacity:.3;cursor:default}
.map-tools output{min-width:48px;text-align:center;font-size:13px;font-variant-numeric:tabular-nums}
.map-tools #mapReset{border-radius:24px;padding:0 16px;font-size:13px;color:var(--gold-1)}
.map-error{padding:12px 16px;font-size:13px}
.map-error a{text-decoration:underline}
@media(max-width:600px){.map-dialog{height:100dvh;border:0;border-radius:0}.map-dialog-head{padding-top:max(12px,env(safe-area-inset-top))}}
