.destination-map{padding:0!important;overflow:hidden}
.destination-map-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:23px 25px 14px}
.destination-map-head h2{margin:0!important}
.destination-map-coords{font-size:12px;font-weight:700;color:#6f7f8a;white-space:nowrap}
.destination-map-frame{position:relative;height:476px;margin:0 14px;border-radius:10px;overflow:hidden;isolation:isolate;background:#e9eef0}
.destination-map-canvas{position:absolute;inset:0;z-index:0;font:inherit;background:#e9eef0}
.destination-map-canvas .leaflet-tile-pane{filter:grayscale(.35) contrast(.86) brightness(1.1) saturate(.85)}
.destination-map-canvas .leaflet-control-attribution{display:none}
.destination-map-canvas .leaflet-control-zoomslider{width:34px;margin:10px 10px 0 0;border:0;background:#fff;box-shadow:0 3px 12px rgba(27,42,58,.2);border-radius:9px;overflow:hidden}
.destination-map-canvas .leaflet-control-zoomslider a{display:block;width:34px;height:32px;line-height:30px;text-align:center;text-decoration:none;color:#26313d;font-size:22px;font-weight:700;border:0}
.destination-map-canvas .leaflet-control-zoomslider a:hover{background:#f4f6f8}
.destination-map-canvas .leaflet-control-zoomslider-in:after{content:"+"}
.destination-map-canvas .leaflet-control-zoomslider-out:after{content:"\2212"}
.destination-map-canvas .leaflet-control-zoomslider a.leaflet-control-zoomslider-disabled{color:#c3ccd2;cursor:default;background:none}
.destination-map-canvas .leaflet-control-zoomslider-wrap{padding:6px 0;background:#fff;border-top:1px solid #e8edf0;border-bottom:1px solid #e8edf0}
.destination-map-canvas .leaflet-control-zoomslider-body{width:4px;margin:0 auto;border:solid transparent;border-width:0 15px;background:#dbe2e7 content-box;border-radius:2px;cursor:pointer;box-sizing:content-box}
.destination-map-canvas .leaflet-control-zoomslider-knob{position:relative;box-sizing:border-box;width:20px;height:10px;margin-left:-8px;border:2px solid #fff;border-radius:6px;background:#f53562;box-shadow:0 1px 4px rgba(27,42,58,.45);cursor:grab}
.destination-map-canvas .leaflet-control-zoomslider-knob:hover{background:#d92754}
.destination-map-canvas .leaflet-control-zoomslider-knob:focus-visible{outline:3px solid #69bfd8;outline-offset:2px}
.destination-map-canvas.leaflet-dragging .leaflet-control-zoomslider-knob{cursor:grabbing}
.destination-map-canvas .leaflet-container:focus-visible{outline:3px solid #69bfd8;outline-offset:-3px}
.destination-map-source{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:0 4px;padding:9px 20px 11px;font-size:11px;line-height:1.3;color:#9aa6ae}
.destination-map-source a{color:inherit;text-decoration:underline;text-decoration-color:#c9d1d6;text-underline-offset:2px}
.destination-map-source a:hover{color:#6f7f8a}
.map-pin{position:relative;width:0;height:0}
.map-pin-ring{position:absolute;left:-26px;top:-26px;width:52px;height:52px;border-radius:50%;background:rgba(245,53,98,.18);animation:map-pin-pulse 2.4s ease-out infinite}
.map-pin-dot{position:absolute;left:-15px;top:-38px;width:30px;height:38px;filter:drop-shadow(0 4px 5px rgba(0,0,0,.4))}
.map-pin-dot svg{display:block;width:30px;height:38px}
.map-pin-label{position:absolute;left:0;top:-70px;transform:translateX(-50%);white-space:nowrap;background:#fff;color:#26313d;font-weight:900;font-size:12px;line-height:1.3;padding:5px 10px;border-radius:99px;box-shadow:0 3px 12px rgba(27,42,58,.25)}
/* region maps: one dot per destination */
.map-dot{display:block;width:18px;height:18px;border-radius:50%;background:#f53562;border:3px solid #fff;box-shadow:0 2px 6px rgba(27,42,58,.45);box-sizing:border-box}
.leaflet-marker-icon:hover .map-dot,.leaflet-marker-icon:focus-visible .map-dot{background:#d92754}
.leaflet-marker-icon:focus-visible{outline:3px solid #69bfd8;outline-offset:2px;border-radius:50%}
.leaflet-tooltip.map-tooltip{border:0;border-radius:99px;padding:4px 10px;background:#fff;color:#26313d;font-weight:900;font-size:12px;box-shadow:0 3px 12px rgba(27,42,58,.25)}
.leaflet-tooltip.map-tooltip:before{display:none}
/* guide maps: coloured pins */
.map-colored-pin{display:block;width:30px;height:38px;filter:drop-shadow(0 3px 4px rgba(0,0,0,.4))}
.map-colored-pin svg{display:block;width:30px;height:38px}
.leaflet-marker-icon:hover .map-colored-pin,.leaflet-marker-icon:focus-visible .map-colored-pin{transform:translateY(-2px)}
@keyframes map-pin-pulse{0%{transform:scale(.4);opacity:1}100%{transform:scale(1.5);opacity:0}}
@media (prefers-reduced-motion:reduce){.map-pin-ring{animation:none}}
@media (max-width:760px){.destination-map-head{padding:19px 19px 12px}.destination-map-frame{height:392px;margin:0 10px}.destination-map-source{padding:9px 14px 11px}}
/* shown instead of the map until the visitor allows OpenStreetMap (see tripguide-map.js) */
.map-consent{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;text-align:center;background:#eef2f4;z-index:1}
.map-consent p{margin:0;max-width:340px;font-size:13px;line-height:1.5;color:#55626d}
.map-consent button{border:0;border-radius:8px;background:#f53562;color:#fff;font:inherit;font-size:13px;font-weight:900;padding:10px 18px;cursor:pointer}
.map-consent button:hover{background:#d92754}
.map-consent button:focus-visible{outline:3px solid #69bfd8;outline-offset:2px}
