{"version":3,"file":"BentoOfferPopup.CS61mMLL.mjs","names":["useState","useRef","useCallback","p"],"sources":["https:/framerusercontent.com/modules/U57i60hoxoYApFw2qylU/Khl1Hwc5aaubY4XkJ248/BentoOfferPopup.js"],"sourcesContent":["// BentoOfferPopup.tsx\n// Create in Framer: Assets → Code → \"+\" → New Component → name it \"BentoOfferPopup\".\n// Drop it ONCE on every page (or in a shared header/footer). It renders a fixed\n// full-screen overlay, so where you place it on the canvas doesn't matter.\n//\n// THE FLOW (exactly as designed):\n//   1. Visitor lands → after a delay (and/or exit-intent), the modal appears.\n//   2. Modal shows the gift offer + a single email field.\n//   3. They submit → the email field TRANSFORMS IN PLACE to reveal the coupon\n//      code, with a Copy button. They paste it at checkout.\n//   4. Their email is captured to Bento (identify + fields + tags + event).\n//\n// FREQUENCY (localStorage, all client-side):\n//   • Shows at most once per `suppressDays` (default 1 = once/day) per device.\n//   • After they submit, it is suppressed FOREVER on that device.\n//   • Already-identified Bento subscribers never see it.\n//\n// The coupon itself is a normal WooCommerce coupon you create + manage in Woo\n// (e.g. one-use-per-customer, discounts a GHK-Cu vial). This component only\n// captures the email and shows the code — it touches nothing in WooCommerce.\n//\n// MARKETING ONLY. Transactional email stays on Resend / axos-mail-router.\n// Requires the Bento tracking snippet installed in Site Settings → Custom Code.\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{motion,AnimatePresence,useReducedMotion}from\"framer-motion\";import{useState,useEffect,useRef,useCallback}from\"react\";import{createPortal}from\"react-dom\";// ── PostHog (analytics) ──────────────────────────────────────────────────────\n// Mirrors the trackPostHog helper used across the Framer components (CartStore,\n// AxosSearch, ContactSupportForm). No-ops if PostHog isn't loaded, so it's\n// always safe to call. Event names are snake_case to match existing events\n// (product_added_to_cart, contact_submitted, …).\nfunction trackPostHog(event,data){if(typeof window===\"undefined\")return;const ph=window.posthog;if(typeof ph?.capture!==\"function\")return;try{ph.capture(event,data);}catch(e){}}// Identify the captured visitor by EMAIL — PostHog's recommended pattern for\n// e-commerce email capture. It creates the person profile, merges this visitor's\n// prior anonymous events into that person, and (with the site's cross-subdomain\n// cookie) carries the identity to checkout.axospeptides.com so a later purchase\n// links back to this capture.\nfunction identifyPostHog(email){if(typeof window===\"undefined\")return;const ph=window.posthog;if(typeof ph?.identify!==\"function\")return;try{ph.identify(email,{email});}catch(e){}}const DEFAULT_IMG=\"https://checkout.axospeptides.com/wp-content/uploads/2026/05/ghk-50.jpg\";const EASE=[.23,1,.32,1]// strong ease-out (Emil curve)\n;const LS_KEY=\"axos_offer_popup\";/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n * @framerIntrinsicWidth 80\n * @framerIntrinsicHeight 40\n * @framerDisableUnlink\n */export default function BentoOfferPopup(props){const{// Triggers\nenableDelay=true,triggerDelay=10,enableExitIntent=true,enableScroll=false,scrollPercent=45,forceShow=false,suppressDays=1,// Offer / coupon\ncouponCode=\"RESEARCHGIFT\",offerKey=\"ghkcu_free_vial\",variant=\"default\",// Content — offer\neyebrow=\"Research gift\",heading=\"Your first GHK-Cu vial, on us.\",subheading=\"Drop your email and we'll send a code for a free GHK-Cu (50 mg) — a $39 research vial, same lot as retail. One per researcher.\",emailPlaceholder=\"you@lab.com\",ctaLabel=\"Reveal my code\",declineLabel=\"Not now\",trustText=\"Triple lab-tested. No spam — unsubscribe anytime.\",invalidText=\"Enter a valid email address.\",errorText=\"Something went wrong. Try again.\",disclaimer=\"For laboratory research purposes only. Not for human consumption, medical, veterinary, household, or any other use.\",// Content — revealed\nrevealedEyebrow=\"Gift unlocked\",revealedSub=\"Here's your code. Apply it at checkout — it discounts a GHK-Cu (50 mg) vial. One use per customer.\",successCtaLabel=\"Browse the catalog\",copyLabel=\"Copy\",copiedLabel=\"Copied\",shopUrl=\"/shop\",// Visual\nimage,valueLabel=\"Free \\xb7 $39 value\",captionLabel=\"GHK-Cu \\xb7 50 mg vial\",accentColor=\"#CBFF0F\",showGlow=true,// Bento\nsource=\"framer_offer_popup\",tags=\"newsletter, lead, offer_ghkcu\",// Behavior\nshowCloseButton=true,closeOnBackdrop=true,previewOnCanvas=true,previewRevealed=false,style}=props;const isStatic=useIsStaticRenderer();const reduce=useReducedMotion();const[open,setOpen]=useState(false);const[revealed,setRevealed]=useState(false);const[email,setEmail]=useState(\"\");const[status,setStatus]=useState(\"idle\");const[copied,setCopied]=useState(false);const inputRef=useRef(null);const firedRef=useRef(false);const imgSrc=image&&image.src||DEFAULT_IMG;const isValidEmail=v=>/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(v.trim());// ── Bento helper (uses the ready-queue from tracking-snippet.html) ──────────\nconst bento=useCallback(cb=>{if(typeof window===\"undefined\")return;const w=window;if(typeof w.bentoReady===\"function\")w.bentoReady(cb);else if(w.bento){try{cb(w.bento);}catch(e){}}},[]);const readLS=()=>{if(typeof window===\"undefined\")return{};try{const raw=localStorage.getItem(LS_KEY);return raw?JSON.parse(raw):{};}catch(e){return{};}};const writeLS=useCallback(patch=>{if(typeof window===\"undefined\")return;try{localStorage.setItem(LS_KEY,JSON.stringify({...readLS(),...patch}));}catch(e){}},[]);// ── Suppression: claimed forever, shown once per suppressDays, known = skip ──\nconst suppressed=useCallback(()=>{if(typeof window===\"undefined\")return true;const s=readLS();if(s.claimed)return true// submitted before → hide forever\n;if(s.shownAt&&Date.now()-s.shownAt<Math.max(0,suppressDays)*864e5)return true// already shown within the window (once/day default)\n;const w=window;if(w.bento&&typeof w.bento.getEmail===\"function\"&&w.bento.getEmail())return true// already an identified subscriber\n;return false;},[suppressDays]);const fire=useCallback((trigger=\"manual\")=>{if(firedRef.current)return;firedRef.current=true;writeLS({shownAt:Date.now()})// enforces once-per-window across reloads\n;setOpen(true);bento(b=>b.track(\"$offer_viewed\",{offer:offerKey,source}));// PostHog impression — the denominator for the capture rate.\ntrackPostHog(\"offer_shown\",{offer_id:offerKey,variant,source,trigger});},[writeLS,bento,offerKey,source,variant]);// ── Arm triggers (client only, not on canvas) ───────────────────────────────\nuseEffect(()=>{if(isStatic)return;// Testing bypass: ignore the frequency cap + triggers, show immediately.\nif(forceShow){fire(\"manual\");return;}if(suppressed())return;const timers=[];const cleanups=[];if(enableDelay){timers.push(setTimeout(()=>fire(\"delay\"),Math.max(0,triggerDelay)*1e3));}if(enableExitIntent){const onLeave=e=>{if(e.clientY<=0)fire(\"exit_intent\")// left via the top edge\n;};document.addEventListener(\"mouseout\",onLeave);cleanups.push(()=>document.removeEventListener(\"mouseout\",onLeave));}if(enableScroll){const onScroll=()=>{const h=document.documentElement.scrollHeight-window.innerHeight;const pct=h>0?window.scrollY/h*100:0;if(pct>=scrollPercent)fire(\"scroll\");};window.addEventListener(\"scroll\",onScroll,{passive:true});cleanups.push(()=>window.removeEventListener(\"scroll\",onScroll));}return()=>{timers.forEach(clearTimeout);cleanups.forEach(fn=>fn());};},[isStatic,suppressed,fire,enableDelay,triggerDelay,enableExitIntent,enableScroll,scrollPercent,forceShow]);// ── Canvas preview ───────────────────────────────────────────────────────────\nuseEffect(()=>{if(isStatic&&previewOnCanvas){setOpen(true);setRevealed(previewRevealed);}},[isStatic,previewOnCanvas,previewRevealed]);// ── Portal readiness — only touch document.body in the browser, after mount ──\nconst[portalReady,setPortalReady]=useState(false);useEffect(()=>setPortalReady(true),[]);// ── Body scroll-lock, focus, Esc (live only) ────────────────────────────────\nuseEffect(()=>{if(!open||isStatic)return;const prev=document.body.style.overflow;document.body.style.overflow=\"hidden\";const focusT=setTimeout(()=>inputRef.current?.focus(),140);const onKey=e=>{if(e.key===\"Escape\")dismiss();};window.addEventListener(\"keydown\",onKey);return()=>{document.body.style.overflow=prev;clearTimeout(focusT);window.removeEventListener(\"keydown\",onKey);};// eslint-disable-next-line react-hooks/exhaustive-deps\n},[open,isStatic]);const dismiss=useCallback(()=>{if(!isStatic&&!revealed){bento(b=>b.track(\"$offer_dismissed\",{offer:offerKey,source}));// PostHog: a genuine dismiss (closed without claiming).\ntrackPostHog(\"offer_dismissed\",{offer_id:offerKey,variant,source,had_typed:Boolean(email)});}setOpen(false);},[isStatic,revealed,bento,offerKey,source,variant,email]);const submit=useCallback(()=>{if(status===\"loading\")return;const clean=email.trim().toLowerCase();if(!isValidEmail(clean)){setStatus(\"invalid\");trackPostHog(\"email_capture_failed\",{offer_id:offerKey,variant,source,reason:\"invalid_email\"});return;}setStatus(\"loading\");const tagList=(tags||\"\").split(\",\").map(t=>t.trim()).filter(Boolean);const send=b=>{try{b.identify(clean);// Opt them in. Bento only sends marketing/automation email to\n// SUBSCRIBED contacts — identify + tag alone leaves them unmailable,\n// so the Welcome flow would never reach them. Submitting for the\n// gift is an explicit opt-in, so $subscribe here is compliant.\nb.track(\"$subscribe\",{});b.updateFields({source,coupon_code:couponCode,offer:offerKey});tagList.forEach(t=>b.tag(t));b.track(\"$offer_claimed\",{offer:offerKey,coupon_code:couponCode,source});}catch(e){}};const w=typeof window!==\"undefined\"?window:null;if(w&&(w.bentoReady||w.bento)){bento(send);writeLS({claimed:true,claimedAt:Date.now()})// hide forever\n;// PostHog: identify by email, then record the conversion (numerator).\n// Fire only on a validated, successful capture — never the raw click.\nidentifyPostHog(clean);trackPostHog(\"email_captured\",{offer_id:offerKey,variant,source,tags:tagList,email_domain:clean.split(\"@\")[1]||null});setStatus(\"idle\");setRevealed(true)// ← the field transforms into the code in place\n;}else{setStatus(\"error\");trackPostHog(\"email_capture_failed\",{offer_id:offerKey,variant,source,reason:\"bento_unavailable\"});}},[status,email,tags,source,couponCode,offerKey,bento,writeLS,variant]);const copyCode=useCallback(()=>{if(typeof navigator===\"undefined\")return;try{navigator.clipboard?.writeText(couponCode);setCopied(true);setTimeout(()=>setCopied(false),1800);}catch(e){}},[couponCode]);const onKeyDown=e=>{if(e.key===\"Enter\"){e.preventDefault();submit();}};const cardInit=reduce?{opacity:0}:{opacity:0,scale:.96,y:10};const cardIn=reduce?{opacity:1}:{opacity:1,scale:1,y:0};const cardOut=reduce?{opacity:0}:{opacity:0,scale:.98,y:6};// The in-place morph: old slot blurs out, new slot blurs in.\nconst slotIn=reduce?{opacity:0}:{opacity:0,y:8,filter:\"blur(6px)\"};const slotShow={opacity:1,y:0,filter:\"blur(0px)\"};const slotOut=reduce?{opacity:0}:{opacity:0,y:-8,filter:\"blur(6px)\"};// Self-contained overlay: an inline-positioned fixed root that carries its\n// OWN <style>. The whole thing is portaled to <body> as one unit, so the\n// modal never depends on the marker div — which Framer may not render on\n// every breakpoint (the cause of it vanishing on mobile). Positioning lives\n// inline on portalRootStyle, so it holds even before the <style> applies.\nconst portalRootStyle={position:\"fixed\",inset:0,zIndex:2147483e3,pointerEvents:open?\"auto\":\"none\"};const overlay=/*#__PURE__*/_jsxs(\"div\",{style:portalRootStyle,\"data-axos-offer-portal\":\"true\",children:[/*#__PURE__*/_jsx(\"style\",{children:popupCss}),/*#__PURE__*/_jsx(AnimatePresence,{children:open&&/*#__PURE__*/_jsx(motion.div,{className:\"axos-offer-backdrop\",initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.22,ease:EASE},onClick:closeOnBackdrop?dismiss:undefined,role:\"dialog\",\"aria-modal\":\"true\",\"aria-labelledby\":\"axos-offer-heading\",children:/*#__PURE__*/_jsxs(motion.div,{className:\"axos-offer-card\",initial:cardInit,animate:cardIn,exit:cardOut,transition:{duration:.28,ease:EASE},onClick:e=>e.stopPropagation(),children:[showCloseButton&&/*#__PURE__*/_jsx(\"button\",{onClick:dismiss,\"aria-label\":\"Close\",className:\"axos-offer-close\",children:/*#__PURE__*/_jsx(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 14 14\",fill:\"none\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M2 2L12 12M12 2L2 12\",stroke:\"currentColor\",strokeWidth:\"1.6\",strokeLinecap:\"round\"})})}),/*#__PURE__*/_jsxs(\"div\",{className:\"axos-offer-visual\",children:[showGlow&&/*#__PURE__*/_jsx(\"div\",{className:\"axos-offer-glow\",style:{background:`radial-gradient(120px 120px at 50% 42%, ${hexToRgba(accentColor,.22)}, transparent 70%)`}}),/*#__PURE__*/_jsxs(\"div\",{className:\"axos-offer-tray\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"axos-offer-badge\",style:{background:accentColor},children:valueLabel}),/*#__PURE__*/_jsx(\"div\",{className:\"axos-offer-tray-inner\",children:/*#__PURE__*/_jsx(\"img\",{src:imgSrc,alt:captionLabel,className:\"axos-offer-img\",draggable:false})})]}),/*#__PURE__*/_jsx(\"div\",{className:\"axos-offer-caption\",children:captionLabel})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"axos-offer-content\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"axos-offer-eyebrow\",children:revealed?revealedEyebrow:eyebrow}),/*#__PURE__*/_jsx(\"h2\",{id:\"axos-offer-heading\",className:\"axos-offer-heading\",children:heading}),/*#__PURE__*/_jsx(\"p\",{className:\"axos-offer-sub\",children:revealed?revealedSub:subheading}),/*#__PURE__*/_jsx(\"div\",{className:\"axos-offer-slot\",children:/*#__PURE__*/_jsx(AnimatePresence,{mode:\"wait\",initial:false,children:!revealed?/*#__PURE__*/_jsxs(motion.div,{initial:false,exit:slotOut,transition:{duration:.24,ease:EASE},children:[/*#__PURE__*/_jsxs(\"div\",{className:\"axos-offer-form\",children:[/*#__PURE__*/_jsx(\"input\",{ref:inputRef,type:\"email\",inputMode:\"email\",autoComplete:\"email\",value:email,onChange:e=>{setEmail(e.target.value);if(status!==\"idle\")setStatus(\"idle\");},onKeyDown:onKeyDown,placeholder:emailPlaceholder,className:\"axos-offer-input\",style:{borderColor:status===\"invalid\"||status===\"error\"?\"rgba(255,90,90,0.55)\":undefined}}),/*#__PURE__*/_jsx(\"button\",{onClick:submit,disabled:status===\"loading\",className:\"axos-offer-cta\",style:{background:accentColor},children:status===\"loading\"?\"Revealing…\":ctaLabel})]}),/*#__PURE__*/_jsx(\"div\",{className:\"axos-offer-meta\",children:status===\"invalid\"?/*#__PURE__*/_jsx(\"span\",{className:\"axos-offer-err\",children:invalidText}):status===\"error\"?/*#__PURE__*/_jsx(\"span\",{className:\"axos-offer-err\",children:errorText}):/*#__PURE__*/_jsx(\"span\",{className:\"axos-offer-trust\",children:trustText})})]},\"form\"):/*#__PURE__*/_jsxs(motion.div,{initial:slotIn,animate:slotShow,transition:{duration:.3,ease:EASE,delay:.04},children:[/*#__PURE__*/_jsxs(\"div\",{className:\"axos-offer-code\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"axos-offer-code-val\",children:couponCode}),/*#__PURE__*/_jsx(\"button\",{onClick:copyCode,className:\"axos-offer-copy\",style:copied?{color:\"#000\",background:accentColor,borderColor:accentColor}:undefined,children:copied?copiedLabel:copyLabel})]}),/*#__PURE__*/_jsxs(\"a\",{href:shopUrl,className:\"axos-offer-shop\",onClick:()=>setOpen(false),children:[successCtaLabel,/*#__PURE__*/_jsx(\"span\",{className:\"axos-offer-shop-icon\",children:/*#__PURE__*/_jsx(\"svg\",{width:\"12\",height:\"12\",viewBox:\"0 0 12 12\",fill:\"none\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M3 9L9 3M9 3H4M9 3V8\",stroke:\"currentColor\",strokeWidth:\"1.5\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})})})]})]},\"code\")})}),!revealed&&/*#__PURE__*/_jsx(\"button\",{onClick:dismiss,className:\"axos-offer-decline\",children:declineLabel}),/*#__PURE__*/_jsx(\"p\",{className:\"axos-offer-disc\",children:disclaimer})]})]},\"card\")},\"backdrop\")})]});// Portal the whole self-contained overlay to <body>. Two wins:\n//  1. Escapes any transformed ancestor — Framer wraps headers/components in\n//     transformed elements, and a `transform` on ANY ancestor makes\n//     position:fixed resolve to that ancestor, not the viewport (this pinned\n//     the modal to the header and cut it off).\n//  2. The overlay carries its own <style>, so it renders correctly even on\n//     breakpoints where Framer doesn't render the marker (mobile vanish bug).\n// On the canvas we render inline so the designer still sees it in context.\nconst canPortal=portalReady&&!isStatic&&typeof document!==\"undefined\";return /*#__PURE__*/_jsx(\"div\",{style:{...markerStyle,...style},\"aria-hidden\":!open,children:open&&(canPortal?/*#__PURE__*/createPortal(overlay,document.body):overlay)});}function hexToRgba(hex,alpha){const h=(hex||\"#CBFF0F\").replace(\"#\",\"\");const full=h.length===3?h.split(\"\").map(c=>c+c).join(\"\"):h;const r=parseInt(full.slice(0,2),16);const g=parseInt(full.slice(2,4),16);const b=parseInt(full.slice(4,6),16);return`rgba(${r},${g},${b},${alpha})`;}// ─── Defaults ─────────────────────────────────────────────────────────────────\nBentoOfferPopup.defaultProps={enableDelay:true,triggerDelay:10,enableExitIntent:true,enableScroll:false,scrollPercent:45,forceShow:false,suppressDays:1,couponCode:\"RESEARCHGIFT\",offerKey:\"ghkcu_free_vial\",variant:\"default\",eyebrow:\"Research gift\",heading:\"Your first GHK-Cu vial, on us.\",subheading:\"Drop your email and we'll send a code for a free GHK-Cu (50 mg) — a $39 research vial, same lot as retail. One per researcher.\",emailPlaceholder:\"you@lab.com\",ctaLabel:\"Reveal my code\",declineLabel:\"Not now\",trustText:\"Triple lab-tested. No spam — unsubscribe anytime.\",invalidText:\"Enter a valid email address.\",errorText:\"Something went wrong. Try again.\",disclaimer:\"For laboratory research purposes only. Not for human consumption, medical, veterinary, household, or any other use.\",revealedEyebrow:\"Gift unlocked\",revealedSub:\"Here's your code. Apply it at checkout — it discounts a GHK-Cu (50 mg) vial. One use per customer.\",successCtaLabel:\"Browse the catalog\",copyLabel:\"Copy\",copiedLabel:\"Copied\",shopUrl:\"/shop\",valueLabel:\"Free \\xb7 $39 value\",captionLabel:\"GHK-Cu \\xb7 50 mg vial\",accentColor:\"#CBFF0F\",showGlow:true,source:\"framer_offer_popup\",tags:\"newsletter, lead, offer_ghkcu\",showCloseButton:true,closeOnBackdrop:true,previewOnCanvas:true,previewRevealed:false};// ─── Property controls ──────────────────────────────────────────────────────\naddPropertyControls(BentoOfferPopup,{enableDelay:{type:ControlType.Boolean,title:\"Delay trigger\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},triggerDelay:{type:ControlType.Number,title:\"Delay (s)\",defaultValue:10,min:0,max:120,step:1,unit:\"s\",hidden:p=>!p.enableDelay},enableExitIntent:{type:ControlType.Boolean,title:\"Exit intent\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\",description:\"Desktop: also fires when the cursor leaves the top of the page.\"},enableScroll:{type:ControlType.Boolean,title:\"Scroll trigger\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\"},scrollPercent:{type:ControlType.Number,title:\"Scroll %\",defaultValue:45,min:5,max:100,step:5,unit:\"%\",hidden:p=>!p.enableScroll},forceShow:{type:ControlType.Boolean,title:\"Force show\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\",description:\"TESTING ONLY — ignores the frequency cap and shows the popup immediately on every load (even to known subscribers). Turn OFF before publishing.\"},suppressDays:{type:ControlType.Number,title:\"Show every\",defaultValue:1,min:0,max:365,step:1,unit:\"days\",description:\"1 = once per day per device. After they submit, it never shows again.\"},couponCode:{type:ControlType.String,title:\"Coupon code\",defaultValue:\"RESEARCHGIFT\",description:\"The code revealed after submit. Must match the coupon you create in WooCommerce.\"},offerKey:{type:ControlType.String,title:\"Offer key\",defaultValue:\"ghkcu_free_vial\",description:\"Stored in the Bento `offer` field + used in event names. Also the PostHog `offer_id`. For segmentation.\"},variant:{type:ControlType.String,title:\"Variant\",defaultValue:\"default\",description:\"A/B variant label sent on every PostHog event (offer_shown, email_captured, …). Change per variant when split-testing.\"},eyebrow:{type:ControlType.String,title:\"Eyebrow\",defaultValue:\"Research gift\"},heading:{type:ControlType.String,title:\"Heading\",defaultValue:\"Your first GHK-Cu vial, on us.\",displayTextArea:true},subheading:{type:ControlType.String,title:\"Subheading\",defaultValue:\"Drop your email and we'll send a code for a free GHK-Cu (50 mg) — a $39 research vial, same lot as retail. One per researcher.\",displayTextArea:true},emailPlaceholder:{type:ControlType.String,title:\"Email PH\",defaultValue:\"you@lab.com\"},ctaLabel:{type:ControlType.String,title:\"CTA\",defaultValue:\"Reveal my code\"},declineLabel:{type:ControlType.String,title:\"Decline\",defaultValue:\"Not now\"},trustText:{type:ControlType.String,title:\"Trust line\",defaultValue:\"Triple lab-tested. No spam — unsubscribe anytime.\"},invalidText:{type:ControlType.String,title:\"Invalid msg\",defaultValue:\"Enter a valid email address.\"},errorText:{type:ControlType.String,title:\"Error msg\",defaultValue:\"Something went wrong. Try again.\"},disclaimer:{type:ControlType.String,title:\"Disclaimer\",defaultValue:\"For laboratory research purposes only. Not for human consumption, medical, veterinary, household, or any other use.\",displayTextArea:true},revealedEyebrow:{type:ControlType.String,title:\"OK Eyebrow\",defaultValue:\"Gift unlocked\"},revealedSub:{type:ControlType.String,title:\"OK Subhead\",defaultValue:\"Here's your code. Apply it at checkout — it discounts a GHK-Cu (50 mg) vial. One use per customer.\",displayTextArea:true},successCtaLabel:{type:ControlType.String,title:\"OK CTA\",defaultValue:\"Browse the catalog\"},copyLabel:{type:ControlType.String,title:\"Copy\",defaultValue:\"Copy\"},copiedLabel:{type:ControlType.String,title:\"Copied\",defaultValue:\"Copied\"},shopUrl:{type:ControlType.String,title:\"Shop URL\",defaultValue:\"/shop\",description:\"Where the post-reveal CTA links.\"},image:{type:ControlType.ResponsiveImage,title:\"Gift image\",description:\"Defaults to the GHK-Cu (50 mg) product shot.\"},valueLabel:{type:ControlType.String,title:\"Value badge\",defaultValue:\"Free \\xb7 $39 value\"},captionLabel:{type:ControlType.String,title:\"Caption\",defaultValue:\"GHK-Cu \\xb7 50 mg vial\"},accentColor:{type:ControlType.Color,title:\"Accent\",defaultValue:\"#CBFF0F\"},showGlow:{type:ControlType.Boolean,title:\"Accent glow\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},source:{type:ControlType.String,title:\"Source\",defaultValue:\"framer_offer_popup\",description:\"Written to the Bento `source` field.\"},tags:{type:ControlType.String,title:\"Tags\",defaultValue:\"newsletter, lead, offer_ghkcu\",description:\"Comma-separated Bento tags applied on submit.\"},showCloseButton:{type:ControlType.Boolean,title:\"Close button\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},closeOnBackdrop:{type:ControlType.Boolean,title:\"Click-out\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},previewOnCanvas:{type:ControlType.Boolean,title:\"Preview on canvas\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\",description:\"Show the popup on the Framer canvas for design. No effect on the live site.\"},previewRevealed:{type:ControlType.Boolean,title:\"Preview revealed\",defaultValue:false,enabledTitle:\"Code\",disabledTitle:\"Form\",hidden:p=>!p.previewOnCanvas,description:\"Preview the code-revealed state on the canvas.\"}});// ─── Styles (injected; Framer's editor has no CSS modules) ────────────────────\nconst markerStyle={width:0,height:0,overflow:\"visible\",pointerEvents:\"none\"};const popupCss=`\n.axos-offer-backdrop {\n    position: fixed; inset: 0; z-index: 2147483000;\n    display: flex; align-items: center; justify-content: center; padding: 20px;\n    background: rgba(9,9,10,0.72);\n    -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);\n    pointer-events: auto;\n}\n.axos-offer-card {\n    position: relative; display: flex; flex-direction: row;\n    width: min(760px, calc(100vw - 40px)); max-height: calc(100dvh - 40px);\n    background: #111111; border: 1px solid rgba(255,255,255,0.08);\n    border-radius: 20px; overflow: hidden;\n    box-shadow: 0 40px 80px -24px rgba(0,0,0,0.7);\n    font-family: 'Inter', sans-serif; transform: translateZ(0);\n}\n.axos-offer-close {\n    position: absolute; top: 14px; right: 14px; z-index: 3;\n    width: 30px; height: 30px; border-radius: 999px;\n    display: flex; align-items: center; justify-content: center;\n    background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.08);\n    color: rgba(255,255,255,0.55); cursor: pointer;\n    transition: background 160ms cubic-bezier(0.23,1,0.32,1), color 160ms cubic-bezier(0.23,1,0.32,1), transform 140ms cubic-bezier(0.23,1,0.32,1);\n}\n.axos-offer-close:hover { background: rgba(255,255,255,0.12); color: #fff; }\n.axos-offer-close:active { transform: scale(0.94); }\n\n.axos-offer-visual {\n    position: relative; flex: 0 0 42%; background: #0D0D0D;\n    border-right: 1px solid rgba(255,255,255,0.06);\n    display: flex; flex-direction: column; align-items: center; justify-content: center;\n    padding: 28px 22px; gap: 14px;\n}\n.axos-offer-glow { position: absolute; inset: 0; pointer-events: none; }\n.axos-offer-tray {\n    position: relative; z-index: 1;\n    background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08);\n    border-radius: 18px; padding: 10px; box-shadow: inset 0 1px 0 rgba(255,255,255,0.06);\n}\n.axos-offer-badge {\n    position: absolute; top: -11px; left: 12px; z-index: 2; color: #000;\n    font-family: 'Instrument Sans', sans-serif;\n    font-size: 10px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase;\n    padding: 5px 10px; border-radius: 999px; box-shadow: 0 4px 14px rgba(203,255,15,0.30);\n}\n.axos-offer-tray-inner {\n    background: #111111; border-radius: 12px; overflow: hidden;\n    width: 168px; height: 168px; display: flex; align-items: center; justify-content: center;\n}\n.axos-offer-img { width: 100%; height: 100%; object-fit: cover; display: block; }\n.axos-offer-caption {\n    position: relative; z-index: 1; font-family: 'JetBrains Mono', monospace;\n    font-size: 10.5px; letter-spacing: 0.04em; color: rgba(255,255,255,0.42);\n}\n\n.axos-offer-content { flex: 1 1 auto; padding: 34px 32px 26px; overflow-y: auto; }\n.axos-offer-eyebrow {\n    font-family: 'Instrument Sans', sans-serif;\n    font-size: 10px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase;\n    color: rgba(255,255,255,0.42); margin-bottom: 12px;\n}\n.axos-offer-heading {\n    font-family: 'Sora', sans-serif;\n    font-size: 28px; font-weight: 700; letter-spacing: -0.02em; line-height: 1.12;\n    color: #FFFFFF; margin: 0 0 10px 0;\n}\n.axos-offer-sub {\n    font-family: 'Inter', sans-serif; font-size: 14px; line-height: 1.6;\n    color: rgba(255,255,255,0.55); margin: 0 0 20px 0;\n}\n.axos-offer-slot { position: relative; }\n.axos-offer-form { display: flex; flex-direction: column; gap: 9px; }\n.axos-offer-input {\n    height: 50px; width: 100%; box-sizing: border-box;\n    background: #1A1A1A; border: 1px solid rgba(255,255,255,0.08); border-radius: 999px;\n    padding: 0 20px; color: #FFFFFF;\n    font-family: 'Inter', sans-serif; font-size: 14px; outline: none;\n    transition: border-color 180ms cubic-bezier(0.23,1,0.32,1), box-shadow 180ms cubic-bezier(0.23,1,0.32,1);\n}\n.axos-offer-input::placeholder { color: rgba(255,255,255,0.30); }\n.axos-offer-input:focus { border-color: #CBFF0F; box-shadow: 0 0 0 3px rgba(203,255,15,0.12); }\n.axos-offer-cta {\n    height: 50px; width: 100%; border: none; border-radius: 999px; color: #000000;\n    font-family: 'Inter', sans-serif; font-size: 14px; font-weight: 600; letter-spacing: 0.01em;\n    cursor: pointer;\n    transition: filter 160ms cubic-bezier(0.23,1,0.32,1), transform 140ms cubic-bezier(0.23,1,0.32,1);\n}\n.axos-offer-cta:hover { filter: brightness(1.06); }\n.axos-offer-cta:active { transform: scale(0.985); }\n.axos-offer-cta:disabled { opacity: 0.65; cursor: default; }\n.axos-offer-meta { min-height: 18px; margin-top: 12px; }\n.axos-offer-trust { font-family: 'Inter', sans-serif; font-size: 11.5px; color: rgba(255,255,255,0.42); }\n.axos-offer-err { font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 500; color: #FF8585; }\n.axos-offer-decline {\n    display: block; margin: 14px auto 0; padding: 6px 8px;\n    background: none; border: none; cursor: pointer;\n    font-family: 'Inter', sans-serif; font-size: 12.5px; color: rgba(255,255,255,0.38);\n    transition: color 160ms cubic-bezier(0.23,1,0.32,1);\n}\n.axos-offer-decline:hover { color: rgba(255,255,255,0.6); }\n.axos-offer-disc {\n    font-family: 'Inter', sans-serif; font-size: 10.5px; line-height: 1.5;\n    color: rgba(255,255,255,0.30); margin: 18px 0 0 0;\n}\n\n.axos-offer-code {\n    display: flex; align-items: center; justify-content: space-between; gap: 12px;\n    background: #1A1A1A; border: 1px dashed rgba(255,255,255,0.18); border-radius: 12px;\n    padding: 11px 11px 11px 18px; margin: 0 0 10px;\n}\n.axos-offer-code-val {\n    font-family: 'JetBrains Mono', monospace; font-size: 17px; font-weight: 600;\n    letter-spacing: 0.06em; color: #FFFFFF; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;\n}\n.axos-offer-copy {\n    flex-shrink: 0; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.12);\n    border-radius: 999px; padding: 9px 16px; color: #FFFFFF; cursor: pointer;\n    font-family: 'Instrument Sans', sans-serif; font-size: 11px; font-weight: 600;\n    letter-spacing: 0.06em; text-transform: uppercase;\n    transition: background 160ms cubic-bezier(0.23,1,0.32,1), color 160ms cubic-bezier(0.23,1,0.32,1), transform 140ms cubic-bezier(0.23,1,0.32,1);\n}\n.axos-offer-copy:active { transform: scale(0.95); }\n.axos-offer-shop {\n    display: inline-flex; align-items: center; gap: 10px;\n    height: 48px; padding: 0 10px 0 22px; border-radius: 999px;\n    background: #FFFFFF; color: #09090A; text-decoration: none;\n    font-family: 'Inter', sans-serif; font-size: 14px; font-weight: 600;\n    transition: filter 160ms cubic-bezier(0.23,1,0.32,1), transform 140ms cubic-bezier(0.23,1,0.32,1);\n}\n.axos-offer-shop:hover { filter: brightness(0.94); }\n.axos-offer-shop:active { transform: scale(0.985); }\n.axos-offer-shop-icon {\n    display: flex; align-items: center; justify-content: center;\n    width: 28px; height: 28px; border-radius: 999px; background: rgba(0,0,0,0.08);\n}\n\n@media (max-width: 560px) {\n    .axos-offer-card { flex-direction: column; width: calc(100vw - 32px); }\n    .axos-offer-visual {\n        flex: 0 0 auto; flex-direction: row; gap: 16px;\n        border-right: none; border-bottom: 1px solid rgba(255,255,255,0.06); padding: 22px;\n    }\n    .axos-offer-tray-inner { width: 96px; height: 96px; }\n    .axos-offer-caption { display: none; }\n    .axos-offer-content { padding: 24px 22px 22px; }\n    .axos-offer-heading { font-size: 23px; }\n}\n@media (prefers-reduced-motion: reduce) {\n    .axos-offer-backdrop { -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }\n}\n`;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"BentoOfferPopup\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicWidth\":\"80\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerDisableUnlink\":\"\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"40\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./BentoOfferPopup.map"],"mappings":"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"}