/* SiteFound map component: independent layout, Leaflet supplies map mechanics */
.sf-map-workbench{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(235px,1fr);gap:15px;align-items:start}
.sf-map-screen{width:100%;height:540px;min-height:320px;border:1px solid #cbdbe3;border-radius:12px;background:repeating-linear-gradient(0deg,#f4f7fa,#f4f7fa 39px,#eaf0f5 40px),repeating-linear-gradient(90deg,#f4f7fa,#f4f7fa 39px,#eaf0f5 40px);z-index:0}
.sf-map-screen:focus-visible{outline:3px solid #087e82}
.sf-map-sidebar{max-height:540px;overflow-y:auto;padding:12px;border:1px solid #dce5ec;border-radius:12px;background:#fff}
.sf-map-sidebar h3{margin:0 0 12px}.sf-map-sidebar p{font-size:13px;line-height:1.5}
.sf-map-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:14px 0}
.sf-map-controls button{min-height:38px}
.sf-map-check{display:inline-flex!important;width:auto!important;align-items:center;gap:6px;font-size:12px;white-space:nowrap}
.sf-map-check input{width:auto!important;margin:0!important}
.sf-map-note{font-size:12px;color:#526979;line-height:1.5;margin:8px 0}
.sf-map-list{margin:0;padding-left:19px}.sf-map-list li{margin:5px 0}
.sf-map-tag{display:inline-block;padding:3px 9px;background:#fff5dc;border-radius:16px;font-size:11px;font-weight:800;color:#79520e}
.sf-map-screen .leaflet-control-attribution{font-size:10px}
@media(max-width:790px){.sf-map-workbench{grid-template-columns:1fr}.sf-map-screen{height:370px}.sf-map-sidebar{max-height:none}}

/* Mobile-first map interaction: controls stay compact; tapping a pin gives immediate feedback. */
.sf-map-stage{position:relative;min-width:0}
.sf-map-peek{position:absolute;z-index:650;left:10px;right:10px;bottom:28px;max-width:470px;
  padding:12px 13px;background:rgba(16,43,67,.97);color:#fff;border:1px solid #4c8293;
  border-radius:12px;box-shadow:0 6px 25px #081a2b50;pointer-events:auto;line-height:1.45}
.sf-map-peek[hidden]{display:none!important}
.sf-map-peek strong{display:block;font-size:14px;line-height:1.3;margin-bottom:3px;overflow-wrap:anywhere}
.sf-map-peek p{font-size:12px;margin:2px 0 8px;color:#e4f1f3}
.sf-map-peek .sf-map-peek-actions{display:flex;flex-wrap:wrap;gap:7px;margin:6px 0 0}
.sf-map-peek button{width:auto!important;min-height:37px;flex:1 1 115px;border-radius:7px;border:1px solid #caedf0;
  font-size:12px;font-weight:750;padding:7px 10px;color:#10354a;background:#e6faf9;cursor:pointer}
.sf-map-peek button.secondary{background:transparent;color:#fff;border-color:#8eb3c0}
.sf-map-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}
.sf-map-toolbar>.btn{width:100%!important;min-height:40px!important;font-size:12px;padding:8px 9px;text-align:center}
.sf-map-draw-menu{grid-column:1 / -1;border:1px solid #d4e5e9;border-radius:9px;padding:9px 12px}
.sf-map-draw-menu summary{cursor:pointer;font-size:12px;font-weight:750;color:#155f6d}
.sf-map-draw-menu .sf-map-controls{margin:10px 0 2px;gap:7px}
.sf-map-controls button,.sf-map-controls .btn{width:auto!important;flex:1 1 120px;min-width:0!important;
  padding:8px 10px;font-size:12px;line-height:1.25;min-height:39px;white-space:normal}
.sf-map-workbench{align-items:start}
.sf-map-sidebar{scroll-margin-top:15px}
.sf-map-screen .leaflet-interactive{cursor:pointer}
.sf-map-note a{overflow-wrap:anywhere}
@media(max-width:790px){
 .sf-map-workbench{grid-template-columns:1fr;gap:10px}
 .sf-map-screen{height:clamp(355px,62svh,540px);min-height:355px}
 .sf-map-sidebar{max-height:none;padding:13px}
 .sf-map-toolbar{margin:10px 0}
 .sf-map-peek{left:8px;right:8px;bottom:25px;padding:10px 11px}
}
@media(max-width:440px){
 .sf-map-toolbar>.btn{padding:8px 6px;font-size:11.5px}
 .sf-map-peek strong{font-size:13px}
 .sf-map-peek button{font-size:11px;flex:1 1 105px}
}
