{"version":3,"file":"ShopifySystem.B_ZxHcc7.mjs","names":["React.useState","React.useRef","React.useState","React.useRef","React.useCallback","React.useMemo","_Fragment","p"],"sources":["https:/framerusercontent.com/modules/UC5RN54uYXsY989ELN13/rEZx3KmBGouSlfDe8VXL/WildBannerCookies.js","https:/framerusercontent.com/modules/QFmak6n48DvIcjrSTBow/w4zgeMgUy0Hvb6HrtrkU/ShopifySystem.js"],"sourcesContent":["/**\n * La barra de consentimiento.\n *\n * No bloquea la página: la tienda funciona desde el primer segundo y aquí no se\n * registra nada hasta que se responde. Aceptar y rechazar tienen el mismo peso\n * visual a propósito — un rechazar escondido invalida el consentimiento entero\n * y además hace que la gente rechace por desconfianza.\n *\n * No se coloca a mano en ninguna página. La montan el chat y la tienda, y la\n * guarda de instancia única evita que salga dos veces. Colgarla solo del chat\n * sería más limpio y se descartó: quitar el chat de una página se llevaría por\n * delante una pieza legal sin que nadie lo note.\n */import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{guardarDecision,retirarConsentimiento,consentimientoConcedido,hayQuePreguntar,configurarMedicion}from\"https://framerusercontent.com/modules/WA1NC2Md295riOeB4u83/02lxdEq9dDqr7TPiVMzR/WildRastro.js\";const TEXTOS={es:{cuerpo:\"Usamos cookies propias para saber qu\\xe9 productos te interesan y para mostrarte anuncios nuestros en otras webs. Si prefieres que no, la tienda funciona igual.\",aceptar:\"Aceptar\",rechazar:\"Rechazar\",mas:\"M\\xe1s informaci\\xf3n\"},en:{cuerpo:\"We use our own cookies to learn which products interest you and to show you our ads on other sites. If you'd rather not, the shop works just the same.\",aceptar:\"Accept\",rechazar:\"Decline\",mas:\"More information\"},it:{cuerpo:\"Usiamo cookie nostri per capire quali prodotti ti interessano e per mostrarti i nostri annunci su altri siti. Se preferisci di no, il negozio funziona lo stesso.\",aceptar:\"Accetta\",rechazar:\"Rifiuta\",mas:\"Maggiori informazioni\"}};/**\n * El idioma, con **la misma regla que el resto de la tienda**: la ruta manda.\n *\n * `useCurrentLang` en ShopComponent hace exactamente esto —`/es` español, `/it`\n * italiano, el resto inglés— y el banner tiene que coincidir con la página que\n * lo rodea. Antes miraba el `lang` del documento y el del navegador, que es una\n * regla distinta: bastaba con tener el navegador en italiano para leer un\n * banner en italiano dentro de una web en inglés, y un consentimiento que no se\n * lee en el mismo idioma que la página no vale gran cosa.\n */function idiomaDeLaPagina(){if(typeof window===\"undefined\")return\"en\";const ruta=window.location.pathname;if(ruta.startsWith(\"/es\"))return\"es\";if(ruta.startsWith(\"/it\"))return\"it\";return\"en\";}/** Sin esto, chat y tienda pintarían una barra cada uno. */let yaMontado=false;export function WildBannerCookies(props){const[visible,setVisible]=React.useState(false);const[idioma,setIdioma]=React.useState(\"en\");const soyElDueno=React.useRef(false);React.useEffect(()=>{if(typeof window===\"undefined\")return;if(yaMontado&&!soyElDueno.current)return;yaMontado=true;soyElDueno.current=true;setIdioma(idiomaDeLaPagina());configurarMedicion({pixelId:props.pixelId,ga4Id:props.ga4Id});setVisible(hayQuePreguntar());// El camino de vuelta que la política de privacidad ya promete: un\n// enlace del pie llama a window.wildAbrirConsentimiento().\nconst abrir=()=>setVisible(true);window.addEventListener(\"wild:abrir-consentimiento\",abrir);return()=>{window.removeEventListener(\"wild:abrir-consentimiento\",abrir);if(soyElDueno.current)yaMontado=false;};},[props.pixelId,props.ga4Id]);if(!visible)return null;const t=TEXTOS[idioma];const responder=granted=>{if(!granted&&consentimientoConcedido()){// Ya había dicho que sí y ahora se echa atrás: eso es retirar, no\n// rechazar. Avisa al servidor y recarga para descargar el píxel.\nretirarConsentimiento(idioma);return;}guardarDecision(granted,idioma);setVisible(false);};return /*#__PURE__*/_jsxs(\"div\",{role:\"dialog\",\"aria-live\":\"polite\",style:{position:\"fixed\",left:16,right:16,bottom:16,zIndex:2147483e3,maxWidth:720,margin:\"0 auto\",background:\"#111\",color:\"#fff\",borderRadius:14,padding:\"16px 18px\",display:\"flex\",flexWrap:\"wrap\",gap:12,alignItems:\"center\",fontFamily:'\"Inter Display\", sans-serif',fontSize:14,lineHeight:1.45,boxShadow:\"0 8px 30px rgba(0,0,0,.25)\"},children:[/*#__PURE__*/_jsxs(\"p\",{style:{flex:\"1 1 320px\",margin:0},children:[t.cuerpo,\" \",props.urlPolitica?/*#__PURE__*/_jsx(\"a\",{href:props.urlPolitica,style:{color:\"#fff\",textDecoration:\"underline\"},children:t.mas}):null]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",gap:10},children:[/*#__PURE__*/_jsx(\"button\",{onClick:()=>responder(false),style:{padding:\"10px 18px\",borderRadius:10,border:\"1px solid rgba(255,255,255,.45)\",background:\"transparent\",color:\"#fff\",fontSize:14,fontWeight:600,cursor:\"pointer\"},children:t.rechazar}),/*#__PURE__*/_jsx(\"button\",{onClick:()=>responder(true),style:{padding:\"10px 18px\",borderRadius:10,border:\"1px solid #fff\",background:\"#fff\",color:\"#111\",fontSize:14,fontWeight:600,cursor:\"pointer\"},children:t.aceptar})]})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"WildBannerCookies\":{\"type\":\"reactComponent\",\"name\":\"WildBannerCookies\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";// La ruta es relativa a la carpeta de este componente dentro de Framer. Si\n// vive en una subcarpeta, como le pasa al chat con `Workshop/`, hay que subir\n// un nivel: \"../WildRastro.tsx\".\nimport{consentimientoConcedido,registrarEvento,fijarProductoVisible,productoEnPantalla,identificadorVisitante,nuevoIdDeEvento,recordarCorreoParaMeta}from\"https://framerusercontent.com/modules/WA1NC2Md295riOeB4u83/02lxdEq9dDqr7TPiVMzR/WildRastro.js\";import{WildBannerCookies}from\"https://framerusercontent.com/modules/UC5RN54uYXsY989ELN13/rEZx3KmBGouSlfDe8VXL/WildBannerCookies.js\";// --- CONFIGURACIÓN ---\nconst DEFAULT_DOMAIN=\"wildfood-plantbased.myshopify.com\";const DEFAULT_TOKEN=\"15a8db4807cfa44cf28f56d9132f9550\";const FONT_FAMILY='\"Inter Display\", sans-serif';const FREE_SHIPPING_THRESHOLD=49;const MIN_ORDER_THRESHOLD=19.9// CAMBIADO de 40.0\n;// --- META PIXEL TRACKING ---\n//\n// El script del píxel ya no se carga desde el <head> de Framer: lo enciende\n// `wildRastro` cuando alguien acepta. Desde el head cargaba antes de que\n// existiera ningún componente, y para entonces ya había pedido el fichero a\n// Facebook y escrito la cookie _fbp: ninguna puerta puesta aquí llegaba a\n// tiempo.\n//\n// Esta puerta sigue teniendo sentido como segunda línea: cierra los dieciséis\n// eventos de la tienda desde el propio código, sin depender de que la\n// configuración de Framer esté bien.\n//\n// Y aprovecha para ser el **único punto de enganche** del rastro propio: un\n// AddToCart de Meta es un `add_to_cart` nuestro. Hacerlo aquí en vez de en los\n// diez sitios que lo llaman evita diez ediciones en un fichero de once mil\n// líneas, y que dentro de un año alguien añada el undécimo y se olvide.\nfunction trackPixelEvent(eventName,params={}){try{if(!consentimientoConcedido())return;// El mismo identificador en los dos caminos. Meta une el evento que\n// llega del navegador con el que llega del servidor y cuenta uno; sin\n// esto contaría dos, y tus números dirían el doble de lo que vendes.\nconst eventID=nuevoIdDeEvento();if(eventName===\"AddToCart\"){// Sin await: que el carrito lleve la marca es importante, pero no\n// tanto como que el botón responda.\ntry{const cid=localStorage.getItem(\"shopify_cart_id\");if(cid)void marcarCarritoConVisitante(cid,DEFAULT_DOMAIN,DEFAULT_TOKEN);}catch{}registrarEvento(\"add_to_cart\",{eventId:eventID,// El handle solo si la ficha está a la vista. Desde el carrito\n// flotante va sin él, que es preferible a atribuirlo al último\n// producto que se miró.\nproductHandle:productoEnPantalla(),quantity:typeof params?.num_items===\"number\"?params.num_items:undefined,price:typeof params?.value===\"number\"?params.value:undefined});}if(typeof window!==\"undefined\"&&window.fbq){window.fbq(\"track\",eventName,params,{eventID});}}catch(e){// silently ignore tracking errors\n}}// NOTE: reusing existing stripGid() helper defined below for ID extraction\n// Código que aplica el 30% en la primera entrega de la WILD BOX. Shopify lo\n// limita solo: \"appliesOncePerCustomer\" (un uso por cliente) y\n// \"recurringCycleLimit: 1\" (solo el primer cobro). Aquí únicamente\n// decidimos si debe estar presente en el carrito o no.\nconst SUB_FIRST_ORDER_CODE=\"WILDBOX30\";/**\n * Deja el identificador del visitante dentro del carrito de Shopify.\n *\n * Es lo que permite atar «vio esto tres veces y acabó comprando». El checkout\n * vive en otro dominio, así que el identificador no llega solo: tiene que\n * viajar dentro del propio carrito, y de ahí pasa al pedido como atributo, que\n * es lo que lee el webhook.\n *\n * Solo escribe si hay consentimiento. Y solo una vez por carrito: se recuerda\n * cuál ya se marcó para no lanzar una mutación en cada añadido.\n *\n * `cartAttributesUpdate` reemplaza **todos** los atributos del carrito, así que\n * primero se leen los que haya y se conservan. Los atributos de línea —el\n * `_subbox` de las suscripciones— son otra cosa y no se tocan.\n */const carritosMarcados=new Set;async function marcarCarritoConVisitante(cartId,domain,token){// Fuera del `try` porque el `catch` tiene que poder deshacerlo: si se marca\n// como hecho y luego falla, sin esto no se reintenta en toda la sesión.\nlet yaHecho=null;try{if(!cartId)return;const visitante=identificadorVisitante();if(!visitante)return;// La memoria va por carrito **y** por identificador: si el visitante\n// cambia sin recargar la página —acaba de aceptar el banner teniendo ya\n// un carrito— hay que volver a marcarlo, no darlo por hecho.\nyaHecho=`${cartId}|${visitante}`;if(carritosMarcados.has(yaHecho))return;carritosMarcados.add(yaHecho);const actual=await shopifyFetch(`query CartAttrs($cartId: ID!) { cart(id: $cartId) { attributes { key value } } }`,{cartId},domain,token);const previos=actual?.data?.cart?.attributes||[];// Si ya lleva **este** identificador, no hay nada que hacer. Si lleva\n// otro, se reemplaza.\n//\n// Antes bastaba con que existiera la marca para no tocarla, y el\n// carrito se quedaba con un identificador muerto para siempre: quien\n// borra sus cookies, quien vuelve semanas después a un carrito que dejó\n// abierto o quien cambia de dispositivo a media compra seguía marcado\n// como alguien que ya no existe. El recorrido se guardaba bien y se\n// ataba a la persona equivocada, o a nadie.\nconst marcaActual=previos.find(a=>a?.key===\"_wild_visitor\")?.value;if(marcaActual===visitante)return;const attributes=[...previos.filter(a=>a?.key!==\"_wild_visitor\").map(a=>({key:a.key,value:a.value})),{key:\"_wild_visitor\",value:visitante}];await shopifyFetch(`mutation CartAttrs($cartId: ID!, $attributes: [AttributeInput!]!) {\n              cartAttributesUpdate(cartId: $cartId, attributes: $attributes) {\n                cart { id }\n                userErrors { field message }\n              }\n            }`,{cartId,attributes},domain,token);}catch{// El rastro nunca puede romper el carrito, que es lo que mueve dinero.\n// Se deshace la marca para que el siguiente intento vuelva a probar.\nif(yaHecho)carritosMarcados.delete(yaHecho);}}// Añade el código cuando el carrito tiene alguna línea de suscripción y lo\n// retira cuando ya no queda ninguna, preservando el resto de códigos.\n// Devuelve true si ha tocado el carrito. Si se le pasa `known` no relee.\nasync function syncSubscriptionWelcomeCode(cartId,rawCode,domain,token,known){const code=normalizeDiscountCode(rawCode||SUB_FIRST_ORDER_CODE);if(!cartId||!code)return false;const same=(a,b)=>normalizeDiscountCode(a).toUpperCase()===normalizeDiscountCode(b).toUpperCase();try{let hasSubscription=known?.hasSubscription;let codes=known?.codes;if(typeof hasSubscription!==\"boolean\"||!codes){const res=await shopifyFetch(`query GetCartSubState($cartId: ID!) {\n                  cart(id: $cartId) {\n                    discountCodes { code }\n                    lines(first: 100) { edges { node { sellingPlanAllocation { sellingPlan { id } } } } }\n                  }\n                }`,{cartId},domain,token);const cart=res?.data?.cart;if(!cart)return false;hasSubscription=(cart.lines?.edges||[]).some(e=>e?.node?.sellingPlanAllocation?.sellingPlan?.id);codes=(cart.discountCodes||[]).map(d=>d?.code||\"\").filter(Boolean);}const present=(codes||[]).some(cc=>same(cc,code));if(Boolean(hasSubscription)===present)return false;const next=hasSubscription?[...codes||[],code]:(codes||[]).filter(cc=>!same(cc,code));await shopifyFetch(`mutation cartDiscountCodesUpdate($cartId: ID!, $discountCodes: [String!]!) {\n              cartDiscountCodesUpdate(cartId: $cartId, discountCodes: $discountCodes) {\n                cart { id discountCodes { code applicable } }\n                userErrors { field message }\n              }\n            }`,{cartId,discountCodes:next},domain,token);return true;}catch(e){console.error(\"syncSubscriptionWelcomeCode failed\",e);return false;}}// --- PRECIOS DE PACK POR CANTIDAD ---\n//\n// **El pack se gana llevando las unidades, no pulsando el botón correcto.**\n// Antes el código solo entraba si se añadía desde el tier «2-pack» de la ficha;\n// quien subía la cantidad en el carrito —o se lo pedía al chat— acababa pagando\n// 49,80 € en vez de 44,90 € sin enterarse. Ahora el carrito lo mira y lo pone.\n//\n// **Un código por tramo, no uno por producto.** Un descuento de Shopify se\n// aplica una vez por pedido: con un solo código, cuatro cajas descontaban 4,90 €\n// en vez de 9,80 €. Así que hay un código por cada cantidad en la que cambia el\n// descuento, y el carrito pone el mayor que se merezca — solo uno.\n//\n// Lo suyo habría sido una función de Shopify, que sabe contar packs sin esta\n// escalera. Está escrita y desplegada en apps/wild-descuentos, pero **requiere\n// plan Plus** y la tienda es Basic. Si algún día se pasa a Plus, se enciende y\n// esta tabla sobra.\n//\n// Los importes viven en los propios códigos de Shopify. Aquí solo está a partir\n// de cuántas unidades entra cada uno.\nconst MC=\"gid://shopify/ProductVariant/56559485157707\"// Mushroom Cacao Squares\n;const NC=\"gid://shopify/ProductVariant/55804479963467\"// Noccoffee\n;const PACKS_POR_CANTIDAD=[// Mushroom: packs de 2. Cada tramo lleva el descuento acumulado de todos\n// los packs completos que caben, porque un código solo se aplica una vez.\n{code:\"WILD_MC_PACK2\",variantId:MC,minQty:2},{code:\"WILD_MC_PACK4\",variantId:MC,minQty:4},{code:\"WILD_MC_PACK6\",variantId:MC,minQty:6},{code:\"WILD_MC_PACK8\",variantId:MC,minQty:8},{code:\"WILD_MC_PACK10\",variantId:MC,minQty:10},{code:\"WILD_MC_PACK12\",variantId:MC,minQty:12},// Noccoffee: packs de 3 y de 2, cogiendo la combinación que más descuenta.\n// Con 5 sale uno de 3 y uno de 2; con 7, uno de 3 y dos de 2.\n{code:\"WILD_NC_PACK2\",variantId:NC,minQty:2},{code:\"WILD_NC_PACK3\",variantId:NC,minQty:3},{code:\"WILD_NC_PACK5\",variantId:NC,minQty:5},{code:\"WILD_NC_PACK6\",variantId:NC,minQty:6},{code:\"WILD_NC_PACK8\",variantId:NC,minQty:8},{code:\"WILD_NC_PACK9\",variantId:NC,minQty:9},{code:\"WILD_NC_PACK11\",variantId:NC,minQty:11},{code:\"WILD_NC_PACK12\",variantId:NC,minQty:12}];const TODOS_LOS_PACKS=new Set(PACKS_POR_CANTIDAD.map(p=>p.code));/// Qué códigos de pack merece el carrito tal y como está.\n///\n/// **Las líneas de suscripción no cuentan.** Llevan su propio −10 % del plan y\n/// no combinan con el pack: sumarlas daría un código que Shopify descarta y que\n/// en pantalla parece un descuento que no existe.\n///\n/// Con varias opciones sobre la misma variante gana la mayor: tres Noccoffee\n/// merecen el pack de 3, no el de 2.\nfunction packsQueTocan(lines){const unidades={};for(const l of lines||[]){const n=l?.node??l;if(n?.sellingPlanAllocation?.sellingPlan?.id)continue;const vid=n?.merchandise?.id;if(!vid)continue;unidades[vid]=(unidades[vid]||0)+Number(n?.quantity||0);}const mejorPorVariante={};for(const p of PACKS_POR_CANTIDAD){const qty=unidades[p.variantId]||0;if(qty<p.minQty)continue;const actual=mejorPorVariante[p.variantId];if(!actual||p.minQty>actual.minQty)mejorPorVariante[p.variantId]=p;}return new Set(Object.values(mejorPorVariante).map(p=>p.code));}/// Pone y quita códigos de pack según lo que haya en el carrito.\n///\n/// Devuelve `true` solo si ha cambiado algo. **Es lo que corta el bucle**: al\n/// aplicar un código se dispara `cart-updated`, que vuelve a llamar aquí, y si\n/// esto no distinguiera «ya está como toca» se llamarían sin parar.\n///\n/// Solo toca códigos de pack. Un WELCOME20 o un cupón de puntos que estuvieran\n/// puestos se quedan donde están: no son nuestros para quitarlos.\nasync function sincronizarPacks(cartId,lines,codesActuales,domain,token){if(!cartId)return false;const quieren=packsQueTocan(lines);const tiene=new Set((codesActuales||[]).filter(c=>TODOS_LOS_PACKS.has(c)));const igual=quieren.size===tiene.size&&[...quieren].every(c=>tiene.has(c));if(igual)return false;const otros=(codesActuales||[]).filter(c=>!TODOS_LOS_PACKS.has(c));try{await shopifyFetch(`mutation cartDiscountCodesUpdate($cartId: ID!, $discountCodes: [String!]!) {\n              cartDiscountCodesUpdate(cartId: $cartId, discountCodes: $discountCodes) {\n                cart { id discountCodes { code applicable } }\n                userErrors { field message }\n              }\n            }`,{cartId,discountCodes:[...otros,...quieren]},domain,token);return true;}catch(e){console.error(\"sincronizarPacks failed\",e);return false;}}// --- SUBSCRIPTION BOX (WILD BOX) ---\nconst SUB_BOX_KEY=\"wild_sub_box_v1\";const DEFAULT_SUB_BOX_THRESHOLD=49;const SUB_BOX_DISCOUNT_RATE=.1;// Descuentos de la WILD BOX. El selling plan de Shopify aplica -10% en todos\n// los cobros; encima, el código SUB_FIRST_ORDER_CODE (22,23%, un uso por\n// cliente y solo el primer ciclo) deja la primera entrega en -30% combinado.\n// Los usan tanto el módulo de membresía como la card de suscripción de la\n// ficha de producto. Si tocas estos valores, ajusta también Shopify.\nconst SUB_FIRST_ORDER_DISCOUNT=.3;const SUB_RECURRING_DISCOUNT=.1;const LEGACY_MEMBERSHIP_PLAN_IDS=new Set([\"690063114571\",\"690063081803\"]);const stripGid=id=>String(id||\"\").replace(/^gid:\\/\\/shopify\\/\\w+\\//,\"\");const toGid=(type,id)=>String(id||\"\").includes(\"gid://\")?String(id):`gid://shopify/${type}/${id}`;function readSubBox(){try{if(typeof window===\"undefined\")return[];const raw=localStorage.getItem(SUB_BOX_KEY);const parsed=raw?JSON.parse(raw):[];return Array.isArray(parsed)?parsed:[];}catch{return[];}}function writeSubBox(items){if(typeof window===\"undefined\")return;localStorage.setItem(SUB_BOX_KEY,JSON.stringify(items||[]));}function upsertSubBoxItem({variantId,sellingPlanId,quantity}){const vId=toGid(\"ProductVariant\",variantId);const pId=toGid(\"SellingPlan\",sellingPlanId);const qty=Math.max(1,Number(quantity||1));const items=readSubBox();const idx=items.findIndex(i=>i.variantId===vId&&i.sellingPlanId===pId);if(idx>=0)items[idx]={...items[idx],quantity:items[idx].quantity+qty};else items.push({variantId:vId,sellingPlanId:pId,quantity:qty});writeSubBox(items);}function updateSubBoxQty({variantId,sellingPlanId,quantity}){const vId=toGid(\"ProductVariant\",variantId);const pId=toGid(\"SellingPlan\",sellingPlanId);const qty=Number(quantity||0);const items=readSubBox().map(i=>i.variantId===vId&&i.sellingPlanId===pId?{...i,quantity:qty}:i).filter(i=>i.quantity>0);writeSubBox(items);}function removeSubBoxItem({variantId,sellingPlanId}){const vId=toGid(\"ProductVariant\",variantId);const pId=toGid(\"SellingPlan\",sellingPlanId);const items=readSubBox().filter(i=>!(i.variantId===vId&&i.sellingPlanId===pId));writeSubBox(items);}async function fetchSubBoxDetails(items,domain,token){if(!items.length)return[];const ids=items.map(i=>i.variantId);const q=`\n      query VariantNodes($ids: [ID!]!) {\n        nodes(ids: $ids) {\n          ... on ProductVariant {\n            id title\n            product { title }\n            image { url }\n            price { amount currencyCode }\n          }\n        }\n      }`;const res=await shopifyFetch(q,{ids},domain,token);const map=new Map;(res?.data?.nodes||[]).forEach(n=>{if(n?.id)map.set(n.id,n);});return items.map(i=>{const v=map.get(i.variantId);if(!v)return null;return{variantId:i.variantId,sellingPlanId:i.sellingPlanId,quantity:i.quantity,productTitle:v.product?.title||\"\",variantTitle:v.title||\"\",image:v.image?.url||\"\",price:parseFloat(v.price?.amount||0)};}).filter(Boolean);}function formatEUR(amount,lang){const n=Number(amount||0);const fixed=n.toFixed(2);if(lang===\"es\"||lang===\"it\")return`${fixed.replace(\".\",\",\")}€`;return`€${fixed}`;}function minOrderText(lang,subtotal,threshold){const sub=Number(subtotal||0);const thr=Number(threshold||0);const missing=Math.max(0,thr-sub);if(lang===\"it\"){return{title:`Ordine minimo ${formatEUR(thr,lang)}`,line:`Hai ${formatEUR(sub,lang)} \\xb7 Ti mancano ${formatEUR(missing,lang)}`};}if(lang===\"en\"){return{title:`Minimum order ${formatEUR(thr,lang)}`,line:`You have ${formatEUR(sub,lang)} \\xb7 Add ${formatEUR(missing,lang)}`};}return{title:`Pedido m\\xednimo ${formatEUR(thr,lang)}`,line:`Llevas ${formatEUR(sub,lang)} \\xb7 Te faltan ${formatEUR(missing,lang)}`};}// --- DESCUENTO POR URL (enlaces de influencer) + ENLACE A FICHA ---\nconst DISCOUNT_STORAGE_KEY=\"wild_discount_code\";function normalizeDiscountCode(code){return String(code||\"\").trim();}// Lee ?discount= (o alias ?code=) de la URL actual.\nfunction readDiscountFromUrl(){if(typeof window===\"undefined\")return\"\";try{const params=new URLSearchParams(window.location.search);return normalizeDiscountCode(params.get(\"discount\")||params.get(\"code\")||\"\");}catch{return\"\";}}function getStoredDiscount(){if(typeof window===\"undefined\")return\"\";try{return normalizeDiscountCode(localStorage.getItem(DISCOUNT_STORAGE_KEY)||\"\");}catch{return\"\";}}function setStoredDiscount(code){if(typeof window===\"undefined\")return;try{const c=normalizeDiscountCode(code);if(c)localStorage.setItem(DISCOUNT_STORAGE_KEY,c);}catch{}}// Captura el código de la URL a localStorage y devuelve el código activo guardado.\nfunction captureDiscountFromUrl(){const fromUrl=readDiscountFromUrl();if(fromUrl)setStoredDiscount(fromUrl);return getStoredDiscount();}// Aplica al carrito Storefront el código guardado, si no está ya aplicado.\nasync function applyStoredDiscountToCart(cartId,domain,token){const code=getStoredDiscount();if(!cartId||!code)return;try{const res=await shopifyFetch(`query GetCartDiscounts($cartId: ID!) {\n              cart(id: $cartId) { discountCodes { code } }\n            }`,{cartId},domain,token);const current=(res?.data?.cart?.discountCodes||[]).map(d=>d?.code||\"\").filter(Boolean);if(current.some(c=>c.toLowerCase()===code.toLowerCase()))return;const next=Array.from(new Set([...current,code]));await shopifyFetch(`mutation cartDiscountCodesUpdate($cartId: ID!, $discountCodes: [String!]!) {\n              cartDiscountCodesUpdate(cartId: $cartId, discountCodes: $discountCodes) {\n                cart { id discountCodes { code applicable } }\n                userErrors { field message }\n              }\n            }`,{cartId,discountCodes:next},domain,token);}catch(e){console.error(\"applyStoredDiscountToCart failed\",e);}}// Construye la URL de la ficha en la tienda online de Shopify. Si hay código\n// activo, usa el link de descuento nativo (/discount/CODE?redirect=/products/...)\n// para que el código quede fijado en la sesión de Shopify.\nfunction buildProductHref(product,code,fallbackDomain){const handle=product?.handle||\"\";const onlineUrl=product?.onlineStoreUrl||\"\";let origin=\"\";let path=\"\";if(onlineUrl){try{const u=new URL(onlineUrl);origin=u.origin;path=u.pathname;}catch{}}if(!origin&&handle){origin=\"https://\"+(fallbackDomain||DEFAULT_DOMAIN);path=\"/products/\"+handle;}if(!origin||!path)return\"\";const c=normalizeDiscountCode(code);if(c){return`${origin}/discount/${encodeURIComponent(c)}?redirect=${encodeURIComponent(path)}`;}return origin+path;}// --- 1. TRADUCCIONES INTERFAZ ---\nconst UI_TEXTS={en:{cartTitle:\"Your Order\",cartEmpty:\"Your cart is empty\",payNow:\"Checkout\",recsTitle:\"You might also like\",add:\"+ Add\",planTitle:\"Exclusive Plans\",planSub:\"Unlock your flow\",subscribe:\"Subscribe\",perMonth:\"/ month\",perWeek:\"/ week\",addToCart:\"Add to Cart\",buyNow:\"Buy Now\",adding:\"Adding...\",soldOut:\"Out of Stock\",flavor:\"Flavor\",wishTitle:\"My Wishlist\",wishEmpty:\"No favorites yet\",wishAdd:\"Add\",memLabel:\"MEMBERSHIP\",shippingGoal:`Free shipping over €${FREE_SHIPPING_THRESHOLD}.00!`,shippingProgress:amount=>`Add €${(FREE_SHIPPING_THRESHOLD-amount).toFixed(2)} to qualify!`,shippingSuccess:\"🎉 You qualify for FREE shipping!\",shippingWarn:\"⚠️ We currently only ship to Spain.\",shipWarn:\"⚠️ We currently only ship to Spain.\",discountApplied:\"Discount applied\",subBoxTitle:\"MEMBERSHIP\",subBoxCartTitle:\"Subscription box\",subBoxCartItems:n=>`${n} ${n===1?\"item\":\"items\"} \\xb7 auto-renew monthly`,addToBox:\"Add to Subscription Box\",subPromoBar:\"30% off your first delivery, then 10% every month\",subFirstDelivery:\"First delivery\",subThenMonthly:price=>`Then ${price} / month`,subCardTitle:\"Subscribe and save\",subCardHow:\"How the subscription works:\",subBenefit1:\"30% off your first delivery, then 10% every month\",subBenefit2:\"Priority access to new products, gifts and special discounts\",subBenefit3:\"Change or skip deliveries anytime\",subDeliveryLabel:\"Delivery every\",subDeliveryOptionMonthly:\"4 weeks\",subItems:n=>`${n} items`,boxEmpty:\"Your subscription box is empty\",boxMissing:missing=>`Add ${missing} to reach the minimum`,boxReady:\"Ready to subscribe\",boxCreate:\"Create subscription\",boxCreating:\"Creating...\",boxFirstBadge:pct=>`${pct}% off your first box`,boxThenMonthly:price=>`Then ${price}/month`,boxThenUnit:price=>`then ${price}`,boxMinimum:price=>`min. ${price}/month`,membershipHelp:\"Add any products you want to build your monthly box and save 10% on every delivery.\",boxRecsTitle:\"Add more to reach the minimum\",stickyBuy:\"I want to buy\",stickyDefaultTitle:\"Product\",builderTitle:\"Build your monthly subscription\",builderSubtitle:thr=>`From ${formatEUR(thr,\"en\")}/month \\xb7 10% off already applied`,waitlistTitle:\"Out of stock\",waitlistSubtitle:\"Leave your email and we'll notify you as soon as it's back.\",waitlistNamePh:\"Your name\",waitlistEmailPh:\"your@email.com\",waitlistSubmit:\"Notify me\",waitlistSending:\"Sending...\",waitlistSuccess:\"Done! We'll let you know when it's back.\",waitlistSuccessHint:\"You can close this window.\",waitlistErrorEmail:\"Please enter a valid email.\",waitlistErrorNetwork:\"Network error. Try again.\",waitlistClose:\"Close\",discountEyebrow:\"Welcome gift\",discountTitle:\"Get 10% off your first order\",discountSubtitle:\"Leave us your name and email and we'll send you a\\xa0personal code, valid for 30 days.\",discountNamePh:\"Your name\",discountEmailPh:\"your@email.com\",discountSubmit:\"Get my code\",discountSending:\"Creating your code...\",discountSuccess:\"Code on its way!\",discountSuccessHint:\"Check your inbox in a couple of minutes. Don't forget the spam folder.\",discountErrorEmail:\"Please enter a valid email.\",discountErrorNetwork:\"Something went wrong. Try again in a moment.\",discountClose:\"Close\",discountDisclaimer:\"Single use \\xb7 Expires in 30 days\",discountPrivacy:\"By subscribing you agree to receive marketing emails from Wild*. Unsubscribe anytime.\"},es:{cartTitle:\"Tu Pedido\",cartEmpty:\"Tu carrito est\\xe1 vac\\xedo\",payNow:\"Pagar Ahora\",recsTitle:\"Tambi\\xe9n te podr\\xeda gustar\",add:\"+ A\\xf1adir\",planTitle:\"Planes Exclusivos\",planSub:\"Mejora tu rendimiento\",subscribe:\"Suscribirse\",perMonth:\"/ mes\",perWeek:\"/ sem\",addToCart:\"A\\xf1adir al Carrito\",buyNow:\"Comprar Ahora\",adding:\"A\\xf1adiendo...\",soldOut:\"Agotado\",flavor:\"Sabor\",wishTitle:\"Mis Favoritos\",wishEmpty:\"A\\xfan no tienes favoritos\",wishAdd:\"A\\xf1adir\",shippingGoal:`\\xa1Env\\xedo gratis a partir de ${FREE_SHIPPING_THRESHOLD}€!`,shippingProgress:amount=>`Te faltan ${(FREE_SHIPPING_THRESHOLD-amount).toFixed(2).replace(\".\",\",\")}€ para env\\xedo gratis.`,shippingSuccess:\"🎉 \\xa1Env\\xedo GRATIS conseguido!\",shippingWarn:\"\",shipWarn:\"\",discountApplied:\"Descuento aplicado\",memLabel:\"MEMBRES\\xcdA\",subBoxTitle:\"MEMBERSHIP\",subBoxCartTitle:\"Caja de suscripci\\xf3n\",subBoxCartItems:n=>`${n} ${n===1?\"producto\":\"productos\"} \\xb7 renovaci\\xf3n mensual`,addToBox:\"A\\xf1adir a la caja de suscripci\\xf3n\",subPromoBar:\"30% en tu primera entrega y 10% cada mes\",subFirstDelivery:\"Primera entrega\",subThenMonthly:price=>`Despu\\xe9s ${price} / mes`,subCardTitle:\"Suscr\\xedbete y\\xa0ahorra\",subCardHow:\"C\\xf3mo funciona la suscripci\\xf3n:\",subBenefit1:\"30% en tu primera entrega y 10% cada mes\",subBenefit2:\"Acceso prioritario a productos nuevos, regalos y descuentos especiales\",subBenefit3:\"Cambia o s\\xe1ltate entregas cuando quieras\",subDeliveryLabel:\"Entrega cada\",subDeliveryOptionMonthly:\"4 semanas\",subItems:n=>`${n} productos`,boxEmpty:\"Tu caja de suscripci\\xf3n est\\xe1 vac\\xeda\",boxMissing:missing=>`Te faltan ${missing} para llegar al m\\xednimo`,boxReady:\"Lista para suscribirte\",boxCreate:\"Crear suscripci\\xf3n\",boxCreating:\"Creando...\",boxFirstBadge:pct=>`${pct}% en tu primera caja`,boxThenMonthly:price=>`Despu\\xe9s: ${price}/mes`,boxThenUnit:price=>`luego ${price}`,boxMinimum:price=>`m\\xedn. ${price}/mes`,membershipHelp:\"A\\xf1ade los productos que quieras para formar tu caja mensual y\\xa0ahorra un 10% en cada entrega.\",boxRecsTitle:\"A\\xf1ade m\\xe1s para llegar al m\\xednimo\",stickyBuy:\"Quiero comprar\",stickyDefaultTitle:\"Producto\",builderTitle:\"Crea tu suscripci\\xf3n mensual\",builderSubtitle:thr=>`M\\xednimo ${formatEUR(thr,\"es\")}/mes \\xb7 10% de descuento ya aplicado`,waitlistTitle:\"Producto agotado\",waitlistSubtitle:\"D\\xe9janos tu email y te avisamos en cuanto vuelva.\",waitlistNamePh:\"Tu nombre\",waitlistEmailPh:\"tu@email.com\",waitlistSubmit:\"Avisarme\",waitlistSending:\"Enviando...\",waitlistSuccess:\"\\xa1Listo! Te avisaremos en cuanto vuelva.\",waitlistSuccessHint:\"Ya puedes cerrar esta ventana.\",waitlistErrorEmail:\"Introduce un email v\\xe1lido.\",waitlistErrorNetwork:\"Error de red. Int\\xe9ntalo de nuevo.\",waitlistClose:\"Cerrar\",discountEyebrow:\"Regalo de bienvenida\",discountTitle:\"Consigue un 10% en tu primer pedido\",discountSubtitle:\"D\\xe9janos tu nombre y email y te enviamos un c\\xf3digo personal, v\\xe1lido durante 30 d\\xedas.\",discountNamePh:\"Tu nombre\",discountEmailPh:\"tu@email.com\",discountSubmit:\"Quiero mi c\\xf3digo\",discountSending:\"Generando tu c\\xf3digo...\",discountSuccess:\"\\xa1C\\xf3digo en camino!\",discountSuccessHint:\"Revisa tu bandeja en un par de minutos. Mira tambi\\xe9n la carpeta de spam.\",discountErrorEmail:\"Introduce un email v\\xe1lido.\",discountErrorNetwork:\"Algo ha fallado. Vuelve a intentarlo en un momento.\",discountClose:\"Cerrar\",discountDisclaimer:\"Un solo uso \\xb7 Caduca en 30 d\\xedas\",discountPrivacy:\"Al suscribirte aceptas recibir emails de marketing de Wild*. Cancela cuando quieras.\"},it:{cartTitle:\"Il tuo Ordine\",cartEmpty:\"Il carrello \\xe8 vuoto\",payNow:\"Paga Ora\",recsTitle:\"Potrebbe piacerti anche\",add:\"+ Aggiungi\",planTitle:\"Piani Esclusivi\",planSub:\"Migliora le tue prestazioni\",subscribe:\"Abbonati\",perMonth:\"/ mese\",perWeek:\"/ sett\",addToCart:\"Aggiungi al Carrello\",buyNow:\"Compra Ora\",adding:\"Aggiungendo...\",soldOut:\"Esaurito\",flavor:\"Gusto\",wishTitle:\"I miei Preferiti\",wishEmpty:\"Nessun preferito\",wishAdd:\"Aggiungi\",shippingGoal:`Spedizione gratuita oltre ${FREE_SHIPPING_THRESHOLD}€!`,shippingProgress:amount=>`Aggiungi ${(FREE_SHIPPING_THRESHOLD-amount).toFixed(2).replace(\".\",\",\")}€ per la spedizione gratuita.`,shippingSuccess:\"🎉 Spedizione GRATUITA ottenuta!\",shippingWarn:\"⚠️ Spediamo solo in Spagna attualmente.\",shipWarn:\"⚠️ Spediamo solo in Spagna attualmente.\",discountApplied:\"Sconto applicato\",memLabel:\"ABBONAMENTO\",subBoxTitle:\"MEMBERSHIP\",subBoxCartTitle:\"Box in abbonamento\",subBoxCartItems:n=>`${n} ${n===1?\"prodotto\":\"prodotti\"} \\xb7 rinnovo mensile`,addToBox:\"Aggiungi alla box in abbonamento\",subPromoBar:\"30% sulla prima consegna e 10% ogni mese\",subFirstDelivery:\"Prima consegna\",subThenMonthly:price=>`Poi ${price} / mese`,subCardTitle:\"Abbonati e risparmia\",subCardHow:\"Come funziona l'abbonamento:\",subBenefit1:\"30% sulla prima consegna e 10% ogni mese\",subBenefit2:\"Accesso prioritario a nuovi prodotti, regali e sconti speciali\",subBenefit3:\"Modifica o salta le consegne quando vuoi\",subDeliveryLabel:\"Consegna ogni\",subDeliveryOptionMonthly:\"4 settimane\",subItems:n=>`${n} prodotti`,boxEmpty:\"La tua box in abbonamento \\xe8 vuota\",boxMissing:missing=>`Ti mancano ${missing} per raggiungere il minimo`,boxReady:\"Pronta per abbonarti\",boxCreate:\"Crea abbonamento\",boxCreating:\"Creazione...\",boxFirstBadge:pct=>`${pct}% sulla tua prima box`,boxThenMonthly:price=>`Poi ${price}/mese`,boxThenUnit:price=>`poi ${price}`,boxMinimum:price=>`min. ${price}/mese`,membershipHelp:\"Aggiungi i prodotti che vuoi per creare la tua box mensile e risparmia il 10% su ogni consegna.\",boxRecsTitle:\"Aggiungi altri prodotti per raggiungere il minimo\",stickyBuy:\"Voglio comprare\",stickyDefaultTitle:\"Prodotto\",builderTitle:\"Crea il tuo abbonamento mensile\",builderSubtitle:thr=>`Minimo ${formatEUR(thr,\"it\")}/mese \\xb7 10% di sconto gi\\xe0 applicato`,waitlistTitle:\"Prodotto esaurito\",waitlistSubtitle:\"Lascia la tua email e ti avviseremo appena torna disponibile.\",waitlistNamePh:\"Il tuo nome\",waitlistEmailPh:\"tua@email.com\",waitlistSubmit:\"Avvisami\",waitlistSending:\"Invio...\",waitlistSuccess:\"Fatto! Ti avviseremo appena torna.\",waitlistSuccessHint:\"Puoi chiudere questa finestra.\",waitlistErrorEmail:\"Inserisci un'email valida.\",waitlistErrorNetwork:\"Errore di rete. Riprova.\",waitlistClose:\"Chiudi\",discountEyebrow:\"Regalo di benvenuto\",discountTitle:\"Ottieni il 10% sul tuo primo ordine\",discountSubtitle:\"Lasciaci nome ed email e ti invieremo un codice personale, valido 30 giorni.\",discountNamePh:\"Il tuo nome\",discountEmailPh:\"tua@email.com\",discountSubmit:\"Voglio il mio codice\",discountSending:\"Generazione del codice...\",discountSuccess:\"Codice in arrivo!\",discountSuccessHint:\"Controlla la tua casella tra qualche minuto. Guarda anche lo spam.\",discountErrorEmail:\"Inserisci un'email valida.\",discountErrorNetwork:\"Qualcosa \\xe8 andato storto. Riprova tra un momento.\",discountClose:\"Chiudi\",discountDisclaimer:\"Uso singolo \\xb7 Scade in 30 giorni\",discountPrivacy:\"Iscrivendoti accetti di ricevere email marketing da Wild*. Disiscriviti quando vuoi.\"}};// --- 2. NOMBRES OFICIALES DE LOS PLANES ---\nconst PRODUCT_TITLES={en:{nextHuman:\"Next Human Membership\",pulled:\"Pulled Membership\"},es:{nextHuman:\"Membres\\xeda Next Human\",pulled:\"Membres\\xeda Pulled\"},it:{nextHuman:\"Abbonamento Next Human\",pulled:\"Abbonamento Pulled\"}};const useCurrentLang=()=>{const[lang,setLang]=React.useState(\"en\");React.useEffect(()=>{if(typeof window!==\"undefined\"){const path=window.location.pathname;if(path.startsWith(\"/es\"))setLang(\"es\");else if(path.startsWith(\"/it\"))setLang(\"it\");else setLang(\"en\");}},[]);return lang;};async function shopifyFetch(query,variables,domain,token){try{const url=`https://${domain}/api/2023-01/graphql.json`;const res=await fetch(url,{method:\"POST\",headers:{\"Content-Type\":\"application/json\",\"X-Shopify-Storefront-Access-Token\":token},body:JSON.stringify({query,variables})});return await res.json();}catch(e){console.error(\"API Error\",e);return null;}}function GoalBanner({subtotal,t}){const progress=Math.min(100,subtotal/FREE_SHIPPING_THRESHOLD*100);const isSuccess=subtotal>=FREE_SHIPPING_THRESHOLD;return /*#__PURE__*/_jsxs(\"div\",{style:{padding:\"15px 30px\",borderBottom:\"1px solid #f0f0f0\",background:\"#fcfcfc\",display:\"flex\",flexDirection:\"column\",gap:\"10px\"},children:[/*#__PURE__*/_jsx(\"p\",{style:{margin:0,fontSize:13,fontWeight:\"600\",color:isSuccess?\"#008000\":\"#000\"},children:isSuccess?t.shippingSuccess:t.shippingGoal}),/*#__PURE__*/_jsx(\"div\",{style:{height:\"8px\",borderRadius:\"4px\",background:\"#E5E5E5\"},children:/*#__PURE__*/_jsx(\"div\",{style:{height:\"100%\",borderRadius:\"4px\",background:isSuccess?\"#008000\":\"#000\",width:`${progress}%`,transition:\"width 0.3s ease-out\"}})}),!isSuccess&&/*#__PURE__*/_jsx(\"p\",{style:{margin:0,fontSize:12,color:\"#666\"},children:t.shippingProgress(subtotal)})]});}// --- 1. BOTÓN AÑADIR ---\n/**\n * ¿Esta página está dedicada a un producto?\n *\n * Framer les da una URL propia —`/products/flow-bar`, y con idioma\n * `/es/products/flow-bar`— así que la ruta lo dice sin tener que preguntarle a\n * nadie. Se acepta también que la ruta acabe en el handle, por si algún día\n * las fichas cuelgan de la raíz.\n */function esPaginaDeProducto(handle){if(typeof window===\"undefined\")return false;try{const ruta=window.location.pathname.toLowerCase().replace(/\\/+$/,\"\");if(ruta.includes(\"/products/\"))return true;if(handle&&ruta.endsWith(\"/\"+handle.toLowerCase()))return true;}catch{}return false;}/**\n * El identificador con el que Meta conoce este producto.\n *\n * **Tiene que coincidir con el del catálogo de Meta o el evento no sirve para\n * retargeting**: Meta lo recibe, lo guarda, y luego no encuentra el producto\n * para enseñarlo en un anuncio. Es un fallo silencioso, porque el evento\n * aparece como recibido y correcto.\n *\n * El catálogo lo sube Shopify y sus identificadores no son siempre el número\n * pelado de la variante —según cómo esté configurado pueden ser\n * `shopify_ES_<producto>_<variante>`—, así que la propiedad de Framer manda\n * cuando está puesta. Se comprueba en el Events Manager: si no casan, Meta\n * avisa de que los content_ids no coinciden con el catálogo.\n */function contentIdDe(props,handle){const explicito=(props?.metaContentId||\"\").trim();if(explicito)return explicito;const variante=stripGid(props?.variantId||\"\");if(variante)return String(variante);return handle||\"\";}/**\n * El handle del producto de la ficha.\n *\n * La propiedad de Framer manda cuando está puesta. Si no, se deriva del título\n * como ya hace la lista de espera unas líneas más abajo: el servidor lo\n * normaliza con `normalizeProductHandle`, que existe justo porque este atajo se\n * usa desde hace tiempo y falla de formas ya conocidas.\n */function handleDesde(props,titulo){const explicito=(props?.productHandle||\"\").trim();if(explicito)return explicito;const derivado=(titulo||\"\").toLowerCase().trim().replace(/\\s+/g,\"-\");return derivado||null;}export function AddToCartButton(props){const[loadingAdd,setLoadingAdd]=React.useState(false);const[loadingBuy,setLoadingBuy]=React.useState(false);const[quantity,setQuantity]=React.useState(1);const[variantsList,setVariantsList]=React.useState([]);const[qtyByVariant,setQtyByVariant]=React.useState({});// Opciones de compra (tiers tipo 1 box / 2-pack / 3-pack). Si están\n// definidas, sustituyen al builder de variantsJson.\nconst[purchaseOptions,setPurchaseOptions]=React.useState([]);const[selectedOptionId,setSelectedOptionId]=React.useState(\"\");// Multiplicador por opción: solo se usa en tiers \"flexibles\" (single sin discountCode).\n// En esos, el cliente puede pedir 4, 7, 10 unidades sin pack discount.\nconst[optionMultiplier,setOptionMultiplier]=React.useState({});// Datos en vivo de Shopify (sobrescriben los estáticos de variantsJson)\nconst[liveProduct,setLiveProduct]=React.useState({title:\"\",variants:{}});const[showWaitlist,setShowWaitlist]=React.useState(false);const[waitlistEmail,setWaitlistEmail]=React.useState(\"\");const[waitlistName,setWaitlistName]=React.useState(\"\");const[waitlistSending,setWaitlistSending]=React.useState(false);const[waitlistSent,setWaitlistSent]=React.useState(false);const[waitlistError,setWaitlistError]=React.useState(\"\");const lang=useCurrentLang();const t=UI_TEXTS[lang];const[isMobile,setIsMobile]=React.useState(false);React.useEffect(()=>{if(typeof window===\"undefined\")return;const update=()=>setIsMobile(window.innerWidth<=480);update();window.addEventListener(\"resize\",update);return()=>window.removeEventListener(\"resize\",update);},[]);const stickyEnabled=props.enableStickyBuyBar!==false;const sectionRef=React.useRef(null);const[sectionInView,setSectionInView]=React.useState(true);const[hasSeenSection,setHasSeenSection]=React.useState(false);React.useEffect(()=>{if(!stickyEnabled)return;const el=sectionRef.current;if(!el)return;if(typeof IntersectionObserver===\"undefined\")return;const obs=new IntersectionObserver(([entry])=>{const inView=!!entry.isIntersecting;setSectionInView(inView);if(inView)setHasSeenSection(true);},{threshold:.08});obs.observe(el);return()=>obs.disconnect();},[stickyEnabled]);// --- RASTRO: producto visto ---\n//\n// Dos reglas según dónde esté el componente: en una página de producto\n// basta con estar ahí dos segundos, y en una parrilla hace falta que se\n// vea. El porqué está en el efecto de abajo.\n//\n// Y observador propio, no el de la barra pegajosa: aquel solo corre si esa\n// opción está activada, y el rastro no puede depender de una decisión de\n// diseño que alguien apague un martes sin relación con esto.\nconst handleDelProducto=React.useCallback(()=>handleDesde(props,liveProduct.title),[props.productHandle,liveProduct.title]);/**\n     * El precio que se está enseñando, para que el evento lleve importe.\n     *\n     * Meta puja mirando el valor: un evento sin importe le dice que pasó algo\n     * pero no cuánto valía, y para optimizar por retorno es casi como no\n     * mandarlo. Se prefiere la variante seleccionada; si no hay, la primera.\n     */const precioVisible=React.useCallback(()=>{const variantes=Object.entries(liveProduct.variants||{});if(variantes.length===0)return undefined;const idBuscado=String(stripGid(props?.variantId||\"\")||\"\");const elegida=variantes.find(([id])=>String(stripGid(id))===idBuscado)??variantes[0];const precio=(elegida?.[1])?.price;return typeof precio===\"number\"&&Number.isFinite(precio)?precio:undefined;},[liveProduct,props.variantId]);/** Anota la vista, en el rastro propio y en Meta, con el mismo id. */const anotarVista=React.useCallback(handle=>{const idEvento=registrarEvento(\"product_view\",{productHandle:handle});// Meta no recibía ViewContent nunca. Sin él no puede hacer\n// retargeting de producto ni alimentar los anuncios de catálogo,\n// que son los que más rinden en una tienda.\ntry{const w=window;if(w.fbq&&consentimientoConcedido()){w.fbq(\"track\",\"ViewContent\",{content_ids:[contentIdDe(props,handle)],content_type:\"product\",content_name:liveProduct.title||undefined,currency:\"EUR\",value:precioVisible()},idEvento?{eventID:idEvento}:undefined);}}catch{}},[props,liveProduct.title,precioVisible]);React.useEffect(()=>{const handle=handleDelProducto();if(!handle)return;let espera=null;// **En una página dedicada a un producto, la página es la ficha.**\n//\n// Antes esto colgaba de que el bloque de compra estuviera a la vista, y\n// con una página larga eso significaba «hizo scroll hasta el botón de\n// comprar», no «vio el producto». Quien abría la ficha, leía el titular,\n// miraba las fotos y se iba sin bajar del todo no contaba — y es justo\n// la gente que interesa: interés que no llegó a intención.\nif(esPaginaDeProducto(handle)){fijarProductoVisible(handle);// Los dos segundos se quedan: siguen filtrando a quien abre y cierra.\nespera=setTimeout(()=>anotarVista(handle),2e3);return()=>{if(espera)clearTimeout(espera);fijarProductoVisible(null);};}// Fuera de una página de producto —una parrilla en la home, un carrusel—\n// sí hace falta que se vea: ahí hay varios productos a la vez y montarse\n// no significa nada.\nconst el=sectionRef.current;if(!el)return;if(typeof IntersectionObserver===\"undefined\")return;const obs=new IntersectionObserver(([entry])=>{if(entry.isIntersecting){fijarProductoVisible(handle);espera=setTimeout(()=>anotarVista(handle),2e3);}else{if(espera){clearTimeout(espera);espera=null;}fijarProductoVisible(null);}},{threshold:.4});obs.observe(el);return()=>{obs.disconnect();if(espera)clearTimeout(espera);fijarProductoVisible(null);};},[handleDelProducto,anotarVista]);const showStickyBuyBar=stickyEnabled&&hasSeenSection&&!sectionInView;const scrollToBuySection=React.useCallback(()=>{const el=sectionRef.current;if(!el)return;el.scrollIntoView({behavior:\"smooth\",block:\"start\"});window.setTimeout(()=>{const btn=el.querySelector(\"button\");if(btn&&typeof btn.focus===\"function\")btn.focus();},450);},[]);const parseNumberLike=React.useCallback(v=>{if(v===null||v===undefined)return 0;const s=String(v).trim();if(!s)return 0;const cleaned=s.replace(/[^0-9,.-]/g,\"\").replace(\",\",\".\");const n=parseFloat(cleaned);return Number.isFinite(n)?n:0;},[]);const minProductSubtotal=React.useMemo(()=>{return parseNumberLike(props.minProductSubtotal);},[props.minProductSubtotal,parseNumberLike]);React.useEffect(()=>{if(props.variantsJson&&String(props.variantsJson).length>5){try{const parsed=JSON.parse(props.variantsJson);const list=Array.isArray(parsed)?parsed:parsed?.variants||[];setVariantsList(Array.isArray(list)?list:[]);const next={};(Array.isArray(list)?list:[]).forEach(v=>{next[String(v.id)]=0;});setQtyByVariant(next);}catch(e){setVariantsList([]);setQtyByVariant({});}}else{setVariantsList([]);setQtyByVariant({});}},[props.variantsJson]);// Parser de purchaseOptionsJson. Cada opción es un tier (single / pack2 / pack3 / sub),\n// con su precio absoluto, qty, code opcional y sellingPlanId opcional.\nReact.useEffect(()=>{const raw=props.purchaseOptionsJson;if(!raw||String(raw).length<=5){setPurchaseOptions([]);setSelectedOptionId(\"\");return;}try{const parsed=JSON.parse(raw);const list=Array.isArray(parsed)?parsed:parsed?.options||[];const clean=(Array.isArray(list)?list:[]).map((o,idx)=>({id:String(o?.id??`opt-${idx}`),label:String(o?.label??\"\"),badge:o?.badge?String(o.badge):\"\",qty:Math.max(1,Number(o?.qty||1)),price:Number(o?.price||0),variantId:o?.variantId?String(o.variantId):\"\",discountCode:o?.discountCode?String(o.discountCode):\"\",sellingPlanId:o?.sellingPlanId?String(o.sellingPlanId):\"\",isSubscription:!!o?.isSubscription,packLabel:o?.packLabel?String(o.packLabel):\"\",featured:!!o?.featured})).filter(o=>o.qty>0);setPurchaseOptions(clean);const initial=clean.find(o=>o.featured)?.id||clean[0]?.id||\"\";setSelectedOptionId(initial);// Multiplicador inicial = 1 para todos los tiers.\nconst mults={};clean.forEach(o=>{mults[o.id]=1;});setOptionMultiplier(mults);}catch(e){setPurchaseOptions([]);setSelectedOptionId(\"\");setOptionMultiplier({});}},[props.purchaseOptionsJson]);// Refresca título, imagen, precio y disponibilidad desde Shopify Storefront.\n// El JSON estático sigue siendo el fallback si la API no responde.\nconst refreshFromShopify=React.useCallback(async()=>{const toGidVariant=raw=>{const s=String(raw||\"\");if(!s)return\"\";return s.includes(\"gid://\")?s:`gid://shopify/ProductVariant/${s}`;};const ids=[];if(variantsList.length>0){variantsList.forEach(v=>{const g=toGidVariant(v?.id);if(g)ids.push(g);});}else if(props.variantId){const g=toGidVariant(props.variantId);if(g)ids.push(g);}if(!ids.length)return;const domain=props.storeDomain||DEFAULT_DOMAIN;const token=props.storeToken||DEFAULT_TOKEN;const q=`\n          query VariantNodes($ids: [ID!]!) {\n            nodes(ids: $ids) {\n              ... on ProductVariant {\n                id\n                title\n                availableForSale\n                product { title }\n                image { url }\n                price { amount currencyCode }\n              }\n            }\n          }`;try{const res=await shopifyFetch(q,{ids},domain,token);const nodes=(res?.data?.nodes||[]).filter(Boolean);if(!nodes.length)return;let productTitle=\"\";const variants={};nodes.forEach(n=>{if(!n?.id)return;if(!productTitle&&n?.product?.title)productTitle=n.product.title;variants[String(n.id)]={title:n.title||\"\",price:parseFloat(n.price?.amount||\"0\")||0,image:n.image?.url||\"\",availableForSale:n.availableForSale!==false};});setLiveProduct({title:productTitle,variants});}catch(e){// Silencioso: si falla, mantenemos los datos estáticos.\n}},[variantsList,props.variantId,props.storeDomain,props.storeToken]);React.useEffect(()=>{refreshFromShopify();if(typeof window===\"undefined\")return;const onVisible=()=>{if(document.visibilityState===\"visible\")refreshFromShopify();};document.addEventListener(\"visibilitychange\",onVisible);// El chatbot u otros componentes pueden forzar un refresco:\n//   window.dispatchEvent(new Event(\"wild:refresh-product\"))\nconst onRefresh=()=>refreshFromShopify();window.addEventListener(\"wild:refresh-product\",onRefresh);return()=>{document.removeEventListener(\"visibilitychange\",onVisible);window.removeEventListener(\"wild:refresh-product\",onRefresh);};},[refreshFromShopify]);const isAvailable=React.useMemo(()=>{const txt=String(props.collectionsText||\"\").toLowerCase();if(txt.includes(\"out of stock\")||txt.includes(\"agotado\"))return false;const liveVariants=Object.values(liveProduct.variants);if(liveVariants.length>0){return liveVariants.some(v=>v?.availableForSale!==false);}if(variantsList.length>0){return variantsList.some(v=>v?.availableForSale!==false);}return true;},[props.collectionsText,variantsList,liveProduct]);const shouldAddPlanToCart=React.useMemo(()=>{if(!props.sellingPlanId)return false;const raw=stripGid(props.sellingPlanId);return LEGACY_MEMBERSHIP_PLAN_IDS.has(raw);},[props.sellingPlanId]);const formatVariantId=id=>String(id).includes(\"gid://\")?String(id):`gid://shopify/ProductVariant/${id}`;const formatPlanId=id=>String(id).includes(\"gid://\")?String(id):`gid://shopify/SellingPlan/${id}`;const builderLines=React.useMemo(()=>{if(!variantsList.length)return[];return variantsList.map(v=>{const id=String(v.id);const gid=id.includes(\"gid://\")?id:`gid://shopify/ProductVariant/${id}`;const live=liveProduct.variants[gid]||liveProduct.variants[id];const qty=Math.max(0,Number(qtyByVariant[id]||0));const staticPrice=parseNumberLike(v?.price?.amount);const price=live?live.price:staticPrice;const available=live?live.availableForSale:v?.availableForSale!==false;const variantLabel=v?.selectedOptions?.[0]?.value||v?.title||\"\";// Para productos con una sola variante, el título del producto\n// es lo que tiene sentido mostrar; para multi-variante mantenemos\n// la etiqueta de la opción (p. ej. \"Vanilla\", \"Chocolate\").\nconst useProductTitle=variantsList.length===1||variantLabel===\"Default Title\"||!variantLabel;const displayTitle=useProductTitle?liveProduct.title||props.productTitle||variantLabel:variantLabel;return{id,title:displayTitle,price,currencyCode:v?.price?.currencyCode||\"EUR\",available,image:live?.image||v?.image?.url||\"\",qty,lineTotal:price*qty};}).filter(Boolean);},[variantsList,qtyByVariant,parseNumberLike,liveProduct,props.productTitle]);const builderQtyTotal=React.useMemo(()=>{return builderLines.reduce((acc,i)=>acc+(i.qty||0),0);},[builderLines]);const builderSubtotal=React.useMemo(()=>{return builderLines.reduce((acc,i)=>acc+(i.lineTotal||0),0);},[builderLines]);const meetsProductMin=React.useMemo(()=>{if(!minProductSubtotal||minProductSubtotal<=0)return builderSubtotal>0;return builderSubtotal>=minProductSubtotal;},[builderSubtotal,minProductSubtotal]);const missingToMin=React.useMemo(()=>{if(!minProductSubtotal||minProductSubtotal<=0)return 0;return Math.max(0,minProductSubtotal-builderSubtotal);},[builderSubtotal,minProductSubtotal]);const resetBuilder=React.useCallback(()=>{if(!variantsList.length)return;const next={};variantsList.forEach(v=>{next[String(v.id)]=0;});setQtyByVariant(next);setQuantity(1);},[variantsList]);const execute=async isBuyNow=>{if(!isAvailable)return;const linesToAdd=[];if(variantsList.length>0){if(!meetsProductMin)return;if(builderQtyTotal<=0)return;builderLines.forEach(i=>{if(i.qty>0&&i.available){const line={merchandiseId:formatVariantId(i.id),quantity:i.qty};if(shouldAddPlanToCart&&props.sellingPlanId){line.sellingPlanId=formatPlanId(props.sellingPlanId);}linesToAdd.push(line);}});}else{const vid=props.variantId;if(!vid)return;const line={merchandiseId:formatVariantId(vid),quantity:Math.max(1,Number(quantity||1))};if(shouldAddPlanToCart&&props.sellingPlanId){line.sellingPlanId=formatPlanId(props.sellingPlanId);}linesToAdd.push(line);}if(!linesToAdd.length)return;isBuyNow?setLoadingBuy(true):setLoadingAdd(true);try{let cartId=localStorage.getItem(\"shopify_cart_id\");if(!cartId||isBuyNow){const res=await shopifyFetch(`mutation { cartCreate { cart { id checkoutUrl } } }`,{},props.storeDomain,props.storeToken);if(res?.data?.cartCreate?.cart){cartId=res.data.cartCreate.cart.id;localStorage.setItem(\"shopify_cart_id\",cartId);await shopifyFetch(`mutation cartLinesAdd($cartId: ID!, $lines: [CartLineInput!]!) {\n                          cartLinesAdd(cartId: $cartId, lines: $lines) {\n                            cart { id checkoutUrl }\n                            userErrors { field message }\n                          }\n                        }`,{cartId,lines:linesToAdd},props.storeDomain,props.storeToken);trackPixelEvent(\"AddToCart\",{content_ids:linesToAdd.map(l=>stripGid(l.merchandiseId)),content_type:\"product\",// Antes iba `undefined` cuando no había lista de\n// variantes, y eso es la mayoría de los añadidos.\nvalue:builderSubtotal||precioVisible(),currency:\"EUR\",num_items:linesToAdd.reduce((acc,l)=>acc+(l.quantity||1),0)});if(isBuyNow){const res2=await shopifyFetch(`query getCart($cartId: ID!) { cart(id: $cartId) { checkoutUrl } }`,{cartId},props.storeDomain,props.storeToken);const url=res2?.data?.cart?.checkoutUrl;if(url){// El InitiateCheckout lo manda Shopify, no nosotros.\n// Se disparaba aquí al redirigir y otra vez allí al\n// cargar el checkout: la misma acción contada dos\n// veces, con identificadores distintos, así que Meta\n// no las une. El de Shopify es mejor —ocurre cuando\n// el checkout carga de verdad, lleva el importe ya\n// calculado y viaja por la API de conversiones, que\n// los bloqueadores no se comen—.\n//\n// Lo nuestro sí: es el último movimiento que vemos\n// antes de que la persona se vaya a Shopify. Va\n// antes de asignar `location.href`, no después: el\n// envío usa `keepalive` para sobrevivir a la\n// navegación, pero si se encola después del salto\n// puede no llegar a salir.\nregistrarEvento(\"checkout_started\",{});window.location.href=url.replace(\"wildfood.io\",\"wildfood-plantbased.myshopify.com\");}resetBuilder();return;}}}else{await shopifyFetch(`mutation cartLinesAdd($cartId: ID!, $lines: [CartLineInput!]!) {\n                      cartLinesAdd(cartId: $cartId, lines: $lines) {\n                        cart { id }\n                        userErrors { field message }\n                      }\n                    }`,{cartId,lines:linesToAdd},props.storeDomain,props.storeToken);trackPixelEvent(\"AddToCart\",{content_ids:linesToAdd.map(l=>stripGid(l.merchandiseId)),content_type:\"product\",value:builderSubtotal||precioVisible(),currency:\"EUR\",num_items:linesToAdd.reduce((acc,l)=>acc+(l.quantity||1),0)});}window.dispatchEvent(new Event(\"cart-updated\"));resetBuilder();}catch(e){console.error(e);}isBuyNow?setLoadingBuy(false):setLoadingAdd(false);};const addToBox=()=>{if(!isAvailable)return;if(!props.sellingPlanId)return;// Cuando hay purchaseOptions activos, la suscripción usa la variante\n// del tier seleccionado y la cantidad efectiva (qty × multiplicador).\nif(purchaseOptions.length>0){const opt=purchaseOptions.find(o=>o.id===selectedOptionId);if(!opt)return;const vid=opt.variantId||props.variantId;if(!vid)return;const mult=Math.max(1,Number(optionMultiplier[opt.id]||1));upsertSubBoxItem({variantId:vid,sellingPlanId:props.sellingPlanId,quantity:opt.qty*mult});window.dispatchEvent(new Event(\"subbox-updated\"));return;}if(variantsList.length>0){if(builderQtyTotal<=0)return;builderLines.forEach(i=>{if(i.qty>0&&i.available){upsertSubBoxItem({variantId:i.id,sellingPlanId:props.sellingPlanId,quantity:i.qty});}});}else{const vid=props.variantId;if(!vid)return;upsertSubBoxItem({variantId:vid,sellingPlanId:props.sellingPlanId,quantity:Math.max(1,Number(quantity||1))});}window.dispatchEvent(new Event(\"subbox-updated\"));resetBuilder();};const hasPurchaseOptions=purchaseOptions.length>0;const selectedOption=React.useMemo(()=>purchaseOptions.find(o=>o.id===selectedOptionId)||null,[purchaseOptions,selectedOptionId]);// Cantidades/precios efectivos del tier seleccionado (ya con multiplicador).\nconst selectedMultiplier=selectedOption?Math.max(1,Number(optionMultiplier[selectedOption.id]||1)):1;const selectedTotalQty=selectedOption?selectedOption.qty*selectedMultiplier:0;// Para la preview de la Subscribe card usamos el precio unitario \"single\"\n// (las suscripciones no combinan con pack discount, solo -10% del plan).\nconst subUnitPriceRef=React.useMemo(()=>{const singleTier=purchaseOptions.find(o=>o.qty===1);return singleTier?.price||0;},[purchaseOptions]);const subscribeBaseSubtotal=subUnitPriceRef*selectedTotalQty;const subscribeFirstSubtotal=subscribeBaseSubtotal*(1-SUB_FIRST_ORDER_DISCOUNT);const subscribeRecurringSubtotal=subscribeBaseSubtotal*(1-SUB_RECURRING_DISCOUNT);// Añade el tier seleccionado al carrito, con line attributes para\n// que la FloatingCart pueda pintarlo como \"Pack of N\", y aplica\n// el discount code del tier si lo trae.\nconst executePurchaseOption=async()=>{const opt=selectedOption;if(!opt)return;if(!isAvailable)return;const vid=opt.variantId||props.variantId;if(!vid)return;const mult=Math.max(1,Number(optionMultiplier[opt.id]||1));const totalQty=opt.qty*mult;const totalPrice=opt.price*mult;// Solo aplicamos pack discount si el cliente NO ha multiplicado\n// (el code está pensado para el tier exacto: 2× o 3×).\nconst useDiscount=!!opt.discountCode&&mult===1;const usePackLabel=opt.packLabel&&mult===1;setLoadingAdd(true);try{const merchandiseId=formatVariantId(vid);const attributes=[];if(usePackLabel){attributes.push({key:\"_pack\",value:opt.packLabel});}attributes.push({key:\"_pack_unit_price\",value:String(opt.price)});attributes.push({key:\"_pack_option_id\",value:opt.id});if(useDiscount){// Necesario para poder limpiar el code cuando se quita la línea\nattributes.push({key:\"_pack_code\",value:String(opt.discountCode)});}const line={merchandiseId,quantity:totalQty,attributes};if(opt.sellingPlanId){line.sellingPlanId=formatPlanId(opt.sellingPlanId);}const domain=props.storeDomain||DEFAULT_DOMAIN;const token=props.storeToken||DEFAULT_TOKEN;let cartId=localStorage.getItem(\"shopify_cart_id\");if(!cartId){const created=await shopifyFetch(`mutation { cartCreate { cart { id checkoutUrl } } }`,{},domain,token);cartId=created?.data?.cartCreate?.cart?.id;if(cartId)localStorage.setItem(\"shopify_cart_id\",cartId);}if(!cartId){setLoadingAdd(false);return;}await shopifyFetch(`mutation cartLinesAdd($cartId: ID!, $lines: [CartLineInput!]!) {\n                  cartLinesAdd(cartId: $cartId, lines: $lines) {\n                    cart { id checkoutUrl }\n                    userErrors { field message }\n                  }\n                }`,{cartId,lines:[line]},domain,token);if(useDiscount){// Preservamos cualquier código que el usuario ya tuviera aplicado\nconst existing=await shopifyFetch(`query GetCartDiscounts($cartId: ID!) {\n                      cart(id: $cartId) { discountCodes { code } }\n                    }`,{cartId},domain,token);const current=(existing?.data?.cart?.discountCodes||[]).map(d=>d?.code||\"\").filter(Boolean);const next=Array.from(new Set([...current,opt.discountCode]));await shopifyFetch(`mutation cartDiscountCodesUpdate($cartId: ID!, $discountCodes: [String!]!) {\n                      cartDiscountCodesUpdate(cartId: $cartId, discountCodes: $discountCodes) {\n                        cart { id discountCodes { code applicable } }\n                        userErrors { field message }\n                      }\n                    }`,{cartId,discountCodes:next},domain,token);}trackPixelEvent(\"AddToCart\",{content_ids:[stripGid(merchandiseId)],content_type:\"product\",value:totalPrice,currency:\"EUR\",num_items:totalQty});window.dispatchEvent(new Event(\"cart-updated\"));}catch(e){console.error(e);}setLoadingAdd(false);};const labelAdd=props.textAdd||t.addToCart;const btnText=isAvailable?labelAdd:props.customWaitlistText||\"Join the Waitlist\";const btnBg=isAvailable?props.addBtnBg||\"#000000\":props.waitlistBtnColor||\"#000\";const addBtnColor=props.addBtnColor||\"#FFFFFF\";const addBtnRadius=props.addBtnRadius??100;const addBtnFontSize=props.addBtnFontSize??15;const buyBtnBg=props.buyBtnBg||\"#F2F2F2\";const buyBtnColor=props.buyBtnColor||\"#000000\";const buyBtnRadius=props.buyBtnRadius??100;const buyBtnFontSize=props.buyBtnFontSize??15;const stickyBtnBg=props.stickyBtnBg||\"#000000\";const stickyBtnColor=props.stickyBtnColor||\"#FFFFFF\";const stickyBtnRadius=props.stickyBtnRadius??999;const showBuilder=variantsList.length>0;const addDisabled=loadingAdd||isAvailable&&showBuilder&&(!meetsProductMin||builderQtyTotal<=0);const addVisualDisabled=addDisabled&&isAvailable;const buyDisabled=loadingBuy||showBuilder&&(!meetsProductMin||builderQtyTotal<=0);const waitlistImage=React.useMemo(()=>{if(props.waitlistImage)return props.waitlistImage;const liveFirst=Object.values(liveProduct.variants)[0];if(liveFirst?.image)return liveFirst.image;if(variantsList.length>0){const withImg=variantsList.find(v=>v?.image?.url);if(withImg)return withImg.image.url;}return\"\";},[props.waitlistImage,variantsList,liveProduct]);const effectiveProductTitle=liveProduct.title||props.productTitle||\"\";const submitWaitlist=async e=>{e.preventDefault();setWaitlistError(\"\");if(!waitlistEmail||!/\\S+@\\S+\\.\\S+/.test(waitlistEmail)){setWaitlistError(t.waitlistErrorEmail);return;}setWaitlistSending(true);const payload={email:waitlistEmail.trim(),name:waitlistName.trim(),productTitle:effectiveProductTitle,variantId:props.variantId||\"\",lang,userAgent:typeof navigator!==\"undefined\"?navigator.userAgent:\"\"};// Cifrado, para que Meta pueda emparejar esta persona con la que\n// compre en el checkout, que es otro dominio y donde su cookie no\n// llega. Nunca se guarda en claro.\nvoid recordarCorreoParaMeta(payload.email);try{const url=props.waitlistWebhookUrl||\"https://script.google.com/macros/s/AKfycbxO_ePGvPw8wTJ_YBS9T_qF1wrgNMnC1SaiEwDoW81azMckekBxBu7ZA8Uff9HDZgP0/exec\";// Dual-write: Apps Script (Sheets) + CRM Supabase en paralelo.\nvoid recordarCorreoParaMeta(payload.email);const crmApiBaseUrl=props.crmApiBaseUrl||\"https://wild-chatbot.vercel.app\";const crmCall=fetch(`${crmApiBaseUrl}/api/leads/public`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify({email:payload.email,name:payload.name||undefined,source:\"waitlist\",// Lo que ata este correo con lo que ese navegador ya\n// había hecho. Va null si no aceptó el rastro, y el\n// servidor lo ignora.\nvisitorId:identificadorVisitante()||undefined,language:lang,productHandle:(payload.productTitle||\"\").toLowerCase().replace(/\\s+/g,\"-\")||undefined,metadata:{productTitle:payload.productTitle,variantId:payload.variantId,userAgent:payload.userAgent,channel:\"product_button\"}})}).catch(()=>{/* no bloqueante: el lead ya está en Sheets */});// mode: \"no-cors\" para evitar bloqueo por redirect 302 de Apps Script.\nawait Promise.all([fetch(url,{method:\"POST\",mode:\"no-cors\",headers:{\"Content-Type\":\"text/plain;charset=utf-8\"},body:JSON.stringify(payload)}),crmCall]);try{const local=JSON.parse(localStorage.getItem(\"wild_waitlist\")||\"[]\");local.push({...payload,createdAt:new Date().toISOString()});localStorage.setItem(\"wild_waitlist\",JSON.stringify(local));}catch{}trackPixelEvent(\"Lead\",{content_name:payload.productTitle||\"waitlist\",content_category:\"waitlist\"});setWaitlistSent(true);}catch(err){try{const local=JSON.parse(localStorage.getItem(\"wild_waitlist\")||\"[]\");local.push({...payload,createdAt:new Date().toISOString(),offline:true});localStorage.setItem(\"wild_waitlist\",JSON.stringify(local));}catch{}setWaitlistError(t.waitlistErrorNetwork);}finally{setWaitlistSending(false);}};const closeWaitlist=()=>{setShowWaitlist(false);setTimeout(()=>{setWaitlistSent(false);setWaitlistEmail(\"\");setWaitlistName(\"\");setWaitlistError(\"\");},250);};return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(WildBannerCookies,{pixelId:props.pixelId,ga4Id:props.ga4Id,urlPolitica:props.urlPolitica}),/*#__PURE__*/_jsxs(\"div\",{ref:sectionRef,style:{display:\"flex\",flexDirection:\"column\",gap:\"18px\",width:\"100%\",fontFamily:FONT_FAMILY},children:[hasPurchaseOptions&&/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:10},children:[purchaseOptions.map(opt=>{const isSelected=opt.id===selectedOptionId;// Tier \"flexible\": permite bumpear cantidad sin pack discount.\n// Por defecto cualquier tier single (qty=1) sin discountCode\n// es flex. También se puede forzar con `flexQty: true`.\nconst isFlex=opt.flexQty===true||opt.qty===1&&!opt.discountCode;const mult=Math.max(1,Number(optionMultiplier[opt.id]||1));const displayQty=opt.qty*mult;const displayPrice=opt.price*mult;// Baseline = precio que costaría comprar `displayQty` unidades\n// sueltas, usando el tier single (qty=1) como referencia.\nconst singleTier=purchaseOptions.find(o=>o.qty===1);const baseline=singleTier?singleTier.price*displayQty:0;const savings=baseline-displayPrice;const hasSavings=savings>.01&&displayQty>1&&!isFlex;return /*#__PURE__*/_jsxs(\"button\",{type:\"button\",onClick:()=>setSelectedOptionId(opt.id),\"aria-pressed\":isSelected,style:{display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",gap:12,padding:\"14px 16px\",border:isSelected?\"2px solid #111\":\"1px solid rgba(17,17,17,0.12)\",borderRadius:6,background:isSelected?\"#FFFFFF\":\"#FAFAFA\",cursor:\"pointer\",textAlign:\"left\",position:\"relative\",fontFamily:FONT_FAMILY},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:12,minWidth:0},children:[/*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":\"true\",style:{width:18,height:18,borderRadius:999,border:isSelected?\"5px solid #111\":\"2px solid #B0AEA8\",flex:\"0 0 auto\",boxSizing:\"border-box\"}}),/*#__PURE__*/_jsxs(\"div\",{style:{minWidth:0},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:14,fontWeight:800,color:\"#111\",lineHeight:1.2},children:opt.label||`${opt.qty} ${opt.qty===1?\"unit\":\"units\"}`}),opt.badge?/*#__PURE__*/_jsx(\"div\",{style:{fontSize:12,color:\"#558E1A\",fontWeight:700,marginTop:2},children:opt.badge}):null,/*#__PURE__*/_jsxs(\"div\",{style:{fontSize:12,color:\"#888\",marginTop:2,display:\"flex\",alignItems:\"center\",gap:10},children:[/*#__PURE__*/_jsxs(\"span\",{children:[displayQty,\" \",displayQty===1?\"unit\":\"units\"]}),isFlex&&isSelected?/*#__PURE__*/_jsxs(\"span\",{style:{display:\"inline-flex\",alignItems:\"center\",background:\"#F2F2F2\",borderRadius:6,padding:\"2px 4px\",gap:2},children:[/*#__PURE__*/_jsx(\"span\",{role:\"button\",tabIndex:0,\"aria-label\":\"Decrease\",onClick:e=>{e.stopPropagation();setOptionMultiplier(prev=>({...prev,[opt.id]:Math.max(1,(prev[opt.id]||1)-1)}));},style:{cursor:\"pointer\",padding:\"0 8px\",fontSize:14,fontWeight:700,color:\"#111\",userSelect:\"none\"},children:\"−\"}),/*#__PURE__*/_jsx(\"span\",{style:{fontSize:12,fontWeight:800,color:\"#111\",minWidth:14,textAlign:\"center\"},children:mult}),/*#__PURE__*/_jsx(\"span\",{role:\"button\",tabIndex:0,\"aria-label\":\"Increase\",onClick:e=>{e.stopPropagation();setOptionMultiplier(prev=>({...prev,[opt.id]:(prev[opt.id]||1)+1}));},style:{cursor:\"pointer\",padding:\"0 8px\",fontSize:14,fontWeight:700,color:\"#111\",userSelect:\"none\"},children:\"+\"})]}):null]})]})]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",alignItems:\"flex-end\",flex:\"0 0 auto\",lineHeight:1.1},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:16,fontWeight:900,color:\"#111\",whiteSpace:\"nowrap\"},children:formatEUR(displayPrice,lang)}),hasSavings?/*#__PURE__*/_jsx(\"div\",{style:{fontSize:12,color:\"#A7A199\",textDecoration:\"line-through\",marginTop:2,whiteSpace:\"nowrap\"},children:formatEUR(baseline,lang)}):null]}),opt.featured?/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:-10,left:14,background:\"#111\",color:\"#FFF\",fontSize:10,fontWeight:800,letterSpacing:\"0.05em\",textTransform:\"uppercase\",padding:\"3px 8px\",borderRadius:4,lineHeight:1},children:\"Most popular\"}):null]},opt.id);}),props.showAddButton!==false&&/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:()=>{if(isAvailable)executePurchaseOption();else setShowWaitlist(true);},disabled:loadingAdd||!selectedOption,style:{width:\"100%\",padding:\"14px\",backgroundColor:isAvailable?props.addBtnBg||\"#000000\":props.waitlistBtnColor||\"#000\",color:props.addBtnColor||\"#FFFFFF\",border:\"none\",borderRadius:props.addBtnRadius??6,fontSize:`${props.addBtnFontSize??15}px`,fontWeight:600,cursor:loadingAdd?\"wait\":\"pointer\",opacity:loadingAdd?.8:1,marginTop:6,transition:\"0.2s\"},children:loadingAdd?t.adding:isAvailable?`${labelAdd}${selectedOption?` \\xb7 ${formatEUR(selectedOption.price*Math.max(1,Number(optionMultiplier[selectedOption.id]||1)),lang)}`:\"\"}`:props.customWaitlistText||\"Join the Waitlist\"})]}),!hasPurchaseOptions&&showBuilder&&props.showVariants&&/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:10},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"baseline\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontWeight:600,fontSize:14,color:\"#111\"},children:variantsList[0]?.selectedOptions?.[0]?.name||t.flavor}),/*#__PURE__*/_jsx(\"span\",{style:{fontSize:13,fontWeight:700,color:\"#111\"},\"aria-live\":\"polite\",children:formatEUR(builderSubtotal,lang)})]}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:10,border:\"1px solid #EEE\",borderRadius:6,padding:12,background:\"#FFF\"},children:builderLines.map(v=>{const qty=v.qty||0;const disabled=!v.available||!isAvailable;return /*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexWrap:isMobile?\"wrap\":\"nowrap\",rowGap:isMobile?8:undefined,alignItems:\"center\",gap:12},children:[/*#__PURE__*/_jsx(\"div\",{style:{width:44,height:44,borderRadius:6,overflow:\"hidden\",background:\"#F4F4F4\",flex:\"0 0 auto\"},children:v.image?/*#__PURE__*/_jsx(\"img\",{src:v.image,alt:v.title,style:{width:\"100%\",height:\"100%\",objectFit:\"cover\"}}):null}),/*#__PURE__*/_jsxs(\"div\",{style:{flex:1,minWidth:0},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:14,fontWeight:600,lineHeight:\"1.2\",color:\"#111\",overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\"},children:v.title}),/*#__PURE__*/_jsxs(\"div\",{style:{fontSize:12,color:\"#666\",marginTop:2,display:\"flex\",gap:10,alignItems:\"center\"},children:[/*#__PURE__*/_jsx(\"span\",{children:formatEUR(v.price,lang)}),!v.available&&/*#__PURE__*/_jsx(\"span\",{style:{fontSize:11,fontWeight:700,letterSpacing:\"0.04em\",textTransform:\"uppercase\",color:\"#999\"},children:t.soldOut})]})]}),props.showQuantity?/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",background:\"#F2F2F2\",borderRadius:6,padding:\"4px 6px\",flex:\"0 0 auto\",opacity:disabled?.5:1},children:[/*#__PURE__*/_jsx(\"button\",{type:\"button\",\"aria-label\":`Decrease ${v.title}`,onClick:()=>{if(disabled)return;setQtyByVariant(prev=>{const next={...prev};const k=String(v.id);next[k]=Math.max(0,(next[k]||0)-1);return next;});},style:{background:\"none\",border:\"none\",cursor:disabled?\"not-allowed\":\"pointer\",width:28},children:\"-\"}),/*#__PURE__*/_jsx(\"span\",{style:{fontSize:13,fontWeight:700,minWidth:24,textAlign:\"center\",color:\"#111\"},\"aria-live\":\"polite\",children:qty}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",\"aria-label\":`Increase ${v.title}`,onClick:()=>{if(disabled)return;setQtyByVariant(prev=>{const next={...prev};const k=String(v.id);next[k]=(next[k]||0)+1;return next;});},style:{background:\"none\",border:\"none\",cursor:disabled?\"not-allowed\":\"pointer\",width:28},children:\"+\"})]}):/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:()=>{if(disabled)return;setQtyByVariant(prev=>{const next={...prev};const k=String(v.id);next[k]=(next[k]||0)+1;return next;});},style:{padding:\"10px 14px\",borderRadius:6,border:\"1px solid #E5E5E5\",background:\"#FFF\",fontSize:13,fontWeight:600,cursor:disabled?\"not-allowed\":\"pointer\",opacity:disabled?.5:1},children:t.add}),/*#__PURE__*/_jsx(\"div\",{style:{width:isMobile?\"100%\":70,textAlign:\"right\",fontSize:13,marginLeft:isMobile?\"auto\":0,fontWeight:700,color:\"#111\",flex:\"0 0 auto\"},\"aria-hidden\":qty===0,children:qty>0?formatEUR(v.lineTotal,lang):\"\"})]},v.id);})})]}),!hasPurchaseOptions&&!showBuilder&&props.showQuantity&&isAvailable&&/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",alignItems:\"center\"},children:/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",background:\"#F2F2F2\",borderRadius:\"6px\",padding:\"4px 6px\"},children:[/*#__PURE__*/_jsx(\"button\",{type:\"button\",\"aria-label\":\"Decrease quantity\",onClick:()=>setQuantity(q=>Math.max(1,q-1)),style:{background:\"none\",border:\"none\",cursor:\"pointer\",width:28},children:\"-\"}),/*#__PURE__*/_jsx(\"span\",{style:{fontSize:14,fontWeight:\"700\",minWidth:24,textAlign:\"center\"},children:quantity}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",\"aria-label\":\"Increase quantity\",onClick:()=>setQuantity(q=>q+1),style:{background:\"none\",border:\"none\",cursor:\"pointer\",width:28},children:\"+\"})]})}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:\"12px\",marginTop:\"2px\"},children:[!hasPurchaseOptions&&props.showAddButton&&/*#__PURE__*/_jsx(\"button\",{onClick:()=>{if(isAvailable)execute(false);else setShowWaitlist(true);},disabled:addDisabled,style:{width:\"100%\",padding:\"14px\",backgroundColor:addVisualDisabled?\"#E6E6E6\":btnBg,color:addVisualDisabled?\"#777\":addBtnColor,border:\"none\",borderRadius:addBtnRadius,fontSize:`${addBtnFontSize}px`,fontWeight:\"600\",cursor:addVisualDisabled?\"not-allowed\":loadingAdd?\"wait\":\"pointer\",opacity:loadingAdd?.8:1,transition:\"0.2s\"},children:/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",alignItems:\"center\",gap:2,lineHeight:1.1},children:[/*#__PURE__*/_jsx(\"span\",{children:loadingAdd?t.adding:btnText}),isAvailable&&showBuilder&&minProductSubtotal>0?!meetsProductMin?/*#__PURE__*/_jsxs(\"span\",{style:{fontSize:12,fontWeight:700,opacity:.9},children:[\"M\\xednimo\",\" \",formatEUR(minProductSubtotal,lang),\" \\xb7 Faltan \",formatEUR(missingToMin,lang)]}):/*#__PURE__*/_jsxs(\"span\",{style:{fontSize:12,fontWeight:700,opacity:.65},children:[\"M\\xednimo\",\" \",formatEUR(minProductSubtotal,lang),\" \",\"cumplido\"]}):null]})}),props.showSubscribeButton&&isAvailable&&props.sellingPlanId&&/*#__PURE__*/_jsxs(\"div\",{style:{width:\"100%\",borderRadius:8,overflow:\"hidden\",border:\"1px solid #EAEAEA\",background:\"#FAF7EF\",opacity:hasPurchaseOptions?selectedTotalQty>0?1:.7:showBuilder&&builderQtyTotal<=0?.7:1,transition:\"0.2s\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{background:\"#CDEFD1\",padding:\"10px 12px\",fontSize:12,fontWeight:700,textAlign:\"center\"},children:t.subPromoBar}),/*#__PURE__*/_jsxs(\"div\",{style:{padding:14,display:\"flex\",flexDirection:\"column\",gap:12},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",gap:12},children:[/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",gap:10,alignItems:\"flex-start\",flex:1,minWidth:0},children:/*#__PURE__*/_jsxs(\"div\",{style:{minWidth:0},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:15,fontWeight:800,color:\"#111\",lineHeight:\"1.2\"},children:t.subCardTitle}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:12,color:\"#666\",marginTop:3,lineHeight:\"1.2\"},children:hasPurchaseOptions?selectedTotalQty>0?t.subItems(selectedTotalQty):\"\":showBuilder&&builderQtyTotal>0?t.subItems(builderQtyTotal):\"\"})]})}),/*#__PURE__*/_jsx(\"div\",{style:{textAlign:\"right\",flex:\"0 0 auto\"},children:(()=>{// Preview: prioriza purchaseOptions, si no usa el builder antiguo.\nconst base=hasPurchaseOptions?subscribeBaseSubtotal:builderSubtotal;const first=hasPurchaseOptions?subscribeFirstSubtotal:builderSubtotal*(1-SUB_FIRST_ORDER_DISCOUNT);const recurring=hasPurchaseOptions?subscribeRecurringSubtotal:builderSubtotal*(1-SUB_RECURRING_DISCOUNT);const show=base>0;if(!show)return /*#__PURE__*/_jsx(\"div\",{style:{fontSize:16,fontWeight:900,color:\"#111\"},children:formatEUR(0,lang)});return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:11,fontWeight:700,color:\"#558E1A\",textTransform:\"uppercase\",letterSpacing:\"0.05em\",lineHeight:1.1},children:t.subFirstDelivery}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:18,fontWeight:900,color:\"#111\",marginTop:2},children:formatEUR(first,lang)}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:12,color:\"#666\",marginTop:2},children:t.subThenMonthly(formatEUR(recurring,lang))}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:12,color:\"#8B8B8B\",textDecoration:\"line-through\",marginTop:2},children:formatEUR(base,lang)})]});})()})]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"grid\",gridTemplateColumns:isMobile?\"1fr\":\"1fr 160px\",gap:14,alignItems:\"start\"},children:[/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:12,fontWeight:800,marginBottom:8,color:\"#111\"},children:t.subCardHow}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:8},children:[t.subBenefit1,t.subBenefit2,t.subBenefit3].map((txt,idx)=>/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",gap:8,alignItems:\"flex-start\"},children:[/*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":\"true\",style:{width:18,height:18,borderRadius:999,background:\"#111\",color:\"#fff\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",fontSize:12,lineHeight:\"18px\",flex:\"0 0 auto\",marginTop:1},children:\"✓\"}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:12,color:\"#333\",lineHeight:\"1.35\"},children:txt})]},idx))})]}),/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:12,color:\"#444\",marginBottom:8},children:t.subDeliveryLabel}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:13,fontWeight:700,color:\"#111\",lineHeight:\"1.2\"},children:t.subDeliveryOptionMonthly})]})]}),(()=>{const subDisabled=hasPurchaseOptions?selectedTotalQty<=0:showBuilder?builderQtyTotal<=0:false;return /*#__PURE__*/_jsx(\"button\",{onClick:addToBox,disabled:subDisabled,style:{width:\"100%\",padding:\"14px\",backgroundColor:\"#000\",color:\"#fff\",border:\"none\",borderRadius:6,fontSize:15,fontWeight:800,cursor:subDisabled?\"not-allowed\":\"pointer\",opacity:subDisabled?.6:1,transition:\"0.2s\"},children:props.textSubscribe||t.addToBox});})()]})]}),props.showBuyButton&&isAvailable&&/*#__PURE__*/_jsx(\"button\",{onClick:()=>execute(true),disabled:buyDisabled,style:{width:\"100%\",padding:\"14px\",backgroundColor:buyDisabled?\"#E6E6E6\":buyBtnBg,color:buyDisabled?\"#777\":buyBtnColor,border:\"none\",borderRadius:buyBtnRadius,fontSize:`${buyBtnFontSize}px`,fontWeight:\"600\",cursor:buyDisabled?\"not-allowed\":loadingBuy?\"wait\":\"pointer\",opacity:loadingBuy?.8:1,transition:\"0.2s\"},children:loadingBuy?\"...\":props.textBuyNow||t.buyNow})]}),showStickyBuyBar?/*#__PURE__*/_jsx(\"div\",{style:{position:\"fixed\",left:0,right:0,bottom:0,zIndex:9999,background:\"#FFFFFF\",borderTop:\"1px solid rgba(0,0,0,0.08)\",boxShadow:\"0 -10px 28px rgba(0,0,0,0.08)\",padding:\"10px 14px calc(10px + env(safe-area-inset-bottom))\"},role:\"region\",\"aria-label\":t.stickyDefaultTitle,children:/*#__PURE__*/_jsxs(\"div\",{style:{maxWidth:560,margin:\"0 auto\",display:\"flex\",flexDirection:\"column\",alignItems:\"center\",gap:8},children:[/*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",minWidth:0},children:/*#__PURE__*/_jsx(\"div\",{style:{fontSize:13,fontWeight:700,color:\"#111\",textAlign:\"center\",overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\"},children:effectiveProductTitle||t.stickyDefaultTitle})}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:scrollToBuySection,style:{height:38,padding:\"0 14px\",borderRadius:stickyBtnRadius,border:\"1px solid rgba(0,0,0,0.12)\",background:stickyBtnBg,color:stickyBtnColor,fontSize:13,fontWeight:800,cursor:\"pointer\",flex:\"0 0 auto\",alignSelf:\"center\",minWidth:160},\"aria-label\":t.stickyBuy,children:t.stickyBuy})]})}):null,showWaitlist?/*#__PURE__*/_jsx(\"div\",{role:\"dialog\",\"aria-modal\":\"true\",\"aria-label\":t.waitlistTitle,onClick:closeWaitlist,style:{position:\"fixed\",inset:0,background:\"rgba(0,0,0,0.55)\",zIndex:1e5,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",padding:16,fontFamily:FONT_FAMILY},children:/*#__PURE__*/_jsxs(\"div\",{onClick:e=>e.stopPropagation(),style:{width:\"100%\",maxWidth:420,background:\"#FFFFFF\",borderRadius:12,overflow:\"hidden\",position:\"relative\",boxShadow:\"0 24px 60px rgba(0,0,0,0.25)\"},children:[/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:closeWaitlist,\"aria-label\":t.waitlistClose,style:{position:\"absolute\",top:12,right:12,width:32,height:32,borderRadius:999,border:\"none\",background:\"rgba(255,255,255,0.9)\",cursor:\"pointer\",fontSize:16,lineHeight:1,fontWeight:700,color:\"#111\",zIndex:2},children:\"\\xd7\"}),waitlistImage?/*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",aspectRatio:\"16 / 9\",background:\"#F4F4F4\",overflow:\"hidden\"},children:/*#__PURE__*/_jsx(\"img\",{src:waitlistImage,alt:effectiveProductTitle,style:{width:\"100%\",height:\"100%\",objectFit:\"cover\"}})}):null,/*#__PURE__*/_jsxs(\"div\",{style:{padding:\"24px 22px 22px\",display:\"flex\",flexDirection:\"column\",gap:14},children:[/*#__PURE__*/_jsxs(\"div\",{children:[effectiveProductTitle?/*#__PURE__*/_jsx(\"div\",{style:{fontSize:11,fontWeight:700,letterSpacing:\"0.08em\",textTransform:\"uppercase\",color:\"#888\",marginBottom:6},children:effectiveProductTitle}):null,/*#__PURE__*/_jsx(\"h3\",{style:{margin:0,fontSize:22,fontWeight:800,lineHeight:1.15,color:\"#111\",letterSpacing:\"-0.02em\"},children:t.waitlistTitle}),/*#__PURE__*/_jsx(\"p\",{style:{margin:\"6px 0 0\",fontSize:13,color:\"#555\",lineHeight:1.4},children:t.waitlistSubtitle})]}),!waitlistSent?/*#__PURE__*/_jsxs(\"form\",{onSubmit:submitWaitlist,style:{display:\"flex\",flexDirection:\"column\",gap:10},children:[/*#__PURE__*/_jsx(\"input\",{type:\"text\",value:waitlistName,onChange:e=>setWaitlistName(e.target.value),placeholder:t.waitlistNamePh,autoComplete:\"given-name\",style:{padding:\"13px 14px\",borderRadius:6,border:\"1px solid #E2E2E2\",fontSize:14,outline:\"none\",fontFamily:FONT_FAMILY,background:\"#FAFAFA\",color:\"#111\"}}),/*#__PURE__*/_jsx(\"input\",{type:\"email\",required:true,value:waitlistEmail,onChange:e=>setWaitlistEmail(e.target.value),placeholder:t.waitlistEmailPh,autoComplete:\"email\",style:{padding:\"13px 14px\",borderRadius:6,border:`1px solid ${waitlistError?\"#D14343\":\"#E2E2E2\"}`,fontSize:14,outline:\"none\",fontFamily:FONT_FAMILY,background:\"#FAFAFA\",color:\"#111\"}}),waitlistError?/*#__PURE__*/_jsx(\"div\",{role:\"alert\",style:{fontSize:12,color:\"#D14343\",marginTop:-2},children:waitlistError}):null,/*#__PURE__*/_jsx(\"button\",{type:\"submit\",disabled:waitlistSending,style:{marginTop:4,padding:\"14px\",background:\"#000\",color:\"#fff\",border:\"none\",borderRadius:6,fontSize:14,fontWeight:700,cursor:waitlistSending?\"wait\":\"pointer\",opacity:waitlistSending?.7:1},children:waitlistSending?t.waitlistSending:t.waitlistSubmit})]}):/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:6,padding:\"14px 16px\",background:\"#E9F7EE\",borderRadius:6,border:\"1px solid #BFE6CB\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:14,fontWeight:800,color:\"#0A6B2A\"},children:t.waitlistSuccess}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:12,color:\"#3F7A55\"},children:t.waitlistSuccessHint})]})]})]})}):null]})]});}addPropertyControls(AddToCartButton,{// --- Rastro y consentimiento ---\n// `productHandle` manda sobre el título derivado. Ponerlo en cada ficha\n// evita depender de que el título de Shopify no cambie nunca.\nproductHandle:{type:ControlType.String,title:\"Handle producto\",defaultValue:\"\"},metaContentId:{type:ControlType.String,title:\"ID cat\\xe1logo Meta\",description:\"El identificador con el que este producto est\\xe1 en el cat\\xe1logo de Meta. Si no coincide, el retargeting din\\xe1mico no encuentra el producto y no avisa nadie.\",defaultValue:\"\"},// Los identificadores viven aquí y no en el <head> de Framer: desde el head\n// los scripts cargan antes de que exista ningún componente.\npixelId:{type:ControlType.String,title:\"ID p\\xedxel Meta\",defaultValue:\"1471495020684080\"},ga4Id:{type:ControlType.String,title:\"ID Google Analytics\",defaultValue:\"G-C34Q5FXMXN\"},urlPolitica:{type:ControlType.String,title:\"URL pol\\xedtica cookies\",defaultValue:\"\"},forceLanguage:{type:ControlType.Enum,title:\"Forzar Idioma\",options:[\"Auto\",\"ES\",\"IT\",\"EN\"],defaultValue:\"Auto\"},showQuantity:{type:ControlType.Boolean,defaultValue:true},showVariants:{type:ControlType.Boolean,defaultValue:true},showAddButton:{type:ControlType.Boolean,defaultValue:true},showBuyButton:{type:ControlType.Boolean,defaultValue:true},showSubscribeButton:{type:ControlType.Boolean,defaultValue:true},textSubscribe:{type:ControlType.String,title:\"Texto Suscribirse\",defaultValue:\"\"},minProductSubtotal:{type:ControlType.String,title:\"M\\xednimo € (producto)\",defaultValue:\"\"},textAdd:{type:ControlType.String,title:\"Texto A\\xf1adir\",defaultValue:\"\"},textBuyNow:{type:ControlType.String,title:\"Texto Comprar\",defaultValue:\"\"},customWaitlistText:{type:ControlType.String,title:\"Texto Waitlist\",defaultValue:\"Join the Waitlist\"},onWaitlistClick:{type:ControlType.EventHandler,title:\"Al hacer click en Waitlist\"},waitlistBtnColor:{type:ControlType.Color,title:\"Color Btn Waitlist\",defaultValue:\"#000000\"},waitlistWebhookUrl:{type:ControlType.String,title:\"URL Waitlist (Apps Script)\",defaultValue:\"https://script.google.com/macros/s/AKfycbxO_ePGvPw8wTJ_YBS9T_qF1wrgNMnC1SaiEwDoW81azMckekBxBu7ZA8Uff9HDZgP0/exec\"},crmApiBaseUrl:{type:ControlType.String,title:\"CRM \\xb7 URL backend\",defaultValue:\"https://wild-chatbot.vercel.app\",description:\"Backend del chatbot donde se crean los leads. Dejar el default.\"},waitlistImage:{type:ControlType.Image,title:\"Imagen popup waitlist\"},// --- BOTÓN AÑADIR AL CARRITO ---\naddBtnBg:{type:ControlType.Color,title:\"Fondo btn A\\xf1adir\",defaultValue:\"#000000\"},addBtnColor:{type:ControlType.Color,title:\"Texto btn A\\xf1adir\",defaultValue:\"#FFFFFF\"},addBtnRadius:{type:ControlType.Number,title:\"Radio btn A\\xf1adir\",defaultValue:100,min:0,max:100,step:1,displayStepper:true},addBtnFontSize:{type:ControlType.Number,title:\"Tama\\xf1o texto A\\xf1adir\",defaultValue:15,min:10,max:24,step:1,displayStepper:true},// --- BOTÓN COMPRAR AHORA ---\nbuyBtnBg:{type:ControlType.Color,title:\"Fondo btn Comprar\",defaultValue:\"#F2F2F2\"},buyBtnColor:{type:ControlType.Color,title:\"Texto btn Comprar\",defaultValue:\"#000000\"},buyBtnRadius:{type:ControlType.Number,title:\"Radio btn Comprar\",defaultValue:100,min:0,max:100,step:1,displayStepper:true},buyBtnFontSize:{type:ControlType.Number,title:\"Tama\\xf1o texto Comprar\",defaultValue:15,min:10,max:24,step:1,displayStepper:true},// --- STICKY BAR ---\nstickyBtnBg:{type:ControlType.Color,title:\"Fondo btn Sticky\",defaultValue:\"#000000\"},stickyBtnColor:{type:ControlType.Color,title:\"Texto btn Sticky\",defaultValue:\"#FFFFFF\"},stickyBtnRadius:{type:ControlType.Number,title:\"Radio btn Sticky\",defaultValue:999,min:0,max:999,step:1,displayStepper:true},// --- TÉCNICO ---\nstoreDomain:{type:ControlType.String,defaultValue:DEFAULT_DOMAIN},storeToken:{type:ControlType.String,defaultValue:DEFAULT_TOKEN},variantId:{type:ControlType.String},variantsJson:{type:ControlType.String},purchaseOptionsJson:{type:ControlType.String,title:\"Purchase Options (JSON)\",description:\"Tiers tipo single/pack2/pack3 con qty, price, label, badge, discountCode y opcional sellingPlanId. Si est\\xe1 relleno, sustituye al builder de variantsJson.\"},sellingPlanId:{type:ControlType.String},productTitle:{type:ControlType.String,title:\"T\\xedtulo producto\"},enableStickyBuyBar:{type:ControlType.Boolean,title:\"Sticky Buy Bar\",defaultValue:true},collectionsText:{type:ControlType.String}});// --- 2. CARRITO FLOTANTE ---\n// Selección de campos del carrito que usa el cajón. Se extrae aquí para\n// poder releer el carrito con la misma forma tras tocar los descuentos.\nconst FLOATING_CART_QUERY=`query getCart($cartId: ID!) { cart(id: $cartId) { checkoutUrl totalQuantity discountAllocations { discountedAmount { amount } } cost { subtotalAmount { amount currencyCode } totalAmount { amount currencyCode } } discountCodes { code applicable } lines(first: 20) { edges { node { id quantity attributes { key value } cost { subtotalAmount { amount currencyCode } totalAmount { amount currencyCode } } discountAllocations { discountedAmount { amount currencyCode } } merchandise { ... on ProductVariant { id title image { src } product { title } price { amount } } } sellingPlanAllocation { sellingPlan { id name } } } } } } }`;export function FloatingCart(props){const[cart,setCart]=React.useState(null);const[recs,setRecs]=React.useState([]);const[subs,setSubs]=React.useState([]);const[isOpen,setIsOpen]=React.useState(false);const[isExpanded,setIsExpanded]=React.useState(false);const[expandedSubs,setExpandedSubs]=React.useState(new Set);const[isMobile,setIsMobile]=React.useState(false);// Avisa de que el cajón se abre, se cierra o se expande, para que el chat\n// se aparte y no se solapen. Dos componentes distintos que ocupan la misma\n// esquina no tienen otra forma de saberlo: la alternativa era que el chat\n// espiara el DOM de este cajón, y eso se rompe al cambiar el diseño.\n//\n// **El ancho va en el aviso** y no escrito en el chat: así solo hay un\n// sitio donde cambiarlo, que es el mismo que lo pinta unas líneas abajo.\nReact.useEffect(()=>{if(typeof window===\"undefined\")return;const ancho=isMobile?window.innerWidth:isExpanded?850:420;window.dispatchEvent(new CustomEvent(\"wild:cart-drawer\",{detail:{open:isOpen,width:ancho,isMobile}}));},[isOpen,isExpanded,isMobile]);const[activeTab,setActiveTab]=React.useState(\"cart\");const[subBox,setSubBox]=React.useState([]);const[subBoxDetails,setSubBoxDetails]=React.useState([]);const[creatingBox,setCreatingBox]=React.useState(false);const[selectedBoxVariants,setSelectedBoxVariants]=React.useState({});const[selectedCartVariants,setSelectedCartVariants]=React.useState({});const detectedLang=useCurrentLang();const activeLang=props.forceLanguage===\"Auto\"?detectedLang:props.forceLanguage.toLowerCase();const t=UI_TEXTS[activeLang]||UI_TEXTS[\"en\"];const pTitles=PRODUCT_TITLES[activeLang]||PRODUCT_TITLES[\"en\"];React.useEffect(()=>{const checkMobile=()=>setIsMobile(window.innerWidth<768);checkMobile();window.addEventListener(\"resize\",checkMobile);return()=>window.removeEventListener(\"resize\",checkMobile);},[]);const loadSubBox=async()=>{if(typeof window===\"undefined\")return;const items=readSubBox();setSubBox(items);const details=await fetchSubBoxDetails(items,props.storeDomain,props.storeToken);setSubBoxDetails(details);};const addSubBoxToCart=async()=>{if(!subBox.length)return;setCreatingBox(true);try{let cartId=localStorage.getItem(\"shopify_cart_id\");if(!cartId){const res=await shopifyFetch(`mutation { cartCreate { cart { id checkoutUrl } } }`,{},props.storeDomain,props.storeToken);cartId=res?.data?.cartCreate?.cart?.id;if(cartId)localStorage.setItem(\"shopify_cart_id\",cartId);}if(!cartId)return;// Marcamos cada línea con `_subbox` para que la FloatingCart\n// pueda agruparlas como un único \"Subscription box\" visualmente.\nconst lines=subBox.map(i=>({merchandiseId:i.variantId,quantity:i.quantity,sellingPlanId:i.sellingPlanId,attributes:[{key:\"_subbox\",value:\"true\"}]}));const res=await shopifyFetch(`mutation cartLinesAdd($cartId: ID!, $lines: [CartLineInput!]!) {\n                  cartLinesAdd(cartId: $cartId, lines: $lines) {\n                    cart { id totalQuantity }\n                    userErrors { field message }\n                  }\n                }`,{cartId,lines},props.storeDomain,props.storeToken);const errs=res?.data?.cartLinesAdd?.userErrors;if(Array.isArray(errs)&&errs.length>0){console.error(\"addSubBoxToCart Shopify userErrors\",errs);}trackPixelEvent(\"AddToCart\",{content_ids:[\"sub-box-wild\"],content_type:\"product_group\",content_name:\"Wild Sub Box\",value:boxFinalSubtotal||0,currency:\"EUR\"});writeSubBox([]);setSubBox([]);setSubBoxDetails([]);window.dispatchEvent(new Event(\"cart-updated\"));}catch(e){console.error(e);}finally{setCreatingBox(false);}};const loadData=async()=>{const cartId=localStorage.getItem(\"shopify_cart_id\");if(!cartId)return;const cartQuery=FLOATING_CART_QUERY;const cartRes=await shopifyFetch(cartQuery,{cartId},props.storeDomain,props.storeToken);// Si Shopify responde con data pero cart === null, el cartId guardado ha\n// caducado o es inválido (Shopify expira los carritos tras ~10 días). Lo\n// descartamos para que el próximo \"añadir\" cree uno nuevo, sin que el cliente\n// tenga que limpiar la caché. OJO: solo borramos cuando hay data; ante un\n// fallo de red/auth cartRes no trae data y NO tocamos el cartId válido.\nif(cartRes?.data&&cartRes.data.cart===null){localStorage.removeItem(\"shopify_cart_id\");setCart(null);}else{const freshCart=cartRes?.data?.cart;setCart(freshCart);// El código del 30% entra o sale del carrito según haya o no\n// líneas de suscripción. Si cambia, releemos para refrescar\n// totales y descuentos con la misma forma de datos.\nconst codeChanged=await syncSubscriptionWelcomeCode(cartId,props.subscriptionWelcomeCode,props.storeDomain,props.storeToken,{hasSubscription:(freshCart?.lines?.edges||[]).some(e=>e?.node?.sellingPlanAllocation?.sellingPlan?.id),codes:(freshCart?.discountCodes||[]).map(d=>d?.code||\"\").filter(Boolean)});// El precio de pack se gana por unidades, así que se revisa cada\n// vez que el carrito cambia: da igual si llegaste ahí por el botón\n// del tier, subiendo la cantidad o pidiéndoselo al chat.\nconst packsCambiaron=await sincronizarPacks(cartId,freshCart?.lines?.edges||[],(freshCart?.discountCodes||[]).map(d=>d?.code||\"\").filter(Boolean),props.storeDomain,props.storeToken);if(codeChanged||packsCambiaron){const refreshed=await shopifyFetch(cartQuery,{cartId},props.storeDomain,props.storeToken);if(refreshed?.data?.cart)setCart(refreshed.data.cart);}}const productsQuery=`query getProducts { products(first: 20, sortKey: BEST_SELLING) { edges { node { title description productType tags variants(first: 10) { edges { node { id title price { amount } availableForSale image { url } selectedOptions { name value } sellingPlanAllocations(first:1) { edges { node { sellingPlan { id } } } } } } } } } } }`;const productsRes=await shopifyFetch(productsQuery,{},props.storeDomain,props.storeToken);if(productsRes?.data?.products?.edges){const cartIds=cartRes?.data?.cart?.lines.edges.map(l=>l.node.merchandise.id)||[];const all=productsRes.data.products.edges.map(e=>{const allVariants=e.node.variants.edges.map(ve=>ve.node);const v=allVariants[0];const rawPlanId=v?.sellingPlanAllocations?.edges[0]?.node?.sellingPlan?.id;const rawNum=stripGid(rawPlanId);const isMem=e.node.title.toLowerCase().includes(\"membership\")||LEGACY_MEMBERSHIP_PLAN_IDS.has(rawNum);const planId=LEGACY_MEMBERSHIP_PLAN_IDS.has(rawNum)?rawPlanId:null;let title=e.node.title;let suffix=\"\";if(isMem){const key=e.node.title.toLowerCase().includes(\"human\")?\"nextHuman\":e.node.title.toLowerCase().includes(\"pulled\")?\"pulled\":null;if(key&&pTitles[key]){title=pTitles[key];suffix=e.node.title.toLowerCase().includes(\"week\")?t.perWeek:t.perMonth;}}const variants=allVariants.map(vv=>({id:vv.id,title:vv.title,price:vv.price?.amount,available:vv.availableForSale,image:vv.image?.url,subPlanId:vv.sellingPlanAllocations?.edges[0]?.node?.sellingPlan?.id||null}));return{title,description:e.node.description,isB2B:String(e.node.productType||\"\").toLowerCase().includes(\"b2b\")||Array.isArray(e.node.tags)&&e.node.tags.some(tg=>String(tg).toLowerCase().includes(\"b2b\"))||e.node.title.toLowerCase().includes(\"b2b\"),id:v?.id,price:v?.price?.amount,available:allVariants.some(vv=>vv.availableForSale),image:v?.image?.url,planId,subPlanId:rawPlanId||null,variants,isMem,suffix};}).filter(p=>p.id&&p.available===true&&!p.isB2B&&!cartIds.includes(p.id));setRecs(all.filter(p=>!p.isMem).slice(0,6));setSubs(all.filter(p=>p.isMem).slice(0,2));}};const manageCart=async(action,payload)=>{let cartId=localStorage.getItem(\"shopify_cart_id\");// Para 'add' creamos el cart si no existe (anteriormente abortaba si no había).\nif(!cartId&&action===\"add\"){try{const res=await shopifyFetch(`mutation { cartCreate { cart { id checkoutUrl } } }`,{},props.storeDomain,props.storeToken);cartId=res?.data?.cartCreate?.cart?.id;if(cartId)localStorage.setItem(\"shopify_cart_id\",cartId);}catch(err){console.error(\"manageCart cartCreate failed\",err);return;}}if(!cartId)return;const buildQuery=cid=>{if(action===\"add\"){const id=payload.id.includes(\"gid://\")?payload.id:`gid://shopify/ProductVariant/${payload.id}`;const item={merchandiseId:id,quantity:1};if(payload.planId)item.sellingPlanId=payload.planId.includes(\"gid://\")?payload.planId:`gid://shopify/SellingPlan/${payload.planId}`;return`mutation { cartLinesAdd(cartId: \"${cid}\", lines: [{ merchandiseId: \"${item.merchandiseId}\", quantity: 1 ${item.sellingPlanId?`, sellingPlanId: \"${item.sellingPlanId}\"`:\"\"} }]) { cart { id } userErrors { field message } } }`;}else if(action===\"update\"){return`mutation { cartLinesUpdate(cartId: \"${cid}\", lines: [{ id: \"${payload.id}\", quantity: ${payload.qty} }]) { cart { id } } }`;}else if(action===\"remove\"){return`mutation { cartLinesRemove(cartId: \"${cid}\", lineIds: [\"${payload.id}\"]) { cart { id } } }`;}return\"\";};let res=await shopifyFetch(buildQuery(cartId),{},props.storeDomain,props.storeToken);// Recuperación de carrito muerto (condición de carrera o cartId caducado que\n// loadData aún no limpió): si al añadir Shopify devuelve cart === null, el\n// cartId ya no existe. Creamos uno nuevo y reintentamos el add una sola vez.\nif(action===\"add\"&&res?.data&&res.data.cartLinesAdd&&res.data.cartLinesAdd.cart===null){const fresh=await shopifyFetch(`mutation { cartCreate { cart { id } } }`,{},props.storeDomain,props.storeToken);const newId=fresh?.data?.cartCreate?.cart?.id;if(newId){localStorage.setItem(\"shopify_cart_id\",newId);cartId=newId;res=await shopifyFetch(buildQuery(newId),{},props.storeDomain,props.storeToken);}}// Si la mutación devolvió userErrors, los mostramos en consola para diagnóstico.\nconst userErrors=res?.data?.cartLinesAdd?.userErrors||res?.data?.cartLinesUpdate?.userErrors||res?.data?.cartLinesRemove?.userErrors;if(Array.isArray(userErrors)&&userErrors.length>0){console.error(\"manageCart Shopify userErrors\",userErrors);}// El rastro propio sí registra el quitar, al revés que el píxel: «quitó\n// del carrito» dice tanto como añadir y no lo mira nadie. Aquí el\n// `action` lo dice sin ambigüedad, y bajar la cantidad a cero es quitar\n// aunque Shopify lo llame actualizar.\nif(action===\"remove\"||action===\"update\"&&Number(payload?.qty)===0){registrarEvento(\"remove_from_cart\",{productHandle:payload?.handle||productoEnPantalla()});}// NOTE: only track 'add' (new product committed); 'update' (qty +/-) and 'remove' are intentionally not tracked\nif(action===\"add\"){trackPixelEvent(\"AddToCart\",{content_ids:[stripGid(payload.id)],content_type:\"product\",currency:\"EUR\",num_items:1});}// Al quitar una línea pack, limpiamos también el discount code del carrito\n// si ya no queda ninguna otra línea que lo justifique.\nif(action===\"remove\"&&Array.isArray(payload.attributes)){const packCode=payload.attributes.find(a=>a?.key===\"_pack_code\")?.value;if(packCode){try{const after=await shopifyFetch(`query getCart($cartId: ID!) {\n                          cart(id: $cartId) {\n                            discountCodes { code }\n                            lines(first: 50) { edges { node { attributes { key value } } } }\n                          }\n                        }`,{cartId},props.storeDomain,props.storeToken);const stillUsed=(after?.data?.cart?.lines?.edges||[]).some(e=>(e?.node?.attributes||[]).some(a=>a?.key===\"_pack_code\"&&a?.value===packCode));if(!stillUsed){const current=(after?.data?.cart?.discountCodes||[]).map(d=>d?.code||\"\").filter(Boolean);const next=current.filter(c=>c!==packCode);if(next.length!==current.length){await shopifyFetch(`mutation cartDiscountCodesUpdate($cartId: ID!, $discountCodes: [String!]!) {\n                                  cartDiscountCodesUpdate(cartId: $cartId, discountCodes: $discountCodes) {\n                                    cart { id discountCodes { code applicable } }\n                                    userErrors { field message }\n                                  }\n                                }`,{cartId,discountCodes:next},props.storeDomain,props.storeToken);}}}catch(err){console.error(\"manageCart cleanup code failed\",err);}}}window.dispatchEvent(new Event(\"cart-updated\"));};React.useEffect(()=>{loadData();const handler=()=>{loadData();setActiveTab(\"cart\");setIsOpen(true);};window.addEventListener(\"cart-updated\",handler);return()=>window.removeEventListener(\"cart-updated\",handler);},[]);// Red de seguridad: si un enlace con ?discount= entra por una página normal\n// (sin pasar por el instant shop), capturamos el código y lo aplicamos una vez\n// al carrito existente. No altera la lógica de carrito ni los handlers.\nReact.useEffect(()=>{const code=captureDiscountFromUrl();if(!code)return;const cartId=typeof window!==\"undefined\"?localStorage.getItem(\"shopify_cart_id\"):null;if(!cartId)return;// Refresco silencioso: loadData() en vez de despachar \"cart-updated\",\n// para no forzar la apertura del cajón del carrito en páginas normales.\napplyStoredDiscountToCart(cartId,props.storeDomain,props.storeToken).then(()=>loadData());// eslint-disable-next-line react-hooks/exhaustive-deps\n},[]);React.useEffect(()=>{loadSubBox();const subHandler=e=>{loadSubBox();if(e?.detail?.silent)return;setActiveTab(\"box\");setIsOpen(true);};window.addEventListener(\"subbox-updated\",subHandler);return()=>window.removeEventListener(\"subbox-updated\",subHandler);},[]);// Listener externo (chatbot, otros componentes) para añadir al carrito\n// sin duplicar la lógica de cartCreate/cartLinesAdd. Único punto de entrada.\nReact.useEffect(()=>{const addHandler=async e=>{const detail=e?.detail||{};const variantId=detail.variantId;const quantity=Math.max(1,Number(detail.quantity)||1);const sellingPlanId=detail.sellingPlanId;if(!variantId)return;try{let cartId=localStorage.getItem(\"shopify_cart_id\");if(!cartId){const res=await shopifyFetch(`mutation { cartCreate { cart { id checkoutUrl } } }`,{},props.storeDomain,props.storeToken);cartId=res?.data?.cartCreate?.cart?.id;if(cartId)localStorage.setItem(\"shopify_cart_id\",cartId);}if(!cartId)return;const merchandiseId=variantId.includes(\"gid://\")?variantId:`gid://shopify/ProductVariant/${variantId}`;const line={merchandiseId,quantity};if(sellingPlanId){line.sellingPlanId=sellingPlanId.includes(\"gid://\")?sellingPlanId:`gid://shopify/SellingPlan/${sellingPlanId}`;}await shopifyFetch(`mutation cartLinesAdd($cartId: ID!, $lines: [CartLineInput!]!) {\n                      cartLinesAdd(cartId: $cartId, lines: $lines) {\n                        cart { id }\n                        userErrors { field message }\n                      }\n                    }`,{cartId,lines:[line]},props.storeDomain,props.storeToken);trackPixelEvent(\"AddToCart\",{content_ids:[stripGid(merchandiseId)],content_type:\"product\",currency:\"EUR\",num_items:quantity,source:detail.source||\"external\"});window.dispatchEvent(new Event(\"cart-updated\"));}catch(err){console.error(\"wild:add-to-cart handler failed\",err);}};// El chat pide aplicar un cupón —el que sale de canjear puntos— para\n// que al pagar ya esté puesto y nadie tenga que copiarlo a mano.\n//\n// Se reutiliza el mismo camino que el campo de descuento del cajón, así\n// que hereda su comportamiento: si el código no aplica, Shopify lo dice\n// y el carrito se queda como estaba.\nconst discountHandler=async e=>{const code=e?.detail?.code;if(!code)return;try{const cartId=localStorage.getItem(\"shopify_cart_id\");// Sin carrito no hay dónde ponerlo, y no pasa nada: el cupón ya\n// está emitido y es suyo. Lo usará cuando monte el pedido.\nif(!cartId)return;const actual=await shopifyFetch(`query GetCartCodes($cartId: ID!) {\n                      cart(id: $cartId) { discountCodes { code } }\n                    }`,{cartId},props.storeDomain,props.storeToken);const codes=(actual?.data?.cart?.discountCodes||[]).map(d=>d?.code||\"\").filter(Boolean);if(codes.some(c=>String(c).toUpperCase()===String(code).toUpperCase()))return;// Se añade sin quitar lo que hubiera. Si chocan, lo decide\n// Shopify y se ve en el carrito — el chat ya avisó antes de\n// gastar los puntos, que es cuando la persona podía elegir.\nawait shopifyFetch(`mutation cartDiscountCodesUpdate($cartId: ID!, $discountCodes: [String!]!) {\n                      cartDiscountCodesUpdate(cartId: $cartId, discountCodes: $discountCodes) {\n                        cart { id discountCodes { code applicable } }\n                        userErrors { field message }\n                      }\n                    }`,{cartId,discountCodes:[...codes,String(code)]},props.storeDomain,props.storeToken);window.dispatchEvent(new Event(\"cart-updated\"));}catch(err){console.error(\"wild:apply-discount handler failed\",err);}};window.addEventListener(\"wild:apply-discount\",discountHandler);window.addEventListener(\"wild:add-to-cart\",addHandler);// Listener para añadir productos a la caja de suscripción desde fuera\n// (p.ej. desde el chatbot WildChatbot).\n// detail: { variantId, sellingPlanId, quantity?, source? }\nconst subHandler=e=>{try{const d=e?.detail??{};const variantId=String(d.variantId||\"\");const sellingPlanId=String(d.sellingPlanId||\"\");const quantity=Math.max(1,Number.isFinite(d.quantity)?Number(d.quantity):1);if(!variantId||!sellingPlanId){console.warn(\"wild:add-to-subscription requiere variantId y sellingPlanId\");return;}upsertSubBoxItem({variantId,sellingPlanId,quantity});window.dispatchEvent(new Event(\"subbox-updated\"));// Abrimos el SubscriptionBuilder para que el cliente vea\n// su caja en construcción.\nwindow.dispatchEvent(new Event(\"open-subscription-builder\"));}catch(err){console.error(\"wild:add-to-subscription handler failed\",err);}};window.addEventListener(\"wild:add-to-subscription\",subHandler);// Listener para QUITAR un producto del carrito (busca por variantId).\n// Útil cuando el chatbot quiere mover algo del carrito a la suscripción.\n// detail: { variantId, lineId? } — si se da lineId va directo; si no,\n// busca la línea por variantId en el cart actual.\nconst removeHandler=async e=>{try{const d=e?.detail??{};const variantId=String(d.variantId||\"\");const explicitLineId=d.lineId?String(d.lineId):\"\";const cartId=localStorage.getItem(\"shopify_cart_id\");if(!cartId){console.warn(\"wild:remove-from-cart sin cartId, ignorado\");return;}let lineIdToRemove=explicitLineId;if(!lineIdToRemove&&variantId){// Buscamos la línea del cart actual cuyo merchandise coincida\nconst variantGid=variantId.includes(\"gid://\")?variantId:`gid://shopify/ProductVariant/${variantId}`;const cartQuery=`query getCart($cartId: ID!) { cart(id: $cartId) { lines(first: 30) { edges { node { id merchandise { ... on ProductVariant { id } } } } } } }`;const res=await shopifyFetch(cartQuery,{cartId},props.storeDomain,props.storeToken);const edges=res?.data?.cart?.lines?.edges||[];const match=edges.find(ed=>ed?.node?.merchandise?.id===variantGid);lineIdToRemove=match?.node?.id||\"\";}if(!lineIdToRemove){console.warn(\"wild:remove-from-cart no encontr\\xf3 l\\xednea para variantId\",variantId);return;}const res=await shopifyFetch(`mutation cartLinesRemove($cartId: ID!, $lineIds: [ID!]!) {\n                      cartLinesRemove(cartId: $cartId, lineIds: $lineIds) {\n                        cart { id totalQuantity }\n                        userErrors { field message }\n                      }\n                    }`,{cartId,lineIds:[lineIdToRemove]},props.storeDomain,props.storeToken);const errs=res?.data?.cartLinesRemove?.userErrors;if(Array.isArray(errs)&&errs.length>0){console.error(\"wild:remove-from-cart Shopify userErrors\",errs);}registrarEvento(\"remove_from_cart\",{productHandle:productoEnPantalla()});window.dispatchEvent(new Event(\"cart-updated\"));}catch(err){console.error(\"wild:remove-from-cart handler failed\",err);}};window.addEventListener(\"wild:remove-from-cart\",removeHandler);return()=>{window.removeEventListener(\"wild:add-to-cart\",addHandler);window.removeEventListener(\"wild:add-to-subscription\",subHandler);window.removeEventListener(\"wild:remove-from-cart\",removeHandler);};},[props.storeDomain,props.storeToken]);const toggleSub=id=>{setExpandedSubs(prev=>{const next=new Set(prev);if(next.has(id))next.delete(id);else next.add(id);return next;});};const defaultIcon=/*#__PURE__*/_jsxs(\"svg\",{width:\"24\",height:\"24\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:props.iconColor,strokeWidth:\"1.5\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"3\",y1:\"6\",x2:\"21\",y2:\"6\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M16 10a4 4 0 0 1-8 0\"})]});const subtotal=parseFloat(cart?.cost?.subtotalAmount?.amount||0);const minOrder=typeof props.minOrderThreshold===\"number\"?props.minOrderThreshold:MIN_ORDER_THRESHOLD;const meetsMinOrder=subtotal>=minOrder;const minCopy=minOrderText(activeLang,subtotal,minOrder);// Cuánto se ha descontado de verdad, según Shopify.\n//\n// Se suman las asignaciones de descuento de cada línea —`discountAllocations`,\n// que ya venían en la consulta y no las leía nadie— en vez de restar el\n// total al subtotal: el total puede llevar impuestos dentro, y esa resta\n// daría un «descuento» inventado.\n//\n// Ahí caen los dos tipos: el de producto de un pack, y el de pedido de un\n// cupón de puntos, que Shopify reparte entre las líneas.\nconst sumaAsignaciones=as=>(as||[]).reduce((s,d)=>s+parseFloat(d?.discountedAmount?.amount||\"0\"),0);// **Los dos niveles.** Un descuento de producto —el precio de pack— se\n// reparte en las líneas. Uno de pedido —el cupón de puntos— no toca ninguna\n// línea y solo aparece colgando del carrito. Comprobado contra Shopify el\n// 04/08/2026: con el cupón puesto, `line.discountAllocations` viene vacío y\n// `cart.discountAllocations` trae los 5 €. Sumando solo las líneas, el\n// descuento se aplicaba y no se veía en ninguna parte.\nconst descuentoAplicado=sumaAsignaciones(cart?.discountAllocations)+(cart?.lines?.edges||[]).reduce((acc,{node})=>acc+sumaAsignaciones(node?.discountAllocations),0);const codigosAplicados=(cart?.discountCodes||[]).filter(d=>d?.applicable).map(d=>d?.code).filter(Boolean);const totalDisplay=cart?.cost?.totalAmount?.amount?`${cart.cost.totalAmount.amount} EUR`:\"0.00 EUR\";const subBoxThreshold=typeof props.subBoxThreshold===\"number\"?props.subBoxThreshold:DEFAULT_SUB_BOX_THRESHOLD;const boxSubtotal=subBoxDetails.reduce((acc,i)=>acc+i.price*i.quantity,0);const boxFinalSubtotal=boxSubtotal*(1-SUB_BOX_DISCOUNT_RATE);// Lo que se paga en la primera entrega (-30%), frente al recurrente.\nconst boxFirstSubtotal=boxSubtotal*(1-SUB_FIRST_ORDER_DISCOUNT);const firstOrderPct=Math.round(SUB_FIRST_ORDER_DISCOUNT*100);const missingFinal=Math.max(0,subBoxThreshold-boxFinalSubtotal);const ready=boxFinalSubtotal>=subBoxThreshold;const boxRecs=React.useMemo(()=>{const inBox=new Set(subBox.map(i=>stripGid(i.variantId)));return recs.filter(r=>r.available&&!inBox.has(stripGid(r.id)));},[recs,subBox]);// Separamos las líneas del carrito en (a) las marcadas como _subbox\n// (la suscripción ya creada, que pintamos como una sola fila virtual)\n// y (b) el resto (productos one-time + packs).\nconst allLineEdges=cart?.lines?.edges||[];const subboxLines=allLineEdges.filter(({node})=>(node?.attributes||[]).some(a=>a?.key===\"_subbox\"));const nonSubboxLines=allLineEdges.filter(({node})=>!(node?.attributes||[]).some(a=>a?.key===\"_subbox\"));const subboxTotal=subboxLines.reduce((acc,{node})=>acc+parseFloat(node?.cost?.totalAmount?.amount||\"0\"),0);// subboxTotal viene con el -10% del selling plan ya aplicado; el código\n// del primer pedido lo baja hasta el -30% sobre el precio de tarifa.\nconst subboxFirstTotal=subboxTotal*((1-SUB_FIRST_ORDER_DISCOUNT)/(1-SUB_RECURRING_DISCOUNT));const subboxItemCount=subboxLines.reduce((acc,{node})=>acc+Number(node?.quantity||0),0);const subboxFirstImage=subboxLines[0]?.node?.merchandise?.image?.src||\"\";const removeSubBoxGroup=async()=>{const cartId=localStorage.getItem(\"shopify_cart_id\");if(!cartId||subboxLines.length===0)return;const ids=subboxLines.map(({node})=>node.id);try{await shopifyFetch(`mutation cartLinesRemove($cartId: ID!, $lineIds: [ID!]!) {\n                  cartLinesRemove(cartId: $cartId, lineIds: $lineIds) {\n                    cart { id }\n                    userErrors { field message }\n                  }\n                }`,{cartId,lineIds:ids},props.storeDomain,props.storeToken);registrarEvento(\"remove_from_cart\",{productHandle:productoEnPantalla()});window.dispatchEvent(new Event(\"cart-updated\"));}catch(err){console.error(\"removeSubBoxGroup failed\",err);}};return /*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",fontFamily:FONT_FAMILY},children:[/*#__PURE__*/_jsxs(\"div\",{onClick:()=>setIsOpen(true),style:{cursor:\"pointer\",position:\"relative\",display:\"flex\"},children:[props.customIcon?/*#__PURE__*/_jsx(\"img\",{src:props.customIcon,style:{width:26,height:26,objectFit:\"contain\"}}):defaultIcon,cart?.totalQuantity>0&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:-5,right:-5,background:props.badgeColor,color:\"#fff\",width:16,height:16,borderRadius:\"50%\",fontSize:9,fontWeight:\"600\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:cart.totalQuantity})]}),isOpen&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{onClick:()=>{setIsOpen(false);setIsExpanded(false);},style:{position:\"fixed\",top:0,left:0,width:\"100vw\",height:\"100vh\",background:\"rgba(0,0,0,0.3)\",zIndex:99998}}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"fixed\",top:0,right:0,height:\"100vh\",width:isMobile?\"100%\":isExpanded?\"850px\":\"420px\",maxWidth:\"100vw\",background:\"#fff\",zIndex:99999,display:\"flex\",flexDirection:\"row\",boxShadow:\"-10px 0 40px rgba(0,0,0,0.05)\",transition:\"width 0.3s ease-in-out\"},children:[!isMobile&&/*#__PURE__*/_jsx(\"div\",{onClick:()=>setIsExpanded(!isExpanded),style:{position:\"absolute\",top:\"50%\",left:-20,width:40,height:40,background:\"#fff\",borderRadius:\"50%\",boxShadow:\"0 4px 12px rgba(0,0,0,0.1)\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",cursor:\"pointer\",zIndex:100,transform:\"translateY(-50%)\"},children:/*#__PURE__*/_jsx(\"svg\",{width:\"20\",height:\"20\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"#000\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",style:{transform:isExpanded?\"rotate(180deg)\":\"rotate(0deg)\",transition:\"0.3s\"},children:/*#__PURE__*/_jsx(\"path\",{d:\"M15 18l-6-6 6-6\"})})}),!isMobile&&/*#__PURE__*/_jsxs(\"div\",{style:{width:isExpanded?\"400px\":\"0px\",overflow:\"hidden\",borderRight:\"1px solid #f0f0f0\",background:\"#FAFAFA\",transition:\"width 0.3s ease-in-out\",display:\"flex\",flexDirection:\"column\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{padding:\"30px 30px 20px\",minWidth:400},children:[/*#__PURE__*/_jsx(\"h3\",{style:{margin:0,fontSize:18,fontWeight:\"600\"},children:t.planTitle}),/*#__PURE__*/_jsx(\"p\",{style:{fontSize:13,color:\"#666\",marginTop:5},children:t.planSub})]}),/*#__PURE__*/_jsx(\"div\",{style:{flex:1,padding:\"0 30px 30px\",overflowY:\"auto\",minWidth:400},children:subs.length>0?/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:\"16px\"},children:subs.map(sub=>{const isExp=expandedSubs.has(sub.id);return /*#__PURE__*/_jsxs(\"div\",{style:{padding:\"16px\",background:\"#fff\",borderRadius:16,border:\"1px solid #eee\",transition:\"all 0.3s ease\"},children:[/*#__PURE__*/_jsxs(\"div\",{onClick:()=>toggleSub(sub.id),style:{display:\"flex\",gap:15,marginBottom:15,cursor:\"pointer\"},children:[/*#__PURE__*/_jsx(\"img\",{src:sub.image,style:{width:60,height:60,objectFit:\"cover\",borderRadius:8}}),/*#__PURE__*/_jsxs(\"div\",{style:{flex:1,display:\"flex\",flexDirection:\"column\",justifyContent:\"center\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontWeight:\"700\",fontSize:15,lineHeight:\"1.2\",marginBottom:4},children:sub.title}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:10,fontWeight:\"700\",letterSpacing:\"0.05em\",color:\"#999\",textTransform:\"uppercase\"},children:t.memLabel}),/*#__PURE__*/_jsxs(\"div\",{style:{fontSize:13,color:\"#333\",marginTop:2},children:[sub.price,\"€\",\" \",sub.suffix]}),/*#__PURE__*/_jsx(\"div\",{style:{overflow:\"hidden\",transition:\"max-height 0.4s ease\",maxHeight:isExp?\"500px\":\"0px\"},children:sub.description&&/*#__PURE__*/_jsx(\"p\",{style:{fontSize:13,color:\"#555\",margin:\"10px 0 0\",lineHeight:\"1.4\",whiteSpace:\"pre-line\"},children:sub.description})})]})]}),/*#__PURE__*/_jsx(\"button\",{onClick:e=>{e.stopPropagation();manageCart(\"add\",{id:sub.id,planId:sub.planId});},style:{width:\"100%\",padding:\"10px\",background:\"#000\",color:\"#fff\",border:\"none\",borderRadius:30,fontSize:13,fontWeight:\"600\",cursor:\"pointer\"},children:t.subscribe})]},sub.id);})}):/*#__PURE__*/_jsx(\"p\",{style:{color:\"#999\",padding:\"0 30px\"},children:\"...\"})})]}),/*#__PURE__*/_jsxs(\"div\",{style:{flex:1,display:\"flex\",flexDirection:\"column\",minWidth:isMobile?\"100%\":\"420px\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{padding:\"24px 30px\",borderBottom:\"1px solid #f0f0f0\",display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\",background:\"#fff\"},children:[/*#__PURE__*/_jsx(\"h2\",{style:{margin:0,fontSize:20,fontWeight:\"600\"},children:t.cartTitle}),/*#__PURE__*/_jsx(\"div\",{onClick:()=>setIsOpen(false),style:{cursor:\"pointer\",opacity:.6},children:\"✕\"})]}),/*#__PURE__*/_jsx(\"div\",{style:{padding:\"12px 30px\",borderBottom:\"1px solid #f0f0f0\",background:\"#fff\"},children:/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",gap:6,background:\"#F2F2F2\",borderRadius:999,padding:4,width:\"fit-content\"},children:[/*#__PURE__*/_jsx(\"button\",{onClick:()=>setActiveTab(\"cart\"),style:{padding:\"8px 14px\",borderRadius:999,border:\"none\",background:activeTab===\"cart\"?\"#000\":\"transparent\",color:activeTab===\"cart\"?\"#fff\":\"#000\",fontSize:12,fontWeight:700,cursor:\"pointer\"},children:t.cartTitle}),/*#__PURE__*/_jsx(\"button\",{onClick:()=>setActiveTab(\"box\"),style:{padding:\"8px 14px\",borderRadius:999,border:\"none\",background:activeTab===\"box\"?\"#000\":\"transparent\",color:activeTab===\"box\"?\"#fff\":\"#000\",fontSize:12,fontWeight:700,cursor:\"pointer\"},children:t.subBoxTitle})]})}),activeTab===\"cart\"&&/*#__PURE__*/_jsx(GoalBanner,{subtotal:subtotal,t:t}),/*#__PURE__*/_jsx(\"div\",{style:{flex:1,overflowY:\"auto\",padding:\"30px\",background:\"#fff\"},children:activeTab===\"box\"?/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsxs(\"div\",{style:{marginBottom:18,padding:14,border:\"1px solid #eee\",borderRadius:12,background:\"#FAFAFA\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"baseline\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontWeight:700,fontSize:13},children:t.subBoxTitle}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"baseline\",gap:6},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontSize:13,fontWeight:700},children:formatEUR(boxFinalSubtotal,activeLang)}),boxSubtotal>0&&/*#__PURE__*/_jsx(\"span\",{style:{fontSize:11,color:\"#999\",textDecoration:\"line-through\"},children:formatEUR(boxSubtotal,activeLang)}),/*#__PURE__*/_jsxs(\"span\",{style:{fontSize:12,color:\"#666\"},children:[\"/\",\" \",formatEUR(subBoxThreshold,activeLang)]})]}),boxSubtotal>0&&/*#__PURE__*/_jsxs(\"div\",{style:{fontSize:11,fontWeight:700,color:\"#558E1A\",marginTop:3},children:[\"−\",t.boxFirstBadge(firstOrderPct),\":\",\" \",formatEUR(boxFirstSubtotal,activeLang)]})]}),/*#__PURE__*/_jsx(\"div\",{style:{height:8,borderRadius:6,background:\"#E5E5E5\",marginTop:10,overflow:\"hidden\"},children:/*#__PURE__*/_jsx(\"div\",{style:{height:\"100%\",width:`${Math.min(100,boxFinalSubtotal/subBoxThreshold*100)}%`,background:ready?\"#0A8A2A\":\"#000\",transition:\"width 0.25s ease\"}})}),/*#__PURE__*/_jsx(\"div\",{style:{marginTop:8,fontSize:12,color:ready?\"#0A8A2A\":\"#666\",fontWeight:ready?700:400},children:ready?t.boxReady:t.boxMissing(formatEUR(missingFinal,activeLang))}),subBoxDetails.length===0?/*#__PURE__*/_jsx(\"div\",{style:{marginTop:10,fontSize:12,color:\"#999\"},children:t.boxEmpty}):/*#__PURE__*/_jsxs(\"div\",{style:{marginTop:12,display:\"flex\",flexDirection:\"column\",gap:10},children:[subBoxDetails.map(i=>/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",gap:10,alignItems:\"center\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{width:44,height:44,borderRadius:8,overflow:\"hidden\",background:\"#eee\"},children:i.image?/*#__PURE__*/_jsx(\"img\",{src:i.image,style:{width:\"100%\",height:\"100%\",objectFit:\"cover\"}}):null}),/*#__PURE__*/_jsxs(\"div\",{style:{flex:1},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:12,fontWeight:700},children:i.productTitle}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:12,color:\"#666\"},children:i.variantTitle})]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:8},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",background:\"#fff\",border:\"1px solid #ddd\",borderRadius:999,padding:\"2px 6px\"},children:[/*#__PURE__*/_jsx(\"button\",{onClick:()=>{updateSubBoxQty({variantId:i.variantId,sellingPlanId:i.sellingPlanId,quantity:i.quantity-1});window.dispatchEvent(new CustomEvent(\"subbox-updated\",{detail:{silent:true}}));},style:{background:\"none\",border:\"none\",cursor:\"pointer\",width:22},children:\"-\"}),/*#__PURE__*/_jsx(\"span\",{style:{width:18,textAlign:\"center\",fontSize:12,fontWeight:700},children:i.quantity}),/*#__PURE__*/_jsx(\"button\",{onClick:()=>{updateSubBoxQty({variantId:i.variantId,sellingPlanId:i.sellingPlanId,quantity:i.quantity+1});window.dispatchEvent(new CustomEvent(\"subbox-updated\",{detail:{silent:true}}));},style:{background:\"none\",border:\"none\",cursor:\"pointer\",width:22},children:\"+\"})]}),/*#__PURE__*/_jsx(\"button\",{onClick:()=>{removeSubBoxItem({variantId:i.variantId,sellingPlanId:i.sellingPlanId});window.dispatchEvent(new CustomEvent(\"subbox-updated\",{detail:{silent:true}}));},style:{background:\"none\",border:\"none\",cursor:\"pointer\",opacity:.5},\"aria-label\":\"Remove\",children:\"✕\"})]})]},`${i.variantId}-${i.sellingPlanId}`)),/*#__PURE__*/_jsx(\"div\",{style:{marginTop:8,fontSize:12,color:\"#666\",lineHeight:\"1.35\"},children:t.membershipHelp}),/*#__PURE__*/_jsx(\"button\",{disabled:!ready||creatingBox,onClick:addSubBoxToCart,style:{width:\"100%\",marginTop:8,padding:\"12px\",background:ready?\"#000\":\"#E5E5E5\",color:ready?\"#fff\":\"#666\",border:\"none\",borderRadius:10,fontSize:13,fontWeight:700,cursor:ready?\"pointer\":\"not-allowed\"},children:creatingBox?t.boxCreating:t.boxCreate})]})]}),!ready&&boxRecs.length>0&&/*#__PURE__*/_jsxs(\"div\",{style:{marginTop:4},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:12,fontWeight:700,color:\"#444\",marginBottom:10,textTransform:\"uppercase\",letterSpacing:\"0.04em\"},children:t.boxRecsTitle}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:8},children:boxRecs.map(rec=>{const hasVariants=rec.variants&&rec.variants.length>1;const selVarId=selectedBoxVariants[rec.id]||rec.variants?.[0]?.id||rec.id;const selVar=rec.variants?.find(v=>v.id===selVarId)||rec.variants?.[0];const canAdd=!!selVar?.subPlanId;return /*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:8,padding:\"10px 12px\",background:\"#FAFAFA\",borderRadius:10,border:\"1px solid #EFEFEF\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",gap:12,alignItems:\"center\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{width:44,height:44,borderRadius:8,overflow:\"hidden\",background:\"#eee\",flex:\"0 0 auto\"},children:(selVar?.image||rec.image)&&/*#__PURE__*/_jsx(\"img\",{src:selVar?.image||rec.image,style:{width:\"100%\",height:\"100%\",objectFit:\"cover\"}})}),/*#__PURE__*/_jsxs(\"div\",{style:{flex:1,minWidth:0},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:13,fontWeight:700,color:\"#111\",overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\"},children:rec.title}),/*#__PURE__*/_jsxs(\"div\",{style:{fontSize:12,color:\"#666\",marginTop:2},children:[selVar?.price||rec.price,\"€\"]})]}),/*#__PURE__*/_jsx(\"button\",{onClick:()=>{if(!canAdd)return;upsertSubBoxItem({variantId:selVarId,sellingPlanId:selVar.subPlanId,quantity:1});window.dispatchEvent(new CustomEvent(\"subbox-updated\",{detail:{silent:true}}));},disabled:!canAdd,style:{padding:\"7px 14px\",background:canAdd?\"#000\":\"#E5E5E5\",color:canAdd?\"#fff\":\"#999\",border:\"none\",borderRadius:999,fontSize:12,fontWeight:700,cursor:canAdd?\"pointer\":\"not-allowed\",flex:\"0 0 auto\",whiteSpace:\"nowrap\"},children:t.addToBox})]}),hasVariants&&/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",gap:6,flexWrap:\"wrap\"},children:rec.variants.filter(v=>v.available).map(v=>{const isSelected=selVarId===v.id;return /*#__PURE__*/_jsx(\"button\",{onClick:()=>setSelectedBoxVariants(prev=>({...prev,[rec.id]:v.id})),style:{padding:\"4px 10px\",borderRadius:999,border:isSelected?\"2px solid #000\":\"1px solid #DDD\",background:isSelected?\"#000\":\"#fff\",color:isSelected?\"#fff\":\"#333\",fontSize:11,fontWeight:isSelected?700:500,cursor:\"pointer\",transition:\"0.15s\"},children:v.title},v.id);})})]},rec.id);})})]})]}):/*#__PURE__*/_jsxs(_Fragment,{children:[!cart||cart.totalQuantity===0?/*#__PURE__*/_jsx(\"div\",{style:{textAlign:\"center\",marginTop:60,color:\"#999\"},children:/*#__PURE__*/_jsx(\"p\",{children:t.cartEmpty})}):/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:\"30px\"},children:[subboxLines.length>0&&/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",gap:\"20px\",alignItems:\"flex-start\",position:\"relative\",padding:\"14px\",background:\"#FAF7EF\",border:\"1px solid rgba(17,17,17,0.08)\",borderRadius:14},children:[/*#__PURE__*/_jsx(\"div\",{style:{width:70,height:85,borderRadius:6,overflow:\"hidden\",background:\"#EEE8DA\",flex:\"0 0 auto\"},children:subboxFirstImage?/*#__PURE__*/_jsx(\"img\",{src:subboxFirstImage,alt:\"\",style:{width:\"100%\",height:\"100%\",objectFit:\"cover\"}}):null}),/*#__PURE__*/_jsxs(\"div\",{style:{flex:1},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:11,fontWeight:800,letterSpacing:\"0.08em\",textTransform:\"uppercase\",color:\"#558E1A\",marginBottom:4},children:t.subBoxTitle}),/*#__PURE__*/_jsx(\"div\",{style:{fontWeight:700,fontSize:15,color:\"#111\"},children:t.subBoxCartTitle}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:12,color:\"#666\",marginTop:4},children:t.subBoxCartItems(subboxItemCount)}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:12,color:\"#666\",marginTop:2,lineHeight:1.3},children:subboxLines.map(({node})=>`${node?.merchandise?.product?.title||\"\"}${node.quantity>1?` \\xd7${node.quantity}`:\"\"}`).filter(Boolean).join(\" \\xb7 \")}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"baseline\",gap:6,marginTop:8},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontWeight:800,fontSize:15,color:\"#111\"},children:formatEUR(subboxFirstTotal,activeLang)}),/*#__PURE__*/_jsx(\"span\",{style:{fontSize:12,color:\"#999\",textDecoration:\"line-through\"},children:formatEUR(subboxTotal,activeLang)})]}),/*#__PURE__*/_jsxs(\"div\",{style:{fontSize:11,fontWeight:700,color:\"#558E1A\",marginTop:3},children:[\"−\",t.boxFirstBadge(firstOrderPct)]}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:11,color:\"#666\",marginTop:1},children:t.boxThenMonthly(formatEUR(subboxTotal,activeLang))})]}),/*#__PURE__*/_jsx(\"div\",{onClick:removeSubBoxGroup,role:\"button\",\"aria-label\":\"Remove subscription\",style:{cursor:\"pointer\",position:\"absolute\",top:10,right:12,opacity:.45},children:\"✕\"})]}),nonSubboxLines.map(({node})=>{const packAttr=(node.attributes||[]).find(a=>a?.key===\"_pack\")?.value;const isPack=!!packAttr;const lineTotal=parseFloat(node?.cost?.totalAmount?.amount||\"0\");return /*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",gap:\"20px\",alignItems:\"flex-start\",position:\"relative\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{width:70,height:85,borderRadius:6,overflow:\"hidden\",background:\"#f5f5f5\"},children:/*#__PURE__*/_jsx(\"img\",{src:node.merchandise.image?.src,style:{width:\"100%\",height:\"100%\",objectFit:\"cover\"}})}),/*#__PURE__*/_jsxs(\"div\",{style:{flex:1},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontWeight:\"600\",fontSize:15},children:node.merchandise.product.title}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:13,color:\"#666\"},children:isPack?packAttr:node.merchandise.title}),node.sellingPlanAllocation&&/*#__PURE__*/_jsx(\"div\",{style:{fontSize:11,color:\"#d23f3f\",fontWeight:\"600\",marginTop:4},children:node.sellingPlanAllocation.sellingPlan.name}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",marginTop:5,alignItems:\"center\"},children:[isPack?/*#__PURE__*/_jsxs(\"div\",{style:{fontSize:12,fontWeight:700,color:\"#558E1A\",background:\"#EDF5DE\",padding:\"4px 10px\",borderRadius:999},children:[\"\\xd7\",node.quantity,\" \",\"included\"]}):/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",background:\"#F4F4F4\",borderRadius:30,padding:\"3px\"},children:[/*#__PURE__*/_jsx(\"button\",{onClick:()=>manageCart(\"update\",{id:node.id,qty:node.quantity-1,handle:handleDesde({},node?.merchandise?.product?.title)}),style:{background:\"none\",border:\"none\",cursor:\"pointer\",width:24},children:\"-\"}),/*#__PURE__*/_jsx(\"span\",{style:{fontSize:13,fontWeight:\"600\",width:20,textAlign:\"center\"},children:node.quantity}),/*#__PURE__*/_jsx(\"button\",{onClick:()=>manageCart(\"update\",{id:node.id,qty:node.quantity+1}),style:{background:\"none\",border:\"none\",cursor:\"pointer\",width:24},children:\"+\"})]}),/*#__PURE__*/_jsx(\"div\",{style:{fontWeight:\"600\",fontSize:15,display:\"flex\",flexDirection:\"column\",alignItems:\"flex-end\",lineHeight:1.1},children:(()=>{// Una línea con descuento se enseña como el pack:\n// total con el descuento aplicado y el original\n// tachado encima.\n//\n// Sin esto, una línea normal enseñaba **el precio\n// unitario** —24,90 € llevaras dos o tres— y el\n// descuento solo aparecía en el botón de pagar. En\n// el carrito parecía que no se aplicaba nada.\n//\n// Las de suscripción se quedan como estaban: ya\n// pintan su propio −10 % sobre el precio unitario,\n// y mezclar unidades con totales confunde más de\n// lo que aclara.\nconst totalSinDescuento=parseFloat(node?.merchandise?.price?.amount||\"0\")*Number(node.quantity||0);const tieneDescuento=!node.sellingPlanAllocation&&totalSinDescuento>lineTotal+.001;if(isPack||tieneDescuento){const basePrice=parseFloat(node.merchandise.price.amount||\"0\");const undiscounted=basePrice*node.quantity;const showStrike=undiscounted>lineTotal+.001;return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsxs(\"div\",{children:[lineTotal.toFixed(2),\"€\"]}),showStrike&&/*#__PURE__*/_jsxs(\"div\",{style:{fontSize:12,fontWeight:600,opacity:.45,textDecoration:\"line-through\",marginTop:2},children:[undiscounted.toFixed(2),\"€\"]})]});}const basePrice=parseFloat(node.merchandise.price.amount||\"0\");const planId=stripGid(node?.sellingPlanAllocation?.sellingPlan?.id);const apply10=!!node.sellingPlanAllocation&&!LEGACY_MEMBERSHIP_PLAN_IDS.has(planId);const finalPrice=apply10?basePrice*(1-SUB_BOX_DISCOUNT_RATE):basePrice;return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsxs(\"div\",{children:[finalPrice.toFixed(2),\"€\"]}),apply10&&/*#__PURE__*/_jsxs(\"div\",{style:{fontSize:12,fontWeight:600,opacity:.45,textDecoration:\"line-through\",marginTop:2},children:[basePrice.toFixed(2),\"€\"]})]});})()})]})]}),/*#__PURE__*/_jsx(\"div\",{onClick:()=>manageCart(\"remove\",{id:node.id,attributes:node.attributes,handle:handleDesde({},node?.merchandise?.product?.title)}),style:{cursor:\"pointer\",position:\"absolute\",top:0,right:0,opacity:.4},children:\"✕\"})]},node.id);})]}),recs.length>0&&/*#__PURE__*/_jsxs(\"div\",{style:{marginTop:30,paddingTop:20,borderTop:\"1px solid #f0f0f0\"},children:[/*#__PURE__*/_jsx(\"h3\",{style:{fontSize:14,fontWeight:\"600\",marginBottom:15,color:\"#666\"},children:t.recsTitle}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:\"10px\"},children:recs.map(rec=>{const hasVariants=rec.variants&&rec.variants.length>1;const selVarId=selectedCartVariants[rec.id]||rec.variants?.[0]?.id||rec.id;const selVar=rec.variants?.find(v=>v.id===selVarId)||rec.variants?.[0];return /*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:8,padding:\"10px\",background:\"#FAFAFA\",borderRadius:8},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",gap:\"12px\",alignItems:\"center\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{width:50,height:50,borderRadius:6,overflow:\"hidden\",background:\"#eee\",flex:\"0 0 auto\"},children:/*#__PURE__*/_jsx(\"img\",{src:selVar?.image||rec.image,style:{width:\"100%\",height:\"100%\",objectFit:\"cover\"}})}),/*#__PURE__*/_jsxs(\"div\",{style:{flex:1,minWidth:0},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:13,fontWeight:\"600\",overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\"},children:rec.title}),/*#__PURE__*/_jsxs(\"div\",{style:{fontSize:12,color:\"#666\"},children:[selVar?.price||rec.price,\"€\"]})]}),/*#__PURE__*/_jsx(\"button\",{onClick:()=>manageCart(\"add\",{id:selVarId,planId:rec.planId}),style:{padding:\"6px 12px\",background:\"#fff\",border:\"1px solid #ddd\",borderRadius:30,fontSize:11,fontWeight:\"600\",cursor:\"pointer\",flex:\"0 0 auto\"},children:t.add})]}),hasVariants&&/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",gap:6,flexWrap:\"wrap\"},children:rec.variants.filter(v=>v.available).map(v=>{const isSelected=selVarId===v.id;return /*#__PURE__*/_jsx(\"button\",{onClick:()=>setSelectedCartVariants(prev=>({...prev,[rec.id]:v.id})),style:{padding:\"4px 10px\",borderRadius:999,border:isSelected?\"2px solid #000\":\"1px solid #DDD\",background:isSelected?\"#000\":\"#fff\",color:isSelected?\"#fff\":\"#333\",fontSize:11,fontWeight:isSelected?700:500,cursor:\"pointer\",transition:\"0.15s\"},children:v.title},v.id);})})]},rec.id);})})]})]})}),activeTab===\"cart\"&&cart&&cart.totalQuantity>0&&/*#__PURE__*/_jsxs(\"div\",{style:{padding:\"30px\",borderTop:\"1px solid #f0f0f0\",background:\"#fff\",paddingBottom:110},children:[t.shipWarn&&/*#__PURE__*/_jsx(\"div\",{style:{background:\"#fff3cd\",color:\"#856404\",padding:\"10px\",borderRadius:6,fontSize:12,marginBottom:10,border:\"1px solid #ffeeba\",textAlign:\"center\"},children:t.shipWarn}),!meetsMinOrder&&/*#__PURE__*/_jsxs(\"div\",{role:\"status\",\"aria-live\":\"polite\",style:{background:\"#fff3cd\",color:\"#856404\",padding:\"10px\",borderRadius:6,fontSize:12,marginBottom:10,border:\"1px solid #ffeeba\",textAlign:\"center\",lineHeight:\"1.35\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontWeight:\"700\",marginBottom:4},children:minCopy.title}),/*#__PURE__*/_jsx(\"div\",{children:minCopy.line})]}),descuentoAplicado>0&&/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"baseline\",gap:8,padding:\"9px 11px\",marginBottom:10,borderRadius:6,background:\"#f0f9f2\",border:\"1px solid #cbe8d4\",fontSize:12,color:\"#1d6b38\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\"},children:codigosAplicados.length>0?codigosAplicados.join(\" \\xb7 \"):t.discountApplied}),/*#__PURE__*/_jsxs(\"strong\",{style:{whiteSpace:\"nowrap\"},children:[\"−\",formatEUR(descuentoAplicado,activeLang)]})]}),/*#__PURE__*/_jsxs(\"button\",{disabled:!meetsMinOrder,\"aria-disabled\":!meetsMinOrder,onClick:()=>{if(!meetsMinOrder)return;// Igual que arriba: el InitiateCheckout es de Shopify.\n// El nuestro sí sale de aquí, y\n// antes del salto.\nregistrarEvento(\"checkout_started\",{quantity:cart.totalQuantity??undefined,price:Number(cart.cost?.totalAmount?.amount)||undefined});window.location.href=cart.checkoutUrl.replace(\"wildfood.io\",\"wildfood-plantbased.myshopify.com\");},style:{width:\"100%\",padding:\"16px\",background:meetsMinOrder?\"#000\":\"#E5E5E5\",color:meetsMinOrder?\"#fff\":\"#666\",border:\"none\",borderRadius:6,fontSize:15,fontWeight:\"600\",cursor:meetsMinOrder?\"pointer\":\"not-allowed\"},children:[t.payNow,\" • \",totalDisplay]})]})]})]})]})]});}addPropertyControls(FloatingCart,{subscriptionWelcomeCode:{type:ControlType.String,title:\"C\\xf3digo 30% 1\\xaa entrega\",defaultValue:SUB_FIRST_ORDER_CODE,description:\"C\\xf3digo de Shopify que aplica el 30% en el primer cobro. Se a\\xf1ade solo al carrito cuando hay suscripci\\xf3n. Vaciar para desactivarlo.\"},forceLanguage:{type:ControlType.Enum,title:\"Forzar Idioma\",options:[\"Auto\",\"ES\",\"IT\",\"EN\"],defaultValue:\"Auto\"},customIcon:{type:ControlType.Image},iconColor:{type:ControlType.Color,defaultValue:\"#000\"},badgeColor:{type:ControlType.Color,defaultValue:\"#000\"},storeDomain:{type:ControlType.String,defaultValue:DEFAULT_DOMAIN},storeToken:{type:ControlType.String,defaultValue:DEFAULT_TOKEN},minOrderThreshold:{type:ControlType.Number,title:\"Pedido m\\xednimo (€)\",defaultValue:19.9,step:.1,displayStepper:true},subBoxThreshold:{type:ControlType.Number,title:\"M\\xednimo box final (€)\",defaultValue:49,step:.5,displayStepper:true},variantId:{type:ControlType.String},variantsJson:{type:ControlType.String}});// --- 3. PACK BUTTON ---\nexport function PackButton(props){const[selectedPack,setSelectedPack]=React.useState(2);const[loading,setLoading]=React.useState(false);const lang=useCurrentLang();const t=UI_TEXTS[lang];const unitPrice=parseFloat(String(props.price||0).replace(/[^0-9.,]/g,\"\").replace(\",\",\".\"));const pack2Discount=Number(props.pack2Discount||0)/100;const pack4Discount=Number(props.pack4Discount||0)/100;const freeShippingThreshold=Number(props.freeShippingThreshold??40);const pack2Total=unitPrice*2*(1-pack2Discount);const pack4Total=unitPrice*4*(1-pack4Discount);const pack4HasFreeShipping=unitPrice*4>=freeShippingThreshold&&freeShippingThreshold>0;const cardRadius=props.cardRadius??12;const cardBorderWidth=props.cardBorderWidth??1.5;const cardBorderColor=props.cardBorderColor||\"#E5E5E5\";const cardBorderColorSelected=props.cardBorderColorSelected||\"#111111\";const cardBg=props.cardBg||\"#FFFFFF\";const cardBgSelected=props.cardBgSelected||\"#FFFFFF\";const radioColor=props.radioColor||\"#111111\";const titleColor=props.titleColor||\"#111111\";const subtitleColor=props.subtitleColor||\"#888888\";const priceColor=props.priceColor||\"#111111\";const badgeBg=props.badgeBg||\"#FFF0E6\";const badgeColor=props.badgeColor||\"#D4580A\";const badgeRadius=props.badgeRadius??6;const btnBg=props.btnBg||\"#111111\";const btnColor=props.btnColor||\"#FFFFFF\";const btnRadius=props.btnRadius??10;const btnFontSize=props.btnFontSize??14;const btnUppercase=props.btnUppercase!==false;const btnLetterSpacing=props.btnLetterSpacing??.06;const labels={pack2:props.pack2Label||(lang===\"it\"?\"Pack da 2\":lang===\"en\"?\"Pack of 2\":\"Pack de 2\"),pack4:props.pack4Label||(lang===\"it\"?\"Pack da 4\":lang===\"en\"?\"Pack of 4\":\"Pack de 4\"),freeShip:props.freeShipLabel||(lang===\"it\"?\"Spedizione gratuita\":lang===\"en\"?\"Free shipping\":\"Env\\xedo gratis\"),shippingCost:props.shippingCostLabel||(lang===\"it\"?\"+ spese di spedizione\":lang===\"en\"?\"+ shipping costs\":\"+ gastos de env\\xedo\"),mostPopular:props.popularLabel||(lang===\"it\"?\"Pi\\xf9 popolare\":lang===\"en\"?\"Most popular\":\"M\\xe1s popular\"),cta:props.ctaText||(lang===\"it\"?\"Voglio provarlo\":lang===\"en\"?\"I want to try it\":\"Quiero probarlo\")};const packs=[{qty:2,label:labels.pack2,total:pack2Total,originalTotal:unitPrice*2,discount:pack2Discount,freeShipping:false,popular:false},{qty:4,label:labels.pack4,total:pack4Total,originalTotal:unitPrice*4,discount:pack4Discount,freeShipping:pack4HasFreeShipping,popular:props.showPopularBadge!==false}];const addToCart=async()=>{if(!props.variantId)return;setLoading(true);try{let cartId=localStorage.getItem(\"shopify_cart_id\");if(!cartId){const res=await shopifyFetch(`mutation { cartCreate { cart { id } } }`,{},props.storeDomain,props.storeToken);cartId=res?.data?.cartCreate?.cart?.id;if(cartId)localStorage.setItem(\"shopify_cart_id\",cartId);}if(!cartId)return;const varId=String(props.variantId).includes(\"gid://\")?props.variantId:`gid://shopify/ProductVariant/${props.variantId}`;await shopifyFetch(`mutation cartLinesAdd($cartId: ID!, $lines: [CartLineInput!]!) {\n                    cartLinesAdd(cartId: $cartId, lines: $lines) {\n                        cart { id }\n                        userErrors { field message }\n                    }\n                }`,{cartId,lines:[{merchandiseId:varId,quantity:selectedPack}]},props.storeDomain,props.storeToken);trackPixelEvent(\"AddToCart\",{content_ids:[stripGid(varId)],content_type:\"product\",value:selectedPack===2?pack2Total:pack4Total,currency:\"EUR\",num_items:selectedPack});window.dispatchEvent(new Event(\"cart-updated\"));}catch(e){console.error(e);}setLoading(false);};return /*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:10,fontFamily:FONT_FAMILY,width:\"100%\"},children:[packs.map(pack=>{const isSelected=selectedPack===pack.qty;const hasDiscount=pack.discount>0;return /*#__PURE__*/_jsxs(\"div\",{onClick:()=>setSelectedPack(pack.qty),style:{display:\"flex\",alignItems:\"center\",gap:14,padding:\"14px 16px\",border:`${cardBorderWidth}px solid ${isSelected?cardBorderColorSelected:cardBorderColor}`,borderRadius:cardRadius,cursor:\"pointer\",background:isSelected?cardBgSelected:cardBg,transition:\"border-color 0.15s ease, background 0.15s ease\",userSelect:\"none\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{width:20,height:20,borderRadius:\"50%\",border:isSelected?`6px solid ${radioColor}`:`1.5px solid #BEBEBE`,flexShrink:0,transition:\"all 0.15s ease\",boxSizing:\"border-box\"}}),/*#__PURE__*/_jsxs(\"div\",{style:{flex:1,display:\"flex\",flexDirection:\"column\",gap:2},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontSize:14,fontWeight:700,color:titleColor,lineHeight:1.2},children:pack.label}),/*#__PURE__*/_jsx(\"span\",{style:{fontSize:12,color:pack.freeShipping?\"#444\":subtitleColor,lineHeight:1.2},children:pack.freeShipping?labels.freeShip:labels.shippingCost})]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:8,flexShrink:0},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontSize:16,fontWeight:800,color:priceColor,letterSpacing:\"-0.01em\"},children:formatEUR(pack.total,lang)}),hasDiscount&&/*#__PURE__*/_jsx(\"span\",{style:{fontSize:13,fontWeight:400,color:\"#ABABAB\",textDecoration:\"line-through\"},children:formatEUR(pack.originalTotal,lang)}),pack.popular&&/*#__PURE__*/_jsx(\"span\",{style:{fontSize:11,fontWeight:700,color:badgeColor,background:badgeBg,borderRadius:badgeRadius,padding:\"3px 8px\",whiteSpace:\"nowrap\"},children:labels.mostPopular})]})]},pack.qty);}),/*#__PURE__*/_jsx(\"button\",{onClick:addToCart,disabled:loading||!props.variantId,style:{width:\"100%\",marginTop:4,padding:\"16px\",backgroundColor:loading||!props.variantId?\"#ccc\":btnBg,color:btnColor,border:\"none\",borderRadius:btnRadius,fontSize:`${btnFontSize}px`,fontWeight:\"700\",letterSpacing:`${btnLetterSpacing}em`,textTransform:btnUppercase?\"uppercase\":\"none\",cursor:loading||!props.variantId?\"not-allowed\":\"pointer\",transition:\"0.2s\"},children:loading?t.adding:labels.cta})]});}addPropertyControls(PackButton,{variantId:{type:ControlType.String,title:\"Variant ID\"},price:{type:ControlType.String,title:\"Precio unitario (€)\",defaultValue:\"0\"},storeDomain:{type:ControlType.String,defaultValue:DEFAULT_DOMAIN},storeToken:{type:ControlType.String,defaultValue:DEFAULT_TOKEN},pack2Discount:{type:ControlType.Number,title:\"Descuento \\xd72 (%)\",defaultValue:0,min:0,max:50,step:1,displayStepper:true},pack4Discount:{type:ControlType.Number,title:\"Descuento \\xd74 (%)\",defaultValue:0,min:0,max:50,step:1,displayStepper:true},freeShippingThreshold:{type:ControlType.Number,title:\"Env\\xedo gratis desde (€)\",defaultValue:40,step:.5,displayStepper:true},pack2Label:{type:ControlType.String,title:\"Texto Pack \\xd72\",placeholder:\"Pack de 2\"},pack4Label:{type:ControlType.String,title:\"Texto Pack \\xd74\",placeholder:\"Pack de 4\"},freeShipLabel:{type:ControlType.String,title:\"Texto env\\xedo gratis\",placeholder:\"Env\\xedo gratis\"},shippingCostLabel:{type:ControlType.String,title:\"Texto env\\xedo de pago\",placeholder:\"+ gastos de env\\xedo\"},popularLabel:{type:ControlType.String,title:\"Texto badge popular\",placeholder:\"M\\xe1s popular\"},showPopularBadge:{type:ControlType.Boolean,title:\"Mostrar badge popular\",defaultValue:true},ctaText:{type:ControlType.String,title:\"Texto bot\\xf3n CTA\",placeholder:\"Quiero probarlo\"},cardBg:{type:ControlType.Color,title:\"Fondo tarjeta\",defaultValue:\"#FFFFFF\"},cardBgSelected:{type:ControlType.Color,title:\"Fondo seleccionada\",defaultValue:\"#FFFFFF\"},cardBorderColor:{type:ControlType.Color,title:\"Borde tarjeta\",defaultValue:\"#E5E5E5\"},cardBorderColorSelected:{type:ControlType.Color,title:\"Borde seleccionada\",defaultValue:\"#111111\"},cardBorderWidth:{type:ControlType.Number,title:\"Grosor borde\",defaultValue:1.5,min:0,max:4,step:.5,displayStepper:true},cardRadius:{type:ControlType.Number,title:\"Radio tarjeta\",defaultValue:12,min:0,max:40,step:1,displayStepper:true},titleColor:{type:ControlType.Color,title:\"Color t\\xedtulo\",defaultValue:\"#111111\"},subtitleColor:{type:ControlType.Color,title:\"Color subt\\xedtulo\",defaultValue:\"#888888\"},priceColor:{type:ControlType.Color,title:\"Color precio\",defaultValue:\"#111111\"},radioColor:{type:ControlType.Color,title:\"Color radio\",defaultValue:\"#111111\"},badgeBg:{type:ControlType.Color,title:\"Fondo badge\",defaultValue:\"#FFF0E6\"},badgeColor:{type:ControlType.Color,title:\"Color texto badge\",defaultValue:\"#D4580A\"},badgeRadius:{type:ControlType.Number,title:\"Radio badge\",defaultValue:6,min:0,max:20,step:1,displayStepper:true},btnBg:{type:ControlType.Color,title:\"Fondo bot\\xf3n\",defaultValue:\"#111111\"},btnColor:{type:ControlType.Color,title:\"Color texto bot\\xf3n\",defaultValue:\"#FFFFFF\"},btnRadius:{type:ControlType.Number,title:\"Radio bot\\xf3n\",defaultValue:10,min:0,max:100,step:1,displayStepper:true},btnFontSize:{type:ControlType.Number,title:\"Tama\\xf1o texto bot\\xf3n\",defaultValue:14,min:10,max:24,step:1,displayStepper:true},btnUppercase:{type:ControlType.Boolean,title:\"Bot\\xf3n en may\\xfasculas\",defaultValue:true},btnLetterSpacing:{type:ControlType.Number,title:\"Letter spacing bot\\xf3n\",defaultValue:.06,min:0,max:.3,step:.01,displayStepper:true}});// --- 4. PRODUCT SELECTOR BUTTON ---\nexport function ProductSelectorButton(props){const[selected,setSelected]=React.useState(\"a\");const[loading,setLoading]=React.useState(false);const lang=useCurrentLang();const t=UI_TEXTS[lang];const cardRadius=props.cardRadius??12;const cardBorderWidth=props.cardBorderWidth??1.5;const cardBorderColor=props.cardBorderColor||\"#E5E5E5\";const cardBorderColorSelected=props.cardBorderColorSelected||\"#111111\";const cardBg=props.cardBg||\"#FFFFFF\";const cardBgSelected=props.cardBgSelected||\"#FFFFFF\";const radioColor=props.radioColor||\"#111111\";const titleColor=props.titleColor||\"#111111\";const subtitleColor=props.subtitleColor||\"#888888\";const priceColor=props.priceColor||\"#111111\";const badgeBg=props.badgeBg||\"#FFF0E6\";const badgeTextColor=props.badgeTextColor||\"#D4580A\";const badgeRadius=props.badgeRadius??6;const btnBg=props.btnBg||\"#111111\";const btnColor=props.btnColor||\"#FFFFFF\";const btnRadius=props.btnRadius??10;const btnFontSize=props.btnFontSize??14;const btnUppercase=props.btnUppercase!==false;const btnLetterSpacing=props.btnLetterSpacing??.06;const ctaText=props.ctaText||t.addToCart;const options=[{key:\"a\",variantId:props.variantIdA||\"\",label:props.labelA||\"Opci\\xf3n A\",subtitle:props.subtitleA||\"\",price:props.priceA||\"\",priceOld:props.priceOldA||\"\",badge:props.badgeA||\"\",image:props.imageA||\"\"},{key:\"b\",variantId:props.variantIdB||\"\",label:props.labelB||\"Opci\\xf3n B\",subtitle:props.subtitleB||\"\",price:props.priceB||\"\",priceOld:props.priceOldB||\"\",badge:props.badgeB||\"\",image:props.imageB||\"\"}];const current=options.find(o=>o.key===selected);const addToCart=async()=>{if(!current.variantId)return;setLoading(true);try{const domain=props.storeDomain||DEFAULT_DOMAIN;const token=props.storeToken||DEFAULT_TOKEN;let cartId=localStorage.getItem(\"shopify_cart_id\");if(!cartId){const res=await shopifyFetch(`mutation { cartCreate { cart { id } } }`,{},domain,token);cartId=res?.data?.cartCreate?.cart?.id;if(cartId)localStorage.setItem(\"shopify_cart_id\",cartId);}if(!cartId)return;const varId=String(current.variantId).includes(\"gid://\")?current.variantId:`gid://shopify/ProductVariant/${current.variantId}`;await shopifyFetch(`mutation cartLinesAdd($cartId: ID!, $lines: [CartLineInput!]!) {\n                    cartLinesAdd(cartId: $cartId, lines: $lines) {\n                        cart { id }\n                        userErrors { field message }\n                    }\n                }`,{cartId,lines:[{merchandiseId:varId,quantity:1}]},domain,token);trackPixelEvent(\"AddToCart\",{content_ids:[stripGid(varId)],content_type:\"product\",value:parseFloat(String(current.price||0).replace(/[^0-9.,]/g,\"\").replace(\",\",\".\"))||undefined,currency:\"EUR\",num_items:1});window.dispatchEvent(new Event(\"cart-updated\"));}catch(e){console.error(e);}setLoading(false);};return /*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:8,width:\"100%\",fontFamily:FONT_FAMILY},children:[options.map(opt=>{const isSel=selected===opt.key;return /*#__PURE__*/_jsxs(\"div\",{onClick:()=>setSelected(opt.key),style:{display:\"flex\",alignItems:\"center\",gap:12,padding:\"12px 14px\",border:`${cardBorderWidth}px solid ${isSel?cardBorderColorSelected:cardBorderColor}`,borderRadius:cardRadius,cursor:\"pointer\",background:isSel?cardBgSelected:cardBg,transition:\"border-color 0.15s ease, background 0.15s ease\",userSelect:\"none\"},children:[opt.image?/*#__PURE__*/_jsx(\"div\",{style:{width:44,height:44,borderRadius:8,overflow:\"hidden\",flexShrink:0,background:\"#F4F4F4\"},children:/*#__PURE__*/_jsx(\"img\",{src:opt.image,style:{width:\"100%\",height:\"100%\",objectFit:\"cover\"}})}):/*#__PURE__*/_jsx(\"div\",{style:{width:20,height:20,borderRadius:\"50%\",border:isSel?`6px solid ${radioColor}`:`1.5px solid #BEBEBE`,flexShrink:0,transition:\"all 0.15s ease\",boxSizing:\"border-box\"}}),/*#__PURE__*/_jsxs(\"div\",{style:{flex:1,minWidth:0,display:\"flex\",flexDirection:\"column\",gap:2},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:6},children:[opt.image&&/*#__PURE__*/_jsx(\"div\",{style:{width:16,height:16,borderRadius:\"50%\",border:isSel?`5px solid ${radioColor}`:`1.5px solid #BEBEBE`,flexShrink:0,transition:\"all 0.15s ease\",boxSizing:\"border-box\"}}),/*#__PURE__*/_jsx(\"span\",{style:{fontSize:14,fontWeight:700,color:titleColor,lineHeight:1.2,overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\"},children:opt.label}),opt.badge&&/*#__PURE__*/_jsx(\"span\",{style:{fontSize:10,fontWeight:700,color:badgeTextColor,background:badgeBg,borderRadius:badgeRadius,padding:\"2px 7px\",whiteSpace:\"nowrap\",flexShrink:0},children:opt.badge})]}),opt.subtitle&&/*#__PURE__*/_jsx(\"span\",{style:{fontSize:12,color:subtitleColor,lineHeight:1.2},children:opt.subtitle})]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",alignItems:\"flex-end\",flexShrink:0,gap:1},children:[opt.price&&/*#__PURE__*/_jsx(\"span\",{style:{fontSize:15,fontWeight:800,color:priceColor,letterSpacing:\"-0.01em\",lineHeight:1},children:opt.price}),opt.priceOld&&/*#__PURE__*/_jsx(\"span\",{style:{fontSize:12,color:\"#ABABAB\",textDecoration:\"line-through\",lineHeight:1},children:opt.priceOld})]})]},opt.key);}),/*#__PURE__*/_jsx(\"button\",{onClick:addToCart,disabled:loading||!current.variantId,style:{width:\"100%\",marginTop:4,padding:\"15px\",backgroundColor:loading||!current.variantId?\"#ccc\":btnBg,color:btnColor,border:\"none\",borderRadius:btnRadius,fontSize:`${btnFontSize}px`,fontWeight:700,letterSpacing:`${btnLetterSpacing}em`,textTransform:btnUppercase?\"uppercase\":\"none\",cursor:loading||!current.variantId?\"not-allowed\":\"pointer\",transition:\"0.2s\"},children:loading?t.adding:ctaText})]});}addPropertyControls(ProductSelectorButton,{storeDomain:{type:ControlType.String,title:\"Store Domain\",defaultValue:DEFAULT_DOMAIN},storeToken:{type:ControlType.String,title:\"Store Token\",defaultValue:DEFAULT_TOKEN},variantIdA:{type:ControlType.String,title:\"Variant ID — Opci\\xf3n A\"},labelA:{type:ControlType.String,title:\"Nombre Opci\\xf3n A\",defaultValue:\"Opci\\xf3n A\"},subtitleA:{type:ControlType.String,title:\"Subt\\xedtulo A\",defaultValue:\"\"},priceA:{type:ControlType.String,title:\"Precio A\",defaultValue:\"\"},priceOldA:{type:ControlType.String,title:\"Precio antiguo A\",defaultValue:\"\"},badgeA:{type:ControlType.String,title:\"Badge A\",defaultValue:\"\"},imageA:{type:ControlType.Image,title:\"Imagen A\"},variantIdB:{type:ControlType.String,title:\"Variant ID — Opci\\xf3n B\"},labelB:{type:ControlType.String,title:\"Nombre Opci\\xf3n B\",defaultValue:\"Opci\\xf3n B\"},subtitleB:{type:ControlType.String,title:\"Subt\\xedtulo B\",defaultValue:\"\"},priceB:{type:ControlType.String,title:\"Precio B\",defaultValue:\"\"},priceOldB:{type:ControlType.String,title:\"Precio antiguo B\",defaultValue:\"\"},badgeB:{type:ControlType.String,title:\"Badge B\",defaultValue:\"\"},imageB:{type:ControlType.Image,title:\"Imagen B\"},ctaText:{type:ControlType.String,title:\"Texto CTA\",placeholder:\"A\\xf1adir al carrito\"},btnBg:{type:ControlType.Color,title:\"Fondo bot\\xf3n\",defaultValue:\"#111111\"},btnColor:{type:ControlType.Color,title:\"Color texto bot\\xf3n\",defaultValue:\"#FFFFFF\"},btnRadius:{type:ControlType.Number,title:\"Radio bot\\xf3n\",defaultValue:10,min:0,max:100,step:1,displayStepper:true},btnFontSize:{type:ControlType.Number,title:\"Tama\\xf1o texto\",defaultValue:14,min:10,max:24,step:1,displayStepper:true},btnUppercase:{type:ControlType.Boolean,title:\"May\\xfasculas\",defaultValue:true},btnLetterSpacing:{type:ControlType.Number,title:\"Letter spacing\",defaultValue:.06,min:0,max:.3,step:.01,displayStepper:true},cardRadius:{type:ControlType.Number,title:\"Radio tarjeta\",defaultValue:12,min:0,max:40,step:1,displayStepper:true},cardBorderWidth:{type:ControlType.Number,title:\"Grosor borde\",defaultValue:1.5,min:0,max:4,step:.5,displayStepper:true},cardBorderColor:{type:ControlType.Color,title:\"Borde tarjeta\",defaultValue:\"#E5E5E5\"},cardBorderColorSelected:{type:ControlType.Color,title:\"Borde seleccionada\",defaultValue:\"#111111\"},cardBg:{type:ControlType.Color,title:\"Fondo tarjeta\",defaultValue:\"#FFFFFF\"},cardBgSelected:{type:ControlType.Color,title:\"Fondo seleccionada\",defaultValue:\"#FFFFFF\"},radioColor:{type:ControlType.Color,title:\"Color radio\",defaultValue:\"#111111\"},titleColor:{type:ControlType.Color,title:\"Color t\\xedtulo\",defaultValue:\"#111111\"},subtitleColor:{type:ControlType.Color,title:\"Color subt\\xedtulo\",defaultValue:\"#888888\"},priceColor:{type:ControlType.Color,title:\"Color precio\",defaultValue:\"#111111\"},badgeBg:{type:ControlType.Color,title:\"Fondo badge\",defaultValue:\"#FFF0E6\"},badgeTextColor:{type:ControlType.Color,title:\"Color texto badge\",defaultValue:\"#D4580A\"},badgeRadius:{type:ControlType.Number,title:\"Radio badge\",defaultValue:6,min:0,max:20,step:1,displayStepper:true}});// --- 5. SUBSCRIPTION BUILDER (página de suscripciones) ---\n// Por debajo de este ancho de contenedor el constructor usa el diseño móvil.\nconst SUBSCRIPTION_BUILDER_MOBILE_MAX_WIDTH=600;export function SubscriptionBuilder(props){const detectedLang=useCurrentLang();const activeLang=props.forceLanguage===\"Auto\"?detectedLang:props.forceLanguage.toLowerCase();const t=UI_TEXTS[activeLang]||UI_TEXTS.en;const threshold=typeof props.threshold===\"number\"?props.threshold:DEFAULT_SUB_BOX_THRESHOLD;const[products,setProducts]=React.useState([]);const[loading,setLoading]=React.useState(true);const[creating,setCreating]=React.useState(false);const[subBox,setSubBox]=React.useState([]);const[selectedVariant,setSelectedVariant]=React.useState({});// \"Móvil\" si la ventana es estrecha O si el propio componente vive en un\n// contenedor estrecho (p. ej. la variante móvil dentro del editor de\n// Framer, donde window.innerWidth es el del editor y no el de un teléfono).\nconst[viewportIsMobile,setViewportIsMobile]=React.useState(false);const[containerWidth,setContainerWidth]=React.useState(0);const rootRef=React.useRef(null);const isMobile=viewportIsMobile||containerWidth>0&&containerWidth<SUBSCRIPTION_BUILDER_MOBILE_MAX_WIDTH;React.useEffect(()=>{if(typeof window===\"undefined\")return;const update=()=>setViewportIsMobile(window.innerWidth<1024);update();window.addEventListener(\"resize\",update);return()=>window.removeEventListener(\"resize\",update);},[]);React.useEffect(()=>{const el=rootRef.current;if(!el||typeof ResizeObserver===\"undefined\")return;// offsetWidth: ancho de layout, no le afecta el zoom del lienzo.\nconst measure=()=>setContainerWidth(el.offsetWidth);measure();const observer=new ResizeObserver(()=>measure());observer.observe(el);return()=>observer.disconnect();},[]);React.useEffect(()=>{const load=()=>setSubBox(readSubBox());load();window.addEventListener(\"subbox-updated\",load);return()=>window.removeEventListener(\"subbox-updated\",load);},[]);React.useEffect(()=>{let cancelled=false;const fetchProducts=async()=>{setLoading(true);const productsQuery=`query {\n                products(first: 50, sortKey: BEST_SELLING) {\n                    edges {\n                        node {\n                            id title description\n                            variants(first: 10) {\n                                edges {\n                                    node {\n                                        id title availableForSale\n                                        image { url }\n                                        price { amount }\n                                        selectedOptions { name value }\n                                        sellingPlanAllocations(first: 1) {\n                                            edges { node { sellingPlan { id name } } }\n                                        }\n                                    }\n                                }\n                            }\n                        }\n                    }\n                }\n            }`;const res=await shopifyFetch(productsQuery,{},props.storeDomain,props.storeToken);if(cancelled)return;const list=(res?.data?.products?.edges||[]).map(e=>{const node=e.node;const variants=(node.variants?.edges||[]).map(ve=>{const v=ve.node;const planId=v.sellingPlanAllocations?.edges?.[0]?.node?.sellingPlan?.id;if(!planId)return null;if(LEGACY_MEMBERSHIP_PLAN_IDS.has(stripGid(planId)))return null;return{id:v.id,title:v.title,price:parseFloat(v.price?.amount||0),available:v.availableForSale,image:v.image?.url||\"\",sellingPlanId:planId};}).filter(Boolean);if(!variants.length)return null;return{id:node.id,title:node.title,description:node.description,variants,defaultImage:variants[0]?.image};}).filter(Boolean);setProducts(list);setLoading(false);};fetchProducts();return()=>{cancelled=true;};},[props.storeDomain,props.storeToken]);const getQty=variantId=>{const norm=stripGid(variantId);const item=subBox.find(i=>stripGid(i.variantId)===norm);return item?.quantity||0;};const lines=React.useMemo(()=>{const out=[];products.forEach(p=>{p.variants.forEach(v=>{const qty=getQty(v.id);if(qty>0){out.push({productTitle:p.title,variantTitle:v.title,variantId:v.id,sellingPlanId:v.sellingPlanId,price:v.price,quantity:qty,image:v.image,lineTotal:v.price*qty});}});});return out;},[products,subBox]);const totalQty=lines.reduce((acc,l)=>acc+l.quantity,0);const subtotal=lines.reduce((acc,l)=>acc+l.lineTotal,0);// finalSubtotal = lo que se paga cada mes (-10%). firstOrderSubtotal =\n// lo que se paga en el primer pedido (-30%). El mínimo se sigue midiendo\n// sobre el recurrente: es el valor real de la caja mensual.\nconst finalSubtotal=subtotal*(1-SUB_BOX_DISCOUNT_RATE);const firstOrderSubtotal=subtotal*(1-SUB_FIRST_ORDER_DISCOUNT);const firstOrderPct=Math.round(SUB_FIRST_ORDER_DISCOUNT*100);const ready=finalSubtotal>=threshold&&totalQty>0;const missingFinal=Math.max(0,threshold-finalSubtotal);const progress=Math.min(100,threshold>0?finalSubtotal/threshold*100:0);const adjust=(variantId,sellingPlanId,delta)=>{const current=getQty(variantId);const next=Math.max(0,current+delta);if(next===0&&current>0){removeSubBoxItem({variantId,sellingPlanId});}else if(current===0&&next>0){upsertSubBoxItem({variantId,sellingPlanId,quantity:next});}else if(next!==current){updateSubBoxQty({variantId,sellingPlanId,quantity:next});}window.dispatchEvent(new CustomEvent(\"subbox-updated\",{detail:{silent:true}}));};const createSubscription=async()=>{if(!ready||creating)return;setCreating(true);try{// 1. Reusar el carrito existente o crear uno nuevo y guardarlo\n//    (mismo patrón que FloatingCart.addSubBoxToCart)\nlet cartId=localStorage.getItem(\"shopify_cart_id\");if(!cartId){const cartRes=await shopifyFetch(`mutation { cartCreate { cart { id } userErrors { field message } } }`,{},props.storeDomain,props.storeToken);cartId=cartRes?.data?.cartCreate?.cart?.id;if(!cartId){console.error(\"cartCreate failed\",cartRes);setCreating(false);return;}localStorage.setItem(\"shopify_cart_id\",cartId);}// 2. Añadir las líneas de suscripción al carrito visible\n// Mismo marcado que FloatingCart.addSubBoxToCart: el carrito\n// agrupa las líneas con `_subbox` en una sola tarjeta\n// \"Subscription box\" en vez de pintarlas sueltas.\nconst cartLines=lines.map(l=>({merchandiseId:l.variantId,quantity:l.quantity,sellingPlanId:l.sellingPlanId,attributes:[{key:\"_subbox\",value:\"true\"}]}));const addRes=await shopifyFetch(`mutation cartLinesAdd($cartId: ID!, $lines: [CartLineInput!]!) {\n                    cartLinesAdd(cartId: $cartId, lines: $lines) {\n                        cart { id }\n                        userErrors { field message }\n                    }\n                }`,{cartId,lines:cartLines},props.storeDomain,props.storeToken);const errors=addRes?.data?.cartLinesAdd?.userErrors;if(errors&&errors.length){console.error(\"cartLinesAdd userErrors\",errors);setCreating(false);return;}// Nos aseguramos de que el código del 30% está en el carrito sin\n// esperar al FloatingCart, por si la página no lo lleva montado.\nawait syncSubscriptionWelcomeCode(cartId,props.subscriptionWelcomeCode,props.storeDomain,props.storeToken);trackPixelEvent(\"AddToCart\",{content_ids:cartLines.map(l=>stripGid(l.merchandiseId)),content_type:\"product\",value:finalSubtotal||0,currency:\"EUR\",num_items:cartLines.reduce((acc,l)=>acc+(l.quantity||1),0)});trackPixelEvent(\"Subscribe\",{value:finalSubtotal||0,currency:\"EUR\",predicted_ltv:(finalSubtotal||0)*6});// 3. Limpiar la box y abrir el FloatingCart con los nuevos items\nwriteSubBox([]);window.dispatchEvent(new CustomEvent(\"subbox-updated\",{detail:{silent:true}}));window.dispatchEvent(new Event(\"cart-updated\"));setCreating(false);}catch(e){console.error(\"createSubscription error:\",e);setCreating(false);}};const accent=props.accentColor||\"#000000\";const cardBg=props.cardBg||\"#FFFFFF\";const pageBg=props.pageBg||\"transparent\";const ctaLabel=props.ctaLabel||t.boxCreate;// Radios: menos redondeados que la versión anterior y ajustables desde Framer.\nconst cardRadius=Math.max(0,Number(props.cardRadius??10));const buttonRadius=Math.max(0,Number(props.buttonRadius??12));const chipRadius=Math.max(0,Math.round(buttonRadius*.7));// Si algún producto tiene selector de variantes, todas las cards reservan\n// ese hueco para que el botón de añadir quede siempre a la misma altura.\nconst anyHasVariants=products.some(p=>p.variants.length>1);const summaryHeader=/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:11,fontWeight:800,letterSpacing:\"0.06em\",color:\"#666\",textTransform:\"uppercase\",marginBottom:6},children:t.subBoxTitle}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"flex-end\",gap:10},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontSize:26,fontWeight:900,color:\"#111\",lineHeight:1,letterSpacing:\"-0.02em\"},children:formatEUR(firstOrderSubtotal,activeLang)}),subtotal>0&&/*#__PURE__*/_jsx(\"span\",{style:{fontSize:12,color:\"#999\",textDecoration:\"line-through\",marginTop:4},children:formatEUR(subtotal,activeLang)})]}),/*#__PURE__*/_jsxs(\"span\",{style:{fontSize:11,fontWeight:800,color:accent,background:\"#F4EFDC\",borderRadius:chipRadius,padding:\"5px 9px\",whiteSpace:\"nowrap\"},children:[\"−\",t.boxFirstBadge(firstOrderPct)]})]}),/*#__PURE__*/_jsx(\"div\",{style:{height:8,borderRadius:4,background:\"#E5E5E5\",marginTop:10,overflow:\"hidden\"},children:/*#__PURE__*/_jsx(\"div\",{style:{height:\"100%\",width:`${progress}%`,background:ready?\"#0A8A2A\":accent,transition:\"width 0.25s ease\"}})}),/*#__PURE__*/_jsx(\"div\",{style:{marginTop:8,fontSize:12,color:ready?\"#0A8A2A\":\"#666\",fontWeight:ready?700:400},children:ready?t.boxReady:t.boxMissing(formatEUR(missingFinal,activeLang))}),/*#__PURE__*/_jsxs(\"div\",{style:{marginTop:4,fontSize:12,color:\"#666\"},children:[t.boxThenMonthly(formatEUR(finalSubtotal,activeLang)),\" \\xb7\",\" \",t.boxMinimum(formatEUR(threshold,activeLang))]})]});const summaryLines=lines.length>0?/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:8,maxHeight:320,overflowY:\"auto\",paddingRight:4},children:lines.map(l=>/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",gap:10,alignItems:\"center\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{width:40,height:40,borderRadius:chipRadius,overflow:\"hidden\",background:\"#eee\",flex:\"0 0 auto\"},children:l.image&&/*#__PURE__*/_jsx(\"img\",{src:l.image,style:{width:\"100%\",height:\"100%\",objectFit:\"cover\"}})}),/*#__PURE__*/_jsxs(\"div\",{style:{flex:1,minWidth:0},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:12,fontWeight:700,color:\"#111\",overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\"},children:l.productTitle}),/*#__PURE__*/_jsxs(\"div\",{style:{fontSize:11,color:\"#666\"},children:[l.variantTitle,\" \\xb7 \\xd7\",l.quantity]})]}),/*#__PURE__*/_jsx(\"button\",{onClick:()=>adjust(l.variantId,l.sellingPlanId,-l.quantity),\"aria-label\":\"Remove\",style:{background:\"none\",border:\"none\",cursor:\"pointer\",opacity:.5,fontSize:14},children:\"✕\"})]},l.variantId))}):null;const summaryCta=/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"button\",{onClick:createSubscription,disabled:!ready||creating,style:{width:\"100%\",padding:\"14px\",background:ready?accent:\"#E5E5E5\",color:ready?\"#fff\":\"#777\",border:\"none\",borderRadius:buttonRadius,fontSize:14,fontWeight:800,cursor:!ready||creating?\"not-allowed\":\"pointer\",transition:\"0.2s\"},children:creating?t.boxCreating:ctaLabel}),/*#__PURE__*/_jsx(\"p\",{style:{fontSize:11,color:\"#999\",margin:0,textAlign:\"center\",lineHeight:1.4},children:t.membershipHelp})]});// wide = panel horizontal bajo la parrilla (escritorio).\nconst renderSummary=wide=>wide?/*#__PURE__*/_jsxs(\"div\",{style:{display:\"grid\",gridTemplateColumns:\"minmax(0, 1fr) minmax(260px, 320px)\",gap:28,alignItems:\"start\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:14},children:[summaryHeader,summaryLines]}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:10},children:summaryCta})]}):/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:14},children:[summaryHeader,summaryLines,summaryCta]});return /*#__PURE__*/_jsxs(\"div\",{ref:rootRef,style:{width:\"100%\",background:pageBg,fontFamily:FONT_FAMILY,padding:isMobile?\"16px 10px 170px\":\"32px 24px 32px\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{maxWidth:1200,margin:\"0 auto\",display:\"flex\",flexDirection:\"column\",gap:24},children:[loading?/*#__PURE__*/_jsx(\"div\",{style:{textAlign:\"center\",padding:60,color:\"#999\"},children:\"...\"}):products.length===0?/*#__PURE__*/_jsx(\"div\",{style:{textAlign:\"center\",padding:60,color:\"#999\"},children:t.boxEmpty}):/*#__PURE__*/_jsx(\"div\",{style:{display:\"grid\",gridTemplateColumns:isMobile?\"repeat(2, minmax(0, 1fr))\":\"repeat(4, minmax(0, 1fr))\",gap:isMobile?10:16,alignItems:\"stretch\"},children:products.map(p=>{const hasMultiple=p.variants.length>1;const selVarId=selectedVariant[p.id]||p.variants[0].id;const selVar=p.variants.find(v=>v.id===selVarId)||p.variants[0];const qty=getQty(selVar.id);const finalUnit=selVar.price*(1-SUB_BOX_DISCOUNT_RATE);const firstUnit=selVar.price*(1-SUB_FIRST_ORDER_DISCOUNT);const disabled=!selVar.available;return /*#__PURE__*/_jsxs(\"div\",{style:{background:cardBg,border:qty>0?`2px solid ${accent}`:\"1px solid #EAEAEA\",borderRadius:cardRadius,padding:14,display:\"flex\",flexDirection:\"column\",gap:10,height:\"100%\",transition:\"border-color 0.15s ease\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{aspectRatio:\"1 / 1\",borderRadius:Math.max(0,cardRadius-3),overflow:\"hidden\",background:\"#F4F4F4\"},children:(selVar.image||p.defaultImage)&&/*#__PURE__*/_jsx(\"img\",{src:selVar.image||p.defaultImage,alt:p.title,style:{width:\"100%\",height:\"100%\",objectFit:\"cover\"}})}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:4},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:14,fontWeight:700,color:\"#111\",lineHeight:1.25},children:p.title}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"baseline\",gap:6},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontSize:14,fontWeight:800,color:accent},children:formatEUR(firstUnit,activeLang)}),/*#__PURE__*/_jsx(\"span\",{style:{fontSize:12,color:\"#999\",textDecoration:\"line-through\"},children:formatEUR(selVar.price,activeLang)})]}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:11,color:\"#777\"},children:t.boxThenUnit(formatEUR(finalUnit,activeLang))})]}),(hasMultiple||anyHasVariants)&&/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexWrap:\"wrap\",gap:6,minHeight:26,alignContent:\"flex-start\"},children:hasMultiple&&p.variants.filter(v=>v.available).map(v=>{const isSel=selVarId===v.id;return /*#__PURE__*/_jsx(\"button\",{onClick:()=>setSelectedVariant(prev=>({...prev,[p.id]:v.id})),style:{padding:\"4px 10px\",borderRadius:chipRadius,border:isSel?`1px solid ${accent}`:\"1px solid #DDD\",background:isSel?accent:\"#fff\",color:isSel?\"#fff\":\"#333\",fontSize:11,fontWeight:isSel?700:500,cursor:\"pointer\"},children:v.title},v.id);})}),qty===0?/*#__PURE__*/_jsx(\"button\",{onClick:()=>adjust(selVar.id,selVar.sellingPlanId,1),disabled:disabled,style:{width:\"100%\",marginTop:\"auto\",padding:\"10px 12px\",background:disabled?\"#E6E6E6\":accent,color:disabled?\"#888\":\"#fff\",border:\"none\",borderRadius:buttonRadius,fontSize:13,fontWeight:700,cursor:disabled?\"not-allowed\":\"pointer\"},children:disabled?t.soldOut:t.add}):/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",marginTop:\"auto\",background:\"#F2F2F2\",borderRadius:buttonRadius,padding:\"4px 6px\"},children:[/*#__PURE__*/_jsx(\"button\",{onClick:()=>adjust(selVar.id,selVar.sellingPlanId,-1),style:{background:\"none\",border:\"none\",cursor:\"pointer\",width:32,height:32,fontSize:18},children:\"−\"}),/*#__PURE__*/_jsx(\"span\",{style:{fontSize:14,fontWeight:800,color:\"#111\"},children:qty}),/*#__PURE__*/_jsx(\"button\",{onClick:()=>adjust(selVar.id,selVar.sellingPlanId,1),style:{background:\"none\",border:\"none\",cursor:\"pointer\",width:32,height:32,fontSize:18},children:\"+\"})]})]},p.id);})}),!isMobile&&!loading&&products.length>0&&/*#__PURE__*/_jsx(\"div\",{style:{background:\"#FAFAFA\",border:\"1px solid #EAEAEA\",borderRadius:cardRadius,padding:20},children:renderSummary(true)})]}),isMobile&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"fixed\",left:0,right:0,bottom:0,background:\"#fff\",borderTop:\"1px solid #EAEAEA\",boxShadow:\"0 -8px 24px rgba(0,0,0,0.06)\",padding:\"12px 14px calc(12px + env(safe-area-inset-bottom))\",zIndex:50},children:/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:10},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"baseline\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{fontSize:13,fontWeight:800,color:\"#111\"},children:[totalQty,\" \\xb7\",\" \",formatEUR(firstOrderSubtotal,activeLang)]}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:11,color:\"#666\"},children:t.boxThenMonthly(formatEUR(finalSubtotal,activeLang))})]}),/*#__PURE__*/_jsx(\"div\",{style:{height:6,borderRadius:3,background:\"#E5E5E5\",overflow:\"hidden\"},children:/*#__PURE__*/_jsx(\"div\",{style:{height:\"100%\",width:`${progress}%`,background:ready?\"#0A8A2A\":accent,transition:\"width 0.25s ease\"}})}),/*#__PURE__*/_jsx(\"button\",{onClick:createSubscription,disabled:!ready||creating,style:{width:\"100%\",padding:\"12px\",background:ready?accent:\"#E5E5E5\",color:ready?\"#fff\":\"#777\",border:\"none\",borderRadius:buttonRadius,fontSize:14,fontWeight:800,cursor:!ready||creating?\"not-allowed\":\"pointer\"},children:creating?t.boxCreating:ready?`${ctaLabel} \\xb7 ${formatEUR(firstOrderSubtotal,activeLang)}`:t.boxMissing(formatEUR(missingFinal,activeLang))})]})})]});}addPropertyControls(SubscriptionBuilder,{subscriptionWelcomeCode:{type:ControlType.String,title:\"C\\xf3digo 30% 1\\xaa entrega\",defaultValue:SUB_FIRST_ORDER_CODE,description:\"C\\xf3digo de Shopify que aplica el 30% en el primer cobro. Se a\\xf1ade solo al carrito cuando hay suscripci\\xf3n. Vaciar para desactivarlo.\"},forceLanguage:{type:ControlType.Enum,title:\"Forzar Idioma\",options:[\"Auto\",\"ES\",\"IT\",\"EN\"],defaultValue:\"Auto\"},title:{type:ControlType.String,title:\"T\\xedtulo\",placeholder:\"Crea tu suscripci\\xf3n mensual\"},subtitle:{type:ControlType.String,title:\"Subt\\xedtulo\",placeholder:\"M\\xednimo 49€/mes…\"},ctaLabel:{type:ControlType.String,title:\"Texto CTA\",placeholder:\"Crear suscripci\\xf3n\"},threshold:{type:ControlType.Number,title:\"M\\xednimo final (€)\",defaultValue:49,step:.5,displayStepper:true},cardRadius:{type:ControlType.Number,title:\"Radio tarjetas\",defaultValue:10,min:0,max:32,step:1,displayStepper:true},buttonRadius:{type:ControlType.Number,title:\"Radio botones\",defaultValue:12,min:0,max:32,step:1,displayStepper:true},accentColor:{type:ControlType.Color,title:\"Color principal\",defaultValue:\"#000000\"},cardBg:{type:ControlType.Color,title:\"Fondo tarjeta\",defaultValue:\"#FFFFFF\"},pageBg:{type:ControlType.Color,title:\"Fondo p\\xe1gina\",defaultValue:\"rgba(0,0,0,0)\"},storeDomain:{type:ControlType.String,defaultValue:DEFAULT_DOMAIN},storeToken:{type:ControlType.String,defaultValue:DEFAULT_TOKEN}});// --- 6. WISHLIST ---\nexport function WishlistButton(props){const[isSaved,setIsSaved]=React.useState(false);React.useEffect(()=>{const list=JSON.parse(localStorage.getItem(\"wild_wishlist\")||\"[]\");setIsSaved(list.some(i=>i.id===props.variantId));},[props.variantId]);const toggle=()=>{let list=JSON.parse(localStorage.getItem(\"wild_wishlist\")||\"[]\");if(isSaved)list=list.filter(i=>i.id!==props.variantId);else list.push({id:props.variantId,title:props.title,price:props.price,image:props.image});localStorage.setItem(\"wild_wishlist\",JSON.stringify(list));window.dispatchEvent(new Event(\"wishlist-updated\"));};return /*#__PURE__*/_jsx(\"div\",{onClick:toggle,style:{cursor:\"pointer\",padding:10,borderRadius:\"50%\",border:\"1px solid #eee\",background:\"#fff\",width:45,height:45,display:\"flex\",justifyContent:\"center\",alignItems:\"center\"},children:/*#__PURE__*/_jsx(\"svg\",{width:\"20\",height:\"20\",viewBox:\"0 0 24 24\",fill:isSaved?\"#000\":\"none\",stroke:\"#000\",strokeWidth:\"1.5\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z\"})})});}addPropertyControls(WishlistButton,{variantId:{type:ControlType.String},title:{type:ControlType.String},price:{type:ControlType.String},image:{type:ControlType.Image}});export function WishlistDrawer(props){const[list,setList]=React.useState([]);const[isOpen,setIsOpen]=React.useState(false);React.useEffect(()=>{const load=()=>setList(JSON.parse(localStorage.getItem(\"wild_wishlist\")||\"[]\"));load();window.addEventListener(\"wishlist-updated\",load);return()=>window.removeEventListener(\"wishlist-updated\",load);},[]);const remove=id=>{const newList=list.filter(i=>i.id!==id);localStorage.setItem(\"wild_wishlist\",JSON.stringify(newList));window.dispatchEvent(new Event(\"wishlist-updated\"));};return /*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",fontFamily:FONT_FAMILY},children:[/*#__PURE__*/_jsx(\"div\",{onClick:()=>setIsOpen(true),style:{cursor:\"pointer\"},children:props.customIcon?/*#__PURE__*/_jsx(\"img\",{src:props.customIcon,style:{width:26,height:26}}):/*#__PURE__*/_jsx(\"svg\",{width:\"24\",height:\"24\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"#000\",strokeWidth:\"1.5\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z\"})})}),isOpen&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{onClick:()=>setIsOpen(false),style:{position:\"fixed\",top:0,left:0,width:\"100vw\",height:\"100vh\",background:\"rgba(0,0,0,0.3)\",zIndex:99998}}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"fixed\",top:0,right:0,height:\"100vh\",width:\"400px\",maxWidth:\"100vw\",background:\"#fff\",zIndex:99999,padding:30,display:\"flex\",flexDirection:\"column\",boxShadow:\"-10px 0 40px rgba(0,0,0,0.05)\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",marginBottom:20},children:[/*#__PURE__*/_jsx(\"h2\",{children:\"Mis Favoritos\"}),/*#__PURE__*/_jsx(\"div\",{onClick:()=>setIsOpen(false),style:{cursor:\"pointer\"},children:\"✕\"})]}),/*#__PURE__*/_jsx(\"div\",{style:{flex:1,overflowY:\"auto\",padding:24},children:list.length===0?/*#__PURE__*/_jsx(\"p\",{style:{textAlign:\"center\",color:\"#999\",marginTop:50},children:\"A\\xfan no tienes favoritos\"}):/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:20},children:list.map(i=>/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",gap:15,alignItems:\"center\"},children:[/*#__PURE__*/_jsx(\"img\",{src:i.image,style:{width:60,height:60,objectFit:\"cover\",borderRadius:8}}),/*#__PURE__*/_jsxs(\"div\",{style:{flex:1},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontWeight:600},children:i.title}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:13,color:\"#666\"},children:i.price})]}),/*#__PURE__*/_jsx(\"div\",{onClick:()=>remove(i.id),style:{cursor:\"pointer\",opacity:.5},children:\"✕\"})]},i.id))})})]})]})]});}addPropertyControls(WishlistDrawer,{customIcon:{type:ControlType.Image}});// --- 7. WILD INSTANT SHOP BUILDER ---\n// Pegar este bloque al final del archivo actual, debajo de WishlistDrawer.\n// No sustituye ningún componente existente.\nexport function WildInstantShopBuilder(props){const detectedLang=useCurrentLang();const activeLang=props.forceLanguage===\"Auto\"?detectedLang:String(props.forceLanguage||\"ES\").toLowerCase();const lang=activeLang===\"en\"||activeLang===\"it\"?activeLang:\"es\";const copy={es:{eyebrow:props.eyebrow||\"Shop\",title:props.title||\"Compra Wild*\",subtitle:props.subtitle||\"Elige tus productos, revisa el total y paga en checkout seguro.\",add:\"+ A\\xf1adir\",checkout:\"Pagar ahora\",checkoutLoading:\"Creando checkout...\",empty:\"A\\xf1ade alg\\xfan producto para empezar.\",min:\"Pedido m\\xednimo\",missing:\"Te faltan\",ready:\"Listo para pagar\",noProducts:\"No hay productos disponibles.\",items:n=>`${n} ${n===1?\"producto\":\"productos\"}`,restaurant:props.restaurantLabel||\"Reservar restaurante\",web:props.webLabel||\"Entra en Wild*\"},en:{eyebrow:props.eyebrow||\"Shop\",title:props.title||\"Buy Wild* now.\",subtitle:props.subtitle||\"Choose your products, review the total and pay through secure checkout.\",add:\"+ Add\",checkout:\"Checkout now\",checkoutLoading:\"Creating checkout...\",empty:\"Add a product to start.\",min:\"Minimum order\",missing:\"Add\",ready:\"Ready to checkout\",noProducts:\"No products available.\",items:n=>`${n} ${n===1?\"item\":\"items\"}`,restaurant:props.restaurantLabel||\"Book restaurant\",web:props.webLabel||\"Enter Wild*\"},it:{eyebrow:props.eyebrow||\"Shop\",title:props.title||\"Compra Wild* ora.\",subtitle:props.subtitle||\"Scegli i prodotti, controlla il totale e paga con checkout sicuro.\",add:\"+ Aggiungi\",checkout:\"Paga ora\",checkoutLoading:\"Creazione checkout...\",empty:\"Aggiungi un prodotto per iniziare.\",min:\"Ordine minimo\",missing:\"Ti mancano\",ready:\"Pronto per il checkout\",noProducts:\"Nessun prodotto disponibile.\",items:n=>`${n} ${n===1?\"prodotto\":\"prodotti\"}`,restaurant:props.restaurantLabel||\"Prenota ristorante\",web:props.webLabel||\"Entra in Wild*\"}}[lang];const domain=props.storeDomain||DEFAULT_DOMAIN;const token=props.storeToken||DEFAULT_TOKEN;const minOrder=Number(props.minOrderThreshold??39.9);const maxProducts=Number(props.maxProducts||12);const fontFamily=props.fontFamily||FONT_FAMILY;const accent=props.accentColor||\"#111111\";const pageBg=props.pageBg||\"#FAF8F2\";const cardBg=props.cardBg||\"#FFFFFF\";const textColor=props.textColor||\"#111111\";const mutedColor=props.mutedColor||\"#6F6A61\";const titleFontSize=props.titleFontSize??42;const titleFontWeight=props.titleFontWeight??600;const bodyFontSize=props.bodyFontSize??14;const buttonFontSize=props.buttonFontSize??14;const buttonFontWeight=props.buttonFontWeight??600;const allowedProductWords=String(props.allowedProductWords||\"pulled,mushroom\").split(\",\").map(w=>w.trim().toLowerCase()).filter(Boolean);const[products,setProducts]=React.useState([]);const[loading,setLoading]=React.useState(true);const[creatingCheckout,setCreatingCheckout]=React.useState(false);const[error,setError]=React.useState(\"\");const[selectedVariant,setSelectedVariant]=React.useState({});const[cart,setCart]=React.useState(null);const[activeDiscount,setActiveDiscount]=React.useState(\"\");const[isMobile,setIsMobile]=React.useState(false);const[activeMediaIndex,setActiveMediaIndex]=React.useState(0);React.useEffect(()=>{if(typeof window===\"undefined\")return;const update=()=>setIsMobile(window.innerWidth<900);update();window.addEventListener(\"resize\",update);return()=>window.removeEventListener(\"resize\",update);},[]);const parsePrice=React.useCallback(v=>{const n=parseFloat(String(v||0).replace(\",\",\".\"));return Number.isFinite(n)?n:0;},[]);const mediaItems=React.useMemo(()=>{const raw=Array.isArray(props.mediaItems)?props.mediaItems:[];return raw.filter(item=>item?.image||item?.videoUrl);},[props.mediaItems]);React.useEffect(()=>{if(!mediaItems.length){setActiveMediaIndex(0);return;}setActiveMediaIndex(idx=>Math.min(idx,mediaItems.length-1));},[mediaItems.length]);const goMedia=React.useCallback(direction=>{if(!mediaItems.length)return;setActiveMediaIndex(idx=>(idx+direction+mediaItems.length)%mediaItems.length);},[mediaItems.length]);const productHandlesKey=JSON.stringify(Array.isArray(props.productHandles)?props.productHandles:[]);const productHandles=React.useMemo(()=>{const raw=Array.isArray(props.productHandles)?props.productHandles:[];return raw.map(h=>String(h||\"\").trim().replace(/^.*\\/products\\//,\"\").replace(/[?#].*$/,\"\")).filter(Boolean);// eslint-disable-next-line react-hooks/exhaustive-deps\n},[productHandlesKey]);React.useEffect(()=>{let cancelled=false;const PRODUCT_FIELDS=`\n            id\n            handle\n            onlineStoreUrl\n            title\n            description\n            featuredImage { url }\n            variants(first: 20) {\n                edges {\n                    node {\n                        id\n                        title\n                        availableForSale\n                        image { url }\n                        price { amount currencyCode }\n                        compareAtPrice { amount currencyCode }\n                        selectedOptions { name value }\n                    }\n                }\n            }`;const mapProduct=node=>{if(!node)return null;const title=node?.title||\"\";const variants=(node?.variants?.edges||[]).map(ve=>{const v=ve.node;if(!v?.availableForSale)return null;return{id:v.id,title:v.title||\"Default Title\",image:v.image?.url||node.featuredImage?.url||\"\",price:parsePrice(v.price?.amount),compareAtPrice:parsePrice(v.compareAtPrice?.amount),optionLabel:v.selectedOptions?.map(o=>o.value).join(\" \\xb7 \")||v.title||\"\"};}).filter(Boolean);if(!variants.length)return null;return{id:node.id,handle:node.handle||\"\",onlineStoreUrl:node.onlineStoreUrl||\"\",title,description:node.description||\"\",image:node.featuredImage?.url||variants[0]?.image||\"\",variants};};const loadProducts=async()=>{setLoading(true);setError(\"\");try{let list=[];if(productHandles.length>0){const aliases=productHandles.map((h,i)=>`p${i}: productByHandle(handle: ${JSON.stringify(h)}) { ${PRODUCT_FIELDS} }`).join(\"\\n\");const res=await shopifyFetch(`query getSelectedProducts { ${aliases} }`,{},domain,token);if(cancelled)return;const data=res?.data||{};list=productHandles.map((_,i)=>mapProduct(data[`p${i}`])).filter(Boolean);}else{const res=await shopifyFetch(`query getProducts($first: Int!) {\n                            products(first: $first, sortKey: BEST_SELLING) {\n                                edges { node { ${PRODUCT_FIELDS} } }\n                            }\n                        }`,{first:maxProducts},domain,token);if(cancelled)return;const excludeWords=String(props.excludeTitleWords||\"membership,subscription\").split(\",\").map(w=>w.trim().toLowerCase()).filter(Boolean);list=(res?.data?.products?.edges||[]).map(edge=>{const node=edge.node;const lowerTitle=(node?.title||\"\").toLowerCase();if(excludeWords.some(word=>lowerTitle.includes(word)))return null;if(allowedProductWords.length>0&&!allowedProductWords.some(word=>lowerTitle.includes(word)))return null;return mapProduct(node);}).filter(Boolean);}const initialSelected={};list.forEach(p=>{initialSelected[p.id]=p.variants[0]?.id;});setProducts(list);setSelectedVariant(initialSelected);}catch(e){console.error(\"WildInstantShopBuilder loadProducts error\",e);setError(\"No se han podido cargar los productos.\");}finally{if(!cancelled)setLoading(false);}};loadProducts();return()=>{cancelled=true;};// eslint-disable-next-line react-hooks/exhaustive-deps\n},[domain,token,maxProducts,productHandlesKey,props.excludeTitleWords,props.allowedProductWords,parsePrice]);const CART_QUERY=`query getCart($cartId: ID!) {\n        cart(id: $cartId) {\n            id\n            checkoutUrl\n            totalQuantity\n            cost {\n                subtotalAmount { amount currencyCode }\n                totalAmount { amount currencyCode }\n            }\n            discountCodes { code applicable }\n            lines(first: 50) {\n                edges {\n                    node {\n                        id\n                        quantity\n                        cost { totalAmount { amount currencyCode } }\n                        merchandise {\n                            ... on ProductVariant {\n                                id\n                                title\n                                image { url }\n                                product { title }\n                                price { amount currencyCode }\n                            }\n                        }\n                    }\n                }\n            }\n        }\n    }`;const loadCart=React.useCallback(async()=>{const cartId=typeof window!==\"undefined\"?localStorage.getItem(\"shopify_cart_id\"):null;if(!cartId){setCart(null);return;}try{const res=await shopifyFetch(CART_QUERY,{cartId},domain,token);setCart(res?.data?.cart||null);}catch(e){console.error(\"WildInstantShopBuilder loadCart error\",e);}},[domain,token]);React.useEffect(()=>{const code=captureDiscountFromUrl();setActiveDiscount(code);const init=async()=>{const cid=typeof window!==\"undefined\"?localStorage.getItem(\"shopify_cart_id\"):null;if(cid&&code)await applyStoredDiscountToCart(cid,domain,token);await loadCart();};init();const handler=()=>loadCart();if(typeof window!==\"undefined\")window.addEventListener(\"cart-updated\",handler);return()=>{if(typeof window!==\"undefined\")window.removeEventListener(\"cart-updated\",handler);};// eslint-disable-next-line react-hooks/exhaustive-deps\n},[domain,token,loadCart]);const getSelectedVariant=React.useCallback(product=>{const selectedId=selectedVariant[product.id];return product.variants.find(v=>v.id===selectedId)||product.variants[0];},[selectedVariant]);const cartLineByVariant=React.useMemo(()=>{const map=new Map;const edges=cart?.lines?.edges||[];edges.forEach(e=>{const node=e?.node;const vid=node?.merchandise?.id;if(vid)map.set(vid,{lineId:node.id,quantity:Number(node.quantity)||0});});return map;},[cart]);const cartDiscount=React.useMemo(()=>{return(cart?.discountCodes||[]).find(d=>d?.code)||null;},[cart]);const discountApplicable=cartDiscount?cartDiscount.applicable!==false:false;const getQty=React.useCallback(variantId=>Math.max(0,cartLineByVariant.get(variantId)?.quantity||0),[cartLineByVariant]);const setQty=React.useCallback(async(variantId,qty)=>{const safeQty=Math.max(0,Math.floor(Number(qty)||0));const existing=cartLineByVariant.get(variantId);try{let cartId=localStorage.getItem(\"shopify_cart_id\");if(!cartId){const created=await shopifyFetch(`mutation { cartCreate { cart { id } } }`,{},domain,token);cartId=created?.data?.cartCreate?.cart?.id;if(cartId)localStorage.setItem(\"shopify_cart_id\",cartId);}if(!cartId)return;if(existing&&safeQty<=0){await shopifyFetch(`mutation cartLinesRemove($cartId: ID!, $lineIds: [ID!]!) {\n                          cartLinesRemove(cartId: $cartId, lineIds: $lineIds) {\n                            cart { id totalQuantity }\n                            userErrors { field message }\n                          }\n                        }`,{cartId,lineIds:[existing.lineId]},domain,token);registrarEvento(\"remove_from_cart\",{productHandle:productoEnPantalla()});}else if(existing){await shopifyFetch(`mutation cartLinesUpdate($cartId: ID!, $lines: [CartLineUpdateInput!]!) {\n                          cartLinesUpdate(cartId: $cartId, lines: $lines) {\n                            cart { id totalQuantity }\n                            userErrors { field message }\n                          }\n                        }`,{cartId,lines:[{id:existing.lineId,quantity:safeQty}]},domain,token);}else if(safeQty>0){await shopifyFetch(`mutation cartLinesAdd($cartId: ID!, $lines: [CartLineInput!]!) {\n                          cartLinesAdd(cartId: $cartId, lines: $lines) {\n                            cart { id totalQuantity }\n                            userErrors { field message }\n                          }\n                        }`,{cartId,lines:[{merchandiseId:variantId,quantity:safeQty}]},domain,token);trackPixelEvent(\"AddToCart\",{content_ids:[stripGid(variantId)],content_type:\"product\",currency:\"EUR\",num_items:safeQty,source:\"instant-shop\"});}await applyStoredDiscountToCart(cartId,domain,token);window.dispatchEvent(new Event(\"cart-updated\"));await loadCart();}catch(e){console.error(\"WildInstantShopBuilder setQty error\",e);setError(\"No se ha podido actualizar el carrito.\");}},[cartLineByVariant,domain,token,loadCart]);const lines=React.useMemo(()=>{const edges=cart?.lines?.edges||[];return edges.map(e=>{const node=e.node;const m=node?.merchandise||{};const price=parsePrice(m?.price?.amount);const quantity=Number(node?.quantity)||0;return{productTitle:m?.product?.title||\"\",variantTitle:m?.title||\"\",variantId:m?.id,lineId:node?.id,quantity,price,image:m?.image?.url||\"\",lineTotal:parsePrice(node?.cost?.totalAmount?.amount)||price*quantity};});},[cart,parsePrice]);const totalQty=Number(cart?.totalQuantity)||lines.reduce((acc,line)=>acc+line.quantity,0);const subtotal=parsePrice(cart?.cost?.subtotalAmount?.amount)||lines.reduce((acc,line)=>acc+line.lineTotal,0);const cartTotal=parsePrice(cart?.cost?.totalAmount?.amount)||subtotal;const payTotal=discountApplicable&&cartTotal>0&&cartTotal<subtotal?cartTotal:subtotal;const ready=subtotal>=minOrder&&totalQty>0;const missing=Math.max(0,minOrder-subtotal);const progress=Math.min(100,minOrder>0?subtotal/minOrder*100:0);const checkoutNow=async()=>{if(!ready||creatingCheckout)return;setCreatingCheckout(true);setError(\"\");try{const cartId=localStorage.getItem(\"shopify_cart_id\");if(!cartId){setError(\"Tu carrito est\\xe1 vac\\xedo.\");setCreatingCheckout(false);return;}await applyStoredDiscountToCart(cartId,domain,token);const res=await shopifyFetch(`query getCheckout($cartId: ID!) { cart(id: $cartId) { checkoutUrl } }`,{cartId},domain,token);const url=res?.data?.cart?.checkoutUrl;if(url&&typeof window!==\"undefined\"){// Igual que arriba: el InitiateCheckout es de Shopify. El\n// nuestro sí, y antes del salto.\nregistrarEvento(\"checkout_started\",{});window.location.href=url;}else{setError(\"No se ha recibido URL de checkout.\");setCreatingCheckout(false);}}catch(e){console.error(\"WildInstantShopBuilder checkout error\",e);setError(\"Error al crear el checkout.\");setCreatingCheckout(false);}};const summaryBlock=/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:14},children:[/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:11,fontWeight:600,letterSpacing:\"0.06em\",textTransform:\"uppercase\",color:mutedColor,marginBottom:6},children:copy.items(totalQty)}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"flex-end\",gap:12},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:28,fontWeight:600,letterSpacing:\"-0.04em\",color:textColor,lineHeight:1},children:formatEUR(subtotal,lang)}),/*#__PURE__*/_jsxs(\"div\",{style:{fontSize:12,color:mutedColor},children:[\"/ \",formatEUR(minOrder,lang)]})]}),/*#__PURE__*/_jsx(\"div\",{style:{height:7,borderRadius:999,background:\"#EEEEEE\",overflow:\"hidden\",marginTop:10},children:/*#__PURE__*/_jsx(\"div\",{style:{height:\"100%\",width:`${progress}%`,background:ready?\"#167A34\":accent,transition:\"width 0.25s ease\"}})}),/*#__PURE__*/_jsx(\"div\",{style:{marginTop:8,fontSize:12,color:ready?\"#167A34\":mutedColor,fontWeight:ready?600:500},children:ready?copy.ready:totalQty>0?`${copy.missing} ${formatEUR(missing,lang)} \\xb7 ${copy.min} ${formatEUR(minOrder,lang)}`:copy.empty})]}),discountApplicable&&cartTotal<subtotal?/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\",fontSize:12,fontWeight:600,color:\"#167A34\"},children:[/*#__PURE__*/_jsx(\"span\",{children:(cartDiscount?.code||activeDiscount).toUpperCase()}),/*#__PURE__*/_jsxs(\"span\",{children:[\"−\",formatEUR(subtotal-cartTotal,lang)]})]}):null,lines.length>0?/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:8,maxHeight:isMobile?120:220,overflowY:\"auto\"},children:lines.map(line=>/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:10},children:[/*#__PURE__*/_jsx(\"div\",{style:{width:38,height:38,borderRadius:6,background:\"#F5F5F5\",overflow:\"hidden\",flex:\"0 0 auto\"},children:line.image?/*#__PURE__*/_jsx(\"img\",{src:line.image,alt:line.productTitle,style:{width:\"100%\",height:\"100%\",objectFit:\"cover\"}}):null}),/*#__PURE__*/_jsxs(\"div\",{style:{flex:1,minWidth:0},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:12,fontWeight:600,color:textColor,overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\"},children:line.productTitle}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:11,color:mutedColor},children:line.variantTitle!==\"Default Title\"?`${line.variantTitle} \\xb7 \\xd7${line.quantity}`:`\\xd7${line.quantity}`})]}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:()=>setQty(line.variantId,0),\"aria-label\":\"Remove\",style:{background:\"none\",border:\"none\",color:textColor,opacity:.45,cursor:\"pointer\",fontSize:14},children:\"\\xd7\"})]},line.variantId))}):null,/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:checkoutNow,disabled:!ready||creatingCheckout,style:{width:\"100%\",border:\"none\",borderRadius:10,padding:\"14px 16px\",background:ready?accent:\"#E5E5E5\",color:ready?\"#FFFFFF\":\"#999999\",fontSize:buttonFontSize,fontWeight:buttonFontWeight,cursor:ready&&!creatingCheckout?\"pointer\":\"not-allowed\"},children:creatingCheckout?copy.checkoutLoading:ready?`${copy.checkout} \\xb7 ${formatEUR(payTotal,lang)}`:totalQty>0?`${copy.missing} ${formatEUR(missing,lang)}`:copy.empty})]});const mediaCarousel=mediaItems.length?/*#__PURE__*/_jsxs(\"div\",{style:{marginTop:18,display:\"flex\",flexDirection:\"column\",gap:10},\"aria-label\":\"Wild media carousel\",children:[/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",width:\"100%\",aspectRatio:\"1 / 1\",overflow:\"hidden\",borderRadius:12},children:[mediaItems.map((item,idx)=>{let offset=idx-activeMediaIndex;if(offset>mediaItems.length/2)offset-=mediaItems.length;if(offset<-mediaItems.length/2)offset+=mediaItems.length;const isActive=offset===0;const visible=Math.abs(offset)<=1;const isVideo=item?.mediaType===\"video\"&&item?.videoUrl;if(!visible)return null;return /*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:0,left:0,width:\"100%\",height:\"100%\",transform:`translateX(${offset*68}%) scale(${isActive?1:.84})`,opacity:isActive?1:.42,filter:isActive?\"none\":\"blur(5px)\",transition:\"transform 0.32s ease, opacity 0.32s ease, filter 0.32s ease\",zIndex:isActive?2:1,borderRadius:12,overflow:\"hidden\",background:\"#F5F5F5\",border:\"1px solid rgba(17,17,17,0.08)\",pointerEvents:isActive?\"auto\":\"none\"},children:isVideo?/*#__PURE__*/_jsx(\"video\",{src:item.videoUrl,poster:item.image||undefined,controls:isActive&&props.carouselVideoControls!==false,muted:props.carouselVideoMuted!==false,playsInline:true,loop:props.carouselVideoLoop!==false,autoPlay:isActive&&props.carouselVideoAutoplay===true,style:{width:\"100%\",height:\"100%\",objectFit:\"cover\",display:\"block\"}}):/*#__PURE__*/_jsx(\"img\",{src:item?.image,alt:item?.alt||\"Wild*\",style:{width:\"100%\",height:\"100%\",objectFit:\"cover\",display:\"block\"}})},`${idx}-${item?.image||item?.videoUrl||\"media\"}`);}),mediaItems.length>1?/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:()=>goMedia(-1),\"aria-label\":\"Previous media\",style:{position:\"absolute\",left:10,top:\"50%\",transform:\"translateY(-50%)\",zIndex:5,width:34,height:34,borderRadius:999,border:\"1px solid rgba(255,255,255,0.55)\",background:\"rgba(255,255,255,0.78)\",color:textColor,cursor:\"pointer\",fontSize:20},children:\"‹\"}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:()=>goMedia(1),\"aria-label\":\"Next media\",style:{position:\"absolute\",right:10,top:\"50%\",transform:\"translateY(-50%)\",zIndex:5,width:34,height:34,borderRadius:999,border:\"1px solid rgba(255,255,255,0.55)\",background:\"rgba(255,255,255,0.78)\",color:textColor,cursor:\"pointer\",fontSize:20},children:\"›\"})]}):null]}),mediaItems.length>1?/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",justifyContent:\"center\",gap:6},children:mediaItems.map((_,idx)=>/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:()=>setActiveMediaIndex(idx),\"aria-label\":`Go to media ${idx+1}`,style:{width:idx===activeMediaIndex?18:7,height:7,borderRadius:999,border:\"none\",background:idx===activeMediaIndex?accent:\"rgba(17,17,17,0.22)\",cursor:\"pointer\",transition:\"0.2s\"}},idx))}):null]}):null;return /*#__PURE__*/_jsxs(\"div\",{style:{width:\"100%\",minHeight:\"100vh\",background:pageBg,color:textColor,fontFamily,padding:isMobile?\"18px 14px 158px\":\"32px 24px\",boxSizing:\"border-box\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{maxWidth:isMobile?520:1020,margin:\"0 auto\",display:\"flex\",flexDirection:\"column\",gap:22},children:[props.webUrl||props.restaurantUrl?/*#__PURE__*/_jsxs(\"div\",{style:{display:\"grid\",gridTemplateColumns:isMobile?\"1fr 1fr\":\"repeat(2, minmax(0, 150px))\",gap:8,justifyContent:isMobile?\"stretch\":\"start\"},children:[props.restaurantUrl?/*#__PURE__*/_jsx(\"a\",{href:props.restaurantUrl,style:{textDecoration:\"none\",textAlign:\"center\",color:textColor,background:\"rgba(255,255,255,0.45)\",border:\"1px solid rgba(17,17,17,0.12)\",borderRadius:10,padding:\"0 18px\",minHeight:42,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",fontSize:Math.max(11,buttonFontSize-2),lineHeight:1.1,fontWeight:buttonFontWeight},children:copy.restaurant}):null,props.webUrl?/*#__PURE__*/_jsx(\"a\",{href:props.webUrl,style:{textDecoration:\"none\",textAlign:\"center\",color:\"#FFFFFF\",background:accent,border:`1px solid ${accent}`,borderRadius:10,padding:\"0 18px\",minHeight:42,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",fontSize:Math.max(11,buttonFontSize-2),lineHeight:1.1,fontWeight:buttonFontWeight},children:copy.web}):null]}):null,/*#__PURE__*/_jsxs(\"header\",{style:{display:\"flex\",flexDirection:\"column\",gap:8,maxWidth:560},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:11,fontWeight:600,letterSpacing:\"0.08em\",textTransform:\"uppercase\",color:mutedColor},children:copy.eyebrow}),/*#__PURE__*/_jsx(\"h1\",{style:{margin:0,fontSize:titleFontSize,lineHeight:.98,letterSpacing:\"-0.05em\",fontWeight:titleFontWeight,color:textColor},children:copy.title}),/*#__PURE__*/_jsx(\"p\",{style:{margin:0,fontSize:bodyFontSize,lineHeight:1.35,color:mutedColor},children:copy.subtitle}),activeDiscount?/*#__PURE__*/_jsx(\"div\",{style:{marginTop:4,alignSelf:\"flex-start\",display:\"inline-flex\",alignItems:\"center\",gap:6,background:discountApplicable?\"rgba(22,122,52,0.12)\":\"rgba(17,17,17,0.06)\",color:discountApplicable?\"#167A34\":mutedColor,border:`1px solid ${discountApplicable?\"rgba(22,122,52,0.35)\":\"rgba(17,17,17,0.12)\"}`,borderRadius:999,padding:\"5px 12px\",fontSize:12,fontWeight:600},children:discountApplicable?`Descuento ${activeDiscount.toUpperCase()} aplicado`:totalQty>0&&cartDiscount?`C\\xf3digo ${activeDiscount.toUpperCase()} no aplicable`:`Descuento ${activeDiscount.toUpperCase()} \\xb7 se aplicar\\xe1 al a\\xf1adir`}):null]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"grid\",gridTemplateColumns:isMobile?\"1fr\":\"minmax(0, 1fr) minmax(340px, 420px)\",gap:isMobile?18:28,alignItems:\"start\"},children:[/*#__PURE__*/_jsxs(\"div\",{children:[loading?/*#__PURE__*/_jsx(\"div\",{style:{padding:40,color:mutedColor,textAlign:\"center\"},children:\"...\"}):products.length===0?/*#__PURE__*/_jsx(\"div\",{style:{padding:40,color:mutedColor,textAlign:\"center\"},children:copy.noProducts}):/*#__PURE__*/_jsx(\"div\",{style:{display:\"grid\",gridTemplateColumns:\"repeat(2, minmax(0, 1fr))\",gap:isMobile?10:14},children:products.map(product=>{const variant=getSelectedVariant(product);const qty=getQty(variant.id);const hasMultiple=product.variants.length>1;const oldPrice=variant.compareAtPrice||0;const productHref=buildProductHref(product,activeDiscount,props.onlineStoreDomain);return /*#__PURE__*/_jsxs(\"div\",{style:{background:cardBg,border:qty>0?`2px solid ${accent}`:\"1px solid rgba(17,17,17,0.08)\",borderRadius:12,padding:12,display:\"flex\",flexDirection:\"column\",gap:10,minHeight:isMobile?250:290,boxShadow:\"0 10px 30px rgba(0,0,0,0.04)\"},children:[/*#__PURE__*/_jsx(\"a\",{href:productHref||undefined,style:{aspectRatio:\"1 / 1\",borderRadius:8,background:\"#F5F5F5\",overflow:\"hidden\",display:\"block\",cursor:productHref?\"pointer\":\"default\"},children:variant.image||product.image?/*#__PURE__*/_jsx(\"img\",{src:variant.image||product.image,alt:product.title,style:{width:\"100%\",height:\"100%\",objectFit:\"cover\",display:\"block\"}}):null}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:4},children:[/*#__PURE__*/_jsx(\"a\",{href:productHref||undefined,style:{fontSize:14,fontWeight:600,lineHeight:1.15,color:textColor,textDecoration:\"none\",cursor:productHref?\"pointer\":\"default\"},children:product.title}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"baseline\",gap:7},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontSize:15,fontWeight:600,color:textColor},children:formatEUR(variant.price,lang)}),oldPrice>variant.price?/*#__PURE__*/_jsx(\"span\",{style:{fontSize:12,color:\"#A7A199\",textDecoration:\"line-through\"},children:formatEUR(oldPrice,lang)}):null]})]}),hasMultiple?/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexWrap:\"wrap\",gap:6},children:product.variants.map(v=>{const isSelected=variant.id===v.id;return /*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:()=>setSelectedVariant(prev=>({...prev,[product.id]:v.id})),style:{border:isSelected?`1px solid ${accent}`:\"1px solid rgba(17,17,17,0.14)\",background:isSelected?accent:\"#fff\",color:isSelected?\"#fff\":textColor,borderRadius:999,padding:\"5px 8px\",fontSize:11,fontWeight:500,cursor:\"pointer\"},children:v.optionLabel===\"Default Title\"?\"1\":v.optionLabel},v.id);})}):null,/*#__PURE__*/_jsx(\"div\",{style:{marginTop:\"auto\"},children:qty===0?/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:()=>setQty(variant.id,1),style:{width:\"100%\",border:\"none\",borderRadius:10,padding:\"11px 12px\",background:accent,color:\"#fff\",fontSize:buttonFontSize,fontWeight:buttonFontWeight,cursor:\"pointer\"},children:copy.add}):/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",background:\"#F2F2F2\",borderRadius:10,padding:\"4px 6px\"},children:[/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:()=>setQty(variant.id,qty-1),style:{background:\"none\",border:\"none\",cursor:\"pointer\",width:32,height:32,fontSize:18},children:\"−\"}),/*#__PURE__*/_jsx(\"span\",{style:{fontSize:14,fontWeight:600},children:qty}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:()=>setQty(variant.id,qty+1),style:{background:\"none\",border:\"none\",cursor:\"pointer\",width:32,height:32,fontSize:18},children:\"+\"})]})})]},product.id);})}),isMobile?mediaCarousel:null]}),!isMobile?/*#__PURE__*/_jsxs(\"aside\",{style:{width:\"100%\",background:\"rgba(255,255,255,0.86)\",border:\"1px solid rgba(17,17,17,0.08)\",borderRadius:12,padding:18,position:\"sticky\",top:28,boxShadow:\"0 10px 30px rgba(0,0,0,0.04)\"},children:[summaryBlock,mediaCarousel]}):null]}),error?/*#__PURE__*/_jsx(\"div\",{role:\"status\",style:{background:\"#FFF3CD\",color:\"#6B4E00\",border:\"1px solid #FFE08A\",borderRadius:12,padding:\"10px 12px\",fontSize:12,lineHeight:1.35},children:error}):null]}),isMobile?/*#__PURE__*/_jsx(\"div\",{style:{position:\"fixed\",left:0,right:0,bottom:0,zIndex:9999,background:\"rgba(255,255,255,0.94)\",backdropFilter:\"blur(14px)\",borderTop:\"1px solid rgba(17,17,17,0.08)\",boxShadow:\"0 -12px 32px rgba(0,0,0,0.08)\",padding:\"12px 14px calc(12px + env(safe-area-inset-bottom))\"},children:/*#__PURE__*/_jsx(\"div\",{style:{maxWidth:520,margin:\"0 auto\"},children:summaryBlock})}):null]});}addPropertyControls(WildInstantShopBuilder,{forceLanguage:{type:ControlType.Enum,title:\"Idioma\",options:[\"Auto\",\"ES\",\"IT\",\"EN\"],defaultValue:\"Auto\"},storeDomain:{type:ControlType.String,title:\"Store Domain\",defaultValue:DEFAULT_DOMAIN},storeToken:{type:ControlType.String,title:\"Store Token\",defaultValue:DEFAULT_TOKEN},minOrderThreshold:{type:ControlType.Number,title:\"Pedido m\\xednimo (€)\",defaultValue:39.9,min:0,step:.1,displayStepper:true},maxProducts:{type:ControlType.Number,title:\"M\\xe1x. productos\",defaultValue:12,min:1,max:50,step:1,displayStepper:true},excludeTitleWords:{type:ControlType.String,title:\"Excluir t\\xedtulos\",defaultValue:\"membership,subscription\"},allowedProductWords:{type:ControlType.String,title:\"Solo productos con\",defaultValue:\"pulled,mushroom\"},productHandles:{type:ControlType.Array,title:\"Productos (handles)\",control:{type:ControlType.String,placeholder:\"p.ej. pulled-protein\"},defaultValue:[]},onlineStoreDomain:{type:ControlType.String,title:\"Dominio tienda (respaldo)\",defaultValue:\"\"},eyebrow:{type:ControlType.String,title:\"Eyebrow\",defaultValue:\"Shop\"},title:{type:ControlType.String,title:\"T\\xedtulo\",defaultValue:\"Compra Wild* al momento.\"},subtitle:{type:ControlType.String,title:\"Subt\\xedtulo\",defaultValue:\"Elige tus productos, revisa el total y paga en checkout seguro.\"},webUrl:{type:ControlType.String,title:\"URL Entra en Wild*\",defaultValue:\"https://wildfuel.io\"},webLabel:{type:ControlType.String,title:\"Texto Entra en Wild*\",defaultValue:\"Entra en Wild*\"},restaurantUrl:{type:ControlType.String,title:\"URL reservar restaurante\",defaultValue:\"https://reservation.dish.co/landingPage/hydra-723fb184-4e31-4555-b1f1-2560a88df3c9\"},restaurantLabel:{type:ControlType.String,title:\"Texto reservar restaurante\",defaultValue:\"Reservar restaurante\"},fontFamily:{type:ControlType.String,title:\"Tipograf\\xeda\",defaultValue:'\"Inter Display\", sans-serif'},titleFontSize:{type:ControlType.Number,title:\"Tama\\xf1o t\\xedtulo\",defaultValue:32,min:20,max:64,step:1,displayStepper:true},titleFontWeight:{type:ControlType.Number,title:\"Peso t\\xedtulo\",defaultValue:950,min:300,max:1e3,step:50,displayStepper:true},bodyFontSize:{type:ControlType.Number,title:\"Tama\\xf1o texto\",defaultValue:14,min:10,max:24,step:1,displayStepper:true},buttonFontSize:{type:ControlType.Number,title:\"Tama\\xf1o botones\",defaultValue:14,min:10,max:22,step:1,displayStepper:true},buttonFontWeight:{type:ControlType.Number,title:\"Peso botones\",defaultValue:850,min:300,max:1e3,step:50,displayStepper:true},accentColor:{type:ControlType.Color,title:\"Color principal\",defaultValue:\"#111111\"},pageBg:{type:ControlType.Color,title:\"Fondo p\\xe1gina\",defaultValue:\"#FAF8F2\"},cardBg:{type:ControlType.Color,title:\"Fondo cards\",defaultValue:\"#FFFFFF\"},textColor:{type:ControlType.Color,title:\"Color texto\",defaultValue:\"#111111\"},mutedColor:{type:ControlType.Color,title:\"Color secundario\",defaultValue:\"#6F6A61\"},mediaItems:{type:ControlType.Array,title:\"Carrusel 1:1\",control:{type:ControlType.Object,controls:{mediaType:{type:ControlType.Enum,title:\"Tipo\",options:[\"image\",\"video\"],optionTitles:[\"Imagen\",\"V\\xeddeo\"],defaultValue:\"image\"},image:{type:ControlType.Image,title:\"Imagen / poster\"},videoUrl:{type:ControlType.String,title:\"URL v\\xeddeo\",defaultValue:\"\"},alt:{type:ControlType.String,title:\"Alt\",defaultValue:\"Wild*\"}}},defaultValue:[]},carouselVideoControls:{type:ControlType.Boolean,title:\"Controles v\\xeddeo\",defaultValue:true},carouselVideoMuted:{type:ControlType.Boolean,title:\"V\\xeddeo muted\",defaultValue:true},carouselVideoLoop:{type:ControlType.Boolean,title:\"V\\xeddeo loop\",defaultValue:true},carouselVideoAutoplay:{type:ControlType.Boolean,title:\"V\\xeddeo autoplay\",defaultValue:false}});// --- 8. DISCOUNT POPUP (welcome 10%) ---\nconst DISCOUNT_REGISTERED_KEY=\"wild_discount_registered_v1\";// Última vez que se mostró el popup, para no repetirlo en cada navegación.\nconst DISCOUNT_LAST_SHOWN_KEY=\"wild_discount_last_shown_v1\";const DEFAULT_DISCOUNT_WEBHOOK=\"https://script.google.com/macros/s/AKfycbwCKe1Tbi9sVwnbvcU8aHemGprN0LefPoaJZZZwmy-hiSKyibmDDE-8l97Es3WdloE/exec\";// Día natural del usuario en formato YYYY-MM-DD (hora local, no UTC).\nfunction localDayKey(d=new Date){const pad=n=>String(n).padStart(2,\"0\");return`${d.getFullYear()}-${pad(d.getMonth()+1)}-${pad(d.getDate())}`;}// Días naturales entre dos claves YYYY-MM-DD. Infinity si algo no parsea,\n// para que ante datos corruptos el popup se pueda volver a mostrar.\nfunction daysBetweenDayKeys(from,to){const a=Date.parse(`${from}T00:00:00`);const b=Date.parse(`${to}T00:00:00`);if(!isFinite(a)||!isFinite(b))return Infinity;return Math.round((b-a)/864e5);}export function DiscountPopup(props){const detectedLang=useCurrentLang();const activeLang=props.forceLanguage===\"Auto\"?detectedLang:String(props.forceLanguage||\"Auto\").toLowerCase();const lang=[\"es\",\"en\",\"it\"].includes(activeLang)?activeLang:\"es\";const t=UI_TEXTS[lang]||UI_TEXTS.es;const[open,setOpen]=React.useState(false);const[name,setName]=React.useState(\"\");const[email,setEmail]=React.useState(\"\");const[sending,setSending]=React.useState(false);const[sent,setSent]=React.useState(false);const[error,setError]=React.useState(\"\");const[isMobile,setIsMobile]=React.useState(false);// Anti-bot: honeypot (bots rellenan campos invisibles) + timestamp (los humanos tardan en leer y escribir)\nconst[honeypot,setHoneypot]=React.useState(\"\");const openedAtRef=React.useRef(0);React.useEffect(()=>{if(typeof window===\"undefined\")return;const update=()=>setIsMobile(window.innerWidth<768);update();window.addEventListener(\"resize\",update);return()=>window.removeEventListener(\"resize\",update);},[]);// Mostrar tras delay si NO está registrado y no se ha mostrado ya dentro\n// de la ventana de frecuencia (por defecto, una vez por día natural).\nReact.useEffect(()=>{if(typeof window===\"undefined\")return;const everyDays=Math.max(0,Number(props.showEveryDays??1));try{if(localStorage.getItem(DISCOUNT_REGISTERED_KEY)===\"true\")return;const last=localStorage.getItem(DISCOUNT_LAST_SHOWN_KEY)||\"\";if(everyDays>0&&last&&daysBetweenDayKeys(last,localDayKey())<everyDays)return;}catch{}const min=Math.max(1,Number(props.minDelaySeconds??4));const max=Math.max(min,Number(props.maxDelaySeconds??6));const delay=(min+Math.random()*(max-min))*1e3;const id=window.setTimeout(()=>{// Se marca al abrirse de verdad: si el usuario se va antes del\n// delay, no gastamos su impresión del día.\ntry{localStorage.setItem(DISCOUNT_LAST_SHOWN_KEY,localDayKey());}catch{}openedAtRef.current=Date.now();setOpen(true);},delay);return()=>window.clearTimeout(id);},[props.minDelaySeconds,props.maxDelaySeconds,props.showEveryDays]);// ESC para cerrar\nReact.useEffect(()=>{if(!open)return;const onKey=e=>{if(e.key===\"Escape\")closePopup();};window.addEventListener(\"keydown\",onKey);return()=>window.removeEventListener(\"keydown\",onKey);// eslint-disable-next-line react-hooks/exhaustive-deps\n},[open]);const closePopup=()=>{setOpen(false);// No marcamos como registered al cerrar — solo al completar registro.\n// La reaparición la controla DISCOUNT_LAST_SHOWN_KEY: no vuelve a salir\n// hasta que pase la ventana de frecuencia (por defecto, al día siguiente).\n};const submit=async e=>{e.preventDefault();setError(\"\");// Anti-bot capa 1A: honeypot relleno = bot. Fingimos éxito y salimos.\nif(honeypot.trim()!==\"\"){setSent(true);try{localStorage.setItem(DISCOUNT_REGISTERED_KEY,\"true\");}catch{}return;}// Anti-bot capa 1B: enviado antes de 2s = bot. Fingimos éxito y salimos.\nconst elapsed=Date.now()-(openedAtRef.current||0);if(elapsed<2e3){setSent(true);try{localStorage.setItem(DISCOUNT_REGISTERED_KEY,\"true\");}catch{}return;}if(!email||!/\\S+@\\S+\\.\\S+/.test(email)){setError(t.discountErrorEmail);return;}setSending(true);const payload={email:email.trim(),name:name.trim(),lang,userAgent:typeof navigator!==\"undefined\"?navigator.userAgent:\"\",source:props.source||\"welcome_popup\"};try{const url=props.webhookUrl||DEFAULT_DISCOUNT_WEBHOOK;// Dual-write: Apps Script (Sheets) + CRM Supabase. Lanzamos ambas\n// en paralelo; si una falla, la otra mantiene el lead a salvo.\nvoid recordarCorreoParaMeta(payload.email);const crmApiBaseUrl=props.crmApiBaseUrl||\"https://wild-chatbot.vercel.app\";const crmCall=fetch(`${crmApiBaseUrl}/api/leads/public`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify({email:payload.email,name:payload.name||undefined,source:\"welcome10\",visitorId:identificadorVisitante()||undefined,language:lang,metadata:{source_label:payload.source,userAgent:payload.userAgent,channel:\"popup\"}})}).catch(()=>{/* no bloqueante: el lead ya está en Sheets */});await Promise.all([fetch(url,{method:\"POST\",mode:\"no-cors\",headers:{\"Content-Type\":\"text/plain;charset=utf-8\"},body:JSON.stringify(payload)}),crmCall]);try{const local=JSON.parse(localStorage.getItem(\"wild_discount_leads\")||\"[]\");local.push({...payload,createdAt:new Date().toISOString()});localStorage.setItem(\"wild_discount_leads\",JSON.stringify(local));localStorage.setItem(DISCOUNT_REGISTERED_KEY,\"true\");}catch{}trackPixelEvent(\"Lead\",{content_name:\"discount_welcome_10\",content_category:\"discount\"});trackPixelEvent(\"CompleteRegistration\",{content_name:\"discount_welcome_10\",status:true});setSent(true);// Auto-cierre tras 6s\nwindow.setTimeout(()=>setOpen(false),6e3);}catch(err){try{const local=JSON.parse(localStorage.getItem(\"wild_discount_leads\")||\"[]\");local.push({...payload,createdAt:new Date().toISOString(),offline:true});localStorage.setItem(\"wild_discount_leads\",JSON.stringify(local));}catch{}setError(t.discountErrorNetwork);}finally{setSending(false);}};if(!open)return null;const accent=props.accentColor||\"#111111\";const cardBg=props.cardBg||\"#FFFFFF\";const overlayColor=props.overlayColor||\"rgba(0,0,0,0.65)\";const titleColor=props.titleColor||\"#111111\";const bodyColor=props.bodyColor||\"#555555\";const inputBg=props.inputBg||\"#F6F4EF\";const inputBorder=props.inputBorder||\"#E5E2D8\";const ctaBg=props.ctaBg||\"#111111\";const ctaColor=props.ctaColor||\"#FFFFFF\";const eyebrowColor=props.eyebrowColor||\"#7A6F4A\";const eyebrowBg=props.eyebrowBg||\"#F4EFDC\";const image=props.image||\"\";const eyebrow=props.eyebrowText||t.discountEyebrow;const title=props.titleText||t.discountTitle;const subtitle=props.subtitleText||t.discountSubtitle;const ctaLabel=props.ctaText||t.discountSubmit;const fontFamily=props.fontFamily||FONT_FAMILY;return /*#__PURE__*/_jsx(\"div\",{role:\"dialog\",\"aria-modal\":\"true\",\"aria-label\":title,onClick:closePopup,style:{position:\"fixed\",inset:0,background:overlayColor,zIndex:1e5,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",padding:isMobile?12:20,fontFamily},children:/*#__PURE__*/_jsxs(\"div\",{onClick:e=>e.stopPropagation(),style:{width:\"100%\",maxWidth:isMobile?440:880,background:cardBg,borderRadius:24,overflow:\"hidden\",position:\"relative\",boxShadow:\"0 32px 80px rgba(0,0,0,0.35)\",display:\"flex\",flexDirection:isMobile?\"column\":\"row\",maxHeight:isMobile?\"92vh\":\"85vh\"},children:[/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:closePopup,\"aria-label\":t.discountClose,style:{position:\"absolute\",top:14,right:14,width:36,height:36,borderRadius:999,border:\"none\",background:\"rgba(255,255,255,0.92)\",cursor:\"pointer\",fontSize:18,lineHeight:1,fontWeight:800,color:\"#111\",zIndex:3,boxShadow:\"0 4px 12px rgba(0,0,0,0.18)\"},children:\"\\xd7\"}),/*#__PURE__*/_jsx(\"div\",{style:{width:isMobile?\"100%\":\"50%\",flex:\"0 0 auto\",background:\"#EEE8DA\",position:\"relative\",aspectRatio:isMobile?\"16 / 10\":undefined,minHeight:isMobile?undefined:480},children:image?/*#__PURE__*/_jsx(\"img\",{src:image,alt:title,style:{width:\"100%\",height:\"100%\",objectFit:\"cover\",display:\"block\",position:\"absolute\",inset:0}}):null}),/*#__PURE__*/_jsxs(\"div\",{style:{flex:1,padding:isMobile?\"26px 22px 24px\":\"44px 40px 36px\",display:\"flex\",flexDirection:\"column\",gap:16,overflowY:\"auto\"},children:[/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"span\",{style:{display:\"inline-block\",background:eyebrowBg,color:eyebrowColor,fontSize:11,fontWeight:800,letterSpacing:\"0.08em\",textTransform:\"uppercase\",padding:\"6px 10px\",borderRadius:999,marginBottom:14},children:eyebrow}),/*#__PURE__*/_jsx(\"h2\",{style:{margin:0,fontSize:isMobile?26:34,fontWeight:900,lineHeight:1.05,color:titleColor,letterSpacing:\"-0.03em\"},children:title}),/*#__PURE__*/_jsx(\"p\",{style:{margin:\"10px 0 0\",fontSize:14,color:bodyColor,lineHeight:1.45},children:subtitle})]}),!sent?/*#__PURE__*/_jsxs(\"form\",{onSubmit:submit,style:{display:\"flex\",flexDirection:\"column\",gap:10,marginTop:4},children:[/*#__PURE__*/_jsxs(\"div\",{\"aria-hidden\":\"true\",style:{position:\"absolute\",left:\"-9999px\",width:1,height:1,overflow:\"hidden\",opacity:0,pointerEvents:\"none\"},children:[/*#__PURE__*/_jsx(\"label\",{htmlFor:\"wild_company_field\",children:\"Company (leave empty)\"}),/*#__PURE__*/_jsx(\"input\",{id:\"wild_company_field\",type:\"text\",name:\"company\",tabIndex:-1,autoComplete:\"off\",value:honeypot,onChange:e=>setHoneypot(e.target.value)})]}),/*#__PURE__*/_jsx(\"input\",{type:\"text\",value:name,onChange:e=>setName(e.target.value),placeholder:t.discountNamePh,autoComplete:\"given-name\",style:{padding:\"15px 16px\",borderRadius:12,border:`1px solid ${inputBorder}`,fontSize:14,outline:\"none\",fontFamily,background:inputBg,color:\"#111\"}}),/*#__PURE__*/_jsx(\"input\",{type:\"email\",required:true,value:email,onChange:e=>setEmail(e.target.value),placeholder:t.discountEmailPh,autoComplete:\"email\",style:{padding:\"15px 16px\",borderRadius:12,border:`1px solid ${error?\"#D14343\":inputBorder}`,fontSize:14,outline:\"none\",fontFamily,background:inputBg,color:\"#111\"}}),error?/*#__PURE__*/_jsx(\"div\",{role:\"alert\",style:{fontSize:12,color:\"#D14343\",marginTop:-2},children:error}):null,/*#__PURE__*/_jsx(\"button\",{type:\"submit\",disabled:sending,style:{marginTop:6,padding:\"16px\",background:ctaBg,color:ctaColor,border:\"none\",borderRadius:999,fontSize:15,fontWeight:800,letterSpacing:\"-0.01em\",cursor:sending?\"wait\":\"pointer\",opacity:sending?.7:1,transition:\"opacity 0.2s\"},children:sending?t.discountSending:ctaLabel}),/*#__PURE__*/_jsx(\"p\",{style:{margin:\"8px 0 0\",fontSize:10.5,color:\"#888\",lineHeight:1.4,textAlign:\"center\"},children:t.discountDisclaimer}),/*#__PURE__*/_jsx(\"p\",{style:{margin:\"2px 0 0\",fontSize:10,color:\"#999\",lineHeight:1.4,textAlign:\"center\"},children:t.discountPrivacy})]}):/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:8,padding:\"20px 18px\",background:\"#E9F7EE\",borderRadius:14,border:\"1px solid #BFE6CB\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:18,fontWeight:900,color:\"#0A6B2A\",letterSpacing:\"-0.02em\"},children:t.discountSuccess}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:13,color:\"#3F7A55\"},children:t.discountSuccessHint})]})]})]})});}addPropertyControls(DiscountPopup,{forceLanguage:{type:ControlType.Enum,title:\"Forzar idioma\",options:[\"Auto\",\"ES\",\"IT\",\"EN\"],defaultValue:\"Auto\"},image:{type:ControlType.Image,title:\"Imagen\"},minDelaySeconds:{type:ControlType.Number,title:\"Delay m\\xedn. (s)\",defaultValue:4,min:0,max:60,step:1,displayStepper:true},maxDelaySeconds:{type:ControlType.Number,title:\"Delay m\\xe1x. (s)\",defaultValue:6,min:0,max:60,step:1,displayStepper:true},showEveryDays:{type:ControlType.Number,title:\"Repetir cada (d\\xedas)\",defaultValue:1,min:0,max:90,step:1,displayStepper:true,description:\"1 = una vez al d\\xeda. 0 = en cada visita. Al dejar el email no vuelve a salir nunca.\"},webhookUrl:{type:ControlType.String,title:\"URL Apps Script Descuento\",defaultValue:DEFAULT_DISCOUNT_WEBHOOK},crmApiBaseUrl:{type:ControlType.String,title:\"CRM \\xb7 URL backend\",defaultValue:\"https://wild-chatbot.vercel.app\",description:\"Backend del chatbot donde se crean los leads del CRM. Dejar el default.\"},source:{type:ControlType.String,title:\"Source (tracking)\",defaultValue:\"welcome_popup\"},eyebrowText:{type:ControlType.String,title:\"Eyebrow\",placeholder:\"Regalo de bienvenida\"},titleText:{type:ControlType.String,title:\"T\\xedtulo\",placeholder:\"Consigue un 10%...\"},subtitleText:{type:ControlType.String,title:\"Subt\\xedtulo\",placeholder:\"D\\xe9janos tu nombre y email...\"},ctaText:{type:ControlType.String,title:\"Texto CTA\",placeholder:\"Quiero mi c\\xf3digo\"},fontFamily:{type:ControlType.String,title:\"Tipograf\\xeda\",defaultValue:'\"Inter Display\", sans-serif'},accentColor:{type:ControlType.Color,title:\"Color acento\",defaultValue:\"#111111\"},cardBg:{type:ControlType.Color,title:\"Fondo card\",defaultValue:\"#FFFFFF\"},overlayColor:{type:ControlType.Color,title:\"Color overlay\",defaultValue:\"rgba(0,0,0,0.65)\"},titleColor:{type:ControlType.Color,title:\"Color t\\xedtulo\",defaultValue:\"#111111\"},bodyColor:{type:ControlType.Color,title:\"Color texto\",defaultValue:\"#555555\"},eyebrowColor:{type:ControlType.Color,title:\"Color eyebrow\",defaultValue:\"#7A6F4A\"},eyebrowBg:{type:ControlType.Color,title:\"Fondo eyebrow\",defaultValue:\"#F4EFDC\"},inputBg:{type:ControlType.Color,title:\"Fondo inputs\",defaultValue:\"#F6F4EF\"},inputBorder:{type:ControlType.Color,title:\"Borde inputs\",defaultValue:\"#E5E2D8\"},ctaBg:{type:ControlType.Color,title:\"Fondo bot\\xf3n CTA\",defaultValue:\"#111111\"},ctaColor:{type:ControlType.Color,title:\"Color texto CTA\",defaultValue:\"#FFFFFF\"}});// ============================================================\n// DiscountInlineForm — versión estática del DiscountPopup\n// Mismo formulario y misma lógica (Apps Script + CRM + anti-bot + pixel),\n// pero pensado para colocarse inline en footer/hero, sin overlay ni imagen.\n// ============================================================\n/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */export function DiscountInlineForm(props){const detectedLang=useCurrentLang();const activeLang=props.forceLanguage===\"Auto\"?detectedLang:String(props.forceLanguage||\"Auto\").toLowerCase();const lang=[\"es\",\"en\",\"it\"].includes(activeLang)?activeLang:\"es\";const t=UI_TEXTS[lang]||UI_TEXTS.es;const[name,setName]=React.useState(\"\");const[email,setEmail]=React.useState(\"\");const[sending,setSending]=React.useState(false);const[sent,setSent]=React.useState(false);const[alreadyRegistered,setAlreadyRegistered]=React.useState(false);const[error,setError]=React.useState(\"\");const[honeypot,setHoneypot]=React.useState(\"\");// Anti-bot capa A: honeypot (bots rellenan campos invisibles)\n// Anti-bot capa B: primer foco real en un input. Los bots envían el form\n//   sin hacer focus DOM real previo. Bloqueamos si nunca hubo focus, o si\n//   el submit ocurre <800 ms después del primer focus.\nconst firstFocusedAtRef=React.useRef(0);const onFirstFocus=React.useCallback(()=>{if(firstFocusedAtRef.current===0){firstFocusedAtRef.current=Date.now();}},[]);React.useEffect(()=>{if(typeof window===\"undefined\")return;try{if(localStorage.getItem(DISCOUNT_REGISTERED_KEY)===\"true\"){setAlreadyRegistered(true);}}catch{}},[]);const submit=async e=>{e.preventDefault();e.stopPropagation&&e.stopPropagation();setError(\"\");if(typeof console!==\"undefined\")console.log(\"[DiscountInline] submit start\",{email,name,lang});// Honeypot: si está relleno, bot. Salimos silenciosamente sin marcar\n// localStorage (para no esconder el form al usuario humano si la\n// detección falla).\nif(honeypot.trim()!==\"\"){if(typeof console!==\"undefined\")console.warn(\"[DiscountInline] honeypot trip — silently skip\");setSent(true);return;}// Detección \"ningún focus previo\" o \"envío demasiado rápido tras focus\".\n// Los bots POSTean sin hacer click/foco real en los inputs.\nif(firstFocusedAtRef.current===0){if(typeof console!==\"undefined\")console.warn(\"[DiscountInline] no focus before submit — silently skip\");setSent(true);return;}const sinceFocus=Date.now()-firstFocusedAtRef.current;if(sinceFocus<800){if(typeof console!==\"undefined\")console.warn(\"[DiscountInline] submit <800ms after first focus — silently skip\");setSent(true);return;}if(!email||!/\\S+@\\S+\\.\\S+/.test(email)){setError(t.discountErrorEmail);return;}setSending(true);const payload={email:email.trim(),name:name.trim(),lang,userAgent:typeof navigator!==\"undefined\"?navigator.userAgent:\"\",source:props.source||\"footer_inline\"};try{const url=props.webhookUrl||DEFAULT_DISCOUNT_WEBHOOK;void recordarCorreoParaMeta(payload.email);const crmApiBaseUrl=props.crmApiBaseUrl||\"https://wild-chatbot.vercel.app\";if(typeof console!==\"undefined\")console.log(\"[DiscountInline] posting\",{url,crmApiBaseUrl});const crmCall=fetch(`${crmApiBaseUrl}/api/leads/public`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify({email:payload.email,name:payload.name||undefined,source:\"welcome10\",visitorId:identificadorVisitante()||undefined,language:lang,metadata:{source_label:payload.source,userAgent:payload.userAgent,channel:\"footer_inline\"}})}).then(r=>{if(typeof console!==\"undefined\")console.log(\"[DiscountInline] CRM response\",r.status);}).catch(err=>{if(typeof console!==\"undefined\")console.warn(\"[DiscountInline] CRM fetch failed\",err);});await Promise.all([fetch(url,{method:\"POST\",mode:\"no-cors\",headers:{\"Content-Type\":\"text/plain;charset=utf-8\"},body:JSON.stringify(payload)}).then(()=>{if(typeof console!==\"undefined\")console.log(\"[DiscountInline] Apps Script sent (opaque)\");}),crmCall]);try{const local=JSON.parse(localStorage.getItem(\"wild_discount_leads\")||\"[]\");local.push({...payload,createdAt:new Date().toISOString()});localStorage.setItem(\"wild_discount_leads\",JSON.stringify(local));localStorage.setItem(DISCOUNT_REGISTERED_KEY,\"true\");}catch{}trackPixelEvent(\"Lead\",{content_name:\"discount_welcome_10\",content_category:\"discount\"});trackPixelEvent(\"CompleteRegistration\",{content_name:\"discount_welcome_10\",status:true});setSent(true);}catch(err){if(typeof console!==\"undefined\")console.error(\"[DiscountInline] submit error\",err);try{const local=JSON.parse(localStorage.getItem(\"wild_discount_leads\")||\"[]\");local.push({...payload,createdAt:new Date().toISOString(),offline:true});localStorage.setItem(\"wild_discount_leads\",JSON.stringify(local));}catch{}setError(t.discountErrorNetwork);}finally{setSending(false);}};// Estilos configurables\nconst titleColor=props.titleColor||\"#111111\";const bodyColor=props.bodyColor||\"#555555\";const inputBg=props.inputBg||\"#F6F4EF\";const inputBorder=props.inputBorder||\"#E5E2D8\";const inputColor=props.inputColor||\"#111111\";const ctaBg=props.ctaBg||\"#111111\";const ctaColor=props.ctaColor||\"#FFFFFF\";const fontFamily=props.fontFamily||\"Inter, system-ui, sans-serif\";const titleSize=Number(props.titleSize??16);const subtitleSize=Number(props.subtitleSize??13);const inputRadius=Number(props.inputRadius??8);const ctaRadius=Number(props.ctaRadius??8);const title=props.titleText||t.discountTitle;const subtitle=props.subtitleText||t.discountSubtitle;const cta=props.ctaText||t.discountSubmit||\"Get code\";if(sent){return /*#__PURE__*/_jsxs(\"div\",{style:{fontFamily,color:bodyColor,fontSize:13,padding:12,width:\"100%\"},children:[\"✓ \",t.discountSuccess||\"\\xa1Listo! Revisa tu email.\"]});}if(alreadyRegistered&&!props.allowResubmit){return /*#__PURE__*/_jsx(\"div\",{style:{fontFamily,color:bodyColor,fontSize:13,padding:12,width:\"100%\"},children:lang===\"en\"?\"We've already sent you a welcome code. Check your inbox.\":lang===\"it\"?\"Ti abbiamo gi\\xe0 inviato un codice di benvenuto. Controlla la posta.\":\"Ya te hemos enviado tu c\\xf3digo de bienvenida. Revisa tu email.\"});}return /*#__PURE__*/_jsxs(\"form\",{onSubmit:submit,style:{fontFamily,width:\"100%\",display:\"flex\",flexDirection:\"column\",gap:8},\"aria-label\":\"Wild \\xb7 10% discount form\",children:[title&&/*#__PURE__*/_jsx(\"div\",{style:{fontWeight:700,fontSize:titleSize,color:titleColor,lineHeight:1.25},children:title}),subtitle&&/*#__PURE__*/_jsx(\"div\",{style:{fontSize:subtitleSize,color:bodyColor,lineHeight:1.35},children:subtitle}),/*#__PURE__*/_jsx(\"label\",{style:{position:\"absolute\",left:\"-9999px\",height:0,width:0,overflow:\"hidden\"},\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"input\",{type:\"text\",tabIndex:-1,autoComplete:\"off\",value:honeypot,onChange:e=>setHoneypot(e.target.value)})}),/*#__PURE__*/_jsx(\"input\",{type:\"text\",value:name,onChange:e=>setName(e.target.value),onFocus:onFirstFocus,placeholder:t.discountNamePh||\"Tu nombre\",autoComplete:\"given-name\",style:{width:\"100%\",padding:\"10px 12px\",fontSize:13,border:`1px solid ${inputBorder}`,background:inputBg,borderRadius:inputRadius,color:inputColor,outline:\"none\",boxSizing:\"border-box\",fontFamily:\"inherit\"}}),/*#__PURE__*/_jsx(\"input\",{type:\"email\",value:email,onChange:e=>setEmail(e.target.value),onFocus:onFirstFocus,placeholder:t.discountEmailPh||\"Tu correo\",autoComplete:\"email\",style:{width:\"100%\",padding:\"10px 12px\",fontSize:13,border:`1px solid ${inputBorder}`,background:inputBg,borderRadius:inputRadius,color:inputColor,outline:\"none\",boxSizing:\"border-box\",fontFamily:\"inherit\"}}),/*#__PURE__*/_jsx(\"button\",{type:\"submit\",disabled:sending,style:{width:\"100%\",padding:\"11px 14px\",fontSize:13,fontWeight:600,border:\"none\",background:ctaBg,color:ctaColor,borderRadius:ctaRadius,cursor:sending?\"wait\":\"pointer\",opacity:sending?.6:1,transition:\"opacity 0.2s\",fontFamily:\"inherit\"},children:sending?\"…\":cta}),error&&/*#__PURE__*/_jsx(\"div\",{style:{fontSize:12,color:\"#c62828\",marginTop:2},children:error})]});}addPropertyControls(DiscountInlineForm,{forceLanguage:{type:ControlType.Enum,title:\"Forzar idioma\",options:[\"Auto\",\"ES\",\"IT\",\"EN\"],defaultValue:\"Auto\"},webhookUrl:{type:ControlType.String,title:\"URL Apps Script Descuento\",defaultValue:DEFAULT_DISCOUNT_WEBHOOK},crmApiBaseUrl:{type:ControlType.String,title:\"CRM \\xb7 URL backend\",defaultValue:\"https://wild-chatbot.vercel.app\"},source:{type:ControlType.String,title:\"Source (tracking)\",defaultValue:\"footer_inline\"},allowResubmit:{type:ControlType.Boolean,title:\"Permitir reintentar\",defaultValue:false,description:\"Si el cliente ya se registr\\xf3 antes, mostrar el formulario igualmente.\"},titleText:{type:ControlType.String,title:\"T\\xedtulo\",placeholder:\"Consigue un 10% de descuento\"},subtitleText:{type:ControlType.String,title:\"Subt\\xedtulo\",placeholder:\"Entra en la comunidad wild*\"},ctaText:{type:ControlType.String,title:\"Texto CTA\",placeholder:\"Get code\"},fontFamily:{type:ControlType.String,title:\"Tipograf\\xeda\",defaultValue:\"Inter, system-ui, sans-serif\"},titleSize:{type:ControlType.Number,title:\"Tama\\xf1o t\\xedtulo (px)\",defaultValue:16,min:10,max:32,step:1},subtitleSize:{type:ControlType.Number,title:\"Tama\\xf1o subt\\xedtulo (px)\",defaultValue:13,min:9,max:24,step:1},titleColor:{type:ControlType.Color,title:\"Color t\\xedtulo\",defaultValue:\"#111111\"},bodyColor:{type:ControlType.Color,title:\"Color subt\\xedtulo\",defaultValue:\"#555555\"},inputBg:{type:ControlType.Color,title:\"Fondo inputs\",defaultValue:\"#F6F4EF\"},inputBorder:{type:ControlType.Color,title:\"Borde inputs\",defaultValue:\"#E5E2D8\"},inputColor:{type:ControlType.Color,title:\"Texto inputs\",defaultValue:\"#111111\"},inputRadius:{type:ControlType.Number,title:\"Radio inputs (px)\",defaultValue:8,min:0,max:32,step:1},ctaBg:{type:ControlType.Color,title:\"Fondo CTA\",defaultValue:\"#111111\"},ctaColor:{type:ControlType.Color,title:\"Color texto CTA\",defaultValue:\"#FFFFFF\"},ctaRadius:{type:ControlType.Number,title:\"Radio CTA (px)\",defaultValue:8,min:0,max:32,step:1}});\nexport const __FramerMetadata__ = {\"exports\":{\"FloatingCart\":{\"type\":\"reactComponent\",\"name\":\"FloatingCart\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"ProductSelectorButton\":{\"type\":\"reactComponent\",\"name\":\"ProductSelectorButton\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"WishlistButton\":{\"type\":\"reactComponent\",\"name\":\"WishlistButton\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"WishlistDrawer\":{\"type\":\"reactComponent\",\"name\":\"WishlistDrawer\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"DiscountInlineForm\":{\"type\":\"reactComponent\",\"name\":\"DiscountInlineForm\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any\"}},\"DiscountPopup\":{\"type\":\"reactComponent\",\"name\":\"DiscountPopup\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"SubscriptionBuilder\":{\"type\":\"reactComponent\",\"name\":\"SubscriptionBuilder\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"AddToCartButton\":{\"type\":\"reactComponent\",\"name\":\"AddToCartButton\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"WildInstantShopBuilder\":{\"type\":\"reactComponent\",\"name\":\"WildInstantShopBuilder\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"PackButton\":{\"type\":\"reactComponent\",\"name\":\"PackButton\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ShopifySystem.map"],"mappings":"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"}