{"version":3,"file":"MagicChatbot.B-RODsre.mjs","names":["useState","useRef"],"sources":["https:/framerusercontent.com/modules/yWz2pU66VCVGRaDRFhPy/l0jkIITlzd1LP9M39KWB/MagicChatbot.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{motion,AnimatePresence}from\"framer-motion\";import{useState,useEffect,useRef}from\"react\";/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function MagicChat(props){// --- CONFIG ---\nconst API_URL=\"https://magicsalon-chatbot-900842669753.europe-west1.run.app/api/k7p5w-chat\";const SITE_KEY=\"0x4AAAAAAB8DAugZzCDc51WW\";// --- STATE ---\nconst[isOpen,setIsOpen]=useState(false);const[isLoggedIn,setIsLoggedIn]=useState(false);const[isLoading,setIsLoading]=useState(false);const[isMobileDevice,setIsMobileDevice]=useState(false);// Date utilizator\nconst[userData,setUserData]=useState({name:\"\",email:\"\"});// Chat\nconst[messages,setMessages]=useState([]);const[inputVal,setInputVal]=useState(\"\");// Turnstile\nconst[turnstileToken,setTurnstileToken]=useState(\"\");const[turnstileError,setTurnstileError]=useState(\"\");const turnstileContainerRef=useRef(null);// Refs\nconst messagesEndRef=useRef(null);const sessionIdRef=useRef(\"\");// --- INIT & LOCAL STORAGE ---\nuseEffect(()=>{// 1. Session ID\nlet sid=localStorage.getItem(\"magicsalon_session_id\");if(!sid){sid=\"session_\"+Date.now()+\"_\"+Math.random().toString(36).substring(2);localStorage.setItem(\"magicsalon_session_id\",sid);}sessionIdRef.current=sid;// 2. Check Login\nconst storedName=localStorage.getItem(\"magicsalon_user_name\");const storedEmail=localStorage.getItem(\"magicsalon_user_email\");if(storedName&&storedEmail){setUserData({name:storedName,email:storedEmail});setIsLoggedIn(true);// Welcome message for returning users\nsetMessages(prev=>{if(prev.length>0)return prev;return[{id:1,role:\"assistant\",text:`Bună din nou, ${storedName}! 👋\n\nSunt asistentul AI Magic, cu ce informații \\xeeți pot fi de folos?`,buttons:[{text:\"📅 Programare\",action:\"programare\"},{text:\"📢 Reclamatie\",action:\"reclamatie\"}]}];});}// 3. Load Turnstile Script\nif(!document.getElementById(\"turnstile-script\")){const script=document.createElement(\"script\");script.id=\"turnstile-script\";script.src=\"https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit\";script.async=true;document.head.appendChild(script);}// 4. Ensure Viewport Meta for Mobile Responsiveness (Aggressive Reset)\nconst ensureViewport=()=>{const existingMeta=document.querySelector('meta[name=\"viewport\"]');if(existingMeta){document.head.removeChild(existingMeta);}const meta=document.createElement(\"meta\");meta.name=\"viewport\";meta.content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no\";document.head.appendChild(meta);};ensureViewport();// 5. Detect Mobile Device (Comprehensive Check)\nconst checkMobile=()=>{const userAgent=navigator.userAgent||navigator.vendor||window.opera;const isMobileUA=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(userAgent);const isTouch=navigator.maxTouchPoints>0||window.matchMedia(\"(pointer: coarse)\").matches;const isSmallScreen=window.innerWidth<=768// Increased threshold\n;const isMobile=isMobileUA||isTouch&&isSmallScreen||isTouch&&/Macintosh/i.test(userAgent)&&isSmallScreen===false// iPad request desktop site fix\n;// Force mobile if we suspect mobile behavior (touch + small-ish screen or known UA)\nsetIsMobileDevice(isMobileUA||isTouch&&window.innerWidth<1024);};checkMobile();window.addEventListener(\"resize\",checkMobile);return()=>window.removeEventListener(\"resize\",checkMobile);},[]);// --- SCROLL AUTO ---\nuseEffect(()=>{if(messagesEndRef.current){messagesEndRef.current.scrollIntoView({behavior:\"smooth\"});}},[messages,isOpen,isLoading]);// --- TURNSTILE RENDER ---\nuseEffect(()=>{if(isOpen&&!isLoggedIn&&turnstileContainerRef.current){const renderWidget=()=>{if(window.turnstile){try{turnstileContainerRef.current.innerHTML=\"\";window.turnstile.render(turnstileContainerRef.current,{sitekey:SITE_KEY,callback:function(token){console.log(\"Token received:\",token);setTurnstileToken(token);setTurnstileError(\"\");}});}catch(err){console.error(\"Turnstile render error\",err);}}else{setTimeout(renderWidget,100);}};renderWidget();}},[isOpen,isLoggedIn]);// --- TRACKING HELPERS ---\nconst trackAction=async(actionType,optionLabel)=>{if(!sessionIdRef.current)return;const payload={action:actionType,sessionId:sessionIdRef.current,userName:userData.name,userEmail:userData.email,[actionType===\"programareSelection\"?\"programareChoice\":\"reclamatieChoice\"]:optionLabel,chatInput:`[${actionType===\"programareSelection\"?\"Programare\":\"Reclamatie\"}] ${optionLabel}`,metadata:{domain:window.location.hostname,page:window.location.pathname}};try{await fetch(API_URL,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify(payload)});console.log(`📊 ${actionType} saved:`,optionLabel);}catch(error){console.error(`❌ Failed to save ${actionType}`,error);}};// --- ACTIONS ---\nconst handleLogin=e=>{e.preventDefault();if(!userData.name||!userData.email){setTurnstileError(\"Te rugăm să completezi toate c\\xe2mpurile.\");return;}// Simple email validation\nconst emailRegex=/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;if(!emailRegex.test(userData.email)){setTurnstileError(\"Te rugăm să introduci o adresă de email validă.\");return;}// Check Turnstile\nif(window.turnstile&&!turnstileToken){setTurnstileError(\"Te rugăm să completezi verificarea de securitate.\");return;}localStorage.setItem(\"magicsalon_user_name\",userData.name);localStorage.setItem(\"magicsalon_user_email\",userData.email);setIsLoggedIn(true);setTurnstileError(\"\");// Initial Greeting\nsetTimeout(()=>{setMessages([{id:Date.now(),role:\"assistant\",text:`Bună, ${userData.name}! Sunt asistentul AI Magic, cu ce informații \\xeeți pot fi de folos?`,buttons:[{text:\"📅 Programare\",action:\"programare\"},{text:\"📢 Reclamatie\",action:\"reclamatie\"}]}]);},500);};const handleReset=()=>{if(confirm(\"Sigur vrei să resetezi chat-ul? Vei trebui să te identifici din nou.\")){localStorage.removeItem(\"magicsalon_user_name\");localStorage.removeItem(\"magicsalon_user_email\");// Keep session ID, remove user data\nsetUserData({name:\"\",email:\"\"});setMessages([]);setIsLoggedIn(false);setTurnstileToken(\"\");setTurnstileError(\"\");}};const handleSend=async(manualText=null)=>{const textToSend=manualText||inputVal;if(!textToSend.trim())return;// 1. Add User Message\nconst userMsg={id:Date.now(),role:\"user\",text:textToSend};setMessages(prev=>[...prev,userMsg]);setInputVal(\"\");setIsLoading(true);// 2. API Request\ntry{const payload={turnstileToken:turnstileToken||\"returning_user\",sessionId:sessionIdRef.current,chatInput:textToSend,userName:userData.name,userEmail:userData.email,turnstileValidated:true,metadata:{domain:window.location.hostname,page:window.location.pathname,timestamp:Date.now()}};const res=await fetch(API_URL,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify(payload)});const json=await res.json();const replyText=json.data?.output||json.data?.response||json.message||\"Am primit mesajul.\";setMessages(prev=>[...prev,{id:Date.now()+1,role:\"assistant\",text:replyText}]);}catch(err){console.error(err);setMessages(prev=>[...prev,{id:Date.now()+1,role:\"assistant\",text:\"⚠️ A apărut o eroare de conexiune. Te rog \\xeencearcă din nou.\"}]);}finally{setIsLoading(false);}};// Button Actions\nconst handleButtonClick=action=>{if(action===\"programare\"){handleSend(\"Vreau o programare\");setTimeout(()=>{setMessages(prev=>[...prev,{id:Date.now(),role:\"assistant\",text:\"Perfect! Alege cum vrei să te programezi:\",buttons:[{text:\"Descarcă aplicația\",action:\"download-app\"},{text:\"WhatsApp\",action:\"whatsapp\"},{text:\"Sună la *3000\",action:\"phone\"}]}]);},1e3);}else if(action===\"reclamatie\"){handleSend(\"Vreau să fac o reclamație\");setTimeout(()=>{setMessages(prev=>[...prev,{id:Date.now(),role:\"assistant\",text:\"Alege cum vrei să faci o reclamație:\",buttons:[{text:\"💬 WhatsApp suport\",action:\"reclamatie-whatsapp\"},{text:\"📞 Sună la *3000\\n(tasta 0)\",action:\"reclamatie-phone\"},{text:\"✍️ Spune-ne mai multe\",action:\"reclamatie-describe\"}]}]);},1e3);}else if(action===\"download-app\"){trackAction(\"programareSelection\",\"Descarcă aplicația\");setMessages(prev=>[...prev,{id:Date.now(),role:\"user\",text:\"📱 Descarcă aplicația\"}]);setTimeout(()=>{setMessages(prev=>[...prev,{id:Date.now(),role:\"assistant\",text:\"Perfect! 🎉\\n\\nTe redirectionez pentru a descărca aplicația Magic Salon...\\n\\nCu aplicația poți:\\n✅ Programări 24/7\\n✅ Vezi toate locațiile\\n✅ Acumulezi M Coins\\n✅ Oferte exclusive\\n\\n\\xceți doresc o experiență minunată! 💖✨\"}]);window.open(\"https://api.saloanelemagic.ro/api/redirect/qr?redirect_url=null\",\"_blank\");},500);}else if(action===\"whatsapp\"||action===\"reclamatie-whatsapp\"){const isReclamatie=action===\"reclamatie-whatsapp\";if(isReclamatie){trackAction(\"reclamatieSelection\",\"WhatsApp suport\");}else{trackAction(\"programareSelection\",\"WhatsApp\");}setMessages(prev=>[...prev,{id:Date.now(),role:\"user\",text:isReclamatie?\"💬 WhatsApp suport\":\"💬 Contactează-ne pe WhatsApp\"}]);setTimeout(()=>{setMessages(prev=>[...prev,{id:Date.now(),role:\"assistant\",text:isReclamatie?\"Te redirecționăm către WhatsApp pentru a discuta cu echipa noastră de suport. Mulțumim!\":\"Perfect! 🎉\\n\\nTe redirectionez către WhatsApp pentru a discuta cu echipa noastră...\\n\\nEchipa noastră \\xeeți va răspunde imediat și te va ajuta cu programarea! 💬✨\"}]);window.open(\"https://api.whatsapp.com/send/?phone=%2B40786723486&text&type=phone_number&app_absent=0\",\"_blank\");},500);}else if(action===\"phone\"||action===\"reclamatie-phone\"){const isReclamatie=action===\"reclamatie-phone\";if(isReclamatie){trackAction(\"reclamatieSelection\",\"Sună la *3000 (tasta 0)\");}else{trackAction(\"programareSelection\",\"Sună la *3000\");}setMessages(prev=>[...prev,{id:Date.now(),role:\"user\",text:isReclamatie?\"📞 Sună la *3000 și tastează 0\":\"📞 Sună la *3000\"}]);setTimeout(()=>{setMessages(prev=>[...prev,{id:Date.now(),role:\"assistant\",text:isReclamatie?\"Sună la *3000 și selectează tasta 0 pentru suport. Echipa noastră te va ajuta cu prioritate.\":\"Perfect! 📞\\n\\nPoți să ne suni direct la *3000 pentru programare sau informații!\\n\\nEchipa noastră este disponibilă să te ajute! 💖✨\"}]);window.open(\"tel:*3000\",\"_self\");},500);}else if(action===\"reclamatie-describe\"){trackAction(\"reclamatieSelection\",\"Spune-ne mai multe\");setMessages(prev=>[...prev,{id:Date.now(),role:\"user\",text:\"✍️ Spune-ne mai multe\"}]);setTimeout(()=>{setMessages(prev=>[...prev,{id:Date.now(),role:\"assistant\",text:\"Scrie mai jos ce s-a \\xeent\\xe2mplat și revenim c\\xe2t mai rapid. Daca vrei sa fii contactat/a telefonic poti sa pui nr de telefon mai jos\"}]);},400);}};// --- RENDER ---\nreturn /*#__PURE__*/_jsxs(\"div\",{style:{position:\"fixed\",bottom:20,right:20,zIndex:99999,fontFamily:\"'Poppins', sans-serif\"},children:[/*#__PURE__*/_jsx(\"style\",{children:cssStyles}),/*#__PURE__*/_jsx(AnimatePresence,{children:isOpen&&/*#__PURE__*/_jsx(motion.div,{initial:{opacity:0,y:20,scale:.9},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:20,scale:.9},transition:{duration:.2},className:`chat-window open ${isMobileDevice?\"mobile-view\":\"\"}`,children:!isLoggedIn?// Welcome Form\n/*#__PURE__*/_jsxs(\"div\",{className:\"chat-welcome-form\",children:[/*#__PURE__*/_jsx(\"button\",{className:\"welcome-close\",onClick:()=>setIsOpen(false),children:\"-\"}),/*#__PURE__*/_jsxs(\"div\",{className:\"welcome-content\",children:[/*#__PURE__*/_jsx(\"h2\",{children:\"Bun venit! 👋\"}),/*#__PURE__*/_jsx(\"p\",{children:\"Pentru a \\xeencepe conversația, te rog să completezi:\"}),/*#__PURE__*/_jsxs(\"form\",{onSubmit:handleLogin,children:[/*#__PURE__*/_jsxs(\"div\",{className:\"form-field\",children:[/*#__PURE__*/_jsx(\"label\",{children:\"Nume *\"}),/*#__PURE__*/_jsx(\"input\",{value:userData.name,onChange:e=>setUserData({...userData,name:e.target.value}),placeholder:\"Numele tău\",required:true})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"form-field\",children:[/*#__PURE__*/_jsx(\"label\",{children:\"Email *\"}),/*#__PURE__*/_jsx(\"input\",{type:\"email\",value:userData.email,onChange:e=>setUserData({...userData,email:e.target.value}),placeholder:\"email@exemplu.ro\",required:true})]}),/*#__PURE__*/_jsx(\"div\",{className:\"turnstile-container\",ref:turnstileContainerRef,style:{minHeight:\"65px\"}}),turnstileError&&/*#__PURE__*/_jsx(\"div\",{className:\"form-error show\",style:{marginBottom:10},children:turnstileError}),/*#__PURE__*/_jsx(\"button\",{type:\"submit\",className:\"btn-start-chat\",children:\"\\xcencepe Conversația\"}),/*#__PURE__*/_jsx(\"p\",{className:\"privacy-note\",children:\"🔒 Datele tale sunt securizate și nu vor fi partajate\"})]})]})]}):// Chat Interface\n/*#__PURE__*/_jsxs(\"div\",{className:\"chat-interface\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"chat-header\",children:[/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"h3\",{children:\"Bun venit la Saloanele Magic! \"}),/*#__PURE__*/_jsx(\"small\",{className:\"version-tag\",children:\"⚠️ Versiune experimentală\"})]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",gap:10,alignItems:\"center\"},children:[/*#__PURE__*/_jsx(\"button\",{className:\"chat-reset-btn\",onClick:handleReset,title:\"Resetează Chat\",children:/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 24 24\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M17.65 6.35C16.2 4.9 14.21 4 12 4 7.58 4 4 7.58 4 12s3.58 8 8 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z\"})})}),/*#__PURE__*/_jsx(\"button\",{className:\"chat-close\",onClick:()=>setIsOpen(false),children:\"-\"})]})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"chat-messages\",children:[messages.map(msg=>/*#__PURE__*/_jsx(\"div\",{className:`chat-message ${msg.role}`,children:/*#__PURE__*/_jsxs(\"div\",{className:\"message-bubble\",style:{backgroundColor:msg.role===\"user\"?props.tint:\"white\"},children:[/*#__PURE__*/_jsx(\"div\",{dangerouslySetInnerHTML:{__html:msg.text.replace(/\\n/g,\"<br>\")}}),msg.buttons&&/*#__PURE__*/_jsx(\"div\",{className:\"chat-buttons\",children:msg.buttons.map((btn,idx)=>/*#__PURE__*/_jsx(\"button\",{className:\"chat-button\",style:{color:props.tint,borderColor:props.tint},onClick:()=>handleButtonClick(btn.action),children:btn.text},idx))})]})},msg.id)),isLoading&&/*#__PURE__*/_jsxs(\"div\",{className:\"typing-indicator show\",children:[/*#__PURE__*/_jsx(\"span\",{}),/*#__PURE__*/_jsx(\"span\",{}),/*#__PURE__*/_jsx(\"span\",{})]}),/*#__PURE__*/_jsx(\"div\",{ref:messagesEndRef})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"chat-input-area\",children:[/*#__PURE__*/_jsx(\"input\",{value:inputVal,onChange:e=>setInputVal(e.target.value),onKeyDown:e=>e.key===\"Enter\"&&handleSend(),placeholder:\"Scrie mesajul tău aici...\",style:{borderColor:props.tint}}),/*#__PURE__*/_jsx(\"button\",{className:\"chat-send-button\",onClick:()=>handleSend(),disabled:isLoading,style:{backgroundColor:props.tint},children:\"➤\"})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"chat-footer\",children:[\"Developed by\",\" \",/*#__PURE__*/_jsx(\"a\",{href:\"https://magic360.ro\",target:\"_blank\",children:\"Magic360\"})]})]})})}),/*#__PURE__*/_jsx(motion.button,{onClick:()=>setIsOpen(!isOpen),whileHover:{scale:1.05},whileTap:{scale:.95},className:\"chat-floating-button\",style:{backgroundColor:props.tint},children:/*#__PURE__*/_jsxs(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 24 24\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M20 2H4c-1.1 0-2 .9-2 2v18l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm0 14H6l-2 2V4h16v12z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M7 9h2v2H7zm4 0h2v2h-2zm4 0h2v2h-2z\"})]})})]});}addPropertyControls(MagicChat,{tint:{title:\"Theme Color\",type:ControlType.Color,defaultValue:\"#FF1493\"}});// CSS extracted from magicsalon-chat-custom.html\nconst cssStyles=`\n    @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');\n\n    * { box-sizing: border-box; }\n\n    .chat-floating-button {\n        position: fixed;\n        bottom: 20px;\n        right: 20px;\n        width: 60px;\n        height: 60px;\n        background: #FF1493;\n        border: none;\n        border-radius: 50%;\n        cursor: pointer;\n        box-shadow: 0 8px 24px rgba(255, 20, 147, 0.35);\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        transition: all 0.3s ease;\n        z-index: 9999;\n        animation: chatPulse 2s ease-in-out infinite;\n    }\n\n    .chat-floating-button:hover {\n        background: #D01178;\n        transform: translateY(-2px) scale(1.05);\n        box-shadow: 0 12px 32px rgba(255, 20, 147, 0.45);\n        animation: none;\n    }\n\n    @keyframes chatPulse {\n        0%, 100% { box-shadow: 0 8px 24px rgba(255, 20, 147, 0.35); }\n        50% { box-shadow: 0 8px 24px rgba(255, 20, 147, 0.5), 0 0 0 8px rgba(255, 20, 147, 0.15); }\n    }\n\n    .chat-floating-button svg {\n        width: 28px;\n        height: 28px;\n        fill: white;\n    }\n\n    .chat-window {\n        position: fixed;\n        bottom: 90px;\n        right: 20px;\n        width: 380px;\n        height: 550px;\n        background: white;\n        border-radius: 16px;\n        box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);\n        display: flex;\n        flex-direction: column;\n        z-index: 9999;\n        overflow: hidden;\n    }\n\n    .chat-header {\n        background: linear-gradient(135deg, #FF1493, #FF69B4);\n        color: white;\n        padding: 20px;\n        display: flex;\n        justify-content: space-between;\n        align-items: center;\n    }\n\n    .version-tag {\n        display: inline-block;\n        background: rgba(255, 255, 255, 0.2);\n        color: white;\n        padding: 3px 8px;\n        border-radius: 12px;\n        font-size: 10px;\n        margin-top: 3px;\n        font-weight: 500;\n    }\n\n    .chat-header h3 {\n        font-size: 19px;\n        font-weight: 600;\n        margin: 0;\n        margin-bottom: 2px;\n    }\n\n    .chat-close {\n        background: none;\n        border: none;\n        color: white;\n        font-size: 32px;\n        cursor: pointer;\n        padding: 0;\n        width: 35px;\n        height: 35px;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        font-weight: 300;\n        line-height: 1;\n    }\n\n    .chat-reset-btn {\n        background: transparent;\n        border: none;\n        color: #ffffff;\n        cursor: pointer;\n        padding: 0;\n        width: 28px;\n        height: 28px;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        transition: all 0.3s ease;\n    }\n\n    .chat-reset-btn svg {\n        width: 16px;\n        height: 16px;\n        fill: currentColor;\n        transition: transform 0.3s ease;\n    }\n\n    .chat-reset-btn:hover {\n        color: #FFEEFF;\n        transform: scale(1.05);\n        filter: drop-shadow(0 0 8px rgba(255, 255, 255, 0.4));\n    }\n\n    .chat-reset-btn:hover svg {\n        transform: rotate(180deg);\n    }\n\n    .chat-messages {\n        flex: 1;\n        padding: 20px;\n        overflow-y: auto;\n        background: #f8f9fa;\n    }\n\n    .chat-message {\n        margin-bottom: 16px;\n        display: flex;\n    }\n\n    .chat-message.user { justify-content: flex-end; }\n    .chat-message.assistant { justify-content: flex-start; }\n\n    .message-bubble {\n        max-width: 75%;\n        padding: 12px 16px;\n        border-radius: 18px;\n        word-wrap: break-word;\n        line-height: 1.5;\n        font-size: 15px;\n    }\n\n    .chat-message.user .message-bubble {\n        color: white; /* Bg handled by inline style for tint support */\n        border-radius: 18px 18px 4px 18px;\n    }\n\n    .chat-message.assistant .message-bubble {\n        background: white;\n        color: #333;\n        border-radius: 18px 18px 18px 4px;\n        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);\n    }\n\n    .chat-input-area {\n        padding: 16px;\n        background: white;\n        border-top: 1px solid #e9ecef;\n        display: flex;\n        gap: 10px;\n        align-items: center;\n    }\n\n    .chat-input-area input {\n        flex: 1;\n        min-width: 0;\n        padding: 12px 16px;\n        border: 2px solid #e9ecef;\n        border-radius: 12px;\n        font-family: 'Poppins', sans-serif;\n        font-size: 15px;\n        outline: none;\n        transition: all 0.3s ease;\n    }\n\n    .chat-input-area input:focus {\n        border-color: #FF1493;\n        box-shadow: 0 0 0 3px rgba(255, 20, 147, 0.1);\n    }\n\n    .chat-send-button {\n        background: #FF1493;\n        border: none;\n        border-radius: 12px;\n        padding: 12px 16px;\n        color: white;\n        font-weight: 700;\n        cursor: pointer;\n        transition: all 0.3s ease;\n        flex-shrink: 0;\n        min-width: 50px;\n        max-width: 55px;\n        white-space: nowrap;\n        font-size: 22px;\n        text-align: center;\n        line-height: 1;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n    }\n\n    .chat-send-button:hover {\n        background: #D01178;\n    }\n\n    .chat-send-button:disabled {\n        background: #ccc !important;\n        cursor: not-allowed;\n    }\n\n    .chat-footer {\n        padding: 12px;\n        text-align: center;\n        font-size: 12px;\n        color: #6c757d;\n        background: #f8f9fa;\n        border-top: 1px solid #e9ecef;\n    }\n\n    .chat-footer a {\n        color: #6c757d;\n        text-decoration: underline;\n        font-weight: 600;\n    }\n\n    .chat-footer a:hover {\n        color: #495057;\n        text-decoration: underline;\n    }\n\n    .typing-indicator {\n        padding: 12px 16px;\n        background: white;\n        border-radius: 18px;\n        width: fit-content;\n        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);\n        margin-bottom: 10px;\n        display: none;\n    }\n\n    .typing-indicator.show { display: block; }\n\n    .typing-indicator span {\n        display: inline-block;\n        width: 8px;\n        height: 8px;\n        background: #6c757d;\n        border-radius: 50%;\n        margin: 0 2px;\n        animation: typing 1.4s infinite;\n    }\n\n    .typing-indicator span:nth-child(2) { animation-delay: 0.2s; }\n    .typing-indicator span:nth-child(3) { animation-delay: 0.4s; }\n\n    @keyframes typing {\n        0%, 60%, 100% { transform: translateY(0); opacity: 0.5; }\n        30% { transform: translateY(-10px); opacity: 1; }\n    }\n\n    .chat-messages::-webkit-scrollbar { width: 6px; }\n    .chat-messages::-webkit-scrollbar-track { background: #f1f1f1; }\n    .chat-messages::-webkit-scrollbar-thumb { background: #FF1493; border-radius: 3px; }\n\n    .chat-buttons {\n        display: flex;\n        flex-direction: column;\n        gap: 8px;\n        margin-top: 12px;\n        justify-content: flex-start;\n        width: 100%;\n    }\n\n    .chat-button {\n        background: white;\n        color: #FF1493;\n        border: 2px solid #FF1493;\n        border-radius: 20px;\n        padding: 10px 20px;\n        font-size: 14px;\n        font-weight: 600;\n        cursor: pointer;\n        transition: all 0.3s ease;\n        box-shadow: 0 2px 8px rgba(255, 20, 147, 0.25);\n        font-family: 'Poppins', sans-serif;\n        width: 100%;\n        text-align: center;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        white-space: pre-line;\n    }\n\n    .chat-button:hover {\n        transform: translateY(-2px);\n        box-shadow: 0 4px 12px rgba(255, 20, 147, 0.4);\n        background: #FFF0F7;\n        border-color: #D01178;\n        color: #D01178;\n    }\n\n    .chat-welcome-form {\n        padding: 40px 30px;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        height: 100%;\n        background: linear-gradient(135deg, #fff0f7 0%, #ffffff 100%);\n        position: relative;\n        flex-direction: column;\n    }\n\n    .welcome-close {\n        position: absolute;\n        top: 15px;\n        right: 15px;\n        background: none;\n        border: none;\n        color: #6c757d;\n        font-size: 28px;\n        cursor: pointer;\n        padding: 0;\n        width: 35px;\n        height: 35px;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        transition: all 0.3s ease;\n        border-radius: 50%;\n    }\n\n    .welcome-close:hover {\n        background: rgba(0, 0, 0, 0.05);\n        color: #333;\n    }\n\n    .welcome-content {\n        width: 100%;\n        max-width: 350px;\n    }\n\n    .welcome-content h2 {\n        color: #FF1493;\n        margin-bottom: 10px;\n        font-size: 24px;\n    }\n\n    .welcome-content > p {\n        color: #666;\n        margin-bottom: 30px;\n        font-size: 15px;\n    }\n\n    .form-field { margin-bottom: 20px; }\n\n    .form-field label {\n        display: block;\n        color: #FF1493;\n        font-weight: 600;\n        margin-bottom: 8px;\n        font-size: 15px;\n    }\n\n    .form-field input {\n        width: 100%;\n        padding: 14px 16px;\n        border: 2px solid #e9ecef;\n        border-radius: 12px;\n        font-family: 'Poppins', sans-serif;\n        font-size: 15px;\n        outline: none;\n        transition: all 0.3s ease;\n    }\n\n    .form-field input:focus {\n        border-color: #FF1493;\n        box-shadow: 0 0 0 3px rgba(255, 20, 147, 0.1);\n    }\n\n    .btn-start-chat {\n        width: 100%;\n        background: linear-gradient(135deg, #FF1493, #FF69B4);\n        color: white;\n        border: none;\n        border-radius: 12px;\n        padding: 14px 20px;\n        font-weight: 600;\n        cursor: pointer;\n        transition: all 0.3s ease;\n        font-size: 17px;\n        margin-top: 10px;\n    }\n\n    .btn-start-chat:hover {\n        transform: translateY(-2px);\n        box-shadow: 0 8px 20px rgba(255, 20, 147, 0.4);\n    }\n\n    .privacy-note {\n        text-align: center;\n        font-size: 11px;\n        color: #999;\n        margin-top: 15px;\n        margin-bottom: 0;\n    }\n\n    .turnstile-container {\n        margin: 20px 0;\n        display: flex;\n        justify-content: center;\n    }\n\n    .form-error {\n        color: #dc3545;\n        font-size: 12px;\n        margin-top: 8px;\n        display: none;\n    }\n\n    .form-error.show { display: block; }\n\n    .chat-interface {\n        display: flex;\n        flex-direction: column;\n        height: 100%;\n    }\n\n    @media (max-width: 480px) {\n        .chat-floating-button {\n            width: 70px;\n            height: 70px;\n            bottom: 20px;\n            right: 20px;\n        }\n\n        .chat-floating-button svg {\n            width: 32px;\n            height: 32px;\n        }\n\n        /* Standard Mobile Media Query Fallback - Card Style */\n        .chat-window {\n            bottom: 100px !important;\n            right: 4vw !important;\n            left: 4vw !important;\n            width: 92vw !important;\n            max-width: 400px !important;\n            height: auto !important;\n            max-height: 80vh !important;\n            border-radius: 20px !important;\n            z-index: 100000;\n            margin: 0;\n            display: flex;\n            flex-direction: column;\n            box-shadow: 0 10px 40px rgba(0,0,0,0.2);\n        }\n\n        .chat-header {\n            border-top-left-radius: 20px;\n            border-top-right-radius: 20px;\n            padding-top: 20px;\n        }\n\n        .chat-welcome-form {\n            padding-top: 20px;\n            border-radius: 20px;\n            justify-content: flex-start;\n        }\n    }\n    /* Mobile specific overrides applied via JS class */\n    .chat-window.mobile-view {\n        bottom: 0px !important;\n        right: 0px !important;\n        left: 0px !important;\n        top: 0px !important;\n        width: 100% !important;\n        height: 100% !important;\n        max-height: 100% !important;\n        border-radius: 0;\n        z-index: 100000;\n        margin: 0;\n        display: flex;\n        flex-direction: column;\n    }\n\n    .chat-window.mobile-view .chat-header {\n        border-radius: 0;\n        padding-top: max(20px, env(safe-area-inset-top));\n    }\n\n    .chat-window.mobile-view .chat-welcome-form {\n        padding-top: max(40px, env(safe-area-inset-top));\n        border-radius: 0;\n        justify-content: center;\n    }\n\n    .chat-window.mobile-view .message-bubble,\n    .chat-window.mobile-view .chat-input-area input,\n    .chat-window.mobile-view .chat-send-button,\n    .chat-window.mobile-view .form-field label,\n    .chat-window.mobile-view .form-field input,\n    .chat-window.mobile-view .btn-start-chat {\n        font-size: 18px !important;\n    }\n\n    .chat-window.mobile-view .chat-send-button {\n        min-width: 60px;\n        max-width: 65px;\n        font-size: 26px;\n    }\n    `;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"MagicChat\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"fixed\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./MagicChatbot.map"],"mappings":"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"}