{
  "version": 3,
  "sources": ["/cdn/shop/t/26/assets/ce-international-checkout-poc.js?intl_poc=0"],
  "sourcesContent": ["\uFEFF(function () {\n  var ENABLED_KEY = 'ce_intl_poc_enabled';\n  var DISABLED_KEY = 'ce_intl_poc_disabled';\n  var MARKET_KEY = 'ce_intl_poc_market';\n  var GEO_OVERRIDE_KEY = 'ce_intl_poc_geo_override';\n  var GEO_SESSION_KEY = 'ce_intl_poc_geo_country';\n  // CARTPANDA LEGACY: var LAST_RESPONSE_KEY = 'ce_intl_poc_last_cartpanda_response';\n  var LAST_RESPONSE_KEY = 'ce_intl_poc_last_checkout_response';\n  var activeGeoCountry = '';\n  var geoDetectionComplete = false;\n  var priceObserver = null;\n  var refreshTimersSet = false;\n  var cartRefreshTimersSet = false;\n  var cartDisplayInFlight = false;\n  /* CARTPANDA LEGACY - seletores do interceptador desativado.\n  var CHECKOUT_SELECTOR = [\n    '.cartx_check_mainBtn',\n    '.t4s-btn__checkout',\n    '[name=\"checkout\"]',\n    '[data-ce-cart-checkout]',\n    'a[href=\"/checkout\"]',\n    'a[href=\"/a/checkout\"]'\n  ].join(',');\n  */\n\n  var config = readConfig();\n  if (!config) return;\n  activeGeoCountry = initialGeoCountry();\n\n  applyQueryState();\n  // CARTPANDA LEGACY: installCheckoutInterceptors();\n  // O checkout fica sob responsabilidade do fluxo nativo da Shopify.\n  // Rollback completo: restaure tambem config/valores legados no snippet Liquid,\n  // todos os blocos comentados abaixo e o seletor legado em ce-industrial-ui.js.\n  detectGeoCountry().then(function (country) {\n    geoDetectionComplete = true;\n    activeGeoCountry = country || '';\n    initDom();\n  });\n\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initDom);\n  } else {\n    initDom();\n  }\n\n  function readConfig() {\n    var node = document.getElementById('ce-intl-poc-config');\n    if (!node) return null;\n    try {\n      return JSON.parse(node.textContent || '{}');\n    } catch (error) {\n      console.warn('[CE Intl POC] Invalid config', error);\n      return null;\n    }\n  }\n\n  function applyQueryState() {\n    var params = new URLSearchParams(window.location.search);\n    clearLegacyMarketOverrides();\n    if (params.get('intl_poc') === '1') {\n      localStorage.setItem(ENABLED_KEY, '1');\n      localStorage.removeItem(DISABLED_KEY);\n    }\n    if (params.get('intl_poc') === '0') {\n      localStorage.removeItem(ENABLED_KEY);\n      localStorage.removeItem(LAST_RESPONSE_KEY);\n      localStorage.setItem(DISABLED_KEY, '1');\n    }\n    if (params.get('intl_auto') === '1') {\n      localStorage.removeItem(DISABLED_KEY);\n    }\n  }\n\n  function clearLegacyMarketOverrides() {\n    try {\n      localStorage.removeItem(GEO_OVERRIDE_KEY);\n      localStorage.removeItem(MARKET_KEY);\n      sessionStorage.removeItem(GEO_SESSION_KEY);\n    } catch (error) {}\n  }\n\n  function initDom() {\n    if (!isEnabled()) return;\n    applyMarketExperience();\n    applyCartDisplayExperience();\n    scheduleExperienceRefresh();\n    scheduleCartDisplayRefresh();\n    if (config.product) {\n      if (isDebugMode() && isPricingExperienceActive()) renderProductPanel();\n      injectLineItemProperties();\n    }\n    if (isDebugMode() && isPricingExperienceActive()) renderCartBanner();\n  }\n\n  function isEnabled() {\n    return isDebugMode() || isAutoExperienceActive();\n  }\n\n  function isDebugMode() {\n    return localStorage.getItem(ENABLED_KEY) === '1';\n  }\n\n  function isAutoExperienceActive() {\n    return Boolean(selectedContentMarketCode() || selectedPricingMarketCode());\n  }\n\n  function isAutoDisabled() {\n    return localStorage.getItem(DISABLED_KEY) === '1';\n  }\n\n  function selectedMarketCode() {\n    return selectedPricingMarketCode();\n  }\n\n  function selectedPricingMarketCode() {\n    if (config.pricingProvider === 'shopify') return null;\n    if (isAutoDisabled() || !geoDetectionComplete) return null;\n    return marketForCountry(activeGeoCountry);\n  }\n\n  function selectedContentMarketCode() {\n    return marketForLocalePath() || marketForContentCountry(activeGeoCountry);\n  }\n\n  function isPricingExperienceActive() {\n    return Boolean(getMarket(selectedPricingMarketCode()));\n  }\n\n  function initialGeoCountry() {\n    return '';\n  }\n\n  function effectiveGeoCountry() {\n    return String(activeGeoCountry || '').toUpperCase();\n  }\n\n  function isEnglishUi() {\n    return /^\\/en(?:\\/|$)/.test(window.location.pathname || '') || String(document.documentElement.lang || '').toLowerCase().indexOf('en') === 0;\n  }\n\n  function marketForCountry(country) {\n    country = String(country || '').toUpperCase();\n    var map = config.autoCountryMarkets || {};\n    if (!country || country === 'BR') return null;\n    var marketCode = map[country] || map['*'];\n    return marketCode && getMarket(marketCode) ? marketCode : null;\n  }\n\n  function marketForContentCountry(country) {\n    country = String(country || '').toUpperCase();\n    var map = config.autoContentMarkets || {};\n    if (!country || country === 'BR') return null;\n    var marketCode = map[country] || map['*'];\n    return marketCode && getMarket(marketCode) ? marketCode : null;\n  }\n\n  function marketForLocalePath() {\n    var path = window.location.pathname || '/';\n    var map = config.localeMarkets || {};\n    var bestPrefix = '';\n    var bestMarket = null;\n    Object.keys(map).forEach(function (prefix) {\n      if (!prefix || !getMarket(map[prefix])) return;\n      if ((path === prefix || path.indexOf(prefix + '/') === 0) && prefix.length > bestPrefix.length) {\n        bestPrefix = prefix;\n        bestMarket = map[prefix];\n      }\n    });\n    return bestMarket;\n  }\n\n  function detectGeoCountry() {\n    if (isAutoDisabled() || isSearchCrawler()) return Promise.resolve(null);\n    var root = (window.Shopify && Shopify.routes && Shopify.routes.root) || '/';\n    var url = root + 'browsing_context_suggestions.json?country[enabled]=true';\n    return fetch(url, { credentials: 'same-origin', headers: { 'Accept': 'application/json' } })\n      .then(function (response) {\n        if (!response.ok) return null;\n        return response.json();\n      })\n      .then(function (data) {\n        var country = data && data.detected_values && data.detected_values.country && data.detected_values.country.handle;\n        return country ? String(country).toUpperCase() : null;\n      })\n      .catch(function () { return null; });\n  }\n\n  function isSearchCrawler() {\n    var userAgent = String((window.navigator && window.navigator.userAgent) || '');\n    return /Googlebot|Storebot-Google|Google-InspectionTool|bingbot|Baiduspider|YandexBot|DuckDuckBot|Slurp|Applebot|AdsBot-Google|Mediapartners-Google|facebookexternalhit|Twitterbot|LinkedInBot/i.test(userAgent);\n  }\n\n  function getMarket(code) {\n    if (!code || !config.markets) return null;\n    code = String(code).toUpperCase();\n    for (var i = 0; i < config.markets.length; i += 1) {\n      if (config.markets[i].code === code) return config.markets[i];\n    }\n    return null;\n  }\n\n  function setMarket(code) {\n    var market = getMarket(code);\n    if (!market) return;\n    if (market.code !== selectedPricingMarketCode()) return;\n    localStorage.removeItem(DISABLED_KEY);\n    applyMarketExperience();\n    applyCartDisplayExperience();\n    injectLineItemProperties();\n    updateProductPanel();\n  }\n\n  function applyMarketExperience() {\n    var contentMarket = getMarket(selectedContentMarketCode());\n    var pricingMarket = getMarket(selectedPricingMarketCode());\n    var content = marketContent(contentMarket);\n    var nativeTranslation = usesShopifyNativeTranslations(contentMarket, content);\n    if (!contentMarket || (!nativeTranslation && !content)) return;\n    content = content || {};\n    if (!ensureNativeLocaleRoute(contentMarket)) return;\n\n    document.documentElement.classList.add('ce-intl-native', 'ce-intl-native-' + contentMarket.code.toLowerCase());\n    if (!nativeTranslation) {\n      if (content.htmlLang) document.documentElement.setAttribute('lang', content.htmlLang);\n      if (content.metaTitle) document.title = content.metaTitle;\n      updateMetaDescription(content.metaDescription);\n      if (config.product) {\n        replaceProductTitle(content.title);\n        replaceBreadcrumb(content);\n        replaceProductNotice(content.noticeHtml);\n        replaceProductDescription(content.descriptionHtml);\n        replaceTechnicalTable(content.technicalHtml);\n        replaceProductAbout(content.aboutHtml);\n        replaceReasonsSection(content.reasonsHtml);\n        replaceListQuoteSection(content.listQuoteHtml);\n        replaceCommercialProductBlocks(content);\n      }\n    }\n    replaceFooterLegal();\n    applyProductDetailTextFixes(contentMarket);\n    applyTextReplacements(content.replacements || [], content.regexReplacements || []);\n    applyAttributeReplacements(content.replacements || [], content.regexReplacements || []);\n    updateNativeLocaleControls(content);\n    replaceStockBadges();\n    applyCartInternationalExperience(Boolean(pricingMarket) || isEnglishUi(), Boolean(pricingMarket));\n    if (pricingMarket) updateProductCardPrices(pricingMarket);\n    if (config.product) {\n      replaceStickyAddToCart(contentMarket, content, pricingMarket);\n      if (pricingMarket) {\n        updatePriceDisplays(pricingMarket, content);\n        if (priceObserver) {\n          priceObserver.disconnect();\n          priceObserver = null;\n        }\n        startPriceObserver(pricingMarket, content);\n      }\n    }\n  }\n\n  function scheduleExperienceRefresh() {\n    if (refreshTimersSet) return;\n    refreshTimersSet = true;\n    [600, 1800, 3500].forEach(function (delay) {\n      window.setTimeout(function () {\n        if (isEnabled()) applyMarketExperience();\n      }, delay);\n    });\n  }\n\n  function scheduleCartDisplayRefresh() {\n    if (cartRefreshTimersSet) return;\n    cartRefreshTimersSet = true;\n    [800, 2200, 4200].forEach(function (delay) {\n      window.setTimeout(function () {\n        if (isEnabled()) applyCartDisplayExperience();\n      }, delay);\n    });\n  }\n\n  function marketContent(market) {\n    if (!market || !config.translations) return null;\n    return config.translations[market.code] || null;\n  }\n\n  function usesShopifyNativeTranslations(market, content) {\n    if (!(config.translationMode === 'shopify_native' || config.useShopifyTranslations === true)) return false;\n    var expected = (content && content.htmlLang) || (market && market.locale) || '';\n    expected = String(expected || '').toLowerCase().split('-')[0];\n    if (!expected) return false;\n    var current = (\n      document.documentElement.getAttribute('lang') ||\n      (window.Shopify && Shopify.locale) ||\n      ''\n    ).toLowerCase().split('-')[0];\n    return current === expected;\n  }\n\n  function ensureNativeLocaleRoute(market) {\n    if (config.autoLocaleRedirect !== true) return true;\n    var prefix = nativeLocalePrefix(market);\n    if (!prefix) return true;\n    var path = window.location.pathname || '/';\n    if (path === prefix || path.indexOf(prefix + '/') === 0) return true;\n    var localizedPath = (path.charAt(0) === '/' ? path : '/' + path)\n      .replace(/^\\/(?:pt-br|pt|es)(?=\\/|$)/i, '');\n    if (!localizedPath || localizedPath === '/') localizedPath = '/';\n    var target = prefix + localizedPath + window.location.search + window.location.hash;\n    window.location.replace(target);\n    return false;\n  }\n\n  function nativeLocalePrefix(market) {\n    if (!(config.translationMode === 'shopify_native' || config.useShopifyTranslations === true) || !market) return '';\n    if (market.code === 'US') return '/en';\n    return '';\n  }\n\n  function updateMetaDescription(value) {\n    if (!value) return;\n    var meta = document.querySelector('meta[name=\"description\"]');\n    if (meta) meta.setAttribute('content', value);\n  }\n\n  function replaceProductTitle(title) {\n    if (!title) return;\n    var selectors = [\n      '.t4s-product__title',\n      '.ce-product-detail__title',\n      'h1'\n    ];\n    selectors.forEach(function (selector) {\n      var nodes = document.querySelectorAll(selector);\n      Array.prototype.forEach.call(nodes, function (node) {\n        if (isInsidePoc(node)) return;\n        if ((node.textContent || '').indexOf(config.product.title) !== -1 || selector === '.t4s-product__title') {\n          node.textContent = title;\n        }\n      });\n    });\n  }\n\n  function replaceBreadcrumb(content) {\n    if (!content || !content.title) return;\n    var roots = document.querySelectorAll('.t4s-pr-breadcrumb, .t4s-breadcrumb_pr_wrap, .t4s-breadcrumbs, .ce-breadcrumb, nav[aria-label=\"breadcrumbs\"]');\n    Array.prototype.forEach.call(roots, function (root) {\n      if (isInsidePoc(root)) return;\n      root.setAttribute('aria-label', 'Breadcrumb');\n\n      var links = root.querySelectorAll('a');\n      Array.prototype.forEach.call(links, function (link) {\n        var text = (link.textContent || '').trim();\n        if (/^In.cio$/i.test(text) || /^Inicio$/i.test(text)) {\n          link.textContent = 'Home';\n        }\n      });\n\n      var nodes = root.querySelectorAll('span, li, strong, a');\n      Array.prototype.forEach.call(nodes, function (node) {\n        var text = (node.textContent || '').trim();\n        if (!text) return;\n        if (config.product && config.product.title && text.indexOf(config.product.title) !== -1) {\n          node.textContent = text.split(config.product.title).join(content.title);\n        }\n      });\n    });\n  }\n\n  function replaceStickyAddToCart(contentMarket, content, pricingMarket) {\n    var bar = document.querySelector('.t4s-sticky-atc');\n    if (!bar || isInsidePoc(bar)) return;\n    var nativeTranslation = usesShopifyNativeTranslations(contentMarket, content);\n\n    var title = bar.querySelector('.t4s-sticky-atc__title');\n    if (!nativeTranslation && title && content.title && config.product && config.product.title && (title.textContent || '').indexOf(config.product.title) !== -1) {\n      title.textContent = content.title;\n    }\n\n    var price = bar.querySelector('[data-sticky-price], .t4s-sticky-atc__price');\n    if (price && pricingMarket) {\n      var unitMinor = targetUnitMinor(pricingMarket, config.product.priceMinor || 0, content);\n      price.innerHTML = '<span class=\"notranslate ce-money\" data-ce-intl-price>' + escapeHtml(formatMoneyWithCode(unitMinor, pricingMarket.currency, pricingMarket.locale)) + '</span>';\n      price.setAttribute('data-ce-intl-price-applied', pricingMarket.currency);\n    }\n\n    var buttonText = bar.querySelector('.t4s-btn-atc_text');\n    if (!nativeTranslation && buttonText && /Compre|Comprar|Adicionar|Add to cart/i.test(buttonText.textContent || '')) {\n      buttonText.textContent = 'Buy now';\n    }\n  }\n\n  function replaceProductDescription(html) {\n    if (!html) return;\n    var selectors = [\n      '.t4s-product__description',\n      '[id^=\"t4s-tab-des\"].t4s-tab-content',\n      '[data-t4s-tab-content].t4s-rte'\n    ];\n    selectors.forEach(function (selector) {\n      var nodes = document.querySelectorAll(selector);\n      Array.prototype.forEach.call(nodes, function (node) {\n        if (isInsidePoc(node)) return;\n        var text = node.textContent || '';\n        if (text.indexOf(config.product.title) !== -1 || text.indexOf('Siemens TALON') !== -1 || text.indexOf('Produto NOVO') !== -1) {\n          node.innerHTML = html;\n        }\n      });\n    });\n  }\n\n  function replaceProductNotice(html) {\n    if (!html) return;\n    var nodes = document.querySelectorAll('.t4s-product__description');\n    Array.prototype.forEach.call(nodes, function (node) {\n      if (isInsidePoc(node)) return;\n      var text = node.textContent || '';\n      if (text.indexOf('Substitui') !== -1 || text.indexOf('revenda') !== -1 || text.indexOf('estado do item') !== -1) {\n        node.innerHTML = html;\n      }\n    });\n  }\n\n  function replaceTechnicalTable(html) {\n    if (!html) return;\n    var node = document.querySelector('.ce-technical-table');\n    if (!node || isInsidePoc(node)) return;\n    node.innerHTML = html;\n    node.setAttribute('aria-label', 'Technical specifications');\n  }\n\n  function replaceProductAbout(html) {\n    if (!html) return;\n    var node = document.querySelector('.ce-product-about');\n    if (!node || isInsidePoc(node)) return;\n    node.innerHTML = html;\n    node.setAttribute('aria-label', 'Product details');\n  }\n\n  function replaceReasonsSection(html) {\n    if (!html) return;\n    var node = document.querySelector('.ce-reasons');\n    if (!node || isInsidePoc(node)) return;\n    node.innerHTML = html;\n    node.setAttribute('aria-label', 'Why buy from Cabo Eletro');\n  }\n\n  function replaceListQuoteSection(html) {\n    if (!html) return;\n    var node = document.querySelector('.ce-pdp-quote');\n    if (!node || isInsidePoc(node)) return;\n    var existingHrefs = Array.prototype.map.call(node.querySelectorAll('.ce-pdp-quote__actions a'), function (link) {\n      return link.getAttribute('href');\n    });\n    var temp = document.createElement('div');\n    temp.innerHTML = html;\n    Array.prototype.forEach.call(temp.querySelectorAll('.ce-pdp-quote__actions a'), function (link, index) {\n      if (existingHrefs[index]) link.setAttribute('href', existingHrefs[index]);\n    });\n    node.innerHTML = temp.innerHTML;\n    node.setAttribute('aria-label', 'List quote');\n  }\n\n  function replaceCommercialProductBlocks(content) {\n    var urgency = document.querySelector('.ce-urgency');\n    if (urgency && !isInsidePoc(urgency)) {\n      urgency.innerHTML = '<span class=\"ce-urgency__icon\" aria-hidden=\"true\"></span><span class=\"ce-urgency__text\"><strong>Available by quote only</strong><span>High-value item - complete this purchase with our quote team.</span></span>';\n    }\n\n    var quoteCta = document.querySelector('.ce-product-detail__quote-cta');\n    if (quoteCta && !isInsidePoc(quoteCta)) {\n      quoteCta.innerHTML = '<label class=\"ce-btn ce-btn--primary ce-quote-trigger\" for=\"ce-quote-modal\" role=\"button\" tabindex=\"0\">Request quote by email</label><span class=\"ce-product-detail__quote-cta-note\">This product is sold by quote only. Our team replies with lead time and terms.</span>';\n    }\n\n    var quote = document.querySelector('.ce-product-detail__quote');\n    if (quote && !isInsidePoc(quote)) {\n      quote.innerHTML = '<span class=\"ce-product-detail__quote-ico\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M3 5h2v2H3V5Zm4 0h14v2H7V5ZM3 11h2v2H3v-2Zm4 0h14v2H7v-2ZM3 17h2v2H3v-2Zm4 0h14v2H7v-2Z\"></path></svg></span><div class=\"ce-product-detail__quote-copy\"><strong>Need an invoice, volume pricing, or special terms?</strong><span>Receive an email quote with this item already included - for individuals, companies, and export buyers.</span></div><label class=\"ce-btn ce-btn--accent ce-quote-trigger\" for=\"ce-quote-modal\" role=\"button\" tabindex=\"0\">Request quote</label>';\n    }\n\n    var trust = document.querySelector('.ce-product-detail__trust');\n    if (trust && !isInsidePoc(trust)) {\n      trust.innerHTML = '<li>Top seller on Mercado Livre and eBay</li><li>Business invoicing available</li><li>Dispatch within 1 business day</li><li>Secure payment by card or agreed terms</li>';\n      trust.setAttribute('aria-label', 'Cabo Eletro guarantees');\n    }\n\n    var modal = document.querySelector('.ce-modal__panel');\n    if (modal && !isInsidePoc(modal)) {\n      var head = modal.querySelector('.ce-modal__head strong');\n      if (head) head.textContent = 'Email quote';\n      var close = modal.querySelector('.ce-modal__close');\n      if (close) close.setAttribute('aria-label', 'Close');\n      var text = modal.querySelector('p');\n      if (text) text.textContent = 'Choose the buyer type - we open the form with this product already filled in.';\n      var links = modal.querySelectorAll('.ce-modal__options a');\n      if (links[0]) links[0].innerHTML = '<strong>Individual buyer</strong><span>Personal purchase</span>';\n      if (links[1]) links[1].innerHTML = '<strong>Company buyer</strong><span>Business purchase</span>';\n      if (links[2]) links[2].innerHTML = '<strong>International</strong><span>Buyers outside Brazil</span>';\n    }\n\n    var payments = document.querySelectorAll('.ce-product-detail__payments > span, .ce-footer__payments > span');\n    Array.prototype.forEach.call(payments, function (node) {\n      if (!isInsidePoc(node)) node.textContent = 'Payment methods';\n    });\n  }\n\n  function updateNativeLocaleControls(content) {\n    var language = content && content.htmlLang;\n    if (!language) return;\n    var selects = document.querySelectorAll('select[name=\"locale_code\"]');\n    Array.prototype.forEach.call(selects, function (select) {\n      var option = select.querySelector('option[value=\"' + cssEscape(language) + '\"]');\n      if (option) {\n        Array.prototype.forEach.call(select.options || [], function (item) {\n          item.selected = false;\n          item.defaultSelected = false;\n        });\n        option.selected = true;\n        option.defaultSelected = true;\n        select.value = language;\n      }\n    });\n  }\n\n  function replaceFooterLegal() {\n    var legal = document.querySelector('.ce-footer__legal');\n    if (!legal || isInsidePoc(legal)) return;\n    var primary = legal.querySelector('p:not(.ce-footer__disclaimer)');\n    if (primary) {\n      primary.innerHTML = '<strong>Cabo Eletro Comercial LTDA</strong> - Brazilian tax ID 04.678.459/0001-08 - Rua Amelia Pyramo 30, ZIP 30642-450, Belo Horizonte/MG, Brazil - comercial@caboeletro.com - +55 31 98707-2283';\n    }\n    var disclaimer = legal.querySelector('.ce-footer__disclaimer');\n    if (disclaimer) {\n      disclaimer.textContent = 'Cabo Eletro is not an authorized distributor or representative of the products shown on this site. Product names, trademarks, brands, and logos belong to their respective owners.';\n    }\n  }\n\n  function applyProductDetailTextFixes(contentMarket) {\n    if (!contentMarket || contentMarket.code !== 'US') return;\n    replaceProductDetailActions();\n    replaceProductDetailFactCategory();\n  }\n\n  function replaceProductDetailActions() {\n    var labels = document.querySelectorAll('.ce-product-detail__actions .ce-quote-trigger, .ce-product-detail__quote-cta .ce-quote-trigger');\n    Array.prototype.forEach.call(labels, function (label) {\n      if (isInsidePoc(label)) return;\n      var text = normalizeText(label.textContent || '');\n      if (text === 'enviar e-mail') label.textContent = 'Send email';\n      if (text === 'solicitar orcamento por e-mail') label.textContent = 'Request quote by email';\n    });\n  }\n\n  function replaceProductDetailFactCategory() {\n    var facts = document.querySelectorAll('.ce-product-detail__facts > div');\n    Array.prototype.forEach.call(facts, function (fact) {\n      if (isInsidePoc(fact)) return;\n      var label = fact.querySelector('dt');\n      var value = fact.querySelector('dd');\n      if (!label || !value) return;\n      var labelKey = normalizeText(label.textContent || '');\n      if (labelKey !== 'categoria' && labelKey !== 'category') return;\n      label.textContent = 'Category';\n      var translated = translateTechnicalCategory(value.textContent || '');\n      if (translated) value.textContent = translated;\n    });\n  }\n\n  function translateTechnicalCategory(value) {\n    var key = normalizeText(value);\n    var categories = {\n      'abracadeira': 'Clamp',\n      'abracadeiras': 'Clamps',\n      'amperimetro': 'Ammeter',\n      'amperimetros': 'Ammeters',\n      'borne': 'Terminal Block',\n      'bornes': 'Terminal Blocks',\n      'bloco de contato': 'Contact Block',\n      'blocos de contato': 'Contact Blocks',\n      'bobina': 'Coil',\n      'bobinas': 'Coils',\n      'contator': 'Contactor',\n      'contatores': 'Contactors',\n      'controlador de vazao': 'Flow Controller',\n      'controladores de vazao': 'Flow Controllers',\n      'disjuntor': 'Circuit Breaker',\n      'disjuntores': 'Circuit Breakers',\n      'disjuntor aberto': 'Air Circuit Breaker',\n      'disjuntores abertos': 'Air Circuit Breakers',\n      'disjuntor caixa moldada': 'Molded Case Circuit Breaker',\n      'disjuntores caixa moldada': 'Molded Case Circuit Breakers',\n      'mini disjuntor': 'Miniature Circuit Breaker',\n      'mini disjuntores': 'Miniature Circuit Breakers',\n      'disjuntor motor': 'Motor Circuit Breaker',\n      'disjuntores motores': 'Motor Circuit Breakers',\n      'fonte de alimentacao': 'Power Supply',\n      'fontes de alimentacao': 'Power Supplies',\n      'fusivel': 'Fuse',\n      'fusiveis': 'Fuses',\n      'inversor de frequencia': 'Variable Frequency Drive',\n      'inversores de frequencia': 'Variable Frequency Drives',\n      'manometro': 'Pressure Gauge',\n      'manometros': 'Pressure Gauges',\n      'medidor de vazao': 'Flow Meter',\n      'medidores de vazao': 'Flow Meters',\n      'pressostato': 'Pressure Switch',\n      'pressostatos': 'Pressure Switches',\n      'rele': 'Relay',\n      'reles': 'Relays',\n      'sensor': 'Sensor',\n      'sensores': 'Sensors',\n      'sensores e sondas': 'Sensors and Probes',\n      'transmissor de pressao': 'Pressure Transmitter',\n      'transmissores de pressao': 'Pressure Transmitters',\n      'transmissor de temperatura': 'Temperature Transmitter',\n      'transmissores de temperatura': 'Temperature Transmitters',\n      'valvula': 'Valve',\n      'valvulas': 'Valves',\n      'voltimetro': 'Voltmeter',\n      'voltimetros': 'Voltmeters'\n    };\n    return categories[key] || '';\n  }\n\n  function normalizeText(value) {\n    var text = String(value || '').replace(/\\u00a0/g, ' ').trim().toLowerCase();\n    if (typeof text.normalize === 'function') {\n      text = text.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '');\n    }\n    return text.replace(/\\s+/g, ' ');\n  }\n\n  function replaceStockBadges() {\n    var badges = document.querySelectorAll('.ce-stock-badge');\n    Array.prototype.forEach.call(badges, function (badge) {\n      if (isInsidePoc(badge)) return;\n      var text = (badge.textContent || '').trim();\n      var match = text.match(/^Restam\\s+(\\d+)$/i);\n      if (match) {\n        badge.textContent = 'Only ' + match[1] + ' left';\n      } else if (/^Em estoque/i.test(text)) {\n        badge.textContent = 'In stock';\n      } else if (/^Sob consulta/i.test(text)) {\n        badge.textContent = 'Contact us';\n      }\n    });\n  }\n\n  function applyTextReplacements(replacements, regexReplacements) {\n    if (!replacements.length && !regexReplacements.length) return;\n    var roots = document.querySelectorAll('header, #MainContent, main, footer, .ce-nav-drawer');\n    Array.prototype.forEach.call(roots, function (root) {\n      var walker = document.createTreeWalker(root, NodeFilter.SHOW_TEXT, {\n        acceptNode: function (node) {\n          if (!node.nodeValue || !node.nodeValue.trim()) return NodeFilter.FILTER_REJECT;\n          if (isInsidePoc(node.parentElement)) return NodeFilter.FILTER_REJECT;\n          if (node.parentElement && /^(SCRIPT|STYLE|TEXTAREA|INPUT|SELECT)$/i.test(node.parentElement.tagName)) return NodeFilter.FILTER_REJECT;\n          return NodeFilter.FILTER_ACCEPT;\n        }\n      });\n      var textNode = walker.nextNode();\n      while (textNode) {\n        textNode.nodeValue = translateString(textNode.nodeValue, replacements, regexReplacements);\n        textNode = walker.nextNode();\n      }\n    });\n  }\n\n  function applyAttributeReplacements(replacements, regexReplacements) {\n    var attrs = ['placeholder', 'aria-label', 'title', 'alt', 'value'];\n    var nodes = document.querySelectorAll('header [placeholder], header [aria-label], header [title], header [alt], main [placeholder], main [aria-label], main [title], main [alt], footer [aria-label], footer [title], footer [alt], .ce-nav-drawer [aria-label]');\n    Array.prototype.forEach.call(nodes, function (node) {\n      if (isInsidePoc(node)) return;\n      attrs.forEach(function (attr) {\n        var value = node.getAttribute && node.getAttribute(attr);\n        if (!value) return;\n        var translated = translateString(value, replacements, regexReplacements).trim();\n        if (translated && translated !== value) node.setAttribute(attr, translated);\n      });\n    });\n  }\n\n  function translateString(value, replacements, regexReplacements) {\n    var leading = value.match(/^\\s*/)[0];\n    var trailing = value.match(/\\s*$/)[0];\n    var trimmed = value.trim();\n    var translated = trimmed;\n    for (var i = 0; i < replacements.length; i += 1) {\n      if (translated === replacements[i].from) {\n        return leading + replacements[i].to + trailing;\n      }\n    }\n    var sortedReplacements = replacements.slice().sort(function (a, b) {\n      return String(b.from || '').length - String(a.from || '').length;\n    });\n    for (var k = 0; k < sortedReplacements.length; k += 1) {\n      if (!sortedReplacements[k].from) continue;\n      if (translated.indexOf(sortedReplacements[k].from) !== -1) {\n        translated = translated.split(sortedReplacements[k].from).join(sortedReplacements[k].to);\n      }\n    }\n    for (var j = 0; j < regexReplacements.length; j += 1) {\n      try {\n        translated = translated.replace(new RegExp(regexReplacements[j].pattern), regexReplacements[j].to);\n      } catch (error) {}\n    }\n    return leading + translated + trailing;\n  }\n\n  function updatePriceDisplays(market, content) {\n    var unitMinor = targetUnitMinor(market, config.product.priceMinor || 0, content);\n    var formatted = formatMoneyWithCode(unitMinor, market.currency, market.locale);\n    var selectors = [\n      '.ce-product-detail__price [data-pr-price][data-product-price]',\n      '.ce-product-detail__price .ce-product-price',\n      '.ce-product-sticky__price',\n      '.ce-product-sticky [data-pr-price][data-product-price]',\n      '.t4s-product-price[data-pr-price]',\n      '[data-pr-price][data-product-price]'\n    ];\n    selectors.forEach(function (selector) {\n      var nodes = document.querySelectorAll(selector);\n      Array.prototype.forEach.call(nodes, function (node) {\n        if (isInsidePoc(node)) return;\n        if (!isProductPriceNode(node)) return;\n        if (node.getAttribute('data-ce-intl-price-applied') === market.currency && (node.textContent || '').trim() === formatted) return;\n        node.innerHTML = '<span class=\"notranslate ce-money\" data-ce-intl-price>' + escapeHtml(formatted) + '</span>';\n        node.setAttribute('data-ce-intl-price-applied', market.currency);\n      });\n    });\n  }\n\n  function updateProductCardPrices(market) {\n    if (!market) return;\n    var nodes = document.querySelectorAll('.ce-product-card__price');\n    Array.prototype.forEach.call(nodes, function (node) {\n      if (isInsidePoc(node)) return;\n      var baseMinor = Number(node.getAttribute('data-ce-intl-base-minor') || 0);\n      if (!baseMinor) {\n        baseMinor = parseBrlMinor(node.textContent || '');\n        if (baseMinor) node.setAttribute('data-ce-intl-base-minor', String(baseMinor));\n      }\n      if (!baseMinor) return;\n      var convertedMinor = convertMinor(baseMinor, market.rate);\n      var formatted = formatMoneyWithCode(convertedMinor, market.currency, market.locale);\n      if (node.getAttribute('data-ce-intl-price-applied') === market.currency && (node.textContent || '').trim() === formatted) return;\n      node.innerHTML = '<span class=\"notranslate ce-money\" data-ce-intl-price>' + escapeHtml(formatted) + '</span>';\n      node.setAttribute('data-ce-intl-price-applied', market.currency);\n    });\n  }\n\n  function parseBrlMinor(value) {\n    var match = String(value || '').replace(/\\u00a0/g, ' ').match(/R\\$\\s*([\\d.]+(?:,\\d{1,2})?|\\d+(?:\\.\\d{1,2})?)/i);\n    if (!match) return 0;\n    var raw = match[1];\n    var normalized = raw.indexOf(',') !== -1 ? raw.replace(/\\./g, '').replace(',', '.') : raw;\n    var parsed = Number(normalized);\n    return Number.isFinite(parsed) && parsed > 0 ? Math.round(parsed * 100) : 0;\n  }\n\n  function isProductPriceNode(node) {\n    if (node && node.closest && node.closest('.ce-product-sticky')) return true;\n    var root = document.querySelector('.t4s-product__info-container, .t4s-product-info__inner, .ce-product-detail') || document.querySelector('main');\n    return !root || root.contains(node);\n  }\n\n  function startPriceObserver(market, content) {\n    if (priceObserver || !window.MutationObserver) return;\n    var roots = [];\n    [\n      '.ce-product-detail__price',\n      '.ce-product-sticky',\n      '[data-pr-price][data-product-price]'\n    ].forEach(function (selector) {\n      var root = document.querySelector(selector);\n      if (root && roots.indexOf(root) === -1) roots.push(root);\n    });\n    if (!roots.length) return;\n    priceObserver = new MutationObserver(function () {\n      window.requestAnimationFrame(function () {\n        updatePriceDisplays(market, content);\n      });\n    });\n    roots.forEach(function (root) {\n      priceObserver.observe(root, { childList: true, subtree: true, characterData: true });\n    });\n  }\n\n  function isInsidePoc(node) {\n    return Boolean(node && node.closest && node.closest('[data-ce-intl-poc-panel], [data-ce-intl-poc-banner]'));\n  }\n\n  function renderProductPanel() {\n    if (document.querySelector('[data-ce-intl-poc-panel]')) return;\n    var anchor = document.querySelector('.ce-product-detail__price') || document.querySelector('[data-pr-price]') || document.querySelector('main');\n    if (!anchor) return;\n\n    var panel = document.createElement('section');\n    var en = isEnglishUi();\n    panel.className = 'ce-intl-poc';\n    panel.setAttribute('data-ce-intl-poc-panel', '');\n    panel.innerHTML = [\n      '<div class=\"ce-intl-poc__head\">',\n      '  <div>',\n      '    <p class=\"ce-intl-poc__title\">' + (en ? 'International POC on the live theme' : 'POC internacional no tema live') + '</p>',\n      // CARTPANDA LEGACY: this panel used to describe the fixed CartPanda market price.\n      '    <p class=\"ce-intl-poc__copy\">' + (en ? 'Translations and prices now follow the native Shopify storefront and checkout.' : 'Traducoes e precos agora seguem a vitrine e o checkout nativos da Shopify.') + '</p>',\n      '  </div>',\n      '  <span class=\"ce-intl-poc__badge\">POC</span>',\n      '</div>',\n      '<div class=\"ce-intl-poc__markets\" data-ce-intl-poc-markets></div>',\n      '<div class=\"ce-intl-poc__price\">',\n      '  <div class=\"ce-intl-poc__metric\"><small>' + (en ? 'BRL price' : 'Preco BRL') + '</small><strong data-ce-intl-poc-base-price>-</strong></div>',\n      // CARTPANDA LEGACY: label was \"CartPanda US price\" / \"Preco CartPanda US\".\n      '  <div class=\"ce-intl-poc__metric\"><small>' + (en ? 'Shopify market price' : 'Preco do mercado Shopify') + '</small><strong data-ce-intl-poc-target-price>-</strong></div>',\n      '  <div class=\"ce-intl-poc__metric\"><small>' + (en ? 'POC rate' : 'Taxa POC') + '</small><strong data-ce-intl-poc-rate>-</strong></div>',\n      // CARTPANDA LEGACY: label was \"CartPanda cents\" / \"Centavos CartPanda\".\n      '  <div class=\"ce-intl-poc__metric\"><small>' + (en ? 'Minor currency units' : 'Unidades monetarias menores') + '</small><strong data-ce-intl-poc-minor>-</strong></div>',\n      '</div>',\n      '<div class=\"ce-intl-poc__actions\">',\n      '  <div class=\"ce-intl-poc__field\"><label for=\"ce-intl-poc-qty\">' + (en ? 'Quantity' : 'Quantidade') + '</label><input id=\"ce-intl-poc-qty\" data-ce-intl-poc-qty type=\"number\" min=\"1\" max=\"10\" value=\"1\"></div>',\n      '  <button type=\"button\" class=\"ce-intl-poc__button\" data-ce-intl-poc-add>' + (en ? 'Add POC item to cart' : 'Adicionar ao carrinho POC') + '</button>',\n      '  <a class=\"ce-intl-poc__link\" href=\"/cart?intl_poc=1\">' + (en ? 'Open cart' : 'Abrir carrinho') + '</a>',\n      '</div>',\n      '<p class=\"ce-intl-poc__note\">' + (en ? 'This POC is limited to product WS7470. To disable it in this session, open any page with <a href=\"?intl_poc=0\">?intl_poc=0</a>.' : 'Este POC esta limitado ao produto WS7470. Para desligar nesta sessao, abra qualquer pagina com <a href=\"?intl_poc=0\">?intl_poc=0</a>.') + '</p>'\n    ].join('');\n\n    anchor.insertAdjacentElement('afterend', panel);\n    var cartLink = panel.querySelector('.ce-intl-poc__link');\n    var market = getMarket(selectedPricingMarketCode());\n    if (cartLink && market) cartLink.setAttribute('href', (nativeLocalePrefix(market) || '') + '/cart?intl_poc=1');\n    renderMarketButtons(panel);\n    panel.querySelector('[data-ce-intl-poc-add]').addEventListener('click', addProductToCart);\n    updateProductPanel();\n  }\n\n  function renderMarketButtons(panel) {\n    var wrap = panel.querySelector('[data-ce-intl-poc-markets]');\n    if (!wrap) return;\n    wrap.innerHTML = '';\n    (config.markets || []).forEach(function (market) {\n      var button = document.createElement('button');\n      button.type = 'button';\n      button.className = 'ce-intl-poc__market';\n      button.setAttribute('data-ce-intl-poc-market', market.code);\n      button.innerHTML = '<strong>' + escapeHtml(market.code) + '</strong><span>' + escapeHtml(market.currency + ' / ' + market.countryCode) + '</span>';\n      button.addEventListener('click', function () { setMarket(market.code); });\n      wrap.appendChild(button);\n    });\n  }\n\n  function updateProductPanel() {\n    var panel = document.querySelector('[data-ce-intl-poc-panel]');\n    if (!panel || !config.product) return;\n    var market = getMarket(selectedPricingMarketCode());\n    if (!market) return;\n    var baseMinor = Number(config.product.priceMinor || 0);\n    var targetMinor = targetUnitMinor(market, baseMinor);\n\n    setText(panel, '[data-ce-intl-poc-base-price]', formatMoney(baseMinor, 'BRL', 'pt-BR'));\n    setText(panel, '[data-ce-intl-poc-target-price]', formatMoneyWithCode(targetMinor, market.currency, market.locale));\n    setText(panel, '[data-ce-intl-poc-rate]', String(market.rate));\n    setText(panel, '[data-ce-intl-poc-minor]', String(targetMinor));\n\n    var buttons = panel.querySelectorAll('[data-ce-intl-poc-market]');\n    Array.prototype.forEach.call(buttons, function (button) {\n      button.classList.toggle('is-active', button.getAttribute('data-ce-intl-poc-market') === market.code);\n    });\n  }\n\n  function applyCartDisplayExperience() {\n    var market = getMarket(selectedPricingMarketCode());\n    if (!market || cartDisplayInFlight) return;\n    if (!document.querySelector('[data-cart-item], [data-cart-tt-price], .t4s-cart__totalPrice, [data-ce-cart-sticky-total]')) return;\n    cartDisplayInFlight = true;\n    fetch('/cart.js', { credentials: 'same-origin', headers: { 'Accept': 'application/json' } })\n      .then(function (response) {\n        if (!response.ok) throw new Error('Cart unavailable');\n        return response.json();\n      })\n      .then(function (cart) {\n        updateCartDisplayPrices(cart, market);\n      })\n      .catch(function () {})\n      .then(function () {\n        cartDisplayInFlight = false;\n      });\n  }\n\n  function updateCartDisplayPrices(cart, market) {\n    if (!cart || !cart.items || !cart.items.length) return;\n    var convertedItems = cart.items || [];\n    if (!convertedItems.length) return;\n\n    var convertedTotal = 0;\n    convertedItems.forEach(function (item) {\n      var unitMinor = lineItemTargetUnitMinor(item, market, item.price || config.product && config.product.priceMinor || 0);\n      var lineMinor = unitMinor * Number(item.quantity || 1);\n      convertedTotal += lineMinor;\n      updateCartItemDisplay(item, market, unitMinor, lineMinor);\n    });\n\n    updateCartTotalDisplay(formatMoneyWithCode(convertedTotal, market.currency, market.locale), market);\n  }\n\n  function updateCartItemDisplay(item, market, unitMinor, lineMinor) {\n    var roots = matchingCartItemNodes(item);\n    var unitFormatted = formatMoneyWithCode(unitMinor, market.currency, market.locale);\n    var lineFormatted = formatMoneyWithCode(lineMinor, market.currency, market.locale);\n    roots.forEach(function (root) {\n      var unitNodes = root.querySelectorAll('.t4s-cart_price');\n      Array.prototype.forEach.call(unitNodes, function (node) {\n        setPriceHtml(node, unitFormatted, market.currency);\n      });\n      var lineNodes = root.querySelectorAll('.t4s-cart-item-price');\n      Array.prototype.forEach.call(lineNodes, function (node) {\n        setPriceHtml(node, lineFormatted, market.currency);\n      });\n    });\n  }\n\n  function matchingCartItemNodes(item) {\n    var nodes = document.querySelectorAll('[data-cart-item]');\n    var matches = [];\n    Array.prototype.forEach.call(nodes, function (node) {\n      var classes = String(node.className || '');\n      var text = node.textContent || '';\n      var title = item.title || '';\n      if (classes.indexOf('cart_item_' + item.id) !== -1 || classes.indexOf('cart_item_' + item.variant_id) !== -1 || title && text.indexOf(title) !== -1) {\n        matches.push(node);\n      }\n    });\n    if (!matches.length && nodes.length === 1) matches.push(nodes[0]);\n    return matches;\n  }\n\n  function updateCartTotalDisplay(formattedTotal, market) {\n    var nodes = document.querySelectorAll('.t4s-cart__totalPrice, [data-ce-cart-sticky-total], [data-cart-tt-price]');\n    Array.prototype.forEach.call(nodes, function (node) {\n      setPriceHtml(node, formattedTotal, market.currency);\n    });\n  }\n\n  function setPriceHtml(node, formatted, currency) {\n    if (!node || node.getAttribute('data-ce-intl-price-applied') === currency && (node.textContent || '').trim() === formatted) return;\n    node.innerHTML = '<span class=\"notranslate ce-money\" data-ce-intl-price>' + escapeHtml(formatted) + '</span>';\n    node.setAttribute('data-ce-intl-price-applied', currency);\n  }\n\n  function setText(root, selector, value) {\n    var node = root.querySelector(selector);\n    if (node) node.textContent = value;\n  }\n\n  function applyCartInternationalExperience(useEnglishCopy, hidePurpose) {\n    if (!document.querySelector('[data-cart-wrapper], [data-ce-cart-checkout], .t4s-main-cart')) return;\n    if (useEnglishCopy) {\n      setCartText('.t4s-txt_add_note', 'Add order note');\n      setCartText('.t4s-txt_edit_note', 'Edit order note');\n      setCartAttr('#CartSpecialInstructions', 'placeholder', 'How can we help you?');\n      setCartText('label[for=\"CartDiscountcode\"]', 'Coupon:');\n      setCartText('#CartDiscountcode', 'Coupon code');\n      setCartAttr('#CartDiscountcode', 'placeholder', 'Coupon code');\n      var coupon = document.querySelector('#CartDiscountcode');\n      var couponInfo = coupon && coupon.previousElementSibling;\n      if (couponInfo && couponInfo.tagName === 'P') couponInfo.textContent = 'Coupon code will work on checkout page';\n      setCartHtml('.t4s-cart__tax', 'Taxes and shipping calculated at checkout.');\n      setCartText('[data-estimate-shipping-wrap] h3', 'Estimate shipping');\n      setCartText('label[for^=\"ShippingCountry_\"]', 'Country');\n      setCartText('label[for^=\"ShippingProvince_\"]', 'State / province');\n      setCartText('label[for^=\"ShippingZip_\"]', 'ZIP / postal code');\n      setCartText('[data-action=\"estimate-shipping\"] .t4s-btn-atc_text', 'Calculate shipping');\n    }\n    toggleCartPurpose(hidePurpose);\n  }\n\n  function setCartText(selector, value) {\n    var nodes = document.querySelectorAll(selector);\n    Array.prototype.forEach.call(nodes, function (node) {\n      if (node) node.textContent = value;\n    });\n  }\n\n  function setCartHtml(selector, value) {\n    var nodes = document.querySelectorAll(selector);\n    Array.prototype.forEach.call(nodes, function (node) {\n      if (node) node.innerHTML = value;\n    });\n  }\n\n  function setCartAttr(selector, attr, value) {\n    var node = document.querySelector(selector);\n    if (node) node.setAttribute(attr, value);\n  }\n\n  function toggleCartPurpose(hidePurpose) {\n    var purpose = document.querySelector('[data-ce-purpose]');\n    if (!purpose) return;\n    if (hidePurpose) {\n      purpose.hidden = true;\n      purpose.setAttribute('data-ce-purpose-disabled', 'intl');\n      Array.prototype.forEach.call(purpose.querySelectorAll('[data-ce-purpose-radio]'), function (radio) {\n        radio.required = false;\n        radio.checked = false;\n      });\n      purpose.classList.remove('is-required');\n      var error = purpose.querySelector('[data-ce-purpose-err]');\n      if (error) error.hidden = true;\n      return;\n    }\n    if (purpose.getAttribute('data-ce-purpose-disabled') === 'intl') {\n      purpose.hidden = false;\n      purpose.removeAttribute('data-ce-purpose-disabled');\n      var firstRadio = purpose.querySelector('[data-ce-purpose-radio]');\n      if (firstRadio) firstRadio.required = true;\n    }\n  }\n\n  function injectLineItemProperties() {\n    if (!config.product) return;\n    var forms = document.querySelectorAll('form[action*=\"/cart/add\"], form[data-type=\"add-to-cart-form\"], form.ce-product-form');\n    removeLineItemProperties(forms);\n  }\n\n  function removeLineItemProperties(forms) {\n    var names = [\n      'properties[_intl_poc]',\n      'properties[_intl_market]',\n      'properties[_intl_currency]',\n      'properties[_intl_rate]',\n      'properties[_intl_geo_country]',\n      'properties[_intl_payload_source]',\n      'properties[_intl_target_unit_minor]',\n      'properties[_intl_target_line_minor]'\n    ];\n    Array.prototype.forEach.call(forms || [], function (form) {\n      names.forEach(function (name) {\n        var input = form.querySelector('input[name=\"' + cssEscape(name) + '\"]');\n        if (input) input.remove();\n      });\n    });\n  }\n\n  function ensureHidden(form, name, value) {\n    var input = form.querySelector('input[name=\"' + cssEscape(name) + '\"]');\n    if (!input) {\n      input = document.createElement('input');\n      input.type = 'hidden';\n      input.name = name;\n      form.appendChild(input);\n    }\n    input.value = value;\n  }\n\n  function addProductToCart(event) {\n    event.preventDefault();\n    var button = event.currentTarget;\n    if (!config.product || button.disabled) return;\n    var market = getMarket(selectedPricingMarketCode());\n    if (!market) return;\n    var qtyInput = document.querySelector('[data-ce-intl-poc-qty]');\n    var quantity = Math.max(1, Math.min(10, parseInt(qtyInput && qtyInput.value, 10) || 1));\n    button.disabled = true;\n    button.textContent = isEnglishUi() ? 'Adding...' : 'Adicionando...';\n\n    fetch('/cart/add.js', {\n      method: 'POST',\n      credentials: 'same-origin',\n      headers: {\n        'Accept': 'application/json',\n        'Content-Type': 'application/json'\n      },\n      body: JSON.stringify({\n        id: Number(config.product.variantId),\n        quantity: quantity\n      })\n    })\n      .then(function (response) {\n        if (!response.ok) throw new Error(isEnglishUi() ? 'Could not add the product to the cart.' : 'Nao foi possivel adicionar o produto ao carrinho.');\n        var cartPath = (nativeLocalePrefix(market) || '') + '/cart';\n        window.location.href = cartPath + '?intl_poc=1';\n      })\n      .catch(function (error) {\n        button.disabled = false;\n        button.textContent = isEnglishUi() ? 'Add POC item to cart' : 'Adicionar ao carrinho POC';\n        alert(error.message || (isEnglishUi() ? 'Failed to add to cart.' : 'Falha ao adicionar ao carrinho.'));\n      });\n  }\n\n  function renderCartBanner() {\n    if (document.querySelector('[data-ce-intl-poc-banner]')) return;\n    var main = document.getElementById('MainContent') || document.querySelector('main');\n    if (!main) return;\n    var market = getMarket(selectedPricingMarketCode());\n    if (!market) return;\n    var en = isEnglishUi();\n    var banner = document.createElement('div');\n    banner.className = 'ce-intl-poc-banner';\n    banner.setAttribute('data-ce-intl-poc-banner', '');\n    // CARTPANDA LEGACY: the banner previously announced the CartPanda test checkout.\n    banner.innerHTML = '<strong>' + (en ? 'International POC active: ' : 'POC internacional ativo: ') + escapeHtml(market.label) + '</strong><span>' + (en ? 'Detected country: ' : 'Pais detectado: ') + escapeHtml(effectiveGeoCountry() || '-') + (en ? '. Native Shopify checkout enabled for testing. ' : '. Checkout nativo da Shopify liberado para teste. ') + '</span><button type=\"button\" data-ce-intl-poc-disable>' + (en ? 'Disable POC' : 'Desativar POC') + '</button>';\n    main.insertAdjacentElement('afterbegin', banner);\n    banner.querySelector('[data-ce-intl-poc-disable]').addEventListener('click', function () {\n      localStorage.removeItem(ENABLED_KEY);\n      localStorage.removeItem(LAST_RESPONSE_KEY);\n      window.location.href = window.location.pathname + '?intl_poc=0';\n    });\n  }\n\n  /* CARTPANDA LEGACY - interceptadores e handoff preservados para reversao.\n     O bloco nao e executado durante o teste do checkout nativo da Shopify.\n  function installCheckoutInterceptors() {\n    window.addEventListener('click', checkoutClickHandler, true);\n    document.addEventListener('click', checkoutClickHandler, true);\n\n    document.addEventListener('submit', function (event) {\n      if (!isPricingExperienceActive()) return;\n      var form = event.target;\n      if (!isCheckoutForm(form)) return;\n      var active = document.activeElement;\n      if (active && active.closest && active.closest('[data-ce-intl-poc-panel]')) return;\n      if (!validatePurposeSelection(event)) return;\n      event.preventDefault();\n      event.stopImmediatePropagation();\n      runCartpandaCheckout();\n    }, true);\n  }\n\n  function checkoutClickHandler(event) {\n    if (!isPricingExperienceActive() || event.__ceIntlPocHandled) return;\n    var trigger = event.target.closest && event.target.closest(CHECKOUT_SELECTOR);\n    if (!trigger || trigger.closest('[data-ce-intl-poc-panel]')) return;\n    if (!isCheckoutIntent(trigger)) return;\n    if (!validatePurposeSelection(event)) return;\n    event.__ceIntlPocHandled = true;\n    event.preventDefault();\n    event.stopImmediatePropagation();\n    runCartpandaCheckout();\n  }\n\n  function isCheckoutIntent(node) {\n    if (!node) return false;\n    if (node.matches('.cartx_check_mainBtn, .t4s-btn__checkout, [data-ce-cart-checkout], a[href=\"/checkout\"], a[href=\"/a/checkout\"]')) return true;\n    if (node.getAttribute('name') === 'checkout') return true;\n    var text = (node.textContent || node.value || '').toLowerCase();\n    return text.indexOf('checkout') !== -1 || text.indexOf('finalizar') !== -1 || text.indexOf('comprar') !== -1;\n  }\n\n  function isCheckoutForm(form) {\n    if (!form || !form.matches) return false;\n    var action = form.getAttribute('action') || '';\n    if (action.indexOf('/cart/add') !== -1) return false;\n    return action.indexOf('/checkout') !== -1 || /\\/cart\\/?$/.test(action);\n  }\n\n  function validatePurposeSelection(event) {\n    var purpose = document.querySelector('[data-ce-purpose]');\n    if (!purpose) return true;\n    if (purpose.hidden || purpose.getAttribute('data-ce-purpose-disabled') === 'intl') return true;\n    if (purpose.querySelector('[data-ce-purpose-radio]:checked')) return true;\n    event.preventDefault();\n    event.stopImmediatePropagation();\n    purpose.classList.add('is-required');\n    var error = purpose.querySelector('[data-ce-purpose-err]');\n    if (error) error.hidden = false;\n    purpose.scrollIntoView({ block: 'center', behavior: 'smooth' });\n    return false;\n  }\n\n  function runCartpandaCheckout() {\n    var market = getMarket(selectedPricingMarketCode());\n    if (!market) return;\n    showLoader();\n    fetch('/cart.json', { credentials: 'same-origin', headers: { 'Accept': 'application/json' } })\n      .then(function (response) {\n        if (!response.ok) throw new Error('Nao foi possivel ler o carrinho.');\n        return response.json();\n      })\n      .then(function (cart) {\n        var converted = convertCartPayload(cart, market);\n        try {\n          localStorage.setItem(LAST_RESPONSE_KEY + '_payload', JSON.stringify({\n            source: 'ce_theme_converted_checkout',\n            market: market.code,\n            currency: market.currency,\n            total_price: converted.total_price,\n            original_cart_total_price: cart.total_price,\n            item_count: converted.item_count\n          }));\n        } catch (error) {}\n        return postCartpanda({\n          shop: config.shop,\n          host_name: window.location.host || config.hostName,\n          cart_payload: converted\n        });\n      })\n      .then(function (response) {\n        localStorage.setItem(LAST_RESPONSE_KEY, JSON.stringify(response));\n        var url = appendCheckoutCurrency(response && response.checkout_direct_url, market);\n        if (!url) throw new Error('CartPanda nao retornou checkout_direct_url.');\n        if (response.remove_cart_item) {\n          return fetch('/cart/clear.js', { method: 'POST', credentials: 'same-origin' })\n            .catch(function () {})\n            .then(function () { window.location.href = url; });\n        }\n        window.location.href = url;\n        return null;\n      })\n      .catch(function (error) {\n        hideLoader();\n        console.error('[CE Intl POC]', error);\n        alert(error.message || (isEnglishUi() ? 'International POC checkout failed.' : 'Falha no checkout internacional POC.'));\n      });\n  }\n  */\n\n  function appendCheckoutCurrency(url, market) {\n    if (!url || !market || !market.currency) return url;\n    try {\n      var checkoutUrl = new URL(url, window.location.origin);\n      checkoutUrl.searchParams.set('currency', market.currency);\n      try {\n        localStorage.setItem(LAST_RESPONSE_KEY + '_checkout_url', checkoutUrl.href);\n      } catch (error) {}\n      return checkoutUrl.href;\n    } catch (error) {\n      var separator = url.indexOf('?') === -1 ? '?' : '&';\n      return url + separator + 'currency=' + encodeURIComponent(market.currency);\n    }\n  }\n\n  function convertCartPayload(cart, market) {\n    if (!cart || !cart.items || !cart.items.length) {\n      throw new Error('Carrinho vazio.');\n    }\n    var payload = JSON.parse(JSON.stringify(cart));\n    var originalTotal = 0;\n    var finalTotal = 0;\n\n    payload.items.forEach(function (item) {\n      var quantity = Number(item.quantity || 1);\n      var price = lineItemTargetUnitMinor(item, market, item.price || item.final_price || 0);\n      var originalPrice = lineItemTargetUnitMinor(item, market, item.original_price || item.price || 0);\n      var discountedPrice = lineItemTargetUnitMinor(item, market, item.discounted_price || item.final_price || item.price || 0);\n      var linePrice = price * quantity;\n      var originalLinePrice = originalPrice * quantity;\n      var finalLinePrice = discountedPrice * quantity;\n\n      item.price = price;\n      item.original_price = originalPrice;\n      item.discounted_price = discountedPrice;\n      item.final_price = price;\n      item.line_price = linePrice;\n      item.original_line_price = originalLinePrice;\n      item.final_line_price = finalLinePrice;\n      item.total_discount = Math.max(0, originalLinePrice - finalLinePrice);\n      item.presentment_price = price / 100;\n      item.properties = sanitizeLineItemProperties(item.properties);\n\n      originalTotal += originalLinePrice;\n      finalTotal += finalLinePrice;\n    });\n\n    payload.currency = market.currency;\n    payload.original_total_price = originalTotal;\n    payload.total_price = finalTotal;\n    payload.items_subtotal_price = finalTotal;\n    payload.total_discount = Math.max(0, originalTotal - finalTotal);\n    payload.attributes = sanitizeCartAttributes(payload.attributes);\n    return payload;\n  }\n\n  function sanitizeLineItemProperties(properties) {\n    var clean = {};\n    Object.keys(properties || {}).forEach(function (key) {\n      if (/^_intl_/i.test(key)) return;\n      var value = properties[key];\n      if (value == null || value === '') return;\n      clean[key] = value;\n    });\n    return clean;\n  }\n\n  function sanitizeCartAttributes(attributes) {\n    var clean = {};\n    Object.keys(attributes || {}).forEach(function (key) {\n      if (/^intl_/i.test(key)) return;\n      if (/^(base_currency|presentment_currency|exchange_rate|original_total_price_brl_minor)$/i.test(key)) return;\n      var value = attributes[key];\n      if (value == null || value === '') return;\n      clean[key] = value;\n    });\n    return clean;\n  }\n\n  function convertMinor(value, rate) {\n    return Math.round((Number(value) || 0) * (Number(rate) || 1));\n  }\n\n  function targetUnitMinor(market, baseMinor, content) {\n    content = content || marketContent(market) || {};\n    var variantFixed = config.product ? fixedVariantPriceMinor(config.product.variantId, market) : null;\n    if (variantFixed != null) return variantFixed;\n    if (content.priceMinor != null) return Number(content.priceMinor);\n    return convertMinor(baseMinor, market && market.rate);\n  }\n\n  function lineItemTargetUnitMinor(item, market, baseMinor) {\n    var variantFixed = fixedVariantPriceMinor(item && (item.variant_id || item.id), market);\n    if (variantFixed != null) return variantFixed;\n    return convertMinor(baseMinor, market && market.rate);\n  }\n\n  function fixedVariantPriceMinor(variantId, market) {\n    if (!variantId || !market) return null;\n    var prices = config.variantPrices || {};\n    var marketPrices = prices[String(variantId)];\n    if (!marketPrices || marketPrices[market.code] == null) return null;\n    var value = Number(marketPrices[market.code]);\n    return Number.isFinite(value) && value > 0 ? Math.round(value) : null;\n  }\n\n  /* CARTPANDA LEGACY - chamada HTTP preservada, mas comentada.\n  function postCartpanda(data) {\n    return new Promise(function (resolve, reject) {\n      var xhr = new XMLHttpRequest();\n      xhr.open('POST', config.cartpandaEndpoint);\n      xhr.onreadystatechange = function () {\n        if (xhr.readyState <= 3) return;\n        if (xhr.status !== 200) {\n          reject(new Error('CartPanda retornou HTTP ' + xhr.status + '.'));\n          return;\n        }\n        try {\n          resolve(JSON.parse(xhr.responseText || '{}'));\n        } catch (error) {\n          reject(new Error('Resposta CartPanda invalida.'));\n        }\n      };\n      xhr.onerror = function () { reject(new Error('Falha de rede ao chamar CartPanda.')); };\n      xhr.send(JSON.stringify(data));\n    });\n  }\n  */\n\n  /* CARTPANDA LEGACY - loader usado apenas pelo handoff desativado.\n  function showLoader() {\n    var loader = document.querySelector('.cartx-loader');\n    if (loader) loader.style.display = 'block';\n  }\n\n  function hideLoader() {\n    var loader = document.querySelector('.cartx-loader');\n    if (loader) loader.style.display = 'none';\n  }\n  */\n\n  function formatMoney(minor, currency, locale) {\n    try {\n      return new Intl.NumberFormat(locale || 'pt-BR', {\n        style: 'currency',\n        currency: currency,\n        maximumFractionDigits: 2\n      }).format((Number(minor) || 0) / 100);\n    } catch (error) {\n      return currency + ' ' + (((Number(minor) || 0) / 100).toFixed(2));\n    }\n  }\n\n  function formatMoneyWithCode(minor, currency, locale) {\n    return formatMoney(minor, currency, locale) + ' ' + currency;\n  }\n\n  function escapeHtml(value) {\n    return String(value == null ? '' : value)\n      .replace(/&/g, '&amp;')\n      .replace(/</g, '&lt;')\n      .replace(/>/g, '&gt;')\n      .replace(/\"/g, '&quot;')\n      .replace(/'/g, '&#39;');\n  }\n\n  function cssEscape(value) {\n    if (window.CSS && CSS.escape) return CSS.escape(value);\n    return String(value).replace(/\"/g, '\\\\\"');\n  }\n})();\n"],
  "mappings": "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",
  "names": []
}
