{
  "version": 3,
  "sources": ["/cdn/shop/files/gj-product-extras-v3.js?x=1790913562660"],
  "sourcesContent": ["/* Gochujar product-page extras (added 2026-10-02). v3: shorter Judge.me email placeholders + 14px placeholder text on phones so nothing is cut off. v2: the nutrition card ends with an \"estimate\" note based on the label's per-x g basis.\n   1) Nutrition card: turn the PageFly \"Per serving\" nutrition sentence into a small nutrition card. Added 2026-10-02.\n   Looks for a Paragraph4 that starts with \"Per ... Serving (...)\" (any wording) on product pages and rebuilds it as rows.\n   Handles both \"Calories 141 kcal; Total Fat 6.6 g; ...\" and \"123 calories, 2.1 g total fat, ... and 5.1 g protein.\"\n   2) \"Ask a Question\" links: any link to #ask-question opens Judge.me's Ask a question form in the reviews box and scrolls to it. */\n(function(){\n  var CSS = '.gj-nf{max-width:520px;margin:0 auto;background:#fbf7f1;border:1px solid #e6dccd;border-radius:16px;padding:18px 24px 10px;text-align:left;font-family:\"IBM Plex Sans KR\",sans-serif;color:#4a423c;}' +\n    '.gj-nf-head{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:10px;border-bottom:3px solid #1e1a17;font:600 17px/1.3 \"Noto Serif KR\",serif;color:#1e1a17;}' +\n    '.gj-nf-head small{font:500 13px/1.3 \"IBM Plex Sans KR\",sans-serif;color:#7a6f66;}' +\n    '.gj-nf-row{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid #e6dccd;font-size:15px;line-height:1.4;}' +\n    '.gj-nf-row:last-child,.gj-nf-row:has(+ .gj-nf-note){border-bottom:0;}' +\n    '.gj-nf-row b{font-weight:600;color:#1e1a17;white-space:nowrap;}' +\n    '.gj-nf-row.sub span{padding-left:16px;color:#6b625b;}' +\n    '.gj-nf-row.kcal{font-size:16px;}.gj-nf-row.kcal span{font-weight:600;color:#1e1a17;}' +\n    '.gj-nf-note{padding:10px 0 8px;border-top:1px solid #e6dccd;font-size:12.5px;line-height:1.5;color:#7a6f66;font-style:italic;}' +\n    '@media (max-width:767px){.jdgm-rev-widg input::placeholder,.jdgm-rev-widg textarea::placeholder{font-size:14px;}}' +\n    '.gj-ing-label{font-weight:600;color:#1e1a17;}' +\n    '@media (max-width:767px){.gj-nf{padding:14px 18px 6px;}.gj-nf-row{font-size:14.5px;padding:8px 0;}}';\n  var st = document.createElement('style'); st.textContent = CSS; document.head.appendChild(st);\n\n  var UNIT = '(?:kcal|mcg|\u00B5g|mg|g|%)';\n  function cap(s){ s = s.replace(/^of\\s+/i,'').trim(); return s.replace(/\\b\\w/g, function(c){return c.toUpperCase();}); }\n  function parse(body){\n    body = body.replace(/\\.\\s*$/,'').replace(/\\(including\\s+/gi, ', ').replace(/[()]/g, '');\n    var parts = body.indexOf(';') > -1 ? body.split(/\\s*;\\s*/) : body.split(/\\s*,\\s*(?:and\\s+)?|\\s+and\\s+(?=[\\d.])/);\n    var rows = [];\n    parts.forEach(function(p){\n      p = p.trim(); if (!p) return;\n      var m = p.match(new RegExp('^([\\\\d.]+)\\\\s*(' + UNIT + ')?\\\\s+(?:of\\\\s+)?(.+)$','i'));\n      if (m){\n        var label = m[3], unit = m[2] || '';\n        if (/^calories?$/i.test(label)) { rows.push(['Calories', m[1] + ' kcal']); return; }\n        rows.push([cap(label), m[1] + (unit ? ' ' + unit : '')]); return;\n      }\n      m = p.match(new RegExp('^(.+?)\\\\s+([\\\\d.]+)\\\\s*(' + UNIT + ')?$','i'));\n      if (m){ rows.push([cap(m[1]), m[2] + (m[3] ? ' ' + m[3] : '')]); return; }\n      rows.push(null);\n    });\n    if (rows.indexOf(null) > -1 || rows.length < 3) return null;\n    return rows;\n  }\n  function build(el){\n    if (el.dataset.gjNf) return; el.dataset.gjNf = '1';\n    var txt = el.textContent.replace(/\\s+/g,' ').trim();\n    var m = txt.match(/^(Per[^:]*?Serving[^:]*?)\\s*(\\(([^)]*)\\))?\\s*:\\s*(.+)$/i);\n    if (!m) return;\n    var rows = parse(m[4]); if (!rows) return;\n    var size = m[3] ? m[3] : '';\n    var html = '<div class=\"gj-nf\"><div class=\"gj-nf-head\"><span>Per serving</span>' + (size ? '<small>' + size + '</small>' : '') + '</div>';\n    rows.forEach(function(r){\n      var cls = /^calories$/i.test(r[0]) ? ' kcal' : (/saturated|trans|sugar|fiber|fibre/i.test(r[0]) ? ' sub' : '');\n      html += '<div class=\"gj-nf-row' + cls + '\"><span>' + r[0] + '</span><b>' + r[1] + '</b></div>';\n    });\n    var basis = '';\n    var blk = el.closest('[data-pf-type=\"FlexBlock\"]') || el.parentElement;\n    if (blk){ var bm = blk.textContent.match(/based on\\s+([\\d.]+\\s*(?:g|ml))/i); if (bm) basis = bm[1].replace(/\\s+/,' '); }\n    html += '<div class=\"gj-nf-note\">Per-serving values are estimates, calculated from the maker\\u2019s nutrition label' + (basis ? ' (per ' + basis + ')' : '') + '.</div>';\n    html += '</div>';\n    var target = el.querySelector('.pf-paragraph-content') || el;\n    target.innerHTML = html;\n  }\n  function ingredients(el){\n    if (el.dataset.gjIng) return; el.dataset.gjIng = '1';\n    var t = el.querySelector('.pf-paragraph-content') || el;\n    if (t.querySelector('strong,b')) return;\n    t.innerHTML = t.innerHTML.replace(/^(\\s*Full Ingredients List:)/i, '<span class=\"gj-ing-label\">$1</span>');\n  }\n  function run(){\n    if (!document.body.classList.contains('template-product')) return;\n    document.querySelectorAll('[data-pf-type=\"Paragraph4\"]').forEach(function(el){\n      var t = el.textContent.trim();\n      if (/^Per\\b[^:]{0,40}Serving/i.test(t)) build(el);\n      else if (/^Full Ingredients List:/i.test(t)) ingredients(el);\n    });\n  }\n  if (document.readyState !== 'loading') run(); else document.addEventListener('DOMContentLoaded', run);\n  window.addEventListener('load', run);\n  /* 2) Ask a Question -> Judge.me question form */\n  document.addEventListener('click', function(e){\n    var a = e.target.closest && e.target.closest('a[href$=\"#ask-question\"]');\n    if (!a) return;\n    var btn = document.querySelector('.jdgm-ask-question-btn');\n    if (!btn) return; /* no Judge.me on this page: let the link do nothing harmful */\n    e.preventDefault();\n    if (btn.getAttribute('aria-expanded') !== 'true') btn.click();\n    if (btn.getAttribute('aria-expanded') !== 'true') setTimeout(function(){ if (btn.getAttribute('aria-expanded') !== 'true') btn.click(); }, 300);\n    setTimeout(function(){\n      var f = document.querySelector('.jdgm-question-form-wrapper') || btn;\n      var y = f.getBoundingClientRect().top + window.pageYOffset - 120;\n      window.scrollTo({top: y, behavior: 'smooth'});\n      var inp = f.querySelector && f.querySelector('input, textarea'); if (inp) setTimeout(function(){ try{ inp.focus({preventScroll:true}); }catch(x){} }, 500);\n    }, 450);\n  });\n  /* 3) Judge.me form placeholders that fit a phone-width field */\n  function placeholders(){\n    document.querySelectorAll('.jdgm-question-form input[name=\"reviewer_email\"]').forEach(function(i){ i.placeholder = 'Your email, so we can reply'; });\n    document.querySelectorAll('.jdgm-form:not(.jdgm-question-form) input[name=\"reviewer_email\"]').forEach(function(i){ i.placeholder = 'Account email (to credit you $1.50)'; });\n  }\n  window.addEventListener('load', function(){ placeholders(); setTimeout(placeholders, 1500); setTimeout(placeholders, 4000); });\n  document.addEventListener('click', function(e){ if (e.target.closest && e.target.closest('.jdgm-rev-widg, a[href$=\"#ask-question\"]')) setTimeout(placeholders, 300); });\n})();\n"],
  "mappings": "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",
  "names": []
}
