{"version":3,"file":"shared-lib.BBwPSL_7.mjs","names":["React.useRef","_Fragment"],"sources":["https:/framerusercontent.com/modules/eyDXXQzzmXEFKqJV5LIg/yCtCrMAFOZeecdafiaXu/CustomCursor.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import*as React from\"react\";export default function CustomCursor(){const cursorRef=React.useRef(null);const dotRef=React.useRef(null);const labelRef=React.useRef(null);React.useEffect(()=>{const isTouch=\"ontouchstart\"in window||navigator.maxTouchPoints>0;if(isTouch)return;let mouseX=0;let mouseY=0;let cursorX=0;let cursorY=0;let rafId=0;const move=event=>{mouseX=event.clientX;mouseY=event.clientY;if(dotRef.current){dotRef.current.style.transform=`translate3d(${mouseX}px, ${mouseY}px, 0)`;}};const animate=()=>{cursorX+=(mouseX-cursorX)*.16;cursorY+=(mouseY-cursorY)*.16;if(cursorRef.current){cursorRef.current.style.transform=`translate3d(${cursorX}px, ${cursorY}px, 0)`;}rafId=requestAnimationFrame(animate);};const setActive=label=>{document.body.classList.add(\"nb-cursor-active\");if(labelRef.current){labelRef.current.textContent=label;}};const unsetActive=()=>{document.body.classList.remove(\"nb-cursor-active\");if(labelRef.current){labelRef.current.textContent=\"\";}};const onMouseOver=event=>{const target=event.target;if(!target)return;const interactive=target.closest(\"a, button, [role='button'], input, textarea, select, summary\");if(!interactive)return;const href=interactive.getAttribute(\"href\")||\"\";const text=interactive.textContent?.trim().toLowerCase()||\"\";if(href.includes(\"wa.me\")||text.includes(\"whatsapp\")){setActive(\"Book\");return;}if(href.includes(\"maps\")||text.includes(\"route\")){setActive(\"Map\");return;}if(text.includes(\"preise\")||text.includes(\"price\")){setActive(\"View\");return;}setActive(\"Open\");};const onMouseOut=event=>{const target=event.target;if(!target)return;const interactive=target.closest(\"a, button, [role='button'], input, textarea, select, summary\");if(interactive)unsetActive();};window.addEventListener(\"mousemove\",move);document.addEventListener(\"mouseover\",onMouseOver);document.addEventListener(\"mouseout\",onMouseOut);animate();document.body.classList.add(\"nb-custom-cursor-enabled\");return()=>{window.removeEventListener(\"mousemove\",move);document.removeEventListener(\"mouseover\",onMouseOver);document.removeEventListener(\"mouseout\",onMouseOut);cancelAnimationFrame(rafId);document.body.classList.remove(\"nb-custom-cursor-enabled\",\"nb-cursor-active\");};},[]);return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{ref:cursorRef,className:\"nb-custom-cursor\",children:/*#__PURE__*/_jsx(\"span\",{ref:labelRef})}),/*#__PURE__*/_jsx(\"div\",{ref:dotRef,className:\"nb-custom-cursor-dot\"}),/*#__PURE__*/_jsx(\"style\",{children:`\n                @media (pointer: fine) {\n                    body.nb-custom-cursor-enabled,\n                    body.nb-custom-cursor-enabled * {\n                        cursor: none !important;\n                    }\n\n                    .nb-custom-cursor,\n                    .nb-custom-cursor-dot {\n                        position: fixed;\n                        left: 0;\n                        top: 0;\n                        pointer-events: none;\n                        z-index: 999999;\n                        transform: translate3d(-100px, -100px, 0);\n                    }\n\n                    .nb-custom-cursor {\n                        width: 46px;\n                        height: 46px;\n                        margin-left: -23px;\n                        margin-top: -23px;\n                        border-radius: 999px;\n                        border: 1px solid rgba(111, 127, 98, 0.55);\n                        background: rgba(255, 253, 248, 0.18);\n                        backdrop-filter: blur(6px);\n                        display: flex;\n                        align-items: center;\n                        justify-content: center;\n                        transition:\n                            width .22s ease,\n                            height .22s ease,\n                            margin .22s ease,\n                            background .22s ease,\n                            border-color .22s ease,\n                            opacity .22s ease;\n                    }\n\n                    .nb-custom-cursor span {\n                        opacity: 0;\n                        color: #fffdf8;\n                        font-family: Jost, sans-serif;\n                        font-size: 9px;\n                        line-height: 1;\n                        letter-spacing: 0.12em;\n                        text-transform: uppercase;\n                        font-weight: 900;\n                        transition: opacity .16s ease;\n                    }\n\n                    .nb-custom-cursor-dot {\n                        width: 8px;\n                        height: 8px;\n                        margin-left: -4px;\n                        margin-top: -4px;\n                        border-radius: 999px;\n                        background: #6f7f62;\n                        box-shadow: 0 0 18px rgba(111, 127, 98, 0.35);\n                    }\n\n                    body.nb-cursor-active .nb-custom-cursor {\n                        width: 78px;\n                        height: 78px;\n                        margin-left: -39px;\n                        margin-top: -39px;\n                        background: rgba(47, 36, 28, 0.82);\n                        border-color: rgba(47, 36, 28, 0.2);\n                    }\n\n                    body.nb-cursor-active .nb-custom-cursor span {\n                        opacity: 1;\n                    }\n\n                    body.nb-cursor-active .nb-custom-cursor-dot {\n                        opacity: 0;\n                    }\n                }\n\n                @media (pointer: coarse) {\n                    .nb-custom-cursor,\n                    .nb-custom-cursor-dot {\n                        display: none;\n                    }\n                }\n\n                @media (prefers-reduced-motion: reduce) {\n                    .nb-custom-cursor,\n                    .nb-custom-cursor-dot {\n                        display: none;\n                    }\n\n                    body.nb-custom-cursor-enabled,\n                    body.nb-custom-cursor-enabled * {\n                        cursor: auto !important;\n                    }\n                }\n            `})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CustomCursor\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CustomCursor.map"],"mappings":"4JAA2G,SAAwB,GAAc,CAAC,IAAM,EAAUA,EAAa,KAAK,CAAO,EAAOA,EAAa,KAAK,CAAO,EAASA,EAAa,KAAK,CAA2/D,OAA1/D,MAAoB,CAAmE,GAApD,iBAAiB,GAAQ,EAAU,eAAe,EAAa,OAAO,IAAI,EAAO,EAAM,EAAO,EAAM,EAAQ,EAAM,EAAQ,EAAM,EAAM,EAAQ,EAAK,GAAO,CAAC,EAAO,EAAM,QAAQ,EAAO,EAAM,QAAW,EAAO,UAAS,EAAO,QAAQ,MAAM,UAAU,eAAe,EAAO,MAAM,EAAO,UAAiB,MAAY,CAAC,IAAU,EAAO,GAAS,IAAI,IAAU,EAAO,GAAS,IAAO,EAAU,UAAS,EAAU,QAAQ,MAAM,UAAU,eAAe,EAAQ,MAAM,EAAQ,SAAS,EAAM,sBAAsB,EAAQ,EAAS,EAAU,GAAO,CAAC,SAAS,KAAK,UAAU,IAAI,mBAAmB,CAAI,EAAS,UAAS,EAAS,QAAQ,YAAY,IAAe,MAAgB,CAAC,SAAS,KAAK,UAAU,OAAO,mBAAmB,CAAI,EAAS,UAAS,EAAS,QAAQ,YAAY,KAAY,EAAY,GAAO,CAAC,IAAM,EAAO,EAAM,OAAO,GAAG,CAAC,EAAO,OAAO,IAAM,EAAY,EAAO,QAAQ,+DAA+D,CAAC,GAAG,CAAC,EAAY,OAAO,IAAM,EAAK,EAAY,aAAa,OAAO,EAAE,GAAS,EAAK,EAAY,aAAa,MAAM,CAAC,aAAa,EAAE,GAAG,GAAG,EAAK,SAAS,QAAQ,EAAE,EAAK,SAAS,WAAW,CAAC,CAAC,EAAU,OAAO,CAAC,OAAQ,GAAG,EAAK,SAAS,OAAO,EAAE,EAAK,SAAS,QAAQ,CAAC,CAAC,EAAU,MAAM,CAAC,OAAQ,GAAG,EAAK,SAAS,SAAS,EAAE,EAAK,SAAS,QAAQ,CAAC,CAAC,EAAU,OAAO,CAAC,OAAQ,EAAU,OAAO,EAAS,EAAW,GAAO,CAAC,IAAM,EAAO,EAAM,OAAW,GAAgC,EAAO,QAAQ,+DAA+D,EAAgB,GAAa,EAAmN,OAAhN,EAAO,iBAAiB,YAAY,EAAK,CAAC,SAAS,iBAAiB,YAAY,EAAY,CAAC,SAAS,iBAAiB,WAAW,EAAW,CAAC,GAAS,CAAC,SAAS,KAAK,UAAU,IAAI,2BAA2B,KAAW,CAAC,EAAO,oBAAoB,YAAY,EAAK,CAAC,SAAS,oBAAoB,YAAY,EAAY,CAAC,SAAS,oBAAoB,WAAW,EAAW,CAAC,qBAAqB,EAAM,CAAC,SAAS,KAAK,UAAU,OAAO,2BAA2B,mBAAmB,GAAK,EAAE,CAAC,CAAqB,EAAMC,EAAU,CAAC,SAAS,CAAc,EAAK,MAAM,CAAC,IAAI,EAAU,UAAU,mBAAmB,SAAsB,EAAK,OAAO,CAAC,IAAI,EAAS,CAAC,CAAC,CAAC,CAAc,EAAK,MAAM,CAAC,IAAI,EAAO,UAAU,uBAAuB,CAAC,CAAc,EAAK,QAAQ,CAAC,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAgGr/E,CAAC,CAAC,CAAC,CAAC,sBAhG6D,IAA4B"}