{
  "version": 3,
  "sources": ["/cdn/shop/t/55/assets/florss-premium-sales.js?flv=20260426001012"],
  "sourcesContent": ["window.__FLORSS_DISABLE_PREMIUM_PROGRESS__ = true;\n(function(){\n  const PRODUCT_COPY={\n    'shampoo-ojon-oil-florss':{\n      badge:'Linha Ojon Oil',\n      subtitle:'Nutricao intensa e limpeza delicada para fios ressecados, opacos e com frizz.',\n      microcopy:'Com Oleo de Ojon Amazonico, gergelim, macadamia e oliva, ajuda a limpar sem ressecar e prepara os fios para uma rotina de tratamento mais completa.',\n      chips:['Nutre sem pesar','Mais brilho','Menos frizz','pH equilibrado'],\n      trust:['Frete gratis acima de R$250','Ate 3x sem juros','Produto vegano','Compra segura'],\n      ctaNote:'Escolha o tamanho ideal, adicione ao carrinho e combine com os proximos passos da linha Ojon Oil para potencializar o cuidado.',\n      editorialTitle:'O primeiro passo para uma rotina mais nutritiva, luminosa e consistente.',\n      editorialText:'A limpeza certa muda a resposta do cabelo ao restante da rotina. O Shampoo Ojon Oil entra para limpar com delicadeza, reduzir o aspecto opaco e deixar os fios mais receptivos aos proximos cuidados.',\n      editorialPoints:['Limpeza delicada que respeita a fibra','Melhor base para mascara, condicionador ou finalizador','Mais brilho, maciez e alinhamento no aspecto final'],\n      editorialQuote:'Quando a lavagem nao agride, o cabelo responde melhor ao tratamento.',\n      editorialAside:['Ideal para cabelos ressecados, opacos ou com frizz.','Ajuda a construir uma rotina premium desde o primeiro passo.','Funciona melhor quando combinado com os demais cuidados da linha Ojon Oil.'],\n      titleSize:'medium',\n      whyChoose:[\n        {title:'Nutricao desde a lavagem',text:'Ajuda a limpar sem ressecar, preparando os fios para uma rotina de tratamento mais nutritiva.'},\n        {title:'Brilho e toque sedoso',text:'Ideal para cabelos que perderam vitalidade, luminosidade e movimento.'},\n        {title:'Controle do frizz',text:'Auxilia na disciplina dos fios e deixa o cabelo com aparencia mais alinhada.'}\n      ],\n      ritual:{\n        title:'Como montar uma rotina mais eficiente com a linha Ojon Oil',\n        intro:'Use este shampoo como base da rotina para preparar os fios e melhorar a entrega dos proximos cuidados.',\n        steps:[\n          {title:'Limpe',text:'Massageie nos cabelos molhados ate formar espuma e enxague completamente.'},\n          {title:'Trate',text:'Siga com mascara ou condicionador para repor nutricao e melhorar o toque dos fios.'},\n          {title:'Finalize',text:'Complete com um finalizador da linha para manter disciplina, brilho e acabamento mais polido.'}\n        ]\n      },\n      accordions:{\n        description:'O Shampoo Ojon Oil Florss foi desenvolvido para limpar suavemente enquanto ajuda a devolver nutricao, brilho e maciez aos fios. Sua proposta e preparar o cabelo para uma rotina de cuidado mais completa, especialmente em cabelos ressecados, opacos, asperos ou com frizz.',\n        benefits:'\u2022 Limpeza suave sem sensacao de ressecamento\\n\u2022 Ajuda na nutricao dos fios\\n\u2022 Promove brilho e maciez\\n\u2022 Auxilia no controle do frizz\\n\u2022 Prepara o cabelo para mascara, condicionador ou finalizador\\n\u2022 Ideal para rotina home care premium',\n        indication:'Indicado para cabelos ressecados, opacos, asperos, com frizz ou que precisam de uma rotina de nutricao mais intensa. Tambem e uma boa escolha para quem busca brilho, toque sedoso e aparencia mais saudavel no dia a dia.',\n        usage:'Aplique nos cabelos molhados, massageando suavemente o couro cabeludo e os fios ate formar espuma. Enxague completamente. Se necessario, repita a aplicacao. Para melhor resultado, continue o tratamento com mascara ou condicionador da linha Ojon Oil.',\n        actives:'Oleo de Ojon Amazonico: conhecido pelo alto poder nutritivo, ajuda a devolver brilho, maciez e vitalidade aos fios.\\n\\nBlend nutritivo: auxilia no cuidado de cabelos ressecados e sensibilizados, proporcionando toque mais sedoso.',\n        result:'Cabelos limpos, mais macios, brilhantes e preparados para receber os proximos passos do tratamento. Com o uso continuo, os fios tendem a apresentar aparencia mais nutrida, disciplinada e luminosa.',\n        shipping:'Frete gratis para compras acima de R$250. O prazo de envio e calculado no checkout. Em caso de duvidas sobre trocas ou devolucoes, consulte a politica da loja ou fale com a equipe Florss pelo WhatsApp.'\n      },\n      reviews:'Em breve, avaliacoes de clientes sobre este produto.',\n      faq:[\n        {question:'Esse shampoo serve para todos os tipos de cabelo?',answer:'Sim, mas e especialmente indicado para cabelos ressecados, opacos, com frizz ou que precisam de nutricao.'},\n        {question:'Pode usar todos os dias?',answer:'Pode ser usado conforme a necessidade da sua rotina capilar. Em cabelos muito ressecados, recomenda-se intercalar com uma rotina nutritiva completa.'},\n        {question:'Ele alisa o cabelo?',answer:'Nao e um produto alisante. Ele ajuda na nutricao, brilho, maciez e controle do frizz.'},\n        {question:'Qual produto combina com ele?',answer:'Para um resultado mais completo, combine com mascara, condicionador ou finalizador da linha Ojon Oil.'}\n      ],\n      recommendations:{\n        complementaryTitle:'Complete seu ritual Ojon Oil',\n        complementarySubtitle:'Combine com outros cuidados da linha para potencializar brilho, maciez e nutricao.',\n        relatedTitle:'Voce tambem pode gostar',\n        relatedSubtitle:'Outros cuidados Florss para complementar sua rotina capilar.'\n      }\n    }\n  };\n  const TITLE_SIZE_OVERRIDES={\n    'ampola-power-whey-florss':'large',\n    'brazilian-liss-ojon-amazonia-alinhamento-capilar-organico-sem-formol-florss':'small',\n    'defrizante-ojon-florss':'small',\n    'fluido-express-e-p-r-florss-reconstrutor-de-porosidade':'small',\n    'hair-glow-verniz-dourado-florss':'small',\n    'hair-parfum-le-fantastique-florss':'small',\n    'kit-360-pro-florss-reconstrucao':'medium',\n    'kit-fusion-recovery-express-florss':'small',\n    'kit-ultra-matizador-para-loiros-iluminados-tratados-e-sem-amarelado':'small',\n    'kit-whey-forca-total-florss':'medium',\n    'cronograma-capilar-completo-florss-reconstrucao-nutricao-e-hidratacao':'medium',\n    'cronograma-capilar-completo-florss-reconstrucao-nutricao-e-hidratacao-1':'small',\n    'cauter-finisher-360-florss':'medium'\n  };\n  const FREE_SHIPPING_THRESHOLD=25000;\n\n  function qs(selector,root){return (root||document).querySelector(selector);}\n  function qsa(selector,root){return Array.from((root||document).querySelectorAll(selector));}\n  function escapeHtml(value){return String(value||'').replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;').replace(/\"/g,'&quot;').replace(/'/g,'&#39;');}\n  function isProductPage(){return document.body.classList.contains('template-product')||Boolean(qs('form[action*=\"/cart/add\"]'));}\n  function getPathHandle(){const parts=window.location.pathname.split('/').filter(Boolean);const index=parts.indexOf('products');return index>-1?parts[index+1]||'':'';}\n  function getMetaProduct(){try{return window.meta&&window.meta.product?window.meta.product:null;}catch(error){return null;}}\n  function formatMoney(cents){try{return new Intl.NumberFormat('pt-BR',{style:'currency',currency:'BRL'}).format((Number(cents)||0)/100);}catch(error){return 'R$ '+((Number(cents)||0)/100).toFixed(2).replace('.',',');}}\n  function slug(value){return String(value||'').toLowerCase().normalize('NFD').replace(/[\\u0300-\\u036f]/g,'').replace(/[^a-z0-9]+/g,'-').replace(/^-+|-+$/g,'');}\n  function plainTextFromHtml(html){const div=document.createElement('div');div.innerHTML=html||'';return (div.textContent||'').trim();}\n  function cleanText(value){return String(value||'').replace(/[\u2705\u2022]/g,' ').replace(/\\s+/g,' ').trim();}\n  function extractListItemsFromHtml(html){\n    const div=document.createElement('div');\n    div.innerHTML=html||'';\n    return Array.from(div.querySelectorAll('li')).map((item)=>cleanText(item.textContent)).filter(Boolean);\n  }\n  function splitSentences(text){return cleanText(text).split(/(?<=[.!?])\\s+/).map((item)=>item.trim()).filter(Boolean);}\n  function getProductLine(product){\n    const tags=Array.isArray(product&&product.tags)?product.tags:[];\n    const preferred=[product&&product.type].concat(tags).find((item)=>{\n      const value=cleanText(item).toLowerCase();\n      return value&&value!=='florss'&&value!=='home care';\n    });\n    return preferred?cleanText(preferred):'Florss';\n  }\n  function trimTitleProduct(value){\n    return cleanText(value).replace(/\\s+florss\\b/ig,'').replace(/\\s+[\u2013-]\\s+/g,' ').trim();\n  }\n  function inferTitleSize(value){\n    const title=trimTitleProduct(value);\n    const length=title.length;\n    if(length>=56) return 'small';\n    if(length>=34) return 'medium';\n    return 'large';\n  }\n  function sentenceCase(value){\n    const text=cleanText(value);\n    return text ? text.charAt(0).toUpperCase()+text.slice(1) : '';\n  }\n  function buildSubtitle(product,bullets,line){\n    if(line&&line.toLowerCase().includes('ojon')) return 'Tratamento de limpeza suave com nutricao e brilho para fios que perderam vitalidade.';\n    if(bullets[0]) return sentenceCase(bullets[0]);\n    if(product&&product.type) return 'Cuidado premium da linha '+cleanText(product.type)+' para uma rotina capilar mais completa.';\n    return 'Cuidado premium para uma rotina capilar mais completa, sensorial e elegante.';\n  }\n  function buildMicrocopy(product,bullets,line){\n    const sentences=splitSentences(plainTextFromHtml(product&&product.description||''));\n    if(sentences.length) return sentences[0];\n    if(bullets.length>1) return bullets.slice(0,2).join('. ')+'.';\n    return 'Escolha sua variante e combine este cuidado com os proximos passos da rotina '+line+' para manter brilho, toque e acabamento mais alinhado.';\n  }\n  function formatChip(value){\n    const text=cleanText(String(value||'').split(/[-\u2014:]/)[0]);\n    return text.length>28?text.slice(0,28).trim():text;\n  }\n  function buildChips(product,bullets){\n    const chips=bullets.map(formatChip).filter(Boolean);\n    const defaults=['Rotina premium','Mais brilho','Toque macio','Uso home care'];\n    return Array.from(new Set(chips.concat(defaults))).slice(0,4);\n  }\n  function buildWhyChoose(product,bullets,line){\n    const extracted=bullets.slice(0,3).map((bullet,index)=>({\n      title:['Tratamento mais completo','Melhor sensorial nos fios','Rotina com mais consistencia'][index],\n      text:sentenceCase(bullet)\n    }));\n    if(extracted.length===3) return extracted;\n    return [\n      {title:'Cuidado que encaixa na rotina',text:'Uma proposta de tratamento para quem busca mais consistencia e acabamento no cuidado diario.'},\n      {title:'Sensorial premium',text:'Texturas, fragrancia e experiencia de uso pensadas para elevar a rotina de home care.'},\n      {title:'Melhor quando usado em conjunto',text:'Combine com outros itens da linha '+line+' para montar uma rotina mais completa.'}\n    ];\n  }\n  function buildEditorialTitle(product,line){\n    if(line&&line.toLowerCase().includes('ojon')) return 'Uma rotina mais nutritiva com acabamento leve, disciplinado e luminoso.';\n    return 'Um cuidado que organiza a rotina e melhora a resposta do cabelo em cada etapa.';\n  }\n  function buildEditorialText(product,bullets,line){\n    const sentence=splitSentences(plainTextFromHtml(product&&product.description||''))[0];\n    if(sentence) return sentence;\n    if(bullets.length) return sentenceCase(bullets[0])+'.';\n    return 'Este produto entra na rotina como um passo de cuidado pensado para entregar mais consistencia, sensorial e acabamento dentro da linha '+line+'.';\n  }\n  function buildEditorialPoints(product,bullets,line){\n    const cleaned=bullets.map(sentenceCase).filter(Boolean);\n    if(cleaned.length>=3) return cleaned.slice(0,3);\n    return [\n      'Ajuda a deixar a rotina mais coerente do primeiro ao ultimo passo.',\n      'Melhora a sensacao de cuidado e acabamento ao longo do uso.',\n      'Faz mais sentido quando combinado com outros itens da linha '+line+'.'\n    ];\n  }\n  function buildEditorialAside(line){\n    return [\n      'Pensado para quem quer elevar o home care sem complicar a rotina.',\n      'A experiencia fica mais completa quando os produtos trabalham na mesma direcao.',\n      'Linha em destaque: '+line+'.'\n    ];\n  }\n  function buildRitual(product,line){\n    return {\n      title:'Como encaixar este cuidado na sua rotina',\n      intro:'Uma sequencia simples ajuda o produto a performar melhor e deixa a experiencia mais consistente no dia a dia.',\n      steps:[\n        {title:'Prepare',text:'Comece com o uso correto deste passo, respeitando a necessidade dos fios e a proposta da formula.'},\n        {title:'Combine',text:'Associe com outros cuidados da linha '+line+' para construir uma rotina mais coerente e completa.'},\n        {title:'Mantenha',text:'Repita com frequencia adequada para sustentar brilho, toque e acabamento mais alinhado.'}\n      ]\n    };\n  }\n  function buildFaq(product,line){\n    return [\n      {question:'Para quais cabelos este produto e indicado?',answer:'Ele pode ser usado em rotinas de cuidado que buscam mais alinhamento, nutricao, brilho ou maciez, conforme a proposta da linha '+line+'.'},\n      {question:'Como combinar com outros itens da rotina?',answer:'Para um resultado mais completo, use junto de outros cuidados da mesma linha, respeitando a necessidade dos seus fios.'},\n      {question:'Com que frequencia posso usar?',answer:'A frequencia depende da sua rotina capilar e da necessidade do seu cabelo. Siga a orientacao de uso do produto e ajuste conforme o seu dia a dia.'}\n    ];\n  }\n  function buildDefaultAccordions(product,bullets,line){\n    const description=product&&product.description?product.description:'';\n    const textBullets=bullets.length?'\u2022 '+bullets.join('\\n\u2022 '):'\u2022 Ajuda a compor uma rotina capilar mais completa\\n\u2022 Entrega uma experiencia de cuidado mais premium no dia a dia';\n    const firstSentence=splitSentences(plainTextFromHtml(description))[0]||('Descubra como incluir '+trimTitleProduct(product&&product.title||'este produto')+' na sua rotina '+line+'.');\n    return {\n      description:description||firstSentence,\n      benefits:textBullets,\n      indication:'Indicado para quem busca uma rotina de cuidado mais completa, com foco em textura, acabamento e sensorial premium.',\n      usage:'Use conforme a proposta do produto e adapte a frequencia as necessidades do seu cabelo. Para potencializar a experiencia, combine com outros itens da mesma linha.',\n      actives:bullets.slice(0,2).join('\\n\\n')||'Consulte a lista de ingredientes no rotulo para conhecer os ativos presentes nesta formula.',\n      result:'Com o uso correto dentro de uma rotina consistente, os fios tendem a ficar com aparencia mais cuidada, alinhada e com melhor sensorial ao toque.',\n      shipping:'Frete e prazo calculados no checkout. Para trocas e devolucoes, consulte a politica da loja ou fale com a equipe Florss pelo WhatsApp.'\n    };\n  }\n  function htmlFromText(value){\n    const text=String(value||'').trim();\n    if(!text) return '';\n    if(/<\\/?[a-z][\\s\\S]*>/i.test(text)) return text;\n    const lines=text.split(/\\n+/).map((line)=>line.trim()).filter(Boolean);\n    if(!lines.length) return '';\n    const bulletLines=lines.filter((line)=>/^\u2022\\s*/.test(line));\n    if(bulletLines.length===lines.length){\n      return '<ul>'+bulletLines.map((line)=>'<li>'+escapeHtml(line.replace(/^\u2022\\s*/,''))+'</li>').join('')+'</ul>';\n    }\n    return lines.map((line)=>'<p>'+escapeHtml(line)+'</p>').join('');\n  }\n  function buildFaqHtml(items){\n    if(!Array.isArray(items)||!items.length) return '';\n    return '<div class=\"florss-faq-list\">'+items.map((item)=>'<div class=\"florss-faq-item\"><strong>'+escapeHtml(item.question)+'</strong><p>'+escapeHtml(item.answer)+'</p></div>').join('')+'</div>';\n  }\n  function getDefaultCopy(product){\n    const line=getProductLine(product);\n    const bullets=extractListItemsFromHtml(product&&product.description||'');\n    const title=product&&product.title?trimTitleProduct(product.title):'Produto Florss';\n    return {\n      badge:line==='Florss'?'Cuidado Florss':'Linha '+line,\n      subtitle:buildSubtitle(product,bullets,line),\n      microcopy:buildMicrocopy(product,bullets,line),\n      chips:buildChips(product,bullets),\n      trust:['Frete gratis acima de R$250','Compra segura','Atendimento via WhatsApp','Envio para todo o Brasil'],\n      ctaNote:'Escolha a variante ideal e leve uma rotina de cuidado '+line+' com compra segura e finalizacao rapida no checkout.',\n      titleSize:inferTitleSize(title),\n      editorialTitle:buildEditorialTitle(product,line),\n      editorialText:buildEditorialText(product,bullets,line),\n      editorialPoints:buildEditorialPoints(product,bullets,line),\n      editorialQuote:'Produtos melhores fazem mais sentido quando a rotina conversa entre si.',\n      editorialAside:buildEditorialAside(line),\n      whyChoose:buildWhyChoose(product,bullets,line),\n      ritual:buildRitual(product,line),\n      accordions:buildDefaultAccordions(product,bullets,line),\n      reviews:'Em breve, avaliacoes de clientes sobre este produto.',\n      faq:buildFaq(product,line),\n      recommendations:{\n        complementaryTitle:'Complete sua rotina',\n        complementarySubtitle:'Combine este produto com outros cuidados da mesma linha para uma experiencia mais completa.',\n        relatedTitle:'Voce tambem pode gostar',\n        relatedSubtitle:'Outras sugestoes da Florss para complementar sua rotina.'\n      }\n    };\n  }\n  function getProductCopy(product){\n    const handle=product&&product.handle?product.handle:getPathHandle();\n    const base=PRODUCT_COPY[handle]||getDefaultCopy(product);\n    if(TITLE_SIZE_OVERRIDES[handle]&&!base.titleSize){\n      base.titleSize=TITLE_SIZE_OVERRIDES[handle];\n    }\n    return base;\n  }\n  function normalizeTitleSize(value){\n    const size=String(value||'').toLowerCase().trim();\n    return ['small','medium','large'].includes(size)?size:'large';\n  }\n  function createNode(tag,className,html){\n    const element=document.createElement(tag);\n    if(className) element.className=className;\n    if(html!==undefined) element.innerHTML=html;\n    return element;\n  }\n  function createConversionBlock(copy){\n    const wrapper=createNode('div','florss-pdp-enhance');\n    wrapper.appendChild(createNode('div','florss-pdp-badge',escapeHtml(copy.badge)));\n    wrapper.appendChild(createNode('p','florss-pdp-subtitle',escapeHtml(copy.subtitle)));\n    wrapper.appendChild(createNode('p','florss-pdp-microcopy',escapeHtml(copy.microcopy)));\n    const chips=createNode('div','florss-benefit-chips');\n    (copy.chips||[]).forEach((item)=>chips.appendChild(createNode('span','florss-benefit-chip',escapeHtml(item))));\n    wrapper.appendChild(chips);\n    return wrapper;\n  }\n  function createHeroMeta(product,copy){\n    const meta=createNode('div','florss-hero-meta');\n    meta.appendChild(createNode('span','florss-hero-kicker',escapeHtml(copy.badge||product.type||'Florss')));\n    const variant=(product.variants||[])[0];\n    if(variant&&variant.sku){\n      meta.appendChild(createNode('span','florss-hero-sku',escapeHtml('SKU '+variant.sku)));\n    }\n    return meta;\n  }\n  function getSelectedQuantity(productRoot){\n    const input=qs('input[name=\"quantity\"]',productRoot);\n    const value=input?Number(input.value):1;\n    return Number.isFinite(value)&&value>0?Math.floor(value):1;\n  }\n  function getActivePricing(productRoot,product){\n    const selectedVariant=getSelectedVariant(productRoot,product);\n    const current=Number(selectedVariant&&selectedVariant.price||product&&product.price||0);\n    const compare=Number(selectedVariant&&selectedVariant.compare_at_price||product&&product.compare_at_price||product&&product.compare_at_price_max||0);\n    const quantity=getSelectedQuantity(productRoot);\n    return {selectedVariant,current,compare,quantity,total:current*quantity};\n  }\n  function createPricePanel(product,productRoot){\n    const pricing=getActivePricing(productRoot,product);\n    const compare=pricing.compare;\n    const current=pricing.current;\n    const pix=current>0?Math.round(current*0.95):0;\n    const installment=current>0?Math.round(current/3):0;\n    const panel=createNode('div','florss-price-panel');\n    const row=createNode('div','florss-price-row');\n    if(compare>current){\n      row.appendChild(createNode('span','florss-price-compare',escapeHtml(formatMoney(compare))));\n    }\n    row.appendChild(createNode('strong','florss-price-current',escapeHtml(formatMoney(current))));\n    panel.appendChild(row);\n    if(pix){\n      panel.appendChild(createNode('div','florss-price-pix','Pix no checkout: <strong>'+escapeHtml(formatMoney(pix))+'</strong>'));\n    }\n    if(installment){\n      panel.appendChild(createNode('div','florss-price-installments','ou em ate 3x de '+escapeHtml(formatMoney(installment))+' sem juros'));\n      const button=createNode('button','florss-view-installments','Ver parcelas');\n      button.type='button';\n      const list=createNode('div','florss-installments-panel');\n      list.hidden=true;\n      [1,2,3].forEach((count)=>{\n        list.appendChild(createNode('span','',count+'x de '+escapeHtml(formatMoney(Math.round(current/count)))+(count===3?' sem juros':'')));\n      });\n      button.addEventListener('click',()=>{list.hidden=!list.hidden;});\n      panel.appendChild(button);\n      panel.appendChild(list);\n    }\n    panel.appendChild(createNode('div','florss-selection-total','Total desta selecao: <strong>'+escapeHtml(formatMoney(pricing.total))+'</strong>'));\n    const freeShipping=createNode('div','florss-free-shipping');\n    const head=createNode('div','florss-free-shipping__head');\n    head.appendChild(createNode('span','florss-free-shipping__label','Frete gratis acima de R$250'));\n    head.appendChild(createNode('span','florss-free-shipping__cart',''));\n    freeShipping.appendChild(head);\n    const bar=createNode('div','florss-free-shipping__bar');\n    bar.appendChild(createNode('span','florss-free-shipping__fill'));\n    freeShipping.appendChild(bar);\n    freeShipping.appendChild(createNode('div','florss-free-shipping__note',''));\n    panel.appendChild(freeShipping);\n    return panel;\n  }\n  function createTrustRow(copy){\n    const row=createNode('div','florss-trust-row');\n    (copy.trust||[]).forEach((item)=>row.appendChild(createNode('div','florss-trust-item',escapeHtml(item))));\n    return row;\n  }\n  function createCtaNote(copy){\n    if(!copy.ctaNote) return null;\n    return createNode('div','florss-cta-note',escapeHtml(copy.ctaNote));\n  }\n  function createUtilityGrid(product){\n    const wrapper=createNode('div','florss-utility-grid');\n    const share=createNode('section','florss-utility-card');\n    share.appendChild(createNode('h3','', 'Compartilhar'));\n    const shareLinks=createNode('div','florss-share-links');\n    const encodedUrl=encodeURIComponent(window.location.href);\n    const encodedTitle=encodeURIComponent(product.title||'Produto Florss');\n    const links=[\n      {label:'Facebook',href:'https://www.facebook.com/sharer/sharer.php?u='+encodedUrl},\n      {label:'WhatsApp',href:'https://wa.me/?text='+encodedTitle+'%20'+encodedUrl}\n    ];\n    links.forEach((item)=>{\n      const link=createNode('a','florss-share-link',escapeHtml(item.label));\n      link.href=item.href;\n      link.target='_blank';\n      link.rel='noopener';\n      shareLinks.appendChild(link);\n    });\n    share.appendChild(shareLinks);\n    wrapper.appendChild(share);\n\n    const freight=createNode('section','florss-utility-card');\n    freight.appendChild(createNode('h3','', 'Calcule o frete'));\n    const form=createNode('div','florss-freight-form');\n    const input=document.createElement('input');\n    input.className='florss-freight-input';\n    input.type='text';\n    input.inputMode='numeric';\n    input.placeholder='Digite seu CEP';\n    input.maxLength=9;\n    input.addEventListener('input',()=>{\n      const digits=(input.value||'').replace(/\\D/g,'').slice(0,8);\n      input.value=digits.length>5?digits.slice(0,5)+'-'+digits.slice(5):digits;\n    });\n    const button=createNode('button','florss-freight-button','Calcular');\n    button.type='button';\n    const response=createNode('div','florss-freight-response','');\n    button.addEventListener('click',()=>{\n      const value=(input.value||'').trim();\n      response.textContent=value?'Prazo e valor do frete serao exibidos aqui quando a integracao estiver ativa.':'Digite um CEP valido para calcular.';\n    });\n    form.appendChild(input);\n    form.appendChild(button);\n    freight.appendChild(form);\n    const help=createNode('a','florss-freight-help','Nao sei meu CEP');\n    help.href='https://buscacepinter.correios.com.br/app/endereco/index.php';\n    help.target='_blank';\n    help.rel='noopener';\n    freight.appendChild(help);\n    freight.appendChild(response);\n    wrapper.appendChild(freight);\n    return wrapper;\n  }\n  function createEditorialSection(copy){\n    const section=createNode('section','florss-editorial');\n    const content=createNode('div','florss-editorial-copy');\n    content.appendChild(createNode('span','florss-editorial-kicker',escapeHtml(copy.badge||'Rotina Florss')));\n    content.appendChild(createNode('h2','',escapeHtml(copy.editorialTitle||copy.subtitle||'')));\n    content.appendChild(createNode('p','',escapeHtml(copy.editorialText||copy.microcopy||'')));\n    const points=createNode('ul','florss-editorial-points');\n    (copy.editorialPoints||copy.chips||[]).slice(0,4).forEach((item)=>{\n      points.appendChild(createNode('li','',escapeHtml(item)));\n    });\n    if(points.childElementCount) content.appendChild(points);\n    section.appendChild(content);\n\n    const aside=createNode('aside','florss-editorial-aside');\n    aside.appendChild(createNode('strong','', 'Direcao da rotina'));\n    if(copy.editorialQuote){\n      aside.appendChild(createNode('blockquote','',escapeHtml(copy.editorialQuote)));\n    }\n    const list=createNode('ul','');\n    (copy.editorialAside||[]).slice(0,3).forEach((item)=>{\n      list.appendChild(createNode('li','',escapeHtml(item)));\n    });\n    if(list.childElementCount) aside.appendChild(list);\n    section.appendChild(aside);\n    return section;\n  }\n  function createInfoCards(copy){\n    const grid=createNode('section','florss-info-cards');\n    (copy.whyChoose||[]).forEach((card)=>{\n      const item=createNode('article','florss-info-card');\n      item.appendChild(createNode('h3','',escapeHtml(card.title)));\n      item.appendChild(createNode('p','',escapeHtml(card.text)));\n      grid.appendChild(item);\n    });\n    return grid;\n  }\n  function createRitualSection(copy){\n    const ritual=copy.ritual||{};\n    const section=createNode('section','florss-ritual');\n    const head=createNode('div','florss-ritual-head');\n    head.appendChild(createNode('span','florss-ritual-kicker','Como usar melhor'));\n    head.appendChild(createNode('h2','',escapeHtml(ritual.title||'Como encaixar este cuidado na sua rotina')));\n    head.appendChild(createNode('p','',escapeHtml(ritual.intro||'Uma sequencia clara ajuda o produto a trabalhar melhor dentro da rotina.')));\n    section.appendChild(head);\n    const grid=createNode('div','florss-ritual-grid');\n    (ritual.steps||[]).slice(0,3).forEach((step,index)=>{\n      const card=createNode('article','florss-ritual-step');\n      card.appendChild(createNode('span','florss-ritual-step__index',String(index+1)));\n      card.appendChild(createNode('h3','',escapeHtml(step.title||'')));\n      card.appendChild(createNode('p','',escapeHtml(step.text||'')));\n      grid.appendChild(card);\n    });\n    if(grid.childElementCount) section.appendChild(grid);\n    return section;\n  }\n  function createAccordionItem(title,html,isOpen){\n    if(!html) return null;\n    const details=createNode('details','florss-accordion-item');\n    if(isOpen) details.open=true;\n    details.appendChild(createNode('summary','',escapeHtml(title)));\n    details.appendChild(createNode('div','florss-accordion-content',html));\n    return details;\n  }\n  function createAccordionSection(copy,product){\n    const accordions=copy.accordions||{};\n    const section=createNode('section','florss-accordion');\n    const items=[\n      {title:'Beneficios',html:htmlFromText(accordions.benefits)},\n      {title:'Para quem e indicado',html:htmlFromText(accordions.indication)},\n      {title:'Modo de uso',html:htmlFromText(accordions.usage)},\n      {title:'Avaliacoes',html:htmlFromText(copy.reviews||'Em breve, avaliacoes de clientes sobre este produto.')},\n      {title:'Ativos principais',html:htmlFromText(accordions.actives)},\n      {title:'Resultado esperado',html:htmlFromText(accordions.result)},\n      {title:'Perguntas frequentes',html:buildFaqHtml(copy.faq)},\n      {title:'Envio, trocas e devolucoes',html:htmlFromText(accordions.shipping)}\n    ];\n    items.forEach((item,index)=>{\n      const accordion=createAccordionItem(item.title,item.html,index===0);\n      if(accordion) section.appendChild(accordion);\n    });\n    return section;\n  }\n  function createSalesDescriptionSection(product){\n    if(!product||!product.description) return null;\n    const section=createNode('section','florss-sales-description');\n    section.innerHTML=product.description;\n    return section.textContent.trim()?section:null;\n  }\n  function createRecommendationsSection(title,subtitle){\n    const section=createNode('section','florss-recommendations');\n    section.appendChild(createNode('h2','',escapeHtml(title)));\n    section.appendChild(createNode('p','',escapeHtml(subtitle)));\n    return section;\n  }\n  function createAnchorCta(copy){\n    const section=createNode('section','florss-anchor-cta');\n    section.appendChild(createNode('span','florss-anchor-cta__kicker',escapeHtml(copy.badge||'Florss')));\n    section.appendChild(createNode('h2','', 'Leve este cuidado para a sua rotina'));\n    section.appendChild(createNode('p','', 'Escolha a variante ideal e volte ao bloco de compra para finalizar com seguranca e rapidez.'));\n    const button=createNode('a','florss-anchor-cta__button','Comprar agora');\n    button.href='#florss-buy-box';\n    section.appendChild(button);\n    return section;\n  }\n  function createProductCard(product){\n    const card=createNode('article','florss-product-card');\n    const imageUrl=product.featured_image||product.featuredImage||((product.images&&product.images[0])||'');\n    const media=createNode('a','florss-product-card__media');\n    media.href=product.url||('/products/'+product.handle);\n    media.setAttribute('aria-label',product.title||'Ver produto');\n    if(imageUrl){\n      const img=document.createElement('img');\n      img.src=String(imageUrl).startsWith('//')?'https:'+imageUrl:imageUrl;\n      img.alt=product.title||'Produto Florss';\n      img.loading='lazy';\n      media.appendChild(img);\n    }\n    card.appendChild(media);\n    card.appendChild(createNode('h3','florss-product-card__title',escapeHtml(product.title||'')));\n    card.appendChild(createNode('p','florss-product-card__price',escapeHtml(formatMoney(product.price))));\n    const button=createNode('a','florss-product-card__button','Ver produto');\n    button.href=product.url||('/products/'+product.handle);\n    card.appendChild(button);\n    return card;\n  }\n  async function fetchProductData(handle){\n    if(!handle) return null;\n    const root=window.Shopify&&window.Shopify.routes&&window.Shopify.routes.root?window.Shopify.routes.root:'/';\n    const response=await fetch(root+'products/'+handle+'.js',{credentials:'same-origin'});\n    if(!response.ok) throw new Error('product fetch failed');\n    return response.json();\n  }\n  async function fetchRecommendations(productId,intent,limit){\n    const root=window.Shopify&&window.Shopify.routes&&window.Shopify.routes.root?window.Shopify.routes.root:'/';\n    const response=await fetch(root+'recommendations/products.json?product_id='+productId+'&limit='+(limit||4)+'&intent='+intent,{credentials:'same-origin'});\n    if(!response.ok) throw new Error('recommendations fetch failed');\n    const data=await response.json();\n    return Array.isArray(data.products)?data.products:[];\n  }\n  async function fetchCart(){\n    const root=window.Shopify&&window.Shopify.routes&&window.Shopify.routes.root?window.Shopify.routes.root:'/';\n    const response=await fetch(root+'cart.js',{credentials:'same-origin'});\n    if(!response.ok) throw new Error('cart fetch failed');\n    return response.json();\n  }\n  function getSelectedVariant(productRoot,product){\n    const input=qs('.product-variant-id, form[action*=\"/cart/add\"] input[name=\"id\"]',productRoot);\n    const id=input?Number(input.value):0;\n    if(!id||!product||!Array.isArray(product.variants)) return product&&product.variants&&product.variants[0]?product.variants[0]:null;\n    return product.variants.find((variant)=>Number(variant.id)===id)||product.variants[0]||null;\n  }\n  function updateInstallmentsPanel(panel,current){\n    const compareNode=qs('.florss-price-compare',panel);\n    const currentNode=qs('.florss-price-current',panel);\n    const pixNode=qs('.florss-price-pix',panel);\n    const pixValue=qs('.florss-price-pix strong',panel);\n    const installmentsNode=qs('.florss-price-installments',panel);\n    const list=qs('.florss-installments-panel',panel);\n    const installment=current>0?Math.round(current/3):0;\n    const pix=current>0?Math.round(current*0.95):0;\n    if(currentNode) currentNode.textContent=formatMoney(current);\n    if(pixNode){\n      pixNode.style.display=pix?'':'none';\n      if(pixValue) pixValue.textContent=formatMoney(pix);\n    }\n    if(installmentsNode){\n      installmentsNode.style.display=installment?'':'none';\n      installmentsNode.textContent=installment?('ou em ate 3x de '+formatMoney(installment)+' sem juros'):'';\n    }\n    if(list){\n      list.innerHTML='';\n      if(installment){\n        [1,2,3].forEach((count)=>{\n          list.appendChild(createNode('span','',count+'x de '+escapeHtml(formatMoney(Math.round(current/count)))+(count===3?' sem juros':'')));\n        });\n      }\n    }\n    if(compareNode) compareNode.style.display='';\n  }\n  function updateFreeShippingPanel(productRoot,cart){\n    const panel=qs('.florss-price-panel',productRoot);\n    if(!panel) return;\n    const pricing=getActivePricing(productRoot,window.__florssCurrentProduct);\n    const totalNode=qs('.florss-selection-total',panel);\n    if(totalNode){\n      totalNode.innerHTML='Total desta selecao: <strong>'+escapeHtml(formatMoney(pricing.total))+'</strong>';\n    }\n    const subtotal=Number(cart&&cart.items_subtotal_price||0);\n    const remaining=Math.max(FREE_SHIPPING_THRESHOLD-subtotal,0);\n    const progress=Math.min((subtotal/FREE_SHIPPING_THRESHOLD)*100,100);\n    const cartNode=qs('.florss-free-shipping__cart',panel);\n    const fillNode=qs('.florss-free-shipping__fill',panel);\n    const noteNode=qs('.florss-free-shipping__note',panel);\n    if(cartNode) cartNode.textContent='No carrinho: '+formatMoney(subtotal);\n    if(fillNode) fillNode.style.width=progress.toFixed(2)+'%';\n    if(noteNode){\n      noteNode.innerHTML=remaining>0\n        ?'Leve mais <strong>'+escapeHtml(formatMoney(remaining))+'</strong> e ganhe <strong>frete gratis</strong>.'\n        :'Voce ja liberou o <strong>frete gratis</strong> nesta compra.';\n    }\n  }\n  function updateSalesFreeShippingBlock(block,cart){\n    if(!block) return;\n    const subtotal=Number(cart&&cart.items_subtotal_price||0);\n    const remaining=Math.max(FREE_SHIPPING_THRESHOLD-subtotal,0);\n    const progress=Math.min((subtotal/FREE_SHIPPING_THRESHOLD)*100,100);\n    const cartNode=qs('.florss-sales-free-shipping__cart',block);\n    const fillNode=qs('.florss-sales-free-shipping__fill',block);\n    const noteNode=qs('.florss-sales-free-shipping__note',block);\n    if(cartNode) cartNode.textContent='No carrinho: '+formatMoney(subtotal);\n    if(fillNode) fillNode.style.width=progress.toFixed(2)+'%';\n    if(noteNode){\n      noteNode.innerHTML=remaining>0\n        ?'Faltam <strong>'+escapeHtml(formatMoney(remaining))+'</strong> para voc\u00EA liberar frete gr\u00E1tis. Complete sua rotina Florss.'\n        :'Voc\u00EA liberou frete gr\u00E1tis. Sua rotina Florss est\u00E1 completa.';\n    }\n  }\n  function mountSalesPageProgress(){\n    const blocks=qsa('.florss-sales-free-shipping');\n    if(!blocks.length) return;\n    blocks.forEach((block)=>updateSalesFreeShippingBlock(block,window.__florssCartState||null));\n  }\n  function updatePricePanel(productRoot,product){\n    const panel=qs('.florss-price-panel',productRoot);\n    if(!panel) return;\n    const pricing=getActivePricing(productRoot,product);\n    const compareNode=qs('.florss-price-compare',panel);\n    if(compareNode){\n      if(pricing.compare>pricing.current){\n        compareNode.textContent=formatMoney(pricing.compare);\n        compareNode.style.display='';\n      }else{\n        compareNode.style.display='none';\n      }\n    }\n    updateInstallmentsPanel(panel,pricing.current);\n    updateFreeShippingPanel(productRoot,window.__florssCartState||null);\n  }\n  function createCartProgress(context){\n    const block=createNode('section','florss-cart-progress');\n    block.setAttribute('data-florss-cart-progress',context);\n    const head=createNode('div','florss-cart-progress__head');\n    head.appendChild(createNode('span','florss-cart-progress__label','Frete gratis acima de R$250'));\n    head.appendChild(createNode('span','florss-cart-progress__subtotal',''));\n    block.appendChild(head);\n    const bar=createNode('div','florss-cart-progress__bar');\n    bar.appendChild(createNode('span','florss-cart-progress__fill'));\n    block.appendChild(bar);\n    block.appendChild(createNode('div','florss-cart-progress__note',''));\n    block.appendChild(createNode('div','florss-cart-progress__suggestions',''));\n    return block;\n  }\n  function createCartSuggestionCard(product){\n    const link=createNode('a','florss-cart-progress__suggestion');\n    link.href=product.url||('/products/'+product.handle);\n    const media=createNode('span','florss-cart-progress__suggestion-media');\n    const imageUrl=product.featured_image||product.featuredImage||((product.images&&product.images[0])||'');\n    if(imageUrl){\n      const img=document.createElement('img');\n      img.src=String(imageUrl).startsWith('//')?'https:'+imageUrl:imageUrl;\n      img.alt=product.title||'Produto Florss';\n      img.loading='lazy';\n      media.appendChild(img);\n    }\n    const copy=createNode('span','florss-cart-progress__suggestion-copy');\n    copy.appendChild(createNode('span','florss-cart-progress__suggestion-title',escapeHtml(trimTitleProduct(product.title||''))));\n    copy.appendChild(createNode('span','florss-cart-progress__suggestion-price',escapeHtml(formatMoney(product.price||0))));\n    link.appendChild(media);\n    link.appendChild(copy);\n    return link;\n  }\n  function updateCartProgressBlock(block,cart){\n    if(!block) return;\n    const subtotal=Number(cart&&cart.items_subtotal_price||0);\n    const remaining=Math.max(FREE_SHIPPING_THRESHOLD-subtotal,0);\n    const progress=Math.min((subtotal/FREE_SHIPPING_THRESHOLD)*100,100);\n    const subtotalNode=qs('.florss-cart-progress__subtotal',block);\n    const fillNode=qs('.florss-cart-progress__fill',block);\n    const noteNode=qs('.florss-cart-progress__note',block);\n    if(subtotalNode) subtotalNode.textContent='No carrinho: '+formatMoney(subtotal);\n    if(fillNode) fillNode.style.width=progress.toFixed(2)+'%';\n    if(noteNode){\n      noteNode.innerHTML=remaining>0\n        ?'Leve mais <strong>'+escapeHtml(formatMoney(remaining))+'</strong> e ganhe <strong>frete gratis</strong>.'\n        :'Voce ja liberou o <strong>frete gratis</strong> nesta compra.';\n    }\n  }\n  async function updateCartProgressSuggestions(block,cart){\n    if(!block) return;\n    const suggestionsRoot=qs('.florss-cart-progress__suggestions',block);\n    if(!suggestionsRoot) return;\n    const subtotal=Number(cart&&cart.items_subtotal_price||0);\n    const remaining=Math.max(FREE_SHIPPING_THRESHOLD-subtotal,0);\n    suggestionsRoot.innerHTML='';\n    if(!cart||!Array.isArray(cart.items)||!cart.items.length||remaining<=0){\n      return;\n    }\n    const sourceItem=cart.items.find((item)=>Number(item.product_id)||Number(item.id))||cart.items[0];\n    const sourceId=Number(sourceItem&&sourceItem.product_id||sourceItem&&sourceItem.id||0);\n    if(!sourceId) return;\n    try{\n      const complementary=await fetchRecommendations(sourceId,'complementary',6).catch(()=>[]);\n      const related=await fetchRecommendations(sourceId,'related',8).catch(()=>[]);\n      const cartHandles=new Set(cart.items.map((item)=>item.handle).filter(Boolean));\n      const combined=complementary.concat(related).filter((item)=>item&&item.available&&!cartHandles.has(item.handle));\n      const unique=[];\n      const seen=new Set();\n      combined.forEach((item)=>{\n        if(!item||seen.has(item.handle)) return;\n        seen.add(item.handle);\n        unique.push(item);\n      });\n      const ranked=unique\n        .map((item)=>({item,delta:Math.abs(Number(item.price||0)-remaining)}))\n        .sort((a,b)=>a.delta-b.delta)\n        .map((entry)=>entry.item)\n        .slice(0,2);\n      ranked.forEach((item)=>suggestionsRoot.appendChild(createCartSuggestionCard(item)));\n    }catch(error){\n      suggestionsRoot.innerHTML='';\n    }\n  }\n  function mountCartProgress(){\n    const targets=[\n      {context:'drawer',container:qs('cart-drawer .drawer__footer')||qs('cart-drawer footer')||qs('cart-drawer .drawer__inner')},\n      {context:'page',container:qs('#main-cart-footer')||qs('main-cart-footer')||qs('.cart__footer')}\n    ];\n    targets.forEach((target)=>{\n      if(!target.container) return;\n      let block=target.container.querySelector('[data-florss-cart-progress=\"'+target.context+'\"]');\n      if(!block){\n        block=createCartProgress(target.context);\n        const checkoutAnchor=target.container.querySelector('.cart__checkout-button,button[name=\"checkout\"],.cart__ctas,.drawer__footer button,.drawer__footer .button');\n        if(checkoutAnchor&&checkoutAnchor.parentNode){\n          checkoutAnchor.parentNode.insertBefore(block,checkoutAnchor);\n        }else{\n          target.container.insertBefore(block,target.container.firstChild||null);\n        }\n      }\n      updateCartProgressBlock(block,window.__florssCartState||null);\n      updateCartProgressSuggestions(block,window.__florssCartState||null);\n    });\n  }\n  async function refreshCartState(){\n    try{\n    const cart=await fetchCart();\n    window.__florssCartState=cart;\n    document.dispatchEvent(new CustomEvent('florss:cart-updated',{detail:cart}));\n    mountCartProgress();\n    mountSalesPageProgress();\n    return cart;\n  }catch(error){\n      return window.__florssCartState||null;\n    }\n  }\n  function watchCartRequests(){\n    if(window.__florssCartWatcherBound) return;\n    window.__florssCartWatcherBound=true;\n    const originalFetch=window.fetch?window.fetch.bind(window):null;\n    if(!originalFetch) return;\n    window.fetch=function(resource,options){\n      const requestUrl=typeof resource==='string'?resource:(resource&&resource.url)||'';\n      const promise=originalFetch(resource,options);\n      if (/\\/cart\\/(add|change|update|clear)(\\.js)?(\\?|$)/.test(requestUrl)) {\n        promise.then((response)=>{\n          if(response&&response.ok){\n            window.setTimeout(()=>{refreshCartState();},250);\n          }\n        }).catch(()=>{});\n      }\n      return promise;\n    };\n  }\n  function syncAvailability(productRoot,product){\n    const selectedVariant=getSelectedVariant(productRoot,product);\n    const isAvailable=selectedVariant?Boolean(selectedVariant.available):Boolean(product&&product.available);\n    productRoot.classList.toggle('florss-product-available',isAvailable);\n    productRoot.classList.toggle('florss-product-unavailable',!isAvailable);\n    qsa('.price__badge-sold-out,.label-unavailable',productRoot).forEach((node)=>{\n      if(isAvailable){\n        node.setAttribute('hidden','hidden');\n        node.style.display='none';\n        node.setAttribute('aria-hidden','true');\n      }else{\n        node.removeAttribute('hidden');\n        node.style.display='';\n        node.removeAttribute('aria-hidden');\n      }\n    });\n    const submit=qs('.product-form__submit',productRoot);\n    if(submit){\n      if(isAvailable){\n        submit.disabled=false;\n        submit.removeAttribute('aria-disabled');\n        const label=qs('span',submit);\n        if(label) label.textContent='Adicionar ao carrinho';\n      }else{\n        const label=qs('span',submit);\n        if(label) label.textContent='Esgotado';\n      }\n    }\n  }\n  function bindAvailabilityRefresh(productRoot,product){\n    const form=qs('form[action*=\"/cart/add\"]',productRoot);\n    if(!form||form.dataset.florssAvailabilityBound==='true') return;\n    form.dataset.florssAvailabilityBound='true';\n    ['change','input','click'].forEach((eventName)=>{\n      form.addEventListener(eventName,()=>window.requestAnimationFrame(()=>{\n        syncAvailability(productRoot,product);\n        updatePricePanel(productRoot,product);\n      }),{passive:true});\n    });\n  }\n  function bindCartFeedback(productRoot,product){\n    const form=qs('form[action*=\"/cart/add\"]',productRoot);\n    if(form&&form.dataset.florssCartBound!=='true'){\n      form.dataset.florssCartBound='true';\n      form.addEventListener('submit',()=>{\n        window.setTimeout(()=>{refreshCartState().then(()=>updatePricePanel(productRoot,product));},700);\n      });\n    }\n    if(productRoot.dataset.florssCartListenerBound!=='true'){\n      productRoot.dataset.florssCartListenerBound='true';\n      document.addEventListener('florss:cart-updated',()=>{\n        updatePricePanel(productRoot,product);\n        mountCartProgress();\n      });\n    }\n  }\n  function injectFaqSchema(product,copy){\n    if(!Array.isArray(copy.faq)||!copy.faq.length) return;\n    const id='florss-faq-schema';\n    const existing=document.getElementById(id);\n    if(existing) existing.remove();\n    const script=document.createElement('script');\n    script.id=id;\n    script.type='application/ld+json';\n    script.textContent=JSON.stringify({\n      '@context':'https://schema.org',\n      '@type':'FAQPage',\n      mainEntity:copy.faq.map((item)=>({\n        '@type':'Question',\n        name:item.question,\n        acceptedAnswer:{'@type':'Answer',text:item.answer}\n      }))\n    });\n    document.head.appendChild(script);\n  }\n  async function buildRecommendations(copy,product){\n    const wrapper=createNode('div','');\n    const handles=new Set([product.handle]);\n    const complementarySection=createRecommendationsSection(copy.recommendations.complementaryTitle,copy.recommendations.complementarySubtitle);\n    const complementaryGrid=createNode('div','florss-recommendations-grid');\n    try{\n      const products=(await fetchRecommendations(product.id,'complementary',4)).filter((item)=>item&&item.available&&item.handle!==product.handle);\n      if(products.length){\n        products.forEach((item)=>{handles.add(item.handle);complementaryGrid.appendChild(createProductCard(item));});\n        complementarySection.appendChild(complementaryGrid);\n      }else{\n        complementarySection.appendChild(createNode('div','florss-recommendations__fallback','Em breve, novas combinacoes para este produto.'));\n      }\n    }catch(error){\n      complementarySection.appendChild(createNode('div','florss-recommendations__fallback','Em breve, novas combinacoes para este produto.'));\n    }\n    wrapper.appendChild(complementarySection);\n\n    const relatedSection=createRecommendationsSection(copy.recommendations.relatedTitle,copy.recommendations.relatedSubtitle);\n    const relatedGrid=createNode('div','florss-recommendations-grid');\n    try{\n      const products=(await fetchRecommendations(product.id,'related',8)).filter((item)=>item&&item.available&&!handles.has(item.handle)).slice(0,4);\n      if(products.length){\n        products.forEach((item)=>relatedGrid.appendChild(createProductCard(item)));\n        relatedSection.appendChild(relatedGrid);\n      }else{\n        relatedSection.appendChild(createNode('div','florss-recommendations__fallback','Em breve, novas sugestoes para este produto.'));\n      }\n    }catch(error){\n      relatedSection.appendChild(createNode('div','florss-recommendations__fallback','Em breve, novas sugestoes para este produto.'));\n    }\n    wrapper.appendChild(relatedSection);\n    return wrapper;\n  }\n  function removeLegacyNodes(root){\n    qsa('.fl-product-eyebrow,.fl-product-trust,.fl-product-benefits,.fl-product-payment-note,.florss-pdp-enhance,.florss-trust-row,.florss-price-note,.florss-hero-meta,.florss-price-panel,.florss-utility-grid,.florss-cta-note',root).forEach((node)=>node.remove());\n    const shell=qs('#florss-pdp-shell');\n    if(shell) shell.remove();\n  }\n  function removeNativeIntro(root){\n    qsa('.product__description,.product__text',root).forEach((node)=>node.remove());\n  }\n  async function enhanceProductPage(){\n    if(!isProductPage()) return;\n    const productRoot=qs('#MainContent .shopify-section .product, main#MainContent .shopify-section .product');\n    if(!productRoot||productRoot.dataset.florssPdpHydrated==='true') return;\n    const info=qs('.product__info-container',productRoot);\n    const title=qs('.product__title',productRoot);\n    const priceContainer=qs('.price__container',productRoot);\n    const buyButtons=qs('.product-form__buttons',productRoot);\n    const mainSection=productRoot.closest('.shopify-section');\n    if(!info||!title||!buyButtons||!mainSection) return;\n    productRoot.dataset.florssPdpHydrated='true';\n    info.id='florss-buy-box';\n\n    const metaProduct=getMetaProduct();\n    const handle=(metaProduct&&metaProduct.handle)||getPathHandle();\n    const product=await fetchProductData(handle);\n    if(!product) return;\n    window.__florssCurrentProduct=product;\n    watchCartRequests();\n\n    removeLegacyNodes(productRoot);\n    removeNativeIntro(productRoot);\n    const copy=getProductCopy(product);\n    productRoot.setAttribute('data-florss-title-size',normalizeTitleSize(copy.titleSize||inferTitleSize(product.title)));\n\n    title.insertAdjacentElement('beforebegin',createHeroMeta(product,copy));\n    title.insertAdjacentElement('afterend',createConversionBlock(copy));\n    if(priceContainer&&!productRoot.querySelector('.florss-price-panel')){\n      priceContainer.insertAdjacentElement('afterend',createPricePanel(product,productRoot));\n    }\n    if(!productRoot.querySelector('.florss-utility-grid')){\n      buyButtons.insertAdjacentElement('afterend',createUtilityGrid(product));\n    }\n    if(!document.querySelector('section.florss-trust-bar,.florss-trust-bar')){buyButtons.insertAdjacentElement('afterend',createTrustRow(copy));}\n    const ctaNote=createCtaNote(copy);\n    if(ctaNote){\n      buyButtons.insertAdjacentElement('afterend',ctaNote);\n    }\n\n    const shell=createNode('section','florss-pdp-shell');\n    shell.id='florss-pdp-shell';\n    const infoCards=createInfoCards(copy);\n    if(infoCards&&infoCards.childElementCount) shell.appendChild(infoCards);\n    shell.appendChild(createAccordionSection(copy,product));\n    shell.appendChild(await buildRecommendations(copy,product));\n    mainSection.insertAdjacentElement('afterend',shell);\n\n    syncAvailability(productRoot,product);\n    bindAvailabilityRefresh(productRoot,product);\n    bindCartFeedback(productRoot,product);\n    refreshCartState().then(()=>updatePricePanel(productRoot,product));\n    injectFaqSchema(product,copy);\n  }\n\n  if(false && !document.querySelector('.whatsapp-float')){\n    const b=document.createElement('a');\n    b.className='whatsapp-float';\n    b.href='https://wa.me/556295747474?text=Ol\u00E1! Vim pelo site Florss.';\n    b.target='_blank';b.rel='noopener';\n    b.setAttribute('aria-label','WhatsApp');\n    b.innerHTML='<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"white\"><path d=\"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413z\"/></svg>';\n    document.body.appendChild(b);\n  }\n\n  const header=document.querySelector('.header,header,.site-header');\n  if(header){window.addEventListener('scroll',()=>{header.style.boxShadow=window.scrollY>60?'0 2px 20px rgba(61,43,31,0.1)':'none';},{passive:true});}\n  const SECTION_SELECTOR='#MainContent .shopify-section, main .shopify-section, .shopify-section-group .shopify-section';\n  let observer=null;\n  function isRevealCandidate(el){\n    if(!el||el.nodeType!==1) return false;\n    if(!el.matches('.shopify-section')) return false;\n    if(el.closest('header, footer')) return false;\n    if(el.classList.contains('shopify-section-group-header-group')) return false;\n    if(el.classList.contains('announcement-bar-section')) return false;\n    if(el.classList.contains('section-header')) return false;\n    if(el.classList.contains('footer')) return false;\n    if(el.id&&/footer/i.test(el.id)) return false;\n    if(el.className&&/(footer|announcement-bar)/i.test(el.className)) return false;\n    if(el.hasAttribute('data-no-reveal')) return false;\n    return true;\n  }\n  function eligibleRevealTargets(root){\n    const scope=root&&root.nodeType===1?root:document;\n    const seen=new Set();\n    const nodes=[];\n    if(scope.matches&&scope.matches('.shopify-section')&&isRevealCandidate(scope)){seen.add(scope);nodes.push(scope);}\n    scope.querySelectorAll(SECTION_SELECTOR).forEach((el)=>{if(!isRevealCandidate(el)||seen.has(el)) return;seen.add(el);nodes.push(el);});\n    return nodes;\n  }\n  function revealNow(el){el.setAttribute('data-fl-reveal','true');el.classList.add('is-visible');}\n  function prepareReveal(root){\n    eligibleRevealTargets(root).forEach((el,index)=>{\n      if(!el.hasAttribute('data-fl-reveal')) el.setAttribute('data-fl-reveal','true');\n      if(!el.hasAttribute('data-fl-reveal-delay')) el.setAttribute('data-fl-reveal-delay',String(Math.min(index%5,4)));\n      if(window.matchMedia('(prefers-reduced-motion: reduce)').matches||(window.Shopify&&Shopify.designMode)){revealNow(el);return;}\n      if(!observer){revealNow(el);return;}\n      if(!el.classList.contains('is-visible')) observer.observe(el);\n    });\n  }\n  if('IntersectionObserver' in window){\n    observer=new IntersectionObserver((entries)=>{entries.forEach((entry)=>{if(!entry.isIntersecting) return;revealNow(entry.target);observer.unobserve(entry.target);});},{root:null,rootMargin:'0px 0px -10% 0px',threshold:0.14});\n  }\n  function init(root){\n    window.requestAnimationFrame(()=>{\n      enhanceProductPage().catch(()=>{});\n      mountCartProgress();\n      mountSalesPageProgress();\n      refreshCartState().then(()=>mountCartProgress());\n      prepareReveal(root);\n    });\n  }\n  if(document.readyState==='loading'){\n    document.addEventListener('DOMContentLoaded',()=>init(document),{once:true});\n  }else{\n    init(document);\n  }\n  document.addEventListener('shopify:section:load',(event)=>init(event.target));\n  document.addEventListener('shopify:section:reorder',()=>init(document));\n  document.addEventListener('shopify:section:select',(event)=>init(event.target));\n  document.querySelectorAll('img[loading=\"lazy\"]').forEach((img)=>{if(!img.complete){img.style.filter='blur(8px)';img.style.transition='filter 0.3s';img.addEventListener('load',()=>{img.style.filter='none';});}});\n})();"],
  "mappings": "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",
  "names": []
}
