{"version":3,"file":"BrandedLegacyForm.CjF2KDuG.mjs","names":["useId","useRef","useState","useCallback"],"sources":["https:/framerusercontent.com/modules/NU0zwXFk90dzUL1LY9Lq/tvoADPwFBk4ZmEFKymtp/BrandedLegacyForm.js"],"sourcesContent":["// Framer Code Component — Botspot Contact Form (Legacy v2 · Inline Product Select)\n// For HubSpot LEGACY v2 forms. Instead of adding a separate product field, this\n// lets HubSpot render the form, then finds the existing \"product\" field and\n// converts its input IN PLACE into a styled <select> with hardcoded options —\n// keeping HubSpot's own label and the field's natural position in the form.\n//\n// How it works: after the form renders we locate input[name=\"product\"], insert\n// a styled <select> right beside it, hide the original input, and mirror the\n// chosen value back into that input (value + input/change events) so HubSpot\n// submits it. Works whether the HubSpot field is a text or hidden field, as\n// long as it's present in the form.\n//\n//   · Requires \"Set as raw HTML form\" ON in HubSpot (inline render, not iframe).\n//   · UTM auto-capture + injection · success modes (slot/redirect/variant).\n//\n// Brand values supplied by Kamil (Botspot):\n//   · Font: Poppins   (must be added to the Framer project's Fonts)\n//   · Accent / focus / button: #4119BC\n//   · Filled inputs (white fill, #C4C4C4 border → #4119BC on focus)\n//   · Pill submit button (solid → inverts to white on hover)\n//   · Custom-branded checkboxes / radios\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useCallback,useEffect,useId,useRef,useState}from\"react\";const SESSION_KEY=\"botspot_hs_form_params\";// ── Botspot Design Tokens ───────────────────────────────────\n// NOTE: \"Poppins\" must be added to the Framer project's fonts,\n// otherwise the browser falls back to the system sans-serif.\nconst FONT=\"'Poppins', sans-serif\";const BASE_FONT_SIZE=\"16px\";const LABEL_FONT_SIZE=\"12px\";const BUTTON_FONT_SIZE=\"16px\";const LABEL_COLOR=\"rgba(0,0,0,0.6)\"// label = black 60%\n;const PLACEHOLDER_COLOR=\"#C4C4C4\";const INPUT_VALUE_COLOR=\"#000000\"// typed value = black\n;const ERROR_COLOR=\"#FF2244\";const INPUT_BG=\"#FFFFFF\";const BORDER_DEFAULT=\"#C4C4C4\";const BORDER_FOCUS=\"#4119BC\";const INPUT_BORDER_WIDTH=\"2px\";const INPUT_RADIUS=8;const INPUT_PADDING=\"16px 14px\"// 16 vertical · 14 horizontal\n;const CHECKBOX_BG=\"#FFFFFF\";const CHECKBOX_BORDER=\"#C4C4C4\";const CHECKBOX_CHECKED=\"#4119BC\"// border + fill when checked\n;const CHECKBOX_MARK=\"#FFFFFF\"// inner mark (white, on filled box)\n;const CHECKBOX_RADIUS=4;const CHECKBOX_LABEL_COLOR=\"#000000\";const BUTTON_BG=\"#4119BC\";const BUTTON_BG_HOVER=\"#FFFFFF\";const BUTTON_BG_DISABLED=\"rgba(65,25,188,0.3)\"// #4119BC @ 30%\n;const BUTTON_TEXT_COLOR=\"#FFFFFF\";const BUTTON_TEXT_HOVER=\"#4119BC\";const BUTTON_TEXT_DISABLED=\"#FFFFFF\";const BUTTON_BORDER=\"#4119BC\";const BUTTON_BORDER_WIDTH=\"2px\";const BUTTON_RADIUS=40// pill\n;const BUTTON_PADDING=\"12px 20px\";const ROW_GAP=24// gap between field rows\n;const COL_GAP=12// gap between side-by-side fields\n;const LABEL_GAP=10// gap between label and input\n;const LINK_COLOR=\"#4119BC\";const LINK_HOVER=\"#000000\";const TRANSITION=\"150ms ease\";const DEFAULT_PRODUCT_OPTIONS=[\"Full-Body Scanner | NEO\",\"Full-Body Scanner | FLEX\",\"Studio Scanner\",\"Object Scanner\",\"Momentum 2.0\",\"Automation Suite Software\",\"Scan Service\",\"botspot\"];const SUCCESS_SELECTOR=\".submitted-message, .hs-form-thankyou, .hs-thank-you-message\";// ── Helpers ─────────────────────────────────────────────────\nfunction captureAndPersistParams(){if(typeof window===\"undefined\")return{};const p=new URLSearchParams(window.location.search);let stored={};try{stored=JSON.parse(sessionStorage.getItem(SESSION_KEY)||\"{}\");}catch{}[\"utm_source\",\"utm_medium\",\"utm_campaign\",\"utm_term\",\"utm_content\"].forEach(k=>{const v=p.get(k);if(v)stored[k]=v;});try{sessionStorage.setItem(SESSION_KEY,JSON.stringify(stored));}catch{}return stored;}function setInputValue(root,name,value){if(!name||!value)return;const el=root.querySelector(`input[name=\"${name}\"], select[name=\"${name}\"], textarea[name=\"${name}\"]`);if(!el)return;try{el.value=value;el.dispatchEvent(new Event(\"input\",{bubbles:true}));el.dispatchEvent(new Event(\"change\",{bubbles:true}));}catch{}}// ── Component ───────────────────────────────────────────────\n/**\n * @framerDisableUnlink\n * @framerIntrinsicWidth 480\n * @framerIntrinsicHeight 640\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function BotspotContactFormLegacyInline(props){const{portalId=\"146314495\",formId=\"2e5ca26a-5608-4e2a-ad5a-5d065a00e9e2\",region=\"eu1\",productOptions,preselected=\"botspot\",productFieldName=\"product\",showProductField=true,successMode=\"slot\",redirectUrl=\"\",successContent,successMessage=\"Thanks! We'll be in touch shortly.\",onSuccess,style}=props;const options=Array.isArray(productOptions)&&productOptions.length?productOptions:DEFAULT_PRODUCT_OPTIONS;const optionsKey=options.join(\"|\");const rawId=useId();const targetId=\"botspot-hsform-\"+rawId.replace(/[^a-zA-Z0-9_-]/g,\"\");const containerRef=useRef(null);const injectedRef=useRef(false);const submittedFlagRef=useRef(false);const ddCleanupRef=useRef(null);const[submitted,setSubmitted]=useState(false);const preselectedRef=useRef(preselected);useEffect(()=>{preselectedRef.current=preselected;},[preselected]);const productOptionsRef=useRef(options);useEffect(()=>{productOptionsRef.current=options;},[optionsKey])// eslint-disable-line react-hooks/exhaustive-deps\n;const productFieldNameRef=useRef(productFieldName);useEffect(()=>{productFieldNameRef.current=productFieldName;},[productFieldName]);const showFieldRef=useRef(showProductField);useEffect(()=>{showFieldRef.current=showProductField;},[showProductField]);const successModeRef=useRef(successMode);useEffect(()=>{successModeRef.current=successMode;},[successMode]);const redirectUrlRef=useRef(redirectUrl);useEffect(()=>{redirectUrlRef.current=redirectUrl;},[redirectUrl]);const onSuccessRef=useRef(onSuccess);useEffect(()=>{onSuccessRef.current=onSuccess;},[onSuccess]);useEffect(()=>{captureAndPersistParams();},[]);// Inject UTMs into the rendered form's real inputs.\nconst injectUTMs=useCallback(()=>{const c=containerRef.current;if(!c)return;let tracked={};try{tracked=JSON.parse(sessionStorage.getItem(SESSION_KEY)||\"{}\");}catch{}[\"utm_source\",\"utm_medium\",\"utm_campaign\",\"utm_term\",\"utm_content\"].forEach(k=>setInputValue(c,k,tracked[k]||\"\"));},[]);// Convert HubSpot's existing product field into a custom-styled dropdown,\n// in place. Built imperatively because it lives inside HubSpot's own DOM\n// (which React doesn't manage). Idempotent — guarded by a data-flag.\nconst enhanceProductField=useCallback(()=>{const c=containerRef.current;if(!c)return;const pName=(productFieldNameRef.current||\"product\").trim();const input=c.querySelector(`input[name=\"${pName}\"], input[name$=\"/${pName}\"]`);if(!input||input.dataset.botspotEnhanced===\"1\")return;input.dataset.botspotEnhanced=\"1\";const opts=productOptionsRef.current&&productOptionsRef.current.length?productOptionsRef.current:DEFAULT_PRODUCT_OPTIONS;const pre=(preselectedRef.current||\"\").trim();let current=pre&&opts.includes(pre)?pre:opts[0]||\"\";// Mirror the current selection into HubSpot's real field.\nconst syncInput=()=>{input.value=current;input.dispatchEvent(new Event(\"input\",{bubbles:true}));input.dispatchEvent(new Event(\"change\",{bubbles:true}));};const wrapper=input.closest(\".hs-form-field\");// Hidden mode: don't render the dropdown — keep the field out of view\n// but still inject the (preselected) value so it's submitted silently.\nif(!showFieldRef.current){input.style.setProperty(\"display\",\"none\",\"important\");if(wrapper)wrapper.style.setProperty(\"display\",\"none\",\"important\");syncInput();return;}// Build the custom dropdown DOM.\nconst dd=document.createElement(\"div\");dd.className=\"botspot-dd\";const trigger=document.createElement(\"button\");trigger.type=\"button\"// never submit the form\n;trigger.className=\"botspot-dd-trigger\";trigger.setAttribute(\"aria-haspopup\",\"listbox\");trigger.setAttribute(\"aria-expanded\",\"false\");const labelEl=document.createElement(\"span\");labelEl.className=\"botspot-dd-label\";const chevron=document.createElement(\"span\");chevron.className=\"botspot-dd-chevron\";chevron.innerHTML=\"<svg viewBox='0 0 24 24' fill='none'><path d='M6 9l6 6 6-6' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>\";trigger.appendChild(labelEl);trigger.appendChild(chevron);const menu=document.createElement(\"div\");menu.className=\"botspot-dd-menu\";menu.setAttribute(\"role\",\"listbox\");menu.style.display=\"none\";const paint=()=>{labelEl.textContent=current||\"Select…\";menu.querySelectorAll(\".botspot-dd-option\").forEach(el=>{const on=el.dataset.value===current;el.setAttribute(\"aria-selected\",on?\"true\":\"false\");});};let open=false;const close=()=>{open=false;menu.style.display=\"none\";trigger.setAttribute(\"aria-expanded\",\"false\");};const openMenu=()=>{open=true;menu.style.display=\"flex\";trigger.setAttribute(\"aria-expanded\",\"true\");};opts.forEach(optVal=>{const o=document.createElement(\"div\");o.className=\"botspot-dd-option\";o.setAttribute(\"role\",\"option\");o.dataset.value=optVal;o.textContent=optVal;o.addEventListener(\"click\",()=>{current=optVal;paint();syncInput();close();});menu.appendChild(o);});trigger.addEventListener(\"click\",e=>{e.preventDefault();if(open)close();else openMenu();});// Close on outside click / Escape. Clean these up on rebuild/unmount.\nconst onDocDown=e=>{if(!dd.contains(e.target))close();};const onKey=e=>{if(e.key===\"Escape\")close();};document.addEventListener(\"mousedown\",onDocDown);document.addEventListener(\"keydown\",onKey);ddCleanupRef.current=()=>{document.removeEventListener(\"mousedown\",onDocDown);document.removeEventListener(\"keydown\",onKey);};dd.appendChild(trigger);dd.appendChild(menu);// Insert beside the input, then hide the input. Also make sure the\n// field wrapper is visible (a \"hidden field\" type would be display:none).\nconst parent=input.parentElement;if(parent)parent.insertBefore(dd,input.nextSibling);input.style.setProperty(\"display\",\"none\",\"important\");if(wrapper)wrapper.style.removeProperty(\"display\");paint();syncInput()// seed the value so it submits untouched\n;},[]);const markSubmitted=useCallback(()=>{if(submittedFlagRef.current)return;submittedFlagRef.current=true;try{sessionStorage.removeItem(SESSION_KEY);}catch{}try{onSuccessRef.current?.();}catch{}if(successModeRef.current===\"variant\")return;if(successModeRef.current===\"redirect\"){const url=(redirectUrlRef.current||\"\").trim();if(url){try{window.location.assign(url);}catch{}return;}}const c=containerRef.current;if(c)c.style.setProperty(\"display\",\"none\",\"important\");setSubmitted(true);},[]);// Load the v2 embed script and create the form into our target container.\n// Hardened for Framer's re-render / StrictMode cycle (build once per formId,\n// never wipe the container in cleanup).\nuseEffect(()=>{if(!portalId||!formId||!region)return;if(typeof window===\"undefined\")return;const target=containerRef.current;if(!target)return;const w=window;let cancelled=false;let interval=0;const build=()=>{if(cancelled)return true;if(!w.hbspt||!w.hbspt.forms)return false;const built=target.getAttribute(\"data-hs-built\");if(built===formId)return true;if(built&&built!==formId)target.innerHTML=\"\";target.setAttribute(\"data-hs-built\",formId);injectedRef.current=false;submittedFlagRef.current=false;try{w.hbspt.forms.create({portalId,formId,region,target:`#${targetId}`,onFormReady:()=>{injectedRef.current=true;injectUTMs();enhanceProductField();},onFormSubmitted:()=>{markSubmitted();}});}catch{}return true;};const SRC=`https://js-${region}.hsforms.net/forms/embed/v2.js`;if(!build()){let script=document.querySelector(`script[src=\"${SRC}\"]`);if(!script){script=document.createElement(\"script\");script.src=SRC;script.defer=true;document.body.appendChild(script);}script.addEventListener(\"load\",build);interval=window.setInterval(()=>{if(build())window.clearInterval(interval);},200);window.setTimeout(()=>window.clearInterval(interval),1e4);}return()=>{cancelled=true;if(interval)window.clearInterval(interval);};},[portalId,formId,region,targetId,injectUTMs,enhanceProductField,markSubmitted]);// Fallback: watch the container — catch the success element, and run the\n// UTM + product enhancement once the form's DOM appears (if the ready\n// callback was missed).\nuseEffect(()=>{const c=containerRef.current;if(!c)return;const observer=new MutationObserver(()=>{if(c.querySelector(SUCCESS_SELECTOR)){markSubmitted();return;}if(c.querySelector(\"form.hs-form\")){if(!injectedRef.current){injectedRef.current=true;injectUTMs();}enhanceProductField();}});observer.observe(c,{childList:true,subtree:true});return()=>observer.disconnect();},[markSubmitted,injectUTMs,enhanceProductField]);// Rebuild the injected <select> when the options / preselection / field\n// name change (mainly for canvas editing): remove the old select, restore\n// the original input, then re-enhance. No-ops until the form has rendered.\nuseEffect(()=>{const c=containerRef.current;if(!c)return;const pName=(productFieldName||\"product\").trim();const input=c.querySelector(`input[name=\"${pName}\"], input[name$=\"/${pName}\"]`);const existing=c.querySelector(\".botspot-dd\");if(existing){ddCleanupRef.current?.();existing.remove();}if(input){delete input.dataset.botspotEnhanced;input.style.removeProperty(\"display\");}enhanceProductField();// eslint-disable-next-line react-hooks/exhaustive-deps\n},[optionsKey,preselected,productFieldName,showProductField]);// Remove the document listeners the dropdown added, on unmount.\nuseEffect(()=>()=>{ddCleanupRef.current?.();},[]);// ── Single-tree render ───────────────────────────────\nreturn /*#__PURE__*/_jsxs(\"div\",{className:\"botspot-contact-form-inline\",style:{width:\"100%\",...style},children:[/*#__PURE__*/_jsx(\"style\",{children:`\n/* ── Injected product dropdown (custom menu; trigger styled like the inputs) ── */\n.botspot-contact-form-inline .botspot-dd { position: relative; width: 100%; }\n.botspot-contact-form-inline .botspot-dd-trigger {\n  box-sizing: border-box;\n  width: 100%;\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 10px;\n  -webkit-appearance: none;\n  appearance: none;\n  font-family: ${FONT};\n  font-size: ${BASE_FONT_SIZE};\n  line-height: 1.3em;\n  color: ${INPUT_VALUE_COLOR};\n  text-align: left;\n  background: ${INPUT_BG};\n  border: ${INPUT_BORDER_WIDTH} solid ${BORDER_DEFAULT};\n  border-radius: ${INPUT_RADIUS}px;\n  padding: ${INPUT_PADDING};\n  cursor: pointer;\n  transition: border-color ${TRANSITION};\n}\n.botspot-contact-form-inline .botspot-dd-trigger:hover,\n.botspot-contact-form-inline .botspot-dd-trigger[aria-expanded=\"true\"],\n.botspot-contact-form-inline .botspot-dd-trigger:focus-visible {\n  outline: none;\n  border-color: ${BORDER_FOCUS};\n}\n.botspot-contact-form-inline .botspot-dd-label {\n  flex: 1 1 auto;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n.botspot-contact-form-inline .botspot-dd-chevron {\n  flex: none;\n  display: inline-flex;\n  color: ${BORDER_FOCUS};\n  transition: transform 200ms ease;\n}\n.botspot-contact-form-inline .botspot-dd-chevron svg { width: 20px; height: 20px; display: block; }\n.botspot-contact-form-inline .botspot-dd-trigger[aria-expanded=\"true\"] .botspot-dd-chevron {\n  transform: rotate(180deg);\n}\n/* Menu matches botspot.de nav dropdowns: translucent white card, 8px radius,\n   4px padding; items Poppins 16px #3A3A3A with a subtle #FAFAFA hover. */\n.botspot-contact-form-inline .botspot-dd-menu {\n  position: absolute;\n  top: calc(100% + 6px);\n  left: 0;\n  right: 0;\n  z-index: 50;\n  box-sizing: border-box;\n  background: rgba(255,255,255,0.75);\n  -webkit-backdrop-filter: blur(16px);\n  backdrop-filter: blur(16px);\n  border-radius: 8px;\n  box-shadow: 0 10px 30px rgba(0,0,0,0.08);\n  padding: 4px;\n  margin: 0;\n  display: flex;\n  flex-direction: column;\n  gap: 0;\n  max-height: 200px;\n  overflow-y: auto;\n}\n.botspot-contact-form-inline .botspot-dd-option {\n  font-family: ${FONT};\n  font-size: 16px;\n  font-weight: 400;\n  line-height: 1.4em;\n  color: #3A3A3A;\n  padding: 10px 12px;\n  border-radius: 6px;\n  cursor: pointer;\n  white-space: normal;\n  user-select: none;\n  transition: background-color 120ms ease, color 120ms ease;\n}\n.botspot-contact-form-inline .botspot-dd-option:hover { background: #FAFAFA; color: ${BORDER_FOCUS}; }\n.botspot-contact-form-inline .botspot-dd-option[aria-selected=\"true\"] {\n  background: ${BORDER_FOCUS};\n  color: #FFFFFF;\n}\n\n/* ── v2 form base ── */\n.botspot-contact-form-inline .hs-form { width: 100%; }\n.botspot-contact-form-inline .hs-form fieldset { max-width: 100% !important; }\n.botspot-contact-form-inline ul.inputs-list {\n  list-style: none !important;\n  margin: 0 !important;\n  padding: 0 !important;\n}\n\n/* Field spacing */\n.botspot-contact-form-inline .hs-form-field { margin-bottom: ${ROW_GAP}px; }\n.botspot-contact-form-inline .hs-form > .hs-form-field:last-of-type { margin-bottom: 0; }\n\n/* Column rows → flex with a gap */\n.botspot-contact-form-inline .form-columns-2 {\n  display: flex !important;\n  gap: ${COL_GAP}px !important;\n}\n.botspot-contact-form-inline .form-columns-2 .hs-form-field {\n  width: 100% !important;\n  float: none !important;\n  padding: 0 !important;\n  flex: 1 1 0 !important;\n}\n.botspot-contact-form-inline .form-columns-1 .hs-form-field {\n  width: 100% !important;\n  float: none !important;\n  padding: 0 !important;\n}\n.botspot-contact-form-inline .hs-form-field > .input { margin-right: 0 !important; }\n\n/* Labels */\n.botspot-contact-form-inline .hs-form-field > label {\n  display: block;\n  font-family: ${FONT} !important;\n  font-size: ${LABEL_FONT_SIZE} !important;\n  font-weight: 400 !important;\n  color: ${LABEL_COLOR} !important;\n  line-height: 1.3em !important;\n  margin-bottom: ${LABEL_GAP}px !important;\n}\n.botspot-contact-form-inline .hs-form-required { color: ${ERROR_COLOR} !important; }\n.botspot-contact-form-inline .hs-field-desc {\n  display: block;\n  font-family: ${FONT} !important;\n  font-size: ${LABEL_FONT_SIZE} !important;\n  color: ${LABEL_COLOR} !important;\n  margin: 0 0 ${LABEL_GAP}px !important;\n}\n\n/* Inputs / textarea / select */\n.botspot-contact-form-inline input.hs-input:not([type=\"checkbox\"]):not([type=\"radio\"]),\n.botspot-contact-form-inline textarea.hs-input,\n.botspot-contact-form-inline select.hs-input {\n  box-sizing: border-box !important;\n  width: 100% !important;\n  font-family: ${FONT} !important;\n  font-size: ${BASE_FONT_SIZE} !important;\n  line-height: 1.3em !important;\n  color: ${INPUT_VALUE_COLOR} !important;\n  background: ${INPUT_BG} !important;\n  border: ${INPUT_BORDER_WIDTH} solid ${BORDER_DEFAULT} !important;\n  border-radius: ${INPUT_RADIUS}px !important;\n  padding: ${INPUT_PADDING} !important;\n  transition: border-color ${TRANSITION} !important;\n  box-shadow: none !important;\n}\n.botspot-contact-form-inline .hs-input::placeholder { color: ${PLACEHOLDER_COLOR} !important; opacity: 1 !important; }\n.botspot-contact-form-inline input.hs-input:focus,\n.botspot-contact-form-inline textarea.hs-input:focus,\n.botspot-contact-form-inline select.hs-input:focus {\n  outline: none !important;\n  border-color: ${BORDER_FOCUS} !important;\n  box-shadow: none !important;\n}\n\n/* ── Custom checkbox / radio ── */\n.botspot-contact-form-inline .hs-form input[type=\"checkbox\"],\n.botspot-contact-form-inline .hs-form input[type=\"radio\"] {\n  appearance: none !important;\n  -webkit-appearance: none !important;\n  position: absolute !important;\n  opacity: 0 !important;\n  width: 18px !important;\n  height: 18px !important;\n  margin: 0 !important;\n  padding: 0 !important;\n  cursor: pointer !important;\n  left: 0 !important;\n  top: 50% !important;\n  transform: translateY(-50%) !important;\n  z-index: 2;\n  background: transparent !important;\n  border: none !important;\n}\n.botspot-contact-form-inline label:has(> input[type=\"checkbox\"]),\n.botspot-contact-form-inline label:has(> input[type=\"radio\"]),\n.botspot-contact-form-inline .hs-form-booleancheckbox-display,\n.botspot-contact-form-inline .hs-form-checkbox-display,\n.botspot-contact-form-inline .hs-form-radio-display {\n  position: relative !important;\n  display: inline-flex !important;\n  align-items: center !important;\n  gap: 8px !important;\n  padding-left: 28px !important;\n  cursor: pointer !important;\n  min-height: 18px !important;\n  background: transparent !important;\n  border: none !important;\n  font-family: ${FONT} !important;\n  font-size: ${LABEL_FONT_SIZE} !important;\n  line-height: 1.3em !important;\n  color: ${CHECKBOX_LABEL_COLOR} !important;\n  font-weight: 400 !important;\n}\n.botspot-contact-form-inline label:has(> input[type=\"checkbox\"])::before,\n.botspot-contact-form-inline label:has(> input[type=\"radio\"])::before,\n.botspot-contact-form-inline .hs-form-booleancheckbox-display::before,\n.botspot-contact-form-inline .hs-form-checkbox-display::before,\n.botspot-contact-form-inline .hs-form-radio-display::before {\n  content: \"\" !important;\n  position: absolute !important;\n  left: 0 !important;\n  top: 50% !important;\n  transform: translateY(-50%) !important;\n  width: 18px !important;\n  height: 18px !important;\n  background: ${CHECKBOX_BG} !important;\n  border: 2px solid ${CHECKBOX_BORDER} !important;\n  border-radius: ${CHECKBOX_RADIUS}px !important;\n  transition: border-color ${TRANSITION}, background-color ${TRANSITION} !important;\n  box-sizing: border-box !important;\n  display: block !important;\n}\n.botspot-contact-form-inline label:has(> input[type=\"radio\"])::before,\n.botspot-contact-form-inline .hs-form-radio-display::before {\n  border-radius: 50% !important;\n}\n.botspot-contact-form-inline label:has(> input[type=\"checkbox\"])::after,\n.botspot-contact-form-inline .hs-form-booleancheckbox-display::after,\n.botspot-contact-form-inline .hs-form-checkbox-display::after {\n  content: \"\" !important;\n  position: absolute !important;\n  left: 6.5px !important;\n  top: 50% !important;\n  width: 4px !important;\n  height: 8px !important;\n  border: solid ${CHECKBOX_MARK} !important;\n  border-width: 0 2px 2px 0 !important;\n  transform: translateY(-60%) rotate(45deg) !important;\n  opacity: 0 !important;\n  transition: opacity ${TRANSITION} !important;\n  display: block !important;\n  pointer-events: none !important;\n}\n.botspot-contact-form-inline label:has(> input[type=\"radio\"])::after,\n.botspot-contact-form-inline .hs-form-radio-display::after {\n  content: \"\" !important;\n  position: absolute !important;\n  left: 5px !important;\n  top: 50% !important;\n  width: 8px !important;\n  height: 8px !important;\n  border-radius: 50% !important;\n  background: ${CHECKBOX_MARK} !important;\n  transform: translateY(-50%) !important;\n  opacity: 0 !important;\n  transition: opacity ${TRANSITION} !important;\n  display: block !important;\n  pointer-events: none !important;\n}\n.botspot-contact-form-inline label:has(> input[type=\"checkbox\"]):hover::before,\n.botspot-contact-form-inline label:has(> input[type=\"radio\"]):hover::before,\n.botspot-contact-form-inline .hs-form-booleancheckbox-display:hover::before,\n.botspot-contact-form-inline .hs-form-checkbox-display:hover::before,\n.botspot-contact-form-inline .hs-form-radio-display:hover::before {\n  border-color: ${BORDER_FOCUS} !important;\n}\n.botspot-contact-form-inline label:has(input:checked)::before,\n.botspot-contact-form-inline .hs-form-booleancheckbox-display:has(input:checked)::before,\n.botspot-contact-form-inline .hs-form-checkbox-display:has(input:checked)::before,\n.botspot-contact-form-inline .hs-form-radio-display:has(input:checked)::before {\n  background: ${CHECKBOX_CHECKED} !important;\n  border-color: ${CHECKBOX_CHECKED} !important;\n}\n.botspot-contact-form-inline label:has(input:checked)::after,\n.botspot-contact-form-inline .hs-form-booleancheckbox-display:has(input:checked)::after,\n.botspot-contact-form-inline .hs-form-checkbox-display:has(input:checked)::after,\n.botspot-contact-form-inline .hs-form-radio-display:has(input:checked)::after {\n  opacity: 1 !important;\n}\n\n/* ── Submit button — pill (solid → inverts to white on hover), left-aligned ── */\n.botspot-contact-form-inline .hs-submit .actions,\n.botspot-contact-form-inline .hs_submit .actions {\n  text-align: left !important;\n  padding: 0 !important;\n  margin: 0 !important;\n}\n.botspot-contact-form-inline .hs-button,\n.botspot-contact-form-inline input[type=\"submit\"].hs-button {\n  -webkit-appearance: none !important;\n  appearance: none !important;\n  display: inline-flex !important;\n  align-items: center !important;\n  justify-content: center !important;\n  width: auto !important;\n  max-width: 100% !important;\n  padding: ${BUTTON_PADDING} !important;\n  font-family: ${FONT} !important;\n  font-size: ${BUTTON_FONT_SIZE} !important;\n  font-weight: 500 !important;\n  line-height: 1.2em !important;\n  color: ${BUTTON_TEXT_COLOR} !important;\n  background: ${BUTTON_BG} !important;\n  background-image: none !important;\n  border: ${BUTTON_BORDER_WIDTH} solid ${BUTTON_BORDER} !important;\n  border-radius: ${BUTTON_RADIUS}px !important;\n  cursor: pointer !important;\n  white-space: nowrap !important;\n  box-shadow: none !important;\n  transition: background-color ${TRANSITION}, color ${TRANSITION}, border-color ${TRANSITION} !important;\n}\n.botspot-contact-form-inline .hs-button:hover,\n.botspot-contact-form-inline input[type=\"submit\"].hs-button:hover {\n  background: ${BUTTON_BG_HOVER} !important;\n  color: ${BUTTON_TEXT_HOVER} !important;\n  border-color: ${BUTTON_BORDER} !important;\n}\n.botspot-contact-form-inline .hs-button:disabled,\n.botspot-contact-form-inline input[type=\"submit\"].hs-button:disabled {\n  background: ${BUTTON_BG_DISABLED} !important;\n  color: ${BUTTON_TEXT_DISABLED} !important;\n  border-color: transparent !important;\n  cursor: not-allowed !important;\n}\n\n/* ── Error text + state ── */\n.botspot-contact-form-inline .hs-error-msgs {\n  list-style: none !important;\n  margin: 6px 0 0 !important;\n  padding: 0 !important;\n}\n.botspot-contact-form-inline .hs-error-msg,\n.botspot-contact-form-inline .hs-error-msgs label {\n  font-family: ${FONT} !important;\n  font-size: ${LABEL_FONT_SIZE} !important;\n  line-height: 1.3em !important;\n  color: ${ERROR_COLOR} !important;\n}\n.botspot-contact-form-inline .hs-input.invalid,\n.botspot-contact-form-inline .hs-input.error {\n  border-color: ${ERROR_COLOR} !important;\n}\n.botspot-contact-form-inline .hs-input.invalid:focus,\n.botspot-contact-form-inline .hs-input.error:focus {\n  border-color: ${ERROR_COLOR} !important;\n}\n\n/* ── Rich text / consent ── */\n.botspot-contact-form-inline .hs-richtext,\n.botspot-contact-form-inline .legal-consent-container {\n  font-family: ${FONT} !important;\n  font-size: ${LABEL_FONT_SIZE} !important;\n  color: ${LABEL_COLOR} !important;\n  margin: 0 !important;\n  padding: 0 !important;\n}\n.botspot-contact-form-inline .hs-richtext p,\n.botspot-contact-form-inline .legal-consent-container p { margin: 0 !important; }\n.botspot-contact-form-inline .hs-richtext a,\n.botspot-contact-form-inline .legal-consent-container a,\n.botspot-contact-form-inline p a {\n  color: ${LINK_COLOR} !important;\n  text-decoration: underline !important;\n  transition: color ${TRANSITION} !important;\n}\n.botspot-contact-form-inline .hs-richtext a:hover,\n.botspot-contact-form-inline .legal-consent-container a:hover,\n.botspot-contact-form-inline p a:hover {\n  color: ${LINK_HOVER} !important;\n}\n\n/* ── Suppress HubSpot's built-in thank-you — we show our own ── */\n.botspot-contact-form-inline .submitted-message,\n.botspot-contact-form-inline .hs-form-thankyou,\n.botspot-contact-form-inline .hs-thank-you-message {\n  display: none !important;\n}\n\n/* ── Success slot ── */\n.botspot-contact-form-inline .botspot-success {\n  width: 100%;\n  display: flex;\n  flex-direction: column;\n  align-items: stretch;\n}\n.botspot-contact-form-inline .botspot-success > * {\n  width: 100% !important;\n  max-width: 100% !important;\n  flex: 1 1 auto !important;\n}\n            `}),submitted&&/*#__PURE__*/_jsx(\"div\",{className:\"botspot-success\",children:successContent??/*#__PURE__*/_jsx(\"div\",{style:{fontFamily:FONT,fontSize:BASE_FONT_SIZE,color:INPUT_VALUE_COLOR},children:successMessage})}),/*#__PURE__*/_jsx(\"div\",{id:targetId,ref:containerRef,className:\"hs-form-html\",style:{display:submitted?\"none\":undefined}})]});}BotspotContactFormLegacyInline.displayName=\"Botspot Contact Form (Legacy v2 \\xb7 Inline Product Select)\";addPropertyControls(BotspotContactFormLegacyInline,{portalId:{type:ControlType.String,title:\"Portal ID\",defaultValue:\"146314495\",placeholder:\"HubSpot Portal ID\"},formId:{type:ControlType.String,title:\"Form ID\",defaultValue:\"2e5ca26a-5608-4e2a-ad5a-5d065a00e9e2\",placeholder:\"HubSpot Form ID\"},region:{type:ControlType.String,title:\"Region\",defaultValue:\"eu1\",placeholder:\"na1, na2, eu1\"},productOptions:{type:ControlType.Array,title:\"Product Options\",control:{type:ControlType.String,placeholder:\"Option label\"},defaultValue:DEFAULT_PRODUCT_OPTIONS},preselected:{type:ControlType.String,title:\"Preselected\",defaultValue:\"botspot\",placeholder:\"Exact option to preselect (blank = first)\"},productFieldName:{type:ControlType.String,title:\"Product Field\",defaultValue:\"product\",placeholder:\"HubSpot internal field name\"},showProductField:{type:ControlType.Boolean,title:\"Product Field\",defaultValue:true,enabledTitle:\"Shown\",disabledTitle:\"Hidden\"},successMode:{type:ControlType.Enum,title:\"Success Mode\",defaultValue:\"slot\",options:[\"slot\",\"redirect\",\"variant\"],optionTitles:[\"Show Slot\",\"Redirect\",\"Change Variant\"]},redirectUrl:{type:ControlType.Link,title:\"Redirect To\",hidden:props=>props.successMode!==\"redirect\"},successContent:{type:ControlType.ComponentInstance,title:\"Success Slot\",hidden:props=>props.successMode!==\"slot\"},successMessage:{type:ControlType.String,title:\"Success Text\",defaultValue:\"Thanks! We'll be in touch shortly.\",placeholder:\"Fallback shown if no Success Slot is set\",hidden:props=>props.successMode!==\"slot\"},onSuccess:{type:ControlType.EventHandler,title:\"On Success\",hidden:props=>props.successMode!==\"variant\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"BotspotContactFormLegacyInline\",\"slots\":[\"successContent\"],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerDisableUnlink\":\"* @framerIntrinsicWidth 480\",\"framerIntrinsicHeight\":\"640\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./BrandedLegacyForm.map"],"mappings":"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"}