/* Interactive coverage map. Ported from locations.html .interactive-map.
   Structural classes use the theme underscore convention; the .leaflet-*,
   .pmw-marker* and popup classes are kept as the mockup/JS emit them. */
.interactive_map{padding:80px 48px;background:var(--navy-deep)}
.interactive_map .map_intro{max-width:760px;margin-bottom:48px}
.interactive_map .map_intro h2{margin:0}
.interactive_map .map_intro p{font-size:17px;color:rgba(241,237,226,0.7);line-height:1.7;margin-top:6px}
.map_container{display:grid;grid-template-columns:1.6fr 1fr;gap:24px;background:var(--navy);border:1px solid rgba(241,237,226,0.08);border-radius:14px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,0.35)}
.coverage_leaflet{height:640px;background:var(--navy-deep)}
.map_sidebar{padding:32px 28px;display:flex;flex-direction:column;gap:18px;border-left:1px solid rgba(241,237,226,0.06)}
.map_sidebar h3{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--copper-light);font-weight:500;margin:0 0 10px}
.map_sidebar .map_sub{font-size:13px;color:rgba(241,237,226,0.6);line-height:1.55;margin-bottom:8px}
.location_chips{list-style:none;display:flex;flex-direction:column;gap:8px;margin:0;padding:0}
.location_chips button{width:100%;text-align:left;padding:16px 20px;background:rgba(241,237,226,0.04);border:1px solid rgba(241,237,226,0.1);border-radius:8px;color:inherit;cursor:pointer;transition:all .25s;font-family:inherit;display:flex;justify-content:space-between;align-items:center;gap:14px}
.location_chips button .chip_text{flex:1}
.location_chips button:hover{background:rgba(241,237,226,0.07);border-color:rgba(167,181,198,0.3);transform:translateX(3px)}
.location_chips button.active{background:rgba(175,90,47,0.12);border-color:var(--copper-light)}
.location_chips button.active .chip_arrow{color:var(--copper-light);transform:translateX(3px)}
.location_chips strong{display:block;font-size:15.5px;font-weight:500;color:var(--ecru);letter-spacing:-0.01em;margin-bottom:3px}
.location_chips span.chip_sub{font-size:12px;color:rgba(241,237,226,0.6);letter-spacing:.02em}
.chip_arrow{font-size:18px;color:rgba(241,237,226,0.35);transition:all .25s}

.map_reset{margin-top:auto;padding:12px 18px;background:transparent;color:rgba(241,237,226,0.7);border:1px solid rgba(241,237,226,0.15);border-radius:30px;font-size:12.5px;font-weight:500;letter-spacing:.04em;cursor:pointer;font-family:inherit;transition:all .25s;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.map_reset:hover{border-color:var(--copper-light);color:var(--copper-light)}

/* Leaflet customisations */
.leaflet-container{font-family:'Poppins',sans-serif;background:var(--navy-deep)}
.leaflet-control-zoom{border:none!important;box-shadow:0 4px 12px rgba(0,0,0,0.4)!important}
.leaflet-control-zoom a{background:var(--navy)!important;color:var(--ecru)!important;border:1px solid rgba(241,237,226,0.12)!important;font-weight:300!important}
.leaflet-control-zoom a:hover{background:var(--copper-gradient)!important;border-color:var(--copper-light)!important}
.leaflet-control-attribution{background:rgba(31,41,53,0.8)!important;color:rgba(241,237,226,0.5)!important;font-size:10px!important;padding:2px 8px!important}
.leaflet-control-attribution a{color:var(--copper-light)!important}

/* Custom markers */
.pmw-marker-wrap{background:transparent!important;border:none!important}
.pmw-marker{width:30px;height:30px;background:var(--copper-gradient);border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(175,90,47,0.5),0 0 0 3px rgba(241,237,226,0.85);transition:transform .25s,box-shadow .25s;cursor:pointer;position:relative}
.pmw-marker.hq{width:40px;height:40px;box-shadow:0 6px 18px rgba(175,90,47,0.65),0 0 0 4px rgba(255,255,255,1)}
.pmw-marker:hover{transform:rotate(-45deg) scale(1.15)}
.pmw-marker-icon{transform:rotate(45deg);color:#fff;font-size:13px;font-weight:600;line-height:1}
.pmw-marker.hq .pmw-marker-icon{font-size:15px}
.pmw-marker.hq::before{content:"";position:absolute;left:-8px;top:-8px;right:-8px;bottom:-8px;border-radius:50% 50% 50% 0;border:2px solid var(--copper-light);opacity:0;animation:pmw-pulse 2.5s ease-out infinite}
@keyframes pmw-pulse{0%{transform:scale(0.8);opacity:0.7}100%{transform:scale(1.6);opacity:0}}

/* Popup styling */
.leaflet-popup-content-wrapper{background:var(--navy)!important;color:var(--ecru)!important;border:1px solid rgba(241,237,226,0.12)!important;border-radius:10px!important;box-shadow:0 16px 40px rgba(0,0,0,0.5)!important;padding:0!important}
.leaflet-popup-tip{background:var(--navy)!important;border:1px solid rgba(241,237,226,0.12)}
.leaflet-popup-content{margin:0!important;padding:20px 22px!important;min-width:240px;line-height:1.5}
.leaflet-popup-content h4{font-size:17px;font-weight:600;color:var(--ecru);margin:0 0 8px;letter-spacing:-0.01em}
.leaflet-popup-content h4 .hq-pill{display:inline-block;font-size:10px;letter-spacing:.16em;text-transform:uppercase;padding:3px 8px;background:var(--copper-gradient);color:var(--ecru);border-radius:20px;margin-left:8px;vertical-align:middle;font-weight:500}
.leaflet-popup-content p{font-size:13.5px;color:rgba(241,237,226,0.72);margin:0 0 14px;line-height:1.6}
.leaflet-popup-content a.popup-btn{display:inline-flex;align-items:center;gap:8px;background:var(--copper-gradient);color:var(--ecru)!important;padding:9px 16px;border-radius:30px;font-size:12.5px;font-weight:500;letter-spacing:.04em;text-decoration:none;box-shadow:0 4px 10px rgba(175,90,47,0.3);transition:all .2s}
.leaflet-popup-content a.popup-btn:hover{background:var(--copper-gradient-bright)}
.leaflet-popup-close-button{color:rgba(241,237,226,0.6)!important;padding:8px!important}
.leaflet-popup-close-button:hover{color:var(--copper-light)!important}

@media (max-width:1024px){
    .interactive_map{padding:60px 24px}
    .map_container{grid-template-columns:1fr}
    .map_sidebar{border-left:none;border-top:1px solid rgba(241,237,226,0.06)}
    .coverage_leaflet{height:460px}
}
