/* Leaflet contact map — brand-matching light basemap, custom pin, action bar.
   Separate file so the concurrently-edited contact-modern.css is not touched. */

.kt-map{position:relative;display:block;width:100%;height:360px;border:0;background:#eaf1f7;z-index:0}
.kt-map .leaflet-container{width:100%;height:100%;background:#eaf1f7;font:inherit}
.kt-map .leaflet-control-zoom{border:0;box-shadow:0 6px 18px -8px #12395a55;border-radius:11px;overflow:hidden}
.kt-map .leaflet-control-zoom a{width:34px;height:34px;line-height:34px;color:#20394f;background:#fff;border:0;font-size:19px}
.kt-map .leaflet-control-zoom a:hover{background:#eaf2fa;color:#094e96}
.kt-map .leaflet-bar a:first-child{border-bottom:1px solid #e6edf3}
.kt-map .leaflet-control-attribution{background:rgba(255,255,255,.82);color:#6d8296;font-size:10px;padding:2px 7px;border-radius:7px 0 0 0}
.kt-map .leaflet-control-attribution a{color:#3d6690}

/* Custom pin (divIcon) */
.kt-pin{position:relative}
.kt-pin svg{display:block;filter:drop-shadow(0 6px 8px rgba(12,44,80,.35))}
.kt-pin::after{content:"";position:absolute;left:50%;bottom:-4px;width:16px;height:6px;border-radius:50%;background:rgba(12,44,80,.22);transform:translateX(-50%);filter:blur(1px)}
.kt-pin-pulse{position:absolute;left:50%;top:14px;width:18px;height:18px;border-radius:50%;background:#094e9633;transform:translate(-50%,-50%);animation:kt-pulse 2.4s ease-out infinite;pointer-events:none}
@keyframes kt-pulse{0%{transform:translate(-50%,-50%) scale(.6);opacity:.7}70%{opacity:0}100%{transform:translate(-50%,-50%) scale(3.4);opacity:0}}

/* Popup */
.kt-map .leaflet-popup-content-wrapper{border-radius:14px;box-shadow:0 16px 40px -16px #12395a55;padding:2px}
.kt-map .leaflet-popup-content{margin:14px 18px;font-size:14px;line-height:1.5;color:#20394f}
.kt-map .leaflet-popup-content strong{display:block;font-size:15px;color:#102d47;margin-bottom:3px}
.kt-map .leaflet-popup-tip{box-shadow:none}

/* Overlay hint until the map is focused (scroll-zoom off by default) */
.kt-map .kt-map-hint{position:absolute;inset:0;z-index:500;display:flex;align-items:center;justify-content:center;background:transparent;color:#fff;font-size:14px;font-weight:500;opacity:0;pointer-events:none;transition:opacity .2s}
.kt-map.is-hinting .kt-map-hint{opacity:1;background:rgba(16,45,71,.28)}

/* Action bar: start navigation (primary) + open in maps (secondary) */
.kt-map-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:16px 20px}
.kt-map-nav{display:inline-flex;align-items:center;gap:9px;padding:11px 18px;border-radius:11px;background:#094e96;color:#fff;font-size:14px;font-weight:600;line-height:1;text-decoration:none;transition:background .18s,transform .18s,box-shadow .18s}
.kt-map-nav:hover{background:#0a3f78;transform:translateY(-1px);box-shadow:0 10px 22px -12px #094e9688}
.kt-map-nav svg{width:17px;height:17px}
.kt-map-open{display:inline-flex;align-items:center;gap:8px;padding:11px 14px;border-radius:11px;color:#094e96;font-size:14px;font-weight:500;line-height:1;text-decoration:none;transition:background .18s}
.kt-map-open:hover{background:#f0f6fb}
.kt-map-open>span{font-size:17px}
.kt-map-actions a:focus-visible{outline:3px solid #4490bf;outline-offset:3px}

@media(max-width:1100px){.kt-map{height:340px}}
@media(max-width:600px){
 .kt-map{height:300px}
 .kt-map-actions{padding:14px 18px;gap:8px}
 .kt-map-nav,.kt-map-open{width:100%;justify-content:center}
}
@media(prefers-reduced-motion:reduce){.kt-pin-pulse{animation:none;display:none}.kt-map-nav{transition:none}}
