/* Simply Luxury hotel map: navy and gold, built on OpenStreetMap. No cookies, no tracking. */
.sl-map-wrap{--g:#c5a46d;--g2:#e6cf9f;--navy:#060d17;position:relative;margin:0 0 2.2em;border:1px solid rgba(197,164,109,.35);background:var(--navy);overflow:hidden;isolation:isolate}
.sl-map-wrap:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:500;box-shadow:inset 0 0 120px 30px rgba(3,8,15,.85)}
.sl-map-wrap:after{content:"";position:absolute;inset:10px;pointer-events:none;z-index:501;border:1px solid rgba(197,164,109,.18)}
.sl-map{height:520px;width:100%;background:var(--navy)}
@media(max-width:760px){.sl-map{height:380px}}
.sl-map-wrap.is-small .sl-map{height:340px}
.sl-map .leaflet-tile-pane{filter:grayscale(1) invert(1) contrast(1.35) brightness(.9) sepia(1) saturate(1.5) hue-rotate(-8deg) brightness(.72)}
/* A navy wash over the gold streets, under the pins */
.sl-map .leaflet-map-pane:after{content:"";position:absolute;left:-10000px;top:-10000px;width:20000px;height:20000px;z-index:250;pointer-events:none;background:#0a1a2e;mix-blend-mode:screen}
.sl-map .leaflet-container,.sl-map.leaflet-container{background:var(--navy);font-family:Georgia,"Times New Roman",serif;outline:0}
.sl-map .leaflet-control-attribution{background:rgba(6,13,23,.75);color:rgba(197,164,109,.75);font:10px/1.6 Georgia,serif;letter-spacing:.06em;padding:2px 10px}
.sl-map .leaflet-control-attribution a{color:rgba(230,207,159,.85)}
.sl-map .leaflet-control-zoom{border:0!important;margin:22px 22px 0 0!important}
.sl-map .leaflet-control-zoom a{background:rgba(6,13,23,.9)!important;color:#e6cf9f!important;border:1px solid rgba(197,164,109,.85)!important;width:46px!important;height:46px!important;line-height:44px!important;font:300 26px/44px Georgia,serif!important;border-radius:50%!important;margin:0 0 10px!important;transition:background .25s,color .25s;box-shadow:0 6px 18px rgba(0,0,0,.5)}
.sl-map .leaflet-control-zoom a span{line-height:44px}
.sl-map .sl-map-reset{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:rgba(6,13,23,.9);color:#e6cf9f;border:1px solid rgba(197,164,109,.85);margin:0 22px 0 0;box-shadow:0 6px 18px rgba(0,0,0,.5);transition:background .25s,color .25s}
.sl-map .sl-map-reset:hover{background:#c5a46d;color:#060d17}
.sl-map .sl-map-reset svg{width:18px;height:18px}
@media(max-width:600px){.sl-map .leaflet-control-zoom a,.sl-map .sl-map-reset{width:42px!important;height:42px!important;line-height:40px!important}}
.sl-map .leaflet-control-zoom a:hover{background:var(--g)!important;color:var(--navy)!important}

/* Gold pins */
.sl-pin{position:relative;width:34px;height:34px}
.sl-pin b{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f4e2b8 0,#d8b97f 38%,#a8834a 100%);color:#0a1420;font:600 13px/34px Georgia,serif;text-align:center;box-shadow:0 0 0 1px rgba(255,236,190,.55),0 6px 18px rgba(0,0,0,.6);transition:transform .35s cubic-bezier(.2,.9,.3,1.3),box-shadow .35s;z-index:2}
.sl-pin i{position:absolute;inset:-8px;border-radius:50%;border:1px solid rgba(230,207,159,.55);animation:slPulse 3.2s ease-out infinite;opacity:0}
.sl-pin.is-on b,.leaflet-marker-icon:hover .sl-pin b{transform:scale(1.32);box-shadow:0 0 0 2px #fff3d6,0 0 28px 6px rgba(230,207,159,.55)}
.sl-pin.is-on i{animation-duration:1.4s}
@keyframes slPulse{0%{transform:scale(.6);opacity:.9}100%{transform:scale(1.7);opacity:0}}
.sl-pin.is-city{width:58px;height:58px}
.sl-pin.is-city b{font-size:16px;line-height:58px;background:radial-gradient(circle at 35% 30%,#f7e7c2 0,#d4b170 45%,#8f6c38 100%)}
.sl-pin.is-city em{position:absolute;top:64px;left:50%;transform:translateX(-50%);white-space:nowrap;font:11px/1 Georgia,serif;letter-spacing:.28em;text-transform:uppercase;color:var(--g2);text-shadow:0 1px 6px #000;font-style:normal}
@media(prefers-reduced-motion:reduce){.sl-pin i{animation:none}.sl-pin b{transition:none}}

/* Popup card */
.sl-map .leaflet-popup-content-wrapper{background:rgba(6,13,23,.96);color:#efe7d6;border:1px solid rgba(197,164,109,.6);border-radius:0;box-shadow:0 18px 50px rgba(0,0,0,.65);padding:0}
.sl-map .leaflet-popup-content{margin:20px 24px 18px;min-width:220px}
.sl-map .leaflet-popup-tip{background:rgba(6,13,23,.96);border:1px solid rgba(197,164,109,.6);box-shadow:none}
.sl-map a.leaflet-popup-close-button{color:var(--g)!important;font:20px/1 Georgia,serif!important;top:8px!important;right:8px!important}
.sl-pop small{display:block;font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--g);margin:0 0 8px}
.sl-pop strong{display:block;font:400 20px/1.25 Georgia,serif;color:#fff;margin:0 0 6px}
.sl-pop span{display:block;font-size:13px;opacity:.7;margin:0 0 4px}
.sl-pop a{display:inline-block;margin-top:12px;color:var(--g)!important;text-decoration:none;font-size:11px;letter-spacing:.24em;text-transform:uppercase;border-bottom:1px solid rgba(197,164,109,.6);padding-bottom:3px}

/* Overlay hint and full screen button */
.sl-map-hint{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);z-index:600;pointer-events:none;font:11px/1 Georgia,serif;letter-spacing:.3em;text-transform:uppercase;color:var(--g2);background:rgba(6,13,23,.8);border:1px solid rgba(197,164,109,.45);padding:10px 18px;transition:opacity .5s}
.sl-map-wrap.is-live .sl-map-hint{opacity:0}
.sl-map-fs{position:absolute;top:22px;left:22px;z-index:600;width:38px;height:38px;border-radius:50%;border:1px solid rgba(197,164,109,.5);background:rgba(6,13,23,.85);color:var(--g);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .25s,color .25s}
.sl-map-fs:hover{background:var(--g);color:var(--navy)}
.sl-map-fs svg{width:16px;height:16px}
.sl-map-wrap.is-full{position:fixed;inset:0;z-index:99999;margin:0;border:0}
.sl-map-wrap.is-full .sl-map{height:100vh}
.sl-map-title{position:absolute;top:24px;left:76px;z-index:600;pointer-events:none;font:11px/1 Georgia,serif;letter-spacing:.32em;text-transform:uppercase;color:var(--g)}

/* Numbered tiles that light up with their pin */
.sl-num{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:1px solid rgba(197,164,109,.6);color:#c5a46d;font:12px/1 Georgia,serif;margin:0 10px 0 0;vertical-align:2px;transition:background .25s,color .25s}
.sl-tile-on{border-color:#c5a46d!important;box-shadow:0 0 0 1px rgba(197,164,109,.4),0 10px 30px rgba(0,0,0,.35)}
.sl-tile-on .sl-num{background:#c5a46d;color:#060d17}

/* Restaurants: a small gold diamond when they share a map with our hotels */
.sl-pin.is-rest{width:26px;height:26px}
.sl-pin.is-rest b{inset:5px;border-radius:2px;transform:rotate(45deg);background:#0a1420;border:1.5px solid #e2c88f;box-shadow:0 0 0 1px rgba(0,0,0,.4),0 4px 12px rgba(0,0,0,.6)}
.sl-pin.is-rest b:after{content:"";position:absolute;inset:4px;background:#d8b97f;border-radius:1px}
.sl-pin.is-rest i{inset:-4px;border-radius:4px;transform:rotate(45deg);animation:none}
.leaflet-marker-icon:hover .sl-pin.is-rest b{transform:rotate(45deg) scale(1.35)}
.sl-map-legend{position:absolute;left:26px;bottom:24px;z-index:600;display:flex;gap:18px;background:rgba(6,13,23,.82);border:1px solid rgba(197,164,109,.4);padding:9px 14px;font:10px/1 Georgia,serif;letter-spacing:.26em;text-transform:uppercase;color:#e6cf9f;pointer-events:none}
.sl-map-legend span{display:flex;align-items:center;gap:8px}
.sl-map-legend .lg-h{width:12px;height:12px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f4e2b8,#a8834a)}
.sl-map-legend .lg-r{width:8px;height:8px;transform:rotate(45deg);border:1.5px solid #e2c88f;background:#d8b97f;margin:0 2px}
@media(max-width:600px){.sl-map-legend{left:16px;bottom:64px}}

/* A gold coin standing for several places that would otherwise overlap */
.sl-pin.is-bunch{width:44px;height:44px}
.sl-pin.is-bunch b{font-size:15px;line-height:44px;background:radial-gradient(circle at 35% 30%,#f7e7c2 0,#d4b170 45%,#8f6c38 100%);box-shadow:0 0 0 3px rgba(6,13,23,.85),0 0 0 4px rgba(230,207,159,.7),0 8px 22px rgba(0,0,0,.65)}
.sl-pop-list a{display:block!important;margin:0!important;padding:10px 0!important;border-bottom:1px solid rgba(197,164,109,.25)!important;font:400 15px/1.3 Georgia,serif!important;letter-spacing:0!important;text-transform:none!important;color:#fff!important}
.sl-pop-list a:last-child{border-bottom:0!important}
.sl-pop-list a b{color:#c5a46d}
.sl-pin.is-bunch b{font-size:13px}
.sl-pin.is-bunch b:before{content:"";position:absolute;inset:5px;border-radius:50%;border:1px dashed rgba(10,20,32,.55)}
.sl-pin.is-bunch em{position:absolute;top:50px;left:50%;transform:translateX(-50%);white-space:nowrap;font:10px/1 Georgia,serif;letter-spacing:.22em;text-transform:uppercase;color:#e6cf9f;text-shadow:0 1px 6px #000;font-style:normal;background:rgba(6,13,23,.75);padding:4px 7px}
