{
  "version": 3,
  "sources": ["/cdn/shop/t/111/assets/wn-quiz.js?x=6842"],
  "sourcesContent": ["/* Wellness Nest body quiz: ONE engine for the home popup and the quiz landing page.\n   Data: window.WNQ_DATA (built from quiz.json). Config + live offers: <script id=\"wnq-cfg\"> + [data-wnq-offer] (snippet wn-quiz-offers).\n   Mount: <div data-wnq data-wnq-page=\"home|lp\"></div>. Klaviyo: list R4CVZ8 = 'Newsletter' of the Wellness Nest Klaviyo account TdAR3G (was SLfvw9 = AgeAura account, 400 'List not found', fixed FE-403 H5), revision 2025-01-15, EMAIL consent for R4CVZ8 + Vh2Nxu; SMS consent for Rh2KMy only when checked. */\n(() => {\n  'use strict';\n  if (window.WNQ || !window.WNQ_DATA) return;\n  const D = window.WNQ_DATA;\n  const esc = s => String(s).replace(/[&<>\"']/g, c => ({ '&': '&amp;', '<': '&lt;', '>': '&gt;', '\"': '&quot;', \"'\": '&#39;' }[c]));\n  const $ = (s, r = document) => r.querySelector(s), $$ = (s, r = document) => [...r.querySelectorAll(s)];\n  const SS = { get: k => { try { return sessionStorage.getItem(k) || ''; } catch (e) { return ''; } }, set: (k, v) => { try { sessionStorage.setItem(k, v); } catch (e) {} } };\n  const RULES = 'https://wellnessnest.co/pages/iphone-duo-giveaway-official-rules';\n  const PRIZE = 'https://cdn.shopify.com/s/files/1/0810/1563/6283/files/giveaway-prize-mobile-hires-white.webp?v=1790743704&width=1098';\n  const LIST = 'R4CVZ8'; // newsletter. The giveaway entry = profile property giveaway_details_complete + event 'Completed Body Quiz' (draw by segment).\n  const KV = 'https://a.klaviyo.com/client/', KQ = '?company_id=TdAR3G', KH = { 'Content-Type': 'application/vnd.api+json', revision: '2025-01-15' };\n  const cfgEl = document.getElementById('wnq-cfg');\n  const CFG = cfgEl ? JSON.parse(cfgEl.textContent) : { img: {}, trust: {} };\n  const cap = s => s.charAt(0).toUpperCase() + s.slice(1);\n\n  // ---------- pure logic (also used by the QA script) ----------\n  const partsFor = who => D.parts.filter(p => !p.womenOnly || who === 'woman');\n  const qCount = who => partsFor(who).reduce((n, p) => n + p.questions.length, 0) + 1;\n  const flow = who => {\n    const f = [{ t: 'about' }];\n    if (!who) return f;\n    partsFor(who).forEach(p => { p.questions.forEach((q, qi) => f.push({ t: 'q', p, q, qi })); f.push({ t: 'expert', p }); });\n    return f;\n  };\n  // Highest part total = match. Tie order = D.tiebreak (1 > 3 > 2 > 4). Second part with total >= stackMin = stack.\n  const score = (ans, who) => {\n    const parts = partsFor(who), totals = {};\n    parts.forEach(p => { totals[p.id] = p.questions.reduce((s, q) => s + (+ans[q.id] || 0), 0); });\n    const rank = [...parts].sort((a, b) => totals[b.id] - totals[a.id] || D.tiebreak.indexOf(a.n) - D.tiebreak.indexOf(b.n));\n    const second = rank[1];\n    return { totals, match: rank[0].product, matchPart: rank[0].id, stack: second && totals[second.id] >= D.stackMin ? second.product : null, stackPart: second && totals[second.id] >= D.stackMin ? second.id : null };\n  };\n  const level = t => D.levels.find(l => t <= l.max).t;\n  const usPhone = v => { const d = v.replace(/\\D/g, ''), n = d.length === 11 && d[0] === '1' ? d.slice(1) : d; return /^[2-9]\\d{2}[2-9]\\d{6}$/.test(n) ? '+1' + n : ''; };\n  const ageOf = v => { const [y, m, d] = v.split('-').map(Number), t = new Date(); return t.getFullYear() - y - (t.getMonth() + 1 < m || (t.getMonth() + 1 === m && t.getDate() < d) ? 1 : 0); };\n\n  // ---------- live offers (wn-offer snippet via wn-quiz-offers) ----------\n  const P = {};\n  const readOffers = () => $$('[data-wnq-offer]').forEach(el => { const d = el.dataset; P[d.pid] = { pid: d.pid, name: d.name, once: +d.once, sub: +d.sub, mSub: d.mSub, mOnce: d.mOnce, pct: d.pct, pack: +d.pack, was: +d.was, vid: d.vid, sp: d.sp, plan: d.plan, unit: d.unit || '', url: d.url, img: d.img, rating: +d.rating || 0, count: +d.count || 0 }; });\n\n  // ---------- Klaviyo (client API) ----------\n  const profile = (email, name, phone, props) => ({ email, ...(name && { first_name: name }), ...(phone && { phone_number: phone }), ...(props && { properties: props }) });\n  const kvJoin = (email, name, props, phone, list = LIST) => { if (list === LIST) kvJoin(email, name, props, phone, 'Vh2Nxu').catch(() => {}); return fetch(KV + 'subscriptions' + KQ, { method: 'POST', headers: KH, body: JSON.stringify({ data: { type: 'subscription', attributes: { custom_source: 'Body quiz - iPhone Duo giveaway', profile: { data: { type: 'profile', attributes: { ...profile(email, name, phone, props), subscriptions: { email: { marketing: { consent: 'SUBSCRIBED' } }, ...(list === 'Rh2KMy' && { sms: { marketing: { consent: 'SUBSCRIBED' } } }) } } } } }, relationships: { list: { data: { type: 'list', id: list } } } } }) }); };\n  const kvEvent = (email, name, metric, props, profProps) => fetch(KV + 'events' + KQ, { method: 'POST', headers: KH, body: JSON.stringify({ data: { type: 'event', attributes: { properties: props, metric: { data: { type: 'metric', attributes: { name: metric } } }, profile: { data: { type: 'profile', attributes: profile(email, name, '', profProps) } } } } }) });\n\n  // ---------- cart ----------\n  const addItems = async (lines, btn) => {\n    if (window.WNQ_ADD) return window.WNQ_ADD(lines, btn);\n    const root = (window.Shopify && Shopify.routes && Shopify.routes.root) || '/';\n    const items = lines.map(({ pid }) => { const p = P[pid]; return { id: +p.vid, quantity: 3, selling_plan: +p.sp }; });\n    const dr = document.querySelector('cart-drawer'), sections = dr && dr.getSectionsToRender ? dr.getSectionsToRender().map(x => x.id) : [];\n    btn && btn.setAttribute('aria-busy', 'true');\n    try {\n      const r = await fetch(root + 'cart/add.js', { method: 'POST', headers: { 'Content-Type': 'application/json', Accept: 'application/json' }, body: JSON.stringify({ items, sections, sections_url: location.pathname }) });\n      const data = await r.json();\n      if (!r.ok) throw new Error(data.description || data.message || 'Could not add to cart.');\n      if (dr && dr.renderContents && data.sections) { dr.classList.remove('is-empty'); dr.renderContents(data); }\n      setTimeout(() => { const x = document.querySelector('cart-drawer'); if (x && x.open && !x.classList.contains('active')) x.open(); else if (!x) location.href = root + 'cart'; }, 50);\n      return true;\n    } catch (err) { toast(err.message); return false; } finally { btn && btn.removeAttribute('aria-busy'); }\n  };\n  const toast = msg => { let t = $('.wq-toast'); if (!t) { t = document.createElement('div'); t.className = 'wq-toast'; t.setAttribute('role', 'status'); document.body.appendChild(t); } t.textContent = msg; t.hidden = false; clearTimeout(t._h); t._h = setTimeout(() => { t.hidden = true; }, 3500); };\n\n  // ---------- one quiz instance ----------\n  const mount = (root, opts = {}) => {\n    const page = opts.page || root.dataset.wnqPage || 'home';\n    const st = { stage: 'gate1', i: 0, ans: {}, who: '', name: SS.get('wn_quiz_name'), email: SS.get('wn_quiz_email'), details: SS.get('wn_quiz_details'), sent: false };\n    root.classList.add('wq');\n    const stage = () => (st.email && st.details ? 'quiz' : st.email ? 'gate2' : 'gate1');\n    st.stage = stage();\n    const nm = () => esc(cap(st.name || 'Friend'));\n    const fill = s => s.replace(/\\{name\\}/g, nm());\n\n    // ----- gate -----\n    const gate1 = () => `<div class=\"q-gate\" id=\"q-gate\">\n      <img class=\"q-gate__prize\" src=\"${PRIZE}\" width=\"1098\" height=\"351\" alt=\"iPhone Duo, $1,999 USD prize value\">\n      <p class=\"q-gate__eyebrow\">Wellness Nest giveaway</p>\n      <h3 class=\"q-gate__h\" tabindex=\"-1\">Find out what your body is telling you. Get a chance to win an iPhone Duo.</h3>\n      <p class=\"q-gate__p\">Take the free 2-minute body quiz. Meet four health experts, then get your personal body report. Enter your name and email first: we send your report and enter you in the <b>$1,999 iPhone Duo</b> draw.</p>\n      <form id=\"q-gate-form\" novalidate>\n        <label for=\"q-first\">First name</label>\n        <input id=\"q-first\" name=\"first\" type=\"text\" autocomplete=\"given-name\" placeholder=\"Alex\" maxlength=\"40\" required aria-describedby=\"q-err\">\n        <label for=\"q-email\">Your email address</label>\n        <input id=\"q-email\" name=\"email\" type=\"email\" autocomplete=\"email\" inputmode=\"email\" placeholder=\"you@example.com\" required aria-describedby=\"q-err\">\n        <p class=\"q-err\" id=\"q-err\" role=\"alert\"></p>\n        <button class=\"btn btn--block\" type=\"submit\" id=\"q-start\">Next &rarr;</button>\n        ${page === 'home' ? '<button class=\"btn btn--ghost btn--block q-gate__no\" type=\"button\" id=\"q-decline\">No thanks, I don&#39;t want iPhone Duo.</button>' : ''}\n      </form>\n      <p class=\"q-gate__fine\">One entry per person. A chance to win, a prize is not guaranteed. US residents 18+. By entering you agree to get emails from Wellness Nest. You can opt out of emails any time. <a href=\"${RULES}\" target=\"_blank\" rel=\"noopener\">Official Rules</a>.</p>\n    </div>`;\n    const gate2 = () => `<div class=\"q-gate\" id=\"q-gate\">\n      <p class=\"q-gate__eyebrow\">Wellness Nest giveaway</p>\n      <h3 class=\"q-gate__h\" tabindex=\"-1\">Almost there, ${nm()}.</h3>\n      <form id=\"q-details-form\" novalidate>\n        <p class=\"q-gate__step\">How do we reach you if you win?</p>\n        <label for=\"q-phone\">Mobile phone (US)</label>\n        <input id=\"q-phone\" name=\"phone\" type=\"tel\" autocomplete=\"tel-national\" inputmode=\"tel\" placeholder=\"(555) 123-4567\" required aria-describedby=\"q-err2\">\n        <label for=\"q-sms\" style=\"display:flex;align-items:flex-start;gap:12px;min-height:44px;padding:12px 0;color:inherit;cursor:pointer\">\n          <input id=\"q-sms\" name=\"sms\" type=\"checkbox\" style=\"appearance:auto;flex:0 0 20px;width:20px;height:20px;min-height:20px;margin:2px 0 0;accent-color:currentColor;color:inherit;outline:1px solid currentColor;outline-offset:-1px\">\n          <span><b>Text me my body report + VIP deals</b><small style=\"display:block;margin-top:6px;font-size:12px;line-height:1.5;font-weight:400;color:inherit\">By checking this box, you agree to receive recurring automated marketing texts from Wellness Nest at the number provided. Consent is not a condition of purchase or entry. Msg &amp; data rates may apply. Msg frequency varies. Reply HELP for help, STOP to cancel. <a href=\"/policies/terms-of-service\" target=\"_blank\" rel=\"noopener\" style=\"color:inherit;text-decoration:underline\">Terms</a> &amp; <a href=\"/policies/privacy-policy\" target=\"_blank\" rel=\"noopener\" style=\"color:inherit;text-decoration:underline\">Privacy</a>.</small></span>\n        </label>\n        <label for=\"q-dob\">Date of birth</label>\n        <input id=\"q-dob\" name=\"dob\" type=\"date\" autocomplete=\"bday\" min=\"1900-01-01\" required aria-describedby=\"q-err2\">\n        <p class=\"q-err\" id=\"q-err2\" role=\"alert\"></p>\n        <button class=\"btn btn--block\" type=\"submit\" id=\"q-start2\">Start the quiz &rarr;</button>\n        <p class=\"q-gate__fine\">We use your phone and birth date to reach you if you win, to confirm you are 18+ and to email you a birthday offer. We text you offers only if you tick the box above.</p>\n      </form>\n      <p class=\"q-gate__fine\">One entry per person. A chance to win, a prize is not guaranteed. US residents 18+. <a href=\"${RULES}\" target=\"_blank\" rel=\"noopener\">Official Rules</a>.</p>\n    </div>`;\n\n    // ----- screens -----\n    const expertStrip = p => `<div class=\"wq-expert\"><img src=\"${esc(CFG.img[p.expert.id] || '')}\" width=\"56\" height=\"56\" alt=\"\" loading=\"lazy\"><div><b>${esc(p.expert.name)}</b><span>${esc(p.expert.cred)}</span></div></div>`;\n    const progress = (f, i) => {\n      const np = partsFor(st.who).length, cur = f[i].t === 'about' ? 0 : partsFor(st.who).findIndex(p => p === f[i].p) + 1, n = np + 1;\n      return `<div class=\"q-progress\" aria-hidden=\"true\">${Array.from({ length: n }, (_, k) => `<span class=\"${k <= cur ? 'on' : ''}\"></span>`).join('')}</div>`;\n    };\n    const opts4 = (q, cur, scale) => `<div class=\"opts\">${scale.map(a => `<label class=\"opt\"><input type=\"radio\" name=\"${q}\" value=\"${a.v !== undefined ? esc(a.v) : a.s}\"${String(cur) === String(a.v !== undefined ? a.v : a.s) ? ' checked' : ''}><span>${esc(a.t)}</span></label>`).join('')}</div>`;\n    const screen = () => {\n      const f = flow(st.who), s = f[st.i];\n      if (s.t === 'about') {\n        return `<form class=\"wq-form\" novalidate>${progress(f, st.i)}\n          <p class=\"q-step-label\" aria-live=\"polite\">First, a quick one about you</p>\n          <fieldset><legend tabindex=\"-1\">${fill(D.about.q)}</legend>${opts4('who', st.who, D.about.answers)}</fieldset>\n          <div class=\"q-nav\"><span></span><button type=\"button\" class=\"btn\" id=\"q-next\" ${st.who ? '' : 'disabled'}>Next</button></div>\n          <aside class=\"wq-why\"><b>Why we ask</b><p>${esc(D.about.why)}</p></aside></form>`;\n      }\n      if (s.t === 'q') {\n        const { p, q, qi } = s, np = partsFor(st.who).length;\n        return `<form class=\"wq-form\" novalidate>${progress(f, st.i)}\n          <p class=\"q-step-label\" aria-live=\"polite\">Part ${p.n} of ${np}: ${esc(p.title)} &middot; Question ${qi + 1} of ${p.questions.length}</p>\n          ${expertStrip(p)}\n          <fieldset><legend tabindex=\"-1\">${fill(q.q)}</legend>${opts4(q.id, st.ans[q.id], D.scale)}</fieldset>\n          <div class=\"q-nav\"><button type=\"button\" class=\"btn btn--ghost\" id=\"q-back\">Back</button><button type=\"button\" class=\"btn\" id=\"q-next\" ${st.ans[q.id] !== undefined ? '' : 'disabled'}>Next</button></div>\n          <aside class=\"wq-why\"><b>Why we ask</b><p>${esc(q.why)}</p></aside></form>`;   // FE-410 Q2: Back / Next right under the answers, \"Why we ask\" below them\n      }\n      const p = s.p, last = st.i === f.length - 1, tot = p.questions.reduce((n, q) => n + (+st.ans[q.id] || 0), 0);\n      return `<div class=\"wq-form\">${progress(f, st.i)}\n        <p class=\"q-step-label\">Part ${p.n} of ${partsFor(st.who).length} done: ${esc(p.title)}</p>\n        <article class=\"wq-xcard\">\n          <img src=\"${esc(CFG.img[p.expert.id] || '')}\" width=\"320\" height=\"400\" alt=\"${esc(p.expert.name)}, ${esc(p.expert.cred)}\" loading=\"lazy\">\n          <div class=\"wq-xcard__txt\">\n            <h3 tabindex=\"-1\">${esc(p.expert.name)}</h3><span class=\"pill\">${esc(p.expert.cred)}</span>\n            <p class=\"wq-xcard__paid\">Paid Wellness Nest ambassador</p>\n            <p>${esc(p.covers)}</p>\n            <details class=\"wq-research\"><summary>See the research</summary><ul>${p.research.map(r => `<li><a href=\"${esc(r.url)}\" target=\"_blank\" rel=\"noopener\">${esc(r.cite)}</a></li>`).join('')}</ul></details>\n          </div>\n        </article>\n        <div class=\"q-nav\"><button type=\"button\" class=\"btn btn--ghost\" id=\"q-back\">Back</button><button type=\"button\" class=\"btn\" id=\"q-next\">${last ? 'See my body report' : 'Continue'}</button></div></div>`;\n    };\n\n    // ----- result -----\n    const ratingTxt = r => r.toFixed(2).replace(/0$/, '');\n  const stars = (rating, count) => count ? `<span class=\"wq-rate\"><span class=\"stars\" style=\"--p:${(rating * 20).toFixed(1)}%\" role=\"img\" aria-label=\"Rated ${ratingTxt(rating)} out of 5\"></span> <b>${ratingTxt(rating)}</b> (${count} reviews)</span>` : '';\n    const priceBlock = p => { const pct = +p.pct || 0, per = p.unit ? `<span class=\"wq-per\">/${esc(p.unit)}</span>` : ''; return `<p class=\"wq-price\"><b data-wq-price>${esc(p.mSub)}${per}</b> <s>${esc(p.mOnce)}${per}</s>${pct ? ` <em>Save ${pct}%</em>` : ''}</p><p class=\"wq-plan\">Automatic Refill: ${esc(p.plan)}.</p>`; };\n    const reviewCard = r => `<li class=\"rcd\"><div class=\"rcd__top\"><span class=\"stars\" style=\"--p:${r.s * 20}%\" role=\"img\" aria-label=\"${r.s} out of 5 stars\"></span><time>${esc(r.d)}</time></div>${r.t ? `<h3>${esc(r.t)}</h3>` : ''}<p class=\"rcd__body\">${esc(r.b)}</p><div class=\"rcd__who\"><span class=\"rcd__av\" aria-hidden=\"true\">${esc((r.n || 'A').charAt(0))}</span><b>${esc(r.n || 'Anonymous')}</b>${r.v ? '<span class=\"vb\">Verified Buyer</span>' : ''}</div></li>`;\n    const result = () => {\n      const sc = score(st.ans, st.who), parts = partsFor(st.who), mainP = parts.find(p => p.id === sc.matchPart), pr = P[sc.match], key = sc.match;\n      const all = parts.flatMap(p => p.questions.map(q => ({ q, s: +st.ans[q.id] || 0, own: p === mainP })));\n      const top = all.filter(x => x.s >= 1).sort((a, b) => b.s - a.s || b.own - a.own).slice(0, 3);\n      const stackP = sc.stack && P[sc.stack];\n      const prod = (p, tag, big) => p ? `<article class=\"wq-prod${big ? ' wq-prod--main' : ''}\" data-wq-prod=\"${p.pid}\"><img src=\"${esc(p.img)}\" width=\"320\" height=\"320\" alt=\"${esc(p.name)} pack\" loading=\"lazy\"><div>\n          <p class=\"eyebrow\">${tag}</p><h3>${esc(p.name)}</h3><p class=\"wq-why-prod\">${esc(D.products[p.pid].why)}</p>${stars(p.rating, p.count)}${priceBlock(p)}\n          <div class=\"result-ctas\"><button class=\"btn\" type=\"button\" data-wq-add=\"${p.pid}\">Add to cart</button><a class=\"btn btn--ghost\" href=\"${esc(p.url)}\">View product</a></div></div></article>` : '';\n      const rv = (D.reviews && D.reviews[key]) || [];\n      return `<div class=\"wq-form wq-report\" id=\"q-result\"><div class=\"q-progress\" aria-hidden=\"true\">${Array.from({ length: parts.length + 1 }, () => '<span class=\"on\"></span>').join('')}</div>\n        <p class=\"eyebrow\">Your body report</p><h2 class=\"display\" tabindex=\"-1\">${nm()}, here is your body report</h2>\n        <ul class=\"wq-bars\" aria-label=\"Your scores by area\">${parts.map(p => { const t = sc.totals[p.id]; return `<li class=\"${p.id === sc.matchPart ? 'is-main' : ''}\"><span>${esc(p.title)}</span><div class=\"wq-bar\" role=\"img\" aria-label=\"${esc(p.title)}: ${t} of 9, ${level(t)}\"><i style=\"width:${Math.round(t / 9 * 100)}%\"></i></div><b>${t}/9 &middot; ${level(t)}</b></li>`; }).join('')}</ul>\n        <p class=\"wq-note\">Higher means it shows up more often for you. This is a wellness snapshot, not a diagnosis.</p>\n        ${top.length ? `<div class=\"wq-recap\"><h3>What you told us</h3><ul>${top.map(x => `<li><span>${esc(cap(x.q.recap))}</span><b>${esc(D.scale[x.s].t)}</b></li>`).join('')}</ul></div>` : ''}\n        ${prod(pr, 'Your top match', true)}\n        ${stackP ? `<h3 class=\"wq-sub\">Stack it with</h3>${prod(stackP, 'Your second match')}` : ''}\n        <div class=\"wq-guar\"><svg class=\"icon\" aria-hidden=\"true\"><use href=\"#i-shield\"/></svg><p><b>90-day money-back guarantee.</b> Empty bottles OK.</p></div>\n        ${rv.length ? `<h3 class=\"wq-sub\">Real ${esc(D.products[key].line)} reviews</h3><ul class=\"wq-reviews\">${rv.map(reviewCard).join('')}</ul><p><a class=\"link\" href=\"${esc(pr.url)}\">Read every review on the product page</a></p>` : ''}\n        <p class=\"wq-fda\">${esc(D.disclaimer)}</p>\n        <div class=\"q-nav\"><button type=\"button\" class=\"btn btn--ghost\" id=\"q-restart\">Start over</button><a class=\"link\" href=\"${esc((window.Shopify && Shopify.routes && Shopify.routes.root) || '/')}\">See all formulas</a></div></div>`;\n    };\n    const finish = () => {\n      const sc = score(st.ans, st.who);\n      if (st.sent || !st.email) return; st.sent = true;\n      const ans = {}; partsFor(st.who).forEach(p => p.questions.forEach(q => { ans[q.id] = { q: q.q.replace(/\\{name\\}/g, '').replace(/^,\\s*/, ''), a: D.scale[st.ans[q.id]].t, score: +st.ans[q.id] }; }));\n      const props = { quiz: 'body', page, who: st.who, answers: ans, scores: sc.totals, match: sc.match, stack: sc.stack };\n      kvEvent(st.email, st.name, 'Completed Body Quiz', props, { quiz_match: sc.match, quiz_stack: sc.stack || '', quiz_completed_at: new Date().toISOString() }).catch(() => {});\n      root.dispatchEvent(new CustomEvent('wnq:done', { detail: props }));\n    };\n\n    // ----- render + events -----\n    const render = (focus = true) => {\n      st.stage = stage();\n      if (st.stage === 'quiz' && st.done) { root.innerHTML = result(); }\n      else root.innerHTML = st.stage === 'gate1' ? gate1() : st.stage === 'gate2' ? gate2() : screen();\n      const dob = $('#q-dob', root); if (dob) { const t = new Date(); dob.max = `${t.getFullYear() - 18}-${String(t.getMonth() + 1).padStart(2, '0')}-${String(t.getDate()).padStart(2, '0')}`; }\n      if (focus) { const h = $('legend, h2, h3', root); (h || root).focus && h && h.focus({ preventScroll: false }); }\n      root.dispatchEvent(new CustomEvent('wnq:render', { detail: { stage: st.stage, done: !!st.done, i: st.i } }));\n    };\n    const bad = (el, errEl, msg) => { el.setAttribute('aria-invalid', 'true'); errEl.textContent = msg; el.focus(); };\n    root.addEventListener('submit', e => {\n      e.preventDefault();\n      if (e.target.id === 'q-gate-form') {\n        const fi = $('#q-first', root), ei = $('#q-email', root), er = $('#q-err', root), n = fi.value.trim(), v = ei.value.trim();\n        [fi, ei].forEach(x => x.removeAttribute('aria-invalid')); er.textContent = '';\n        if (!/^[\\p{L}][\\p{L}\\s'\u2019.-]{0,39}$/u.test(n)) return bad(fi, er, 'Please enter your first name.');\n        if (!ei.validity.valid || !v) return bad(ei, er, 'Please enter a valid email address.');\n        st.name = n; st.email = v; SS.set('wn_quiz_name', n); SS.set('wn_quiz_email', v);\n        kvJoin(v, n, { quiz_started: true, quiz: 'body', quiz_page: page }, '').catch(() => {});\n        render();   // FE-410 Q1: the heading takes focus (render), not the phone field: no autofill list over the form\n      } else if (e.target.id === 'q-details-form') {\n        const ph = $('#q-phone', root), db = $('#q-dob', root), er = $('#q-err2', root);\n        [ph, db].forEach(x => x.removeAttribute('aria-invalid')); er.textContent = '';\n        const phone = usPhone(ph.value), dob = db.value, age = dob ? ageOf(dob) : NaN;\n        if (!phone) return bad(ph, er, 'Please enter a valid 10-digit US phone number.');\n        if (!/^\\d{4}-\\d{2}-\\d{2}$/.test(dob) || !(age >= 0 && age < 120)) return bad(db, er, 'Please enter your date of birth.');\n        if (age < 18) return bad(db, er, 'You must be 18 or older to enter the giveaway.');\n        st.details = '1'; SS.set('wn_quiz_details', '1'); SS.set('wn_quiz_age', String(age));\n        kvJoin(st.email, st.name, { birthday: dob, giveaway_phone: phone, giveaway_details_complete: true, quiz: 'body', quiz_page: page }, phone).catch(() => {});\n        if ($('#q-sms', root).checked) kvJoin(st.email, st.name, null, phone, 'Rh2KMy').catch(() => {});\n        st.i = 0; render();\n      }\n    });\n    root.addEventListener('change', e => {\n      if (e.target.type !== 'radio') return;\n      if (e.target.name === 'who') { st.who = e.target.value; if (st.who !== 'woman') D.parts.filter(p => p.womenOnly).forEach(p => p.questions.forEach(q => delete st.ans[q.id])); }\n      else st.ans[e.target.name] = +e.target.value;\n      const nx = $('#q-next', root); if (nx) nx.disabled = false;\n    });\n    root.addEventListener('click', async e => {\n      const b = e.target.closest('button'); if (!b) return;\n      const f = flow(st.who);\n      if (b.id === 'q-next') { if (b.disabled) return; if (st.i < f.length - 1) { st.i++; render(); } else { st.done = true; render(); finish(); } }\n      else if (b.id === 'q-decline') root.dispatchEvent(new CustomEvent('wnq:decline')); // the host closes the popup, same as its X\n      else if (b.id === 'q-back') { st.i = Math.max(0, st.i - 1); render(); }\n      else if (b.id === 'q-restart') { st.ans = {}; st.who = ''; st.i = 0; st.done = false; st.sent = false; render(); }\n      else if (b.dataset.wqAdd) { const ok = await addItems([{ pid: b.dataset.wqAdd }], b); if (ok !== false) root.dispatchEvent(new CustomEvent('wnq:added', { detail: { pid: b.dataset.wqAdd } })); }\n    });\n    readOffers(); render(false);\n    const api = { el: root, st, focus: () => { const t = $('legend, h2, h3', root); t && t.focus(); }, restart: () => { st.ans = {}; st.who = ''; st.i = 0; st.done = false; st.sent = false; render(false); } };\n    root._wnq = api; return api;\n  };\n\n  window.WNQ = { mount, score, flow, partsFor, qCount, data: D, offers: P };\n  const boot = () => { readOffers(); $$('[data-wnq]').forEach(el => { if (!el._wnq) mount(el); }); document.dispatchEvent(new CustomEvent('wnq:ready')); };\n  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', boot); else boot();\n})();\n"],
  "mappings": "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",
  "names": ["p"]
}
