\n \n \n Reset View\n ',a.style.cssText="\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 8px 12px;\n background: white;\n border: 1px solid rgba(107, 68, 35, 0.1);\n border-radius: 6px;\n font-size: 0.9rem;\n color: var(--color-accent);\n cursor: pointer;\n transition: all 0.2s ease;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n ",a.onmouseover=()=>{a.style.background="#6B4423",a.style.color="white",a.querySelector("svg").style.stroke="white"},a.onmouseout=()=>{a.style.background="white",a.style.color="#6B4423",a.querySelector("svg").style.stroke="currentColor"},a.onclick=()=>{map.flyTo({center:[11.426035,48.764365],zoom:6,duration:1500})};const t=document.createElement("button");t.className="map-control-button",t.innerHTML='\n \n Find Me\n ',t.style.cssText=a.style.cssText,t.onmouseover=()=>{t.style.background="#6B4423",t.style.color="white",t.querySelector("svg").style.stroke="white"},t.onmouseout=()=>{t.style.background="white",t.style.color="#6B4423",t.querySelector("svg").style.stroke="currentColor"},t.onclick=()=>{navigator.geolocation&&navigator.geolocation.getCurrentPosition((e=>{map.flyTo({center:[e.coords.longitude,e.coords.latitude],zoom:9,duration:1500})}),(e=>{console.error("Error getting location:",e)}))},e.appendChild(a),e.appendChild(t),map.getContainer().appendChild(e),map.addSource("guides",{type:"geojson",data:{type:"FeatureCollection",features:mapData.map((e=>({type:"Feature",geometry:{type:"Point",coordinates:e.map.coordinates},properties:{title:e.title,location:e.location,description:e.description,slug:e.slug,pitch:JSON.stringify(e.pitch),logistics:JSON.stringify(e.logistics),categories:e.categories}})))},cluster:!0,clusterMaxZoom:14,clusterRadius:50}),map.addLayer({id:"clusters",type:"circle",source:"guides",filter:["has","point_count"],paint:{"circle-color":"#6B4423","circle-radius":["step",["get","point_count"],20,3,24,5,28],"circle-stroke-width":2,"circle-stroke-color":"white","circle-stroke-opacity":.9}}),map.addLayer({id:"cluster-count",type:"symbol",source:"guides",filter:["has","point_count"],layout:{"text-field":"{point_count_abbreviated}","text-font":["DIN Offc Pro Medium","Arial Unicode MS Bold"],"text-size":13},paint:{"text-color":"#ffffff"}}),map.addLayer({id:"unclustered-point",type:"symbol",source:"guides",filter:["!",["has","point_count"]],layout:{"icon-image":"pin","icon-size":.8,"icon-anchor":"bottom","icon-allow-overlap":!0,"icon-ignore-placement":!0}}),map.on("click","clusters",(e=>{const a=map.queryRenderedFeatures(e.point,{layers:["clusters"]}),t=a[0].properties.cluster_id;map.getSource("guides").getClusterExpansionZoom(t,((e,t)=>{e||map.easeTo({center:a[0].geometry.coordinates,zoom:t,duration:1500})}))}));window.addEventListener("resize",(()=>{const e=document.getElementById("preview-logistics");if(e){const a=window.innerWidth>=700;e.style.cssText=`\n display: grid;\n grid-template-columns: repeat(${a?6:3}, 1fr);\n gap: 0.75rem;\n padding: 1rem;\n background: rgba(255, 255, 255, 0.1);\n border-radius: 8px;\n backdrop-filter: blur(4px);\n `}})),map.on("click","unclustered-point",(e=>{const a=e.features[0].properties,t=document.getElementById("guide-preview");document.getElementById("preview-title").textContent=a.title,document.getElementById("preview-location").textContent=a.location;const i=document.getElementById("preview-pitch"),n=JSON.parse(a.pitch);i.innerHTML=n.map((e=>`
${e}
`)).join("");const r=document.getElementById("preview-logistics"),o=JSON.parse(a.logistics),s=window.innerWidth>=700;r.style.cssText=`\n display: grid;\n grid-template-columns: repeat(${s?6:3}, 1fr);\n gap: 0.75rem;\n padding: 1rem;\n background: rgba(255, 255, 255, 0.1);\n border-radius: 8px;\n backdrop-filter: blur(4px);\n `,r.innerHTML=o.map((e=>`\n \n
\n
${e.text}\n
${e.subtext}\n
\n `)).join("");const c=t.querySelector("a.read-more");c&&(c.href=`/munich/${a.slug}`),t.classList.add("active"),document.body.style.overflow="hidden"})),map.on("mouseenter","clusters",(()=>{map.getCanvas().style.cursor="pointer"})),map.on("mouseleave","clusters",(()=>{map.getCanvas().style.cursor=""})),map.on("mouseenter","unclustered-point",(()=>{map.getCanvas().style.cursor="pointer"})),map.on("mouseleave","unclustered-point",(()=>{map.getCanvas().style.cursor=""}));const i=new Image;i.onload=()=>{map.addImage("pin",i)},i.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent('\n \n ');const n=document.getElementById("guide-preview");n.querySelector(".modal-overlay").addEventListener("click",(()=>{n.classList.remove("active"),document.body.style.overflow=""})),document.addEventListener("keydown",(e=>{"Escape"===e.key&&n.classList.contains("active")&&(n.classList.remove("active"),document.body.style.overflow="")}));const r=n.querySelector(".close-button");r&&r.addEventListener("click",(()=>{n.classList.remove("active"),document.body.style.overflow=""}))})),document.querySelectorAll(".topic-pill").forEach((e=>{e.addEventListener("click",(a=>{a.preventDefault(),document.querySelectorAll(".topic-pill").forEach((e=>e.classList.remove("active"))),e.classList.add("active"),activeCategory=e.dataset.category,console.log("Active category set to:",activeCategory),filterPoints()}))}))}catch(e){console.error("Error initializing map:",e)}};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",initMap):initMap()