.map-section .section-head{margin-bottom:25px;align-items:center}.map-section .kicker{font-family:Arial,Helvetica,sans-serif;text-transform:none;letter-spacing:.025em;font-weight:500;color:#dfbc72}.map-section .section-head p{font-size:.95rem;max-width:520px}
.city-map-frame{position:relative;border:1px solid #77603a;border-radius:20px;overflow:hidden;background:#111316}.city-map-toolbar{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;background:#151515;border-bottom:1px solid #5a492c}.city-map-toolbar>span{display:flex;gap:18px;align-items:baseline}.city-map-toolbar strong{font:600 1.25rem Arial,sans-serif;color:#f0cf88}.city-map-toolbar small{color:#aab0bb;font-size:.8rem}.city-map-toolbar button{font:600 .8rem Arial,sans-serif;background:#211c13;color:#ecd09a;border:1px solid #806636;border-radius:9px;padding:11px 15px;cursor:pointer}.city-map-toolbar button:hover{background:#3b2e18}
#gent-map.city-map{height:550px;width:100%;background:#131619;position:relative;isolation:isolate}.city-map .leaflet-tile-pane{filter:none}.city-map .leaflet-control-zoom{border:1px solid #896d3c;border-radius:8px;overflow:hidden;margin:20px}.city-map .leaflet-control-zoom a{background:#17191c;color:#e7c783;border-color:#55442a;width:36px;height:36px;line-height:36px}.city-map .leaflet-control-zoom a:hover{background:#353026}.city-map .leaflet-control-attribution{background:#101214e8;color:#b9bfc8;font-size:10px}.city-map .leaflet-control-attribution a{color:#d8bd83}.city-map .leaflet-popup-content-wrapper,.city-map .leaflet-popup-tip{background:#15181c;color:#e8edf3}.city-map .leaflet-popup-content-wrapper{border:1px solid #80673c;border-radius:12px}.city-map .leaflet-popup-content{font:14px/1.6 Arial,sans-serif;margin:16px 20px}.city-map .leaflet-popup-content a{color:#edcb80}.city-map .leaflet-popup-close-button{color:#ddd}.city-map .leaflet-tooltip{background:#15181cef;border:1px solid #655536;border-radius:7px;color:#eed29a;padding:6px 10px;font:600 12px/1.4 Arial,sans-serif;box-shadow:none}.city-map .leaflet-tooltip-top:before{border-top-color:#655536}
.gent-pin{display:grid;place-items:center;border:2px solid #f2cd78;border-radius:50%;background:#382d17;color:#ffe1a0;font:bold 14px Arial,sans-serif;box-shadow:0 0 0 6px #e8ba4520,0 3px 15px #0008}.gent-pin.pin-city{background:#222932;border-color:#e5e9ef;color:#fff;box-shadow:0 0 0 6px #c5d3e51a,0 3px 15px #0008}.gent-pin.pin-hotel{background:#133632;border-color:#6ad3c3;color:#9eecdf;box-shadow:0 0 0 6px #53b6a820,0 3px 15px #0008}.gent-pin:focus-visible{outline:3px solid #fff;outline-offset:6px}
.city-map-legend{display:flex;align-items:center;gap:24px;padding:16px 24px;background:#111316;border-top:1px solid #34302a;font-size:.8rem;color:#ccd2dc}.city-map-legend>span{display:flex;align-items:center;gap:8px}.city-map-legend i{width:9px;height:9px;border-radius:50%;background:#edc76f}.city-map-legend .legend-city{background:#e0e4ea}.city-map-legend .legend-hotel{background:#62c9b8}.city-map-legend small{margin-left:auto;font-size:.73rem;color:#8f99a8}.city-map-fallback{position:absolute;left:75px;top:125px;z-index:500;background:#15181c;border:1px solid #80673c;color:#e5c987;padding:18px;border-radius:12px;max-width:400px}.city-map-fallback[hidden]{display:none}
.map-place-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:20px}.map-place{background:#101216;border:1px solid #383b41;border-top:3px solid #dfbd72;border-radius:13px;overflow:hidden}.map-place.city-place{border-top-color:#cdd3dd}.map-place.hotel-place{border-top-color:#58b8a8}.map-place button{display:flex;flex-direction:column;text-align:left;width:100%;padding:20px 18px 14px;gap:9px;border:0;background:transparent;color:#fff;font-family:Arial,Helvetica,sans-serif;cursor:pointer}.map-place button:hover{background:#1b1e24}.map-place button:focus-visible,.city-map-toolbar button:focus-visible{outline:2px solid #f1c879;outline-offset:-4px}.map-place button .place-type{font-size:.7rem;color:#d8ba79}.map-place.city-place .place-type{color:#cdd3dd}.map-place.hotel-place .place-type{color:#8fd3c7}.map-place strong{font-size:.98rem;line-height:1.4;min-height:2.8em}.map-place button>span:not(.place-type){color:#a6b0bf;font-size:.75rem}.map-place b{display:flex;justify-content:space-between;margin-top:8px;color:#d8be87;font-size:.75rem;font-weight:500}.map-place>a{display:block;margin:0 18px;padding:12px 0 15px;border-top:1px solid #303239;font-size:.76rem;color:#d2d8e2}.map-place>a:hover{color:#f0cb79}.map-disclaimer{color:#919dad;font-size:.76rem;margin:18px 0 0;line-height:1.5}
@media(max-width:1050px){.map-place-grid{grid-template-columns:1fr 1fr}}@media(max-width:720px){#gent-map.city-map{height:430px}.city-map-toolbar{padding:15px}.city-map-toolbar>span{display:grid;gap:4px}.city-map-legend{padding:14px;gap:18px;flex-wrap:wrap}.city-map-legend small{margin:0;width:100%}.map-place-grid{gap:10px}.map-place button{padding:16px 12px 12px}.map-place strong{font-size:.9rem;min-height:3em}.map-place>a{margin:0 12px}.city-map-fallback{left:20px;right:20px;top:110px}.map-section .section-head{gap:14px}}
.city-map .leaflet-tile-pane{filter:none}.map-place button[aria-pressed="true"]{background:#272217}
/* interactive map 2.0 */
.city-map .leaflet-tile-pane{filter:none}
.city-map .leaflet-container{background:#101214}
.gm-pin-wrap{background:none;border:0}
.gm-pin{position:relative;display:block;width:40px;height:40px;border-radius:50%;border:2px solid #f2cd78;background:#2b2314;color:#ffe3a3;box-shadow:0 0 0 5px #e8ba4524,0 6px 18px #000a;transition:transform .2s ease,box-shadow .2s ease}
.gm-pin:after{content:"";position:absolute;left:50%;bottom:-9px;width:12px;height:12px;background:inherit;border-right:2px solid #f2cd78;border-bottom:2px solid #f2cd78;transform:translateX(-50%) rotate(45deg);border-radius:0 0 4px 0;z-index:-1}
.gm-pin-in{position:relative;display:grid;place-items:center;width:100%;height:100%;border-radius:50%;background:inherit;font:700 15px Arial,sans-serif}
.gm-pin.gm-sight{background:#1d2530;border-color:#e9eef5;color:#fff;box-shadow:0 0 0 5px #c5d3e51c,0 6px 18px #000a}.gm-pin.gm-sight:after{border-color:#e9eef5}
.gm-pin.gm-hotel{background:#11322e;border-color:#6ad3c3;color:#a6f0e3;box-shadow:0 0 0 5px #53b6a822,0 6px 18px #000a}.gm-pin.gm-hotel:after{border-color:#6ad3c3}
.gm-pin.gm-group{width:46px;height:46px;font-size:17px}
.gm-pin-wrap:hover .gm-pin,.gm-pin-wrap.is-hover .gm-pin,.gm-pin-wrap:focus-visible .gm-pin{transform:translateY(-3px) scale(1.12)}
.gm-pulse:before{content:"";position:absolute;inset:-2px;border-radius:50%;border:2px solid #f2cd78;animation:gm-pulse 2.4s ease-out infinite}
@keyframes gm-pulse{0%{transform:scale(1);opacity:.8}100%{transform:scale(2.1);opacity:0}}
@media (prefers-reduced-motion:reduce){.gm-pulse:before{animation:none;opacity:0}.gm-pin{transition:none}}
.city-map .leaflet-tooltip.gm-label{background:#15181cf2;border:1px solid #6a5936;color:#f0d79f;border-radius:8px;padding:5px 9px;font:600 12px/1.3 Arial,sans-serif;box-shadow:0 4px 14px #0008}
.city-map:not(.zoom-close) .leaflet-tooltip.sight-label{opacity:0!important}
.city-map .leaflet-popup.gm-popup .leaflet-popup-content-wrapper{padding:0;overflow:hidden;border-radius:14px;box-shadow:0 14px 40px #000c}
.city-map .leaflet-popup.gm-popup .leaflet-popup-content{margin:0;width:280px!important}
.gm-pop img{display:block;width:100%;height:132px;object-fit:cover}
.gm-pop-body{padding:14px 16px 16px;display:grid;gap:6px}
.gm-pop-type{font:700 .66rem Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#d8ba79}
.gm-pop strong{font:700 1.05rem/1.25 Arial,sans-serif;color:#fff}
.gm-pop p{margin:0;font-size:.78rem;line-height:1.5;color:#b9c1ce}
.gm-pop-actions{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:6px}
.gm-pop-actions a{font:600 .75rem Arial,sans-serif;color:#edcb80;text-decoration:none;border-bottom:1px solid #edcb8055}
.gm-pop-actions a:hover{color:#fff;border-color:#fff}
.city-map .leaflet-popup.gm-popup .leaflet-popup-close-button{color:#fff;background:#000a;border-radius:50%;width:26px;height:26px;line-height:24px;text-align:center;font-size:18px;padding:0;top:8px;right:8px}
.map-filters{display:flex;flex-wrap:wrap;gap:8px}
.gm-chip{font:600 .78rem Arial,sans-serif;display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border-radius:999px;border:1px solid #4a4437;background:#16181c;color:#aeb6c3;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.gm-chip:before{content:"";width:9px;height:9px;border-radius:50%;background:#edc76f}
.gm-chip.chip-sights:before{background:#e9eef5}.gm-chip.chip-hotels:before{background:#62c9b8}.gm-chip[data-cat="all"]:before{background:linear-gradient(90deg,#edc76f 33%,#e9eef5 33% 66%,#62c9b8 66%)}
.gm-chip[aria-pressed="true"]{background:#2a2315;border-color:#a98943;color:#f6dca0}
.gm-chip:hover{border-color:#a98943}.gm-chip:focus-visible,.gm-fs:focus-visible,.tourism-map-btn:focus-visible{outline:2px solid #f1c879;outline-offset:2px}
.city-map-toolbar{gap:10px}.city-map-toolbar button{white-space:nowrap}.gm-fs{margin-left:10px}
.city-map-toolbar .gm-fs{font:600 .8rem Arial,sans-serif;background:#211c13;color:#ecd09a;border:1px solid #806636;border-radius:9px;padding:11px 15px;cursor:pointer}
.city-map-frame:fullscreen{display:flex;flex-direction:column;border-radius:0}.city-map-frame:fullscreen #gent-map.city-map{flex:1;height:auto}
.tourism-num{display:inline-grid;place-items:center;width:20px;height:20px;margin-right:8px;border-radius:50%;background:#e9eef5;color:#10131a;font:700 .7rem Arial,sans-serif;letter-spacing:0;vertical-align:middle}
.tourism-map-btn{margin-top:10px;margin-left:16px;font:600 .72rem Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;background:transparent;color:#a9d9cf;border:1px solid #3d6b63;border-radius:999px;padding:7px 12px;cursor:pointer}
.tourism-map-btn:hover{background:#13302c;color:#d2f3ea}
.tourism-card.is-active{border-color:#f2cd78;box-shadow:0 0 0 2px #f2cd7855}
@media(max-width:720px){.city-map-toolbar{flex-wrap:wrap}.gm-fs{display:none}.gm-pop img{height:110px}.city-map .leaflet-popup.gm-popup .leaflet-popup-content{width:240px!important}.tourism-map-btn{margin-left:0;display:block}}

/* colour map: bold, clearly readable pins */
.city-map .leaflet-container{background:#e8e4da}
.gm-pin{width:46px;height:46px;margin:0 auto;border:3px solid #fff;color:#fff;background:#1f5fd1;box-shadow:0 4px 12px rgba(0,0,0,.5),0 0 0 1px rgba(0,0,0,.28)}
.gm-pin:after{width:14px;height:14px;bottom:-9px;border-right:3px solid #fff;border-bottom:3px solid #fff;background:#1f5fd1;border-radius:0 0 4px 0}
.gm-pin-in{font:800 19px Arial,sans-serif;text-shadow:0 1px 1px rgba(0,0,0,.35)}
.gm-pin.gm-sight,.gm-pin.gm-sight:after{background:#1f5fd1;border-color:#fff;color:#fff}
.gm-pin.gm-sight{box-shadow:0 4px 12px rgba(0,0,0,.5),0 0 0 1px rgba(0,0,0,.28)}
.gm-pin.gm-venue,.gm-pin.gm-venue:after{background:#f2a900;border-color:#fff;color:#1b1200}
.gm-pin.gm-venue .gm-pin-in{text-shadow:none}
.gm-pin.gm-hotel,.gm-pin.gm-hotel:after{background:#0e9f86;border-color:#fff;color:#fff}
.gm-pin.gm-hotel{box-shadow:0 4px 12px rgba(0,0,0,.5),0 0 0 1px rgba(0,0,0,.28)}
.gm-pin.gm-group{width:54px;height:54px;border-width:4px}.gm-pin.gm-group:after{bottom:-10px}.gm-pin.gm-group .gm-pin-in{font-size:22px}
.gm-pin .gm-pin-in svg{width:24px;height:24px}
.gm-pulse:before{border-color:#f2a900}
.city-map .leaflet-tooltip.gm-label{background:#fff;border:2px solid #14213a;color:#14213a;border-radius:8px;padding:5px 10px;font:700 12.5px/1.3 Arial,sans-serif;box-shadow:0 3px 10px rgba(0,0,0,.35)}
.city-map .leaflet-tooltip-top.gm-label:before{border-top-color:#14213a}
.city-map .leaflet-control-zoom{border:2px solid #14213a;background:#fff}.city-map .leaflet-control-zoom a{background:#fff;color:#14213a;border-color:#cfd5df}.city-map .leaflet-control-zoom a:hover{background:#eef2f9}
.city-map .leaflet-control-attribution{background:rgba(255,255,255,.88);color:#222}.city-map .leaflet-control-attribution a{color:#1f5fd1}
.gm-chip:before{background:#f2a900}.gm-chip.chip-sights:before{background:#1f5fd1;box-shadow:0 0 0 2px #fff}.gm-chip.chip-hotels:before{background:#0e9f86}.gm-chip[data-cat="all"]:before{background:linear-gradient(90deg,#f2a900 33%,#1f5fd1 33% 66%,#0e9f86 66%)}
.gm-chip:before{width:12px;height:12px}
.tourism-num{background:#1f5fd1;color:#fff;width:22px;height:22px;box-shadow:0 0 0 2px #fff}
.city-map.zoom-mid .gm-pin.gm-sight:not(.gm-group){width:36px;height:36px;border-width:2.5px}.city-map.zoom-mid .gm-pin.gm-sight:not(.gm-group) .gm-pin-in{font-size:16px}.city-map.zoom-mid .gm-pin.gm-sight:not(.gm-group):after{width:11px;height:11px;bottom:-7px}
