/* MH24 OSM: consent-first slippy-map widget, accessible on mobile and within Elementor. */
.mh24-osm-tool {--mh24-osm-border:#b8c7aa;--mh24-osm-ink:#1f3829;--mh24-osm-accent:#2b573a;max-width:100%;margin:1.5rem auto;color:var(--mh24-osm-ink);font:inherit}
.mh24-osm-tool [hidden]{display:none!important}
.mh24-osm-tool *{box-sizing:border-box}
.mh24-osm-tool>h2{font-size:clamp(1.3rem,2.5vw,2rem);margin:0 0 1rem}
.mh24-osm-controls{display:flex;flex-wrap:wrap;align-items:center;gap:9px 12px;padding:12px 14px;background:#f6f8f3;border:1px solid var(--mh24-osm-border);border-radius:12px;margin-bottom:12px}
.mh24-osm-controls label{font-weight:650}.mh24-osm-controls input,.mh24-osm-controls select{min-height:42px;border:1px solid #657965;border-radius:8px;background:#fff;color:#182a20;padding:8px 12px}
.mh24-osm-controls input{min-width:min(100%,250px);flex:1}
.mh24-osm-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(230px,1fr);gap:14px}
.mh24-osm-stage{position:relative;min-width:0;height:var(--mh24-map-height);border-radius:14px;overflow:hidden;border:1px solid var(--mh24-osm-border);background:#f0f5e9}
.mh24-osm-consent{display:grid;place-items:center;position:absolute;inset:0;z-index:2;padding:20px;background:linear-gradient(155deg,#e9efd9,#f5efe1)}
.mh24-osm-consent-content{max-width:490px;text-align:center;color:#1d3827}
.mh24-osm-consent h3{font-size:1.45rem;margin:5px 0 12px}
.mh24-osm-emblem{font-size:3.5rem;line-height:1;color:#315742}
.mh24-osm-consent p{line-height:1.6}
.mh24-osm-button{display:inline-block;border-radius:9px;background:#285039!important;color:#fff!important;padding:12px 20px;border:2px solid #285039;cursor:pointer;font-weight:700;min-height:46px}
.mh24-osm-button:hover,.mh24-osm-button:focus-visible{background:#163c27!important}
.mh24-osm-canvas{position:absolute;inset:0;overflow:hidden;touch-action:none;outline-offset:-4px;user-select:none}
.mh24-osm-canvas:focus-visible{outline:3px solid #163b66}
.mh24-osm-tile-layer,.mh24-osm-pin-layer{position:absolute;inset:0;pointer-events:none}
.mh24-osm-tile{position:absolute;width:256px;height:256px;max-width:none!important;pointer-events:none;border:0}
.mh24-osm-pin{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;z-index:3;border-radius:50%;width:34px;height:34px;min-width:34px;padding:0;background:#244f36;color:white;border:2px solid white;box-shadow:0 2px 6px #0005;font-size:18px;line-height:27px;text-align:center;cursor:pointer}
.mh24-osm-pin-event{background:#8a4724}.mh24-osm-pin:hover,.mh24-osm-pin:focus-visible{outline:3px solid #ffd777;outline-offset:2px;z-index:5}
.mh24-osm-zoom{display:flex;flex-direction:column;position:absolute;top:14px;left:14px;z-index:7;box-shadow:0 1px 8px #0004;border-radius:7px;overflow:hidden}
.mh24-osm-zoom button{font-size:23px;line-height:1;color:#182d22;background:#fff;border:1px solid #6d8978;width:39px;height:39px;cursor:pointer}
.mh24-osm-zoom button:hover,.mh24-osm-zoom button:focus-visible{background:#eef1e9}
.mh24-osm-popup{position:absolute;z-index:10;width:min(240px,80%);background:#fff;color:#18281e;border:1px solid #abbda7;border-radius:9px;box-shadow:0 5px 14px #0003;transform:translate(-50%,-105%);padding:10px 12px;font-size:14px;line-height:1.3}
.mh24-osm-popup p{margin:5px 0}.mh24-osm-popup a{color:#145078;text-decoration:underline}
.mh24-osm-attribution{position:absolute;z-index:5;bottom:3px;right:4px;font-size:12px;background:#ffffffed;padding:3px 6px;border-radius:3px}
.mh24-osm-attribution a{color:#143c63;text-decoration:underline}
.mh24-osm-results{border:1px solid var(--mh24-osm-border);border-radius:12px;overflow:hidden;min-height:0;max-height:var(--mh24-map-height);display:flex;flex-direction:column;background:#fff}
.mh24-osm-count{margin:0;background:#e9efdf;padding:12px 14px;font-weight:700}
.mh24-osm-list{list-style:none;margin:0;padding:0;overflow-y:auto;overscroll-behavior:contain;flex:1}
.mh24-osm-list li{display:flex;border-bottom:1px solid #e4e9e1;align-items:stretch;margin:0}
.mh24-osm-result-link{display:flex;flex-direction:column;gap:3px;color:#163d28!important;flex:1;padding:11px 12px;text-decoration:none!important}
.mh24-osm-result-link:hover,.mh24-osm-result-link:focus-visible{background:#f0f4ed;outline:2px solid #285039;outline-offset:-2px}
.mh24-osm-result-link span{font-size:.875em;color:#4f6557}
.mh24-osm-focus{min-width:40px;border:0;border-left:1px solid #dae6d8;background:#f0f5ed;color:#244a31;cursor:pointer;font-size:25px}
.mh24-osm-empty{padding:16px}
.mh24-osm-note{font-size:.86em;margin:8px 0 0;color:#365441}
.mh24-osm-note a{text-decoration:underline;color:#235278}
@media(max-width:780px){.mh24-osm-layout{grid-template-columns:1fr}.mh24-osm-stage{height:min(var(--mh24-map-height),430px)}.mh24-osm-results{max-height:280px}.mh24-osm-controls label{flex-basis:100%}}

.mh24-osm-cluster{background:#f5cf68;color:#1c3023;border:2px solid #34533d;font-weight:800;font-size:13px;min-width:36px;width:auto;padding:0 5px}
