.mair-contact-map-fallback { position:absolute; inset:0; overflow:hidden; overflow:clip; z-index:1000; background:#e8e8e8; }
.mair-contact-map-fallback[hidden] { display:none; }
.nectar-leaflet-map[data-mair-contact-map] { position:relative; }
.mair-contact-map-image { position:absolute; left:50%; top:50%; width:1600px; max-width:none!important; height:auto; transform:translate(-50%,-50%); filter:grayscale(100%); pointer-events:none; }
.mair-contact-map-marker { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); pointer-events:none; }
.nectar-leaflet-map[data-mair-contact-map] .mair-contact-map-marker .animated-dot { left:0; top:0; }
.mair-contact-map-attribution { position:absolute; right:0; bottom:0; max-width:100%; padding:0 5px; font:12px/1.5 Arial,sans-serif; color:#333; background:rgba(255,255,255,.85); }
.mair-contact-map-attribution a { color:#0078a8; }
.mair-contact-map-activate { position:absolute; left:12px; bottom:30px; max-width:calc(100% - 24px); padding:9px 12px; border:0; border-radius:3px; background:#fff; color:#333; font:14px/1.3 Arial,sans-serif; box-shadow:0 1px 5px rgba(0,0,0,.25); cursor:pointer; }
.mair-contact-map-activate:focus-visible { outline:2px solid currentColor; outline-offset:3px; }


/* The existing native marker keeps Dr. Mair's cyan accent above the grayscale map. */
.mair-contact-map-marker,.mair-contact-map-activate,.mair-contact-map-attribution {z-index:2;}
.nectar-leaflet-map[data-mair-contact-map] .leaflet-tile-pane {filter:grayscale(100%);}

/* The former contact iframe wrapper explicitly had margin:0. */
body.page-id-7627 .wpb_wrapper > .nectar-leaflet-map[data-mair-contact-map] {margin-bottom:0;}
