/* Shared map (panorama-map.js). Leaflet's own stylesheet is loaded on demand, together with the script. */
.hotel-map{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:70px;align-items:center}
.hotel-map-copy h2{margin-bottom:24px}
.hotel-map-copy>p{color:var(--muted);line-height:1.8;max-width:520px}
.map-address{margin:30px 0 0}
.map-address dt{color:var(--deep);font-size:12px;letter-spacing:2px;text-transform:uppercase;font-weight:600;margin-bottom:8px}
.map-address dd{margin:0;line-height:1.7}
.map-copy{margin-left:10px;padding:4px 0;border:0;border-bottom:1px solid var(--gold);background:none;color:var(--ink);font:inherit;font-size:13px;cursor:pointer}
.map-copy:hover,.map-copy:focus-visible{color:var(--deep)}
.map-copy-status{display:block;min-height:1.4em;margin-top:4px;color:var(--deep);font-size:13px}
.map-nav-title{margin:26px 0 12px;color:var(--deep);font-size:12px;letter-spacing:2px;text-transform:uppercase;font-weight:600}
.map-nav{display:flex;flex-wrap:wrap;gap:10px}
.map-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;border:1px solid var(--deep);color:var(--deep);font-size:12px;font-weight:600;letter-spacing:1px;transition:background .25s,color .25s}
.map-nav a:hover,.map-nav a:focus-visible{background:var(--deep);color:#fff}
.pmap{position:relative;isolation:isolate;min-height:420px;background:var(--cream);border:1px solid var(--line)}
.pmap-canvas{position:absolute;inset:0}
.pmap-activate{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;padding:16px 26px;border:1px solid var(--deep);background:var(--deep);color:#fff;font:inherit;font-size:12px;font-weight:600;letter-spacing:1px;cursor:pointer}
.pmap-activate:hover,.pmap-activate:focus-visible{background:var(--gold);border-color:var(--gold)}
.pmap-status{position:absolute;left:0;right:0;bottom:0;z-index:2;margin:0;padding:12px 16px;font-size:13px;color:var(--ink);pointer-events:none}
.pmap-status:empty{display:none}
.pmap-nojs{margin:0;padding:40px 30px;color:var(--muted);line-height:1.7}
.pmap .leaflet-container{width:100%;height:100%;font-family:var(--sans);background:var(--cream)}
.pmap .leaflet-container:focus-visible{outline:2px solid var(--deep);outline-offset:-2px}
.pmap-pin{background:none;border:0;color:var(--deep);filter:drop-shadow(0 3px 4px rgba(0,0,0,.35));transition:transform .2s,color .2s}
.pmap-pin svg{display:block}
.pmap-pin.is-active{color:var(--gold);transform:scale(1.18);z-index:900!important}
.pmap-pin:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.pmap .leaflet-tooltip{border-radius:0;border:1px solid var(--line);color:var(--ink);font-size:13px;box-shadow:none}
@media(max-width:900px){.hotel-map{grid-template-columns:1fr;gap:40px}.pmap{min-height:340px}}
@media(prefers-reduced-motion:reduce){.pmap-pin{transition:none}}
