{
  "version": 3,
  "sources": ["/cdn/shop/t/47/assets/theme.js?hwd=belief-final-v38"],
  "sourcesContent": ["document.documentElement.classList.remove('no-js');\ndocument.documentElement.classList.add('js');\n\nconst initHwdTheme = () => {\n  if (window.lucide) {\n    window.lucide.createIcons({\n      attrs: {\n        'stroke-width': 1.5,\n      },\n    });\n  }\n  window.HWD_THEME_READY = true;\n\n  const suppressKlaviyoPopups = () => {\n    document.querySelectorAll('[role=\"dialog\"][aria-label=\"POPUP Form\"], form.klaviyo-form-version-cid_1').forEach((node) => {\n      const root = node.closest('body > div.needsclick') || node.closest('[role=\"dialog\"]') || node;\n      root.setAttribute('hidden', '');\n      root.style.display = 'none';\n      root.style.pointerEvents = 'none';\n    });\n  };\n\n  const suppressPurchaseLimitNotice = () => {\n    document.querySelectorAll('.pol-m, .pol-i').forEach((node) => {\n      node.setAttribute('hidden', '');\n      node.style.display = 'none';\n      node.style.visibility = 'hidden';\n      node.style.pointerEvents = 'none';\n    });\n    document.querySelectorAll('.pol-i-li1-t, .pol-i-li3-s').forEach((node) => {\n      const text = (node.textContent || '').trim();\n      if (/Cannot place order|conditions not met|^OK$/.test(text)) node.textContent = '';\n    });\n  };\n\n  const suppressInjectedNoise = () => {\n    suppressKlaviyoPopups();\n    suppressPurchaseLimitNotice();\n  };\n\n  const cleanPolicyCopy = () => {\n    if (!window.location.pathname.startsWith('/policies/')) return;\n\n    const replacements = [\n      ['QR ' + 'Flask', 'His Word Daily'],\n      ['QR ' + 'flask', 'His Word Daily'],\n      ['qr ' + 'flask', 'His Word Daily'],\n      ['QR Connect', 'His Word Daily'],\n      ['QR CONNECT', 'HIS WORD DAILY'],\n      ['Welcome to His Word Daily !', 'Welcome to His Word Daily.'],\n      ['His Word Daily .', 'His Word Daily.'],\n      ['His Word Daily ,', 'His Word Daily,'],\n      ['His Word Daily \u2019', 'His Word Daily\u2019'],\n      ['Privacy Policy [LINK]', 'Privacy Policy'],\n      ['Refund Policy [LINK]', 'Refund Policy'],\n      ['Privacy Policy, which can be viewed here ,', 'Privacy Policy,'],\n      ['Privacy Policy, which can be viewed here,', 'Privacy Policy,'],\n      ['[LINK]', ''],\n      [\n        'We have a 30-day return policy, which means you have 30 days after receiving your item to request a return.',\n        \"Returns are accepted within 30 days. We want every order to land well. If something arrives broken, doesn't fit, or just isn't right, email us and we'll make it right. The 30-day policy in plain terms: 30 days after receiving your item to request a return.\",\n      ],\n      ['joshuakorth3459' + '@gmail.com', 'hello@hisworddaily.com'],\n      ['[INSERT RETURN ADDRESS]', 'His Word Daily, 1703 West Jackson Street, Painesville, OH 44077, United States'],\n    ];\n\n    const walker = document.createTreeWalker(\n      document.body,\n      NodeFilter.SHOW_TEXT,\n      {\n        acceptNode: (node) => {\n          const parent = node.parentElement;\n          if (!parent || ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA'].includes(parent.tagName)) return NodeFilter.FILTER_REJECT;\n          return NodeFilter.FILTER_ACCEPT;\n        },\n      },\n    );\n\n    const nodes = [];\n    while (walker.nextNode()) nodes.push(walker.currentNode);\n    nodes.forEach((node) => {\n      let value = node.nodeValue;\n      replacements.forEach(([from, to]) => {\n        value = value.split(from).join(to);\n      });\n      if (value !== node.nodeValue) node.nodeValue = value;\n    });\n\n    if (window.location.pathname === '/policies/terms-of-service') {\n      document.querySelectorAll('.shopify-policy__body p, .shopify-policy__body li, main p, main li').forEach((el) => {\n        const html = el.innerHTML\n          .replace('our Privacy Policy, and certain personal information', 'our <a href=\"/policies/privacy-policy\">Privacy Policy</a>, and certain personal information')\n          .replace('our Refund Policy.', 'our <a href=\"/policies/refund-policy\">Refund Policy</a>.');\n        if (html !== el.innerHTML) el.innerHTML = html;\n      });\n    }\n\n    document.querySelectorAll('a[href^=\"mailto:\"]').forEach((link) => {\n      if (link.href.includes('joshuakorth3459' + '@gmail.com')) {\n        link.href = 'mailto:hello@hisworddaily.com';\n      }\n    });\n  };\n\n  cleanPolicyCopy();\n  setTimeout(cleanPolicyCopy, 600);\n  setTimeout(cleanPolicyCopy, 1800);\n  suppressInjectedNoise();\n  setTimeout(suppressInjectedNoise, 600);\n  setTimeout(suppressInjectedNoise, 1800);\n  new MutationObserver(() => {\n    cleanPolicyCopy();\n    suppressInjectedNoise();\n  }).observe(document.body, { childList: true, subtree: true });\n};\n\nif (document.readyState === 'loading') {\n  document.addEventListener('DOMContentLoaded', initHwdTheme);\n} else {\n  initHwdTheme();\n}\n\nconst HWD_BUNDLES = [\n  {\n    handle: 'full-faith-bundle',\n    label: 'Full Faith',\n    variantId: 46848159285332,\n    priceCents: 15999,\n    components: ['tumbler', 'hoodie', 't-shirt', 'bracelet', 'stickers'],\n  },\n  {\n    handle: 'daily-rhythm-bundle',\n    label: 'Daily Rhythm',\n    variantId: 46848159252564,\n    priceCents: 9999,\n    components: ['tumbler', 't-shirt', 'bracelet', 'stickers'],\n  },\n  {\n    handle: 'starter-bundle',\n    label: 'Starter',\n    variantId: 46848159187028,\n    priceCents: 6499,\n    components: ['tumbler', 'bracelet', 'stickers'],\n  },\n];\n\nconst HWD_BUNDLE_COVERAGE = {\n  'full-faith-bundle': ['tumbler', 'hoodie', 't-shirt', 'bracelet', 'stickers'],\n  'daily-rhythm-bundle': ['tumbler', 't-shirt', 'bracelet', 'stickers'],\n  'starter-bundle': ['tumbler', 'bracelet', 'stickers'],\n  tumbler: ['tumbler'],\n  hoodie: ['hoodie'],\n  't-shirt': ['t-shirt'],\n  bracelet: ['bracelet'],\n  stickers: ['stickers'],\n};\n\nconst hwdCoverageForHandle = (handle) => HWD_BUNDLE_COVERAGE[handle] || [];\n\nconst hwdMoney = (cents) => `$${(Number(cents || 0) / 100).toFixed(2)}`;\nconst hwdBundleVariantCache = {};\nlet hwdAutoBundleApplying = false;\n\nconst resolveBundleVariantId = async (bundle) => {\n  if (hwdBundleVariantCache[bundle.handle]) return hwdBundleVariantCache[bundle.handle];\n  try {\n    const response = await fetch(`/products/${bundle.handle}.js`, { headers: { Accept: 'application/json' } });\n    if (response.ok) {\n      const product = await response.json();\n      const variantId = Number(product?.variants?.[0]?.id);\n      if (variantId) {\n        hwdBundleVariantCache[bundle.handle] = variantId;\n        return variantId;\n      }\n    }\n  } catch (_) {\n    // Fall through to the static id below.\n  }\n  return bundle.variantId;\n};\n\nconst openCartDrawer = () => {\n  const drawer = document.querySelector('[data-hwd-cart-drawer]');\n  const overlay = document.querySelector('[data-hwd-cart-overlay]');\n  if (!drawer || !overlay) return false;\n  drawer.classList.add('is-open');\n  drawer.setAttribute('aria-hidden', 'false');\n  overlay.removeAttribute('hidden');\n  document.body.classList.add('hwd-cart-open');\n  return true;\n};\n\nconst closeCartDrawer = () => {\n  const drawer = document.querySelector('[data-hwd-cart-drawer]');\n  const overlay = document.querySelector('[data-hwd-cart-overlay]');\n  drawer?.classList.remove('is-open');\n  drawer?.setAttribute('aria-hidden', 'true');\n  overlay?.setAttribute('hidden', '');\n  document.body.classList.remove('hwd-cart-open');\n};\n\nconst getCart = async () => {\n  const response = await fetch('/cart.js', { headers: { Accept: 'application/json' } });\n  if (!response.ok) throw new Error('Cart read failed');\n  return response.json();\n};\n\nconst refreshCartDrawer = async (open = true) => {\n  const controller = new AbortController();\n  const timeout = window.setTimeout(() => controller.abort(), 8000);\n  let response;\n  try {\n    response = await fetch(`/?sections=cart-drawer&hwd_cart=${Date.now()}`, {\n      headers: { Accept: 'application/json' },\n      cache: 'no-store',\n      signal: controller.signal,\n    });\n  } finally {\n    window.clearTimeout(timeout);\n  }\n  if (!response.ok) return;\n  const sections = await response.json();\n  const html = sections['cart-drawer'];\n  if (!html) return;\n  const wrapper = document.createElement('div');\n  wrapper.innerHTML = html;\n  const nextSection = wrapper.querySelector('#shopify-section-cart-drawer');\n  const currentSection = document.querySelector('#shopify-section-cart-drawer');\n  if (nextSection && currentSection) currentSection.replaceWith(nextSection);\n  initHwdTheme();\n  renderBundleOpportunity();\n  if (open) openCartDrawer();\n};\n\nconst serializeProperties = (form) => {\n  const properties = {};\n  const data = new FormData(form);\n  for (const [key, value] of data.entries()) {\n    const match = key.match(/^properties\\[(.+)]$/);\n    if (match && value) properties[match[1]] = value;\n  }\n  return properties;\n};\n\nconst addCartItem = async (item) => {\n  const response = await fetch('/cart/add.js', {\n    method: 'POST',\n    headers: {\n      'Content-Type': 'application/json',\n      Accept: 'application/json',\n    },\n    body: JSON.stringify(item),\n  });\n  if (!response.ok) throw new Error('Cart add failed');\n  return response.json();\n};\n\nconst fireCartAdd = (item) => {\n  fetch('/cart/add.js', {\n    method: 'POST',\n    headers: {\n      'Content-Type': 'application/json',\n      Accept: 'application/json',\n    },\n    body: JSON.stringify(item),\n  }).catch((error) => console.error(error));\n};\n\nconst changeCartLine = async (key, quantity) => {\n  const response = await fetch('/cart/change.js', {\n    method: 'POST',\n    headers: {\n      'Content-Type': 'application/json',\n      Accept: 'application/json',\n    },\n    body: JSON.stringify({ id: key, quantity }),\n  });\n  if (!response.ok) throw new Error('Cart change failed');\n  return response.json();\n};\n\nconst changeCartLineNumber = async (line, quantity) => {\n  const response = await fetch('/cart/change.js', {\n    method: 'POST',\n    headers: {\n      'Content-Type': 'application/json',\n      Accept: 'application/json',\n    },\n    body: JSON.stringify({ line, quantity }),\n  });\n  if (!response.ok) throw new Error('Cart line change failed');\n  return response.json();\n};\n\nconst updateCartLines = async (updates) => {\n  const response = await fetch('/cart/update.js', {\n    method: 'POST',\n    headers: {\n      'Content-Type': 'application/json',\n      Accept: 'application/json',\n    },\n    body: JSON.stringify({ updates }),\n  });\n  if (!response.ok) throw new Error('Cart update failed');\n  return response.json();\n};\n\nconst normalizeBraceletColor = (value = '') => {\n  const lower = value.toLowerCase();\n  if (lower.includes('gold')) return 'White band, gold cross';\n  if ((lower.includes('bone') || lower.includes('white')) && (lower.includes('black') || lower.includes('ink'))) {\n    return 'White band, ink cross';\n  }\n  if (lower.includes('black band') || lower.includes('ink band')) return 'Ink band, white cross';\n  if (lower.includes('black') || lower.includes('ink')) return 'Ink band, white cross';\n  return value || 'White band, gold cross';\n};\n\nconst cartLineHandle = (item) => {\n  const fromUrl = (item.url || '').match(/\\/products\\/([^/?#]+)/)?.[1];\n  const fromTitle = (item.product_title || item.title || '')\n    .toLowerCase()\n    .replace(/^the\\s+/, '')\n    .replace(/his word daily\\s+/g, '')\n    .replace(/\\s+bundle$/g, '-bundle')\n    .replace(/[^a-z0-9]+/g, '-')\n    .replace(/^-|-$/g, '');\n  return item.handle || item.product_handle || fromUrl || fromTitle;\n};\n\nconst variantText = (item) => {\n  return Array.from(new Set([\n    item.variant_title,\n    ...(item.options_with_values || []).map((option) => option.value),\n  ].filter(Boolean))).join(' ');\n};\n\nconst bundlePropertiesFromLines = (bundle, lines) => {\n  const properties = {\n    _bundle_label: bundle.label,\n    _bundle_handle: bundle.handle,\n    _bundle_auto_applied: 'Converted from matching cart items',\n  };\n  const stickerCounts = {\n    'starter-bundle': '3 stickers',\n    'daily-rhythm-bundle': '5 stickers',\n    'full-faith-bundle': '10 stickers',\n  };\n  if (stickerCounts[bundle.handle]) properties['Stickers included'] = stickerCounts[bundle.handle];\n  lines.forEach((line) => {\n    const text = variantText(line);\n    const handle = cartLineHandle(line);\n    if (handle === 'tumbler') properties['Tumbler color'] = line.properties?.['Tumbler color'] || text || 'Black';\n    if (handle === 'bracelet') properties['Bracelet color'] = line.properties?.['Bracelet color'] || normalizeBraceletColor(text);\n    if (handle === 'hoodie') properties['Hoodie size'] = line.properties?.['Hoodie size'] || line.properties?.Size || text || 'M';\n    if (handle === 't-shirt') properties['T-shirt size'] = line.properties?.['T-shirt size'] || line.properties?.Size || text || 'M';\n  });\n  return properties;\n};\n\nconst findBestBundle = (cart) => {\n  if (!cart?.items?.length) return null;\n  if (cart.items.some((item) => HWD_BUNDLES.some((bundle) => bundle.handle === cartLineHandle(item)))) return null;\n  for (const bundle of HWD_BUNDLES) {\n    const matched = [];\n    const used = new Set();\n    for (const handle of bundle.components) {\n      const line = cart.items.find((item) => cartLineHandle(item) === handle && Number(item.quantity) > 0 && !used.has(item.key));\n      if (!line) break;\n      matched.push(line);\n      used.add(line.key);\n    }\n    if (matched.length === bundle.components.length) return { bundle, lines: matched };\n  }\n  return null;\n};\n\nconst hwdCartWithLineNumbers = (cart) => ({\n  ...cart,\n  items: (cart.items || []).map((item, index) => ({\n    ...item,\n    line: item.line || index + 1,\n  })),\n});\n\nconst convertSinglesToBundle = async (match) => {\n  if (!match) return false;\n  const variantId = await resolveBundleVariantId(match.bundle);\n  await addCartItem({\n    id: variantId,\n    quantity: 1,\n    properties: bundlePropertiesFromLines(match.bundle, match.lines),\n  });\n  let currentCart = null;\n  for (let attempt = 0; attempt < 12; attempt += 1) {\n    await new Promise((resolve) => setTimeout(resolve, 300));\n    currentCart = hwdCartWithLineNumbers(await getCart());\n    if (currentCart.items.some((item) => cartLineHandle(item) === match.bundle.handle)) break;\n  }\n  if (!currentCart || !currentCart.items.some((item) => cartLineHandle(item) === match.bundle.handle)) {\n    throw new Error('Bundle add did not appear in cart');\n  }\n  const matchedKeys = new Set(match.lines.map((line) => line.key).filter(Boolean));\n  const removals = currentCart.items.filter((item) => matchedKeys.has(item.key));\n  if (removals.length) {\n    const updates = {};\n    removals.forEach((item) => {\n      updates[item.key] = Math.max(0, Number(item.quantity) - 1);\n    });\n    await updateCartLines(updates);\n  }\n  return true;\n};\n\nconst renderBundleOpportunityPrompt = (match) => {\n  if (!match) return;\n  const retail = match.lines.reduce((sum, line) => sum + Number(line.final_line_price || line.line_price || 0) / Number(line.quantity || 1), 0);\n  const savings = Math.max(0, retail - match.bundle.priceCents);\n  const node = document.createElement('div');\n  node.className = 'hwd-bundle-opportunity';\n  node.setAttribute('data-hwd-bundle-opportunity', match.bundle.handle);\n  node.innerHTML = `\n    <div>\n      <span class=\"hwd-eyebrow\">Bundle pricing found</span>\n      <p class=\"small\">Your cart matches the ${match.bundle.label} bundle. Apply bundle pricing before checkout and save ${hwdMoney(savings)}.</p>\n    </div>\n    <button class=\"hwd-button hwd-button--primary\" type=\"button\" data-hwd-apply-bundle-pricing=\"${match.bundle.handle}\">Apply ${match.bundle.label} pricing \u00B7 ${hwdMoney(match.bundle.priceCents)}</button>\n  `;\n  const drawerTarget = document.querySelector('[data-hwd-cart-drawer] .hwd-cart-upsell');\n  const pageTarget = document.querySelector('.hwd-cart-page .hwd-cart-lines');\n  if (drawerTarget) drawerTarget.before(node.cloneNode(true));\n  if (pageTarget) pageTarget.after(node);\n};\n\nconst renderBundleOpportunity = async () => {\n  if (window.HWD_CART_DEDUPING) return;\n  document.querySelectorAll('[data-hwd-bundle-opportunity]').forEach((node) => node.remove());\n  let cart;\n  try {\n    cart = hwdCartWithLineNumbers(await getCart());\n  } catch (_) {\n    return;\n  }\n  let match = findBestBundle(cart);\n  for (let attempt = 0; attempt < 6 && !match && window.location.pathname === '/cart'; attempt += 1) {\n    await new Promise((resolve) => setTimeout(resolve, 500));\n    cart = hwdCartWithLineNumbers(await getCart());\n    match = findBestBundle(cart);\n  }\n  if (!match) return;\n  if (hwdAutoBundleApplying || window.HWD_CART_AUTO_BUNDLE_RUNNING) return;\n  window.HWD_CART_AUTO_BUNDLE_RUNNING = true;\n  hwdAutoBundleApplying = true;\n  try {\n    await convertSinglesToBundle(match);\n    if (window.location.pathname === '/cart') {\n      window.location.reload();\n    } else {\n      await refreshCartDrawer(false);\n    }\n  } catch (error) {\n    console.error(error);\n    renderBundleOpportunityPrompt(match);\n  } finally {\n    hwdAutoBundleApplying = false;\n    window.HWD_CART_AUTO_BUNDLE_RUNNING = false;\n  }\n};\n\nconst submitHwdProductForm = async (form) => {\n  const bundleForm = form.closest('[data-hwd-bundle-form]');\n  const button = form.querySelector('button[type=\"submit\"]');\n  const originalLabel = button?.textContent;\n  if (button) {\n    button.disabled = true;\n    button.textContent = bundleForm ? 'Adding bundle' : 'Adding';\n  }\n  try {\n    if (bundleForm && bundleForm.dataset.bundleMode === 'sku') {\n      const properties = serializeProperties(bundleForm);\n      properties._bundle_label = bundleForm.dataset.bundleLabel || 'HWD';\n      properties._bundle_handle = bundleForm.dataset.bundleHandle || '';\n      await addCartItem({\n        id: Number(bundleForm.dataset.bundleVariantId || bundleForm.querySelector('[name=\"id\"]')?.value),\n        quantity: 1,\n        properties,\n      });\n    } else {\n      const data = new FormData(form);\n      const properties = serializeProperties(form);\n      await addCartItem({\n        id: Number(data.get('id')),\n        quantity: Number(data.get('quantity') || 1),\n        properties,\n      });\n      // Bundle conversion is handled on the cart surface where the customer can see the final offer.\n    }\n    if (window.location.pathname === '/cart') {\n      window.location.reload();\n    } else {\n      window.location.href = '/cart';\n    }\n  } catch (error) {\n    console.error(error);\n    alert('Something went wrong adding that. Try again, or refresh the page.');\n  } finally {\n    if (button) {\n      button.disabled = false;\n      button.textContent = originalLabel || 'Add to cart';\n    }\n  }\n};\n\nconst openImageViewer = (image) => {\n  const images = Array.from(document.querySelectorAll('.hwd-pdp__main-image img, .hwd-pdp__thumb img, .hwd-mosaic__tile img'))\n    .map((img) => ({ src: img.currentSrc || img.src, alt: img.alt || '' }))\n    .filter((item, index, list) => item.src && list.findIndex((other) => other.src === item.src) === index);\n  if (!images.length) return;\n  let index = Math.max(0, images.findIndex((item) => item.src === (image.currentSrc || image.src)));\n  const viewer = document.createElement('div');\n  viewer.className = 'hwd-image-viewer';\n  viewer.innerHTML = `\n    <button type=\"button\" class=\"hwd-image-viewer__close\" data-hwd-image-viewer-close aria-label=\"Close image\">\u00D7</button>\n    <button type=\"button\" class=\"hwd-image-viewer__nav hwd-image-viewer__nav--prev\" data-hwd-image-viewer-prev aria-label=\"Previous image\">\u2039</button>\n    <img alt=\"\">\n    <button type=\"button\" class=\"hwd-image-viewer__nav hwd-image-viewer__nav--next\" data-hwd-image-viewer-next aria-label=\"Next image\">\u203A</button>\n  `;\n  const render = () => {\n    const img = viewer.querySelector('img');\n    img.src = images[index].src;\n    img.alt = images[index].alt;\n  };\n  viewer.hwdImages = images;\n  viewer.hwdIndex = index;\n  viewer.hwdRender = () => {\n    index = viewer.hwdIndex;\n    render();\n  };\n  render();\n  document.body.appendChild(viewer);\n  document.body.classList.add('hwd-cart-open');\n};\n\ndocument.addEventListener('DOMContentLoaded', renderBundleOpportunity);\n\nconst setMobileMenuOpen = (open) => {\n  const menu = document.querySelector('[data-hwd-mobile-menu]');\n  const toggle = document.querySelector('[data-hwd-menu-toggle]');\n  if (!menu || !toggle) return;\n  menu.toggleAttribute('hidden', !open);\n  toggle.setAttribute('aria-expanded', open ? 'true' : 'false');\n  toggle.setAttribute('aria-label', open ? 'Close menu' : 'Open menu');\n  document.body.classList.toggle('hwd-menu-open', open);\n};\n\nlet lastMobileMenuGesture = 0;\n\nconst interceptMobileMenuGesture = (event) => {\n  const toggle = event.target.closest?.('[data-hwd-menu-toggle]');\n  if (!toggle) return;\n\n  event.preventDefault();\n  event.stopImmediatePropagation();\n\n  const now = Date.now();\n  if (event.type !== 'pointerdown' && event.type !== 'touchstart' && now - lastMobileMenuGesture < 700) {\n    return;\n  }\n  if (now - lastMobileMenuGesture < 250) {\n    return;\n  }\n\n  lastMobileMenuGesture = now;\n  const menu = document.querySelector('[data-hwd-mobile-menu]');\n  setMobileMenuOpen(menu?.hasAttribute('hidden'));\n};\n\n['pointerdown', 'touchstart', 'pointerup', 'touchend', 'click'].forEach((eventName) => {\n  document.addEventListener(eventName, interceptMobileMenuGesture, true);\n});\n\ndocument.addEventListener('click', (event) => {\n  const menuToggle = event.target.closest('[data-hwd-menu-toggle]');\n  if (menuToggle) {\n    const menu = document.querySelector('[data-hwd-mobile-menu]');\n    const isOpen = menu && !menu.hasAttribute('hidden');\n    event.preventDefault();\n    setMobileMenuOpen(!isOpen);\n  } else if (!event.target.closest('[data-hwd-mobile-menu]') && document.querySelector('[data-hwd-mobile-menu]:not([hidden])')) {\n    setMobileMenuOpen(false);\n  }\n\n  const cartLink = event.target.closest('a[href=\"/cart\"]');\n  if (cartLink && openCartDrawer()) {\n    event.preventDefault();\n  }\n\n  const cartClose = event.target.closest('[data-hwd-cart-close], [data-hwd-cart-overlay]');\n  if (cartClose) {\n    closeCartDrawer();\n  }\n\n  const plus = event.target.closest('[data-hwd-qty-plus]');\n  const minus = event.target.closest('[data-hwd-qty-minus]');\n  if (plus || minus) {\n    const control = event.target.closest('[data-hwd-qty]');\n    const value = control?.querySelector('[data-hwd-qty-value]');\n    if (!value) return;\n    const next = Number(value.textContent) + (plus ? 1 : -1);\n    const clean = Math.max(1, Math.min(10, next));\n    value.textContent = clean;\n    const form = control.closest('form');\n    const input = form?.querySelector('[data-hwd-quantity-input]');\n    if (input) input.value = clean;\n  }\n\n  const choice = event.target.closest('[data-hwd-choice]');\n  if (choice) {\n    const group = choice.closest('[role=\"group\"]');\n    group?.querySelectorAll('[data-hwd-choice]').forEach((item) => {\n      item.setAttribute('aria-pressed', item === choice ? 'true' : 'false');\n    });\n  }\n\n  const productChoice = event.target.closest('[data-hwd-product-choice]');\n  if (productChoice) {\n    const form = productChoice.closest('[data-hwd-product-form]');\n    const variantInput = form?.querySelector('[data-hwd-variant-id]');\n    const price = document.querySelector('[data-hwd-product-price]');\n    const cta = form?.querySelector('[data-hwd-atc]');\n    const choiceName = document.querySelector('[data-hwd-choice-name]');\n    productChoice.closest('[role=\"group\"]')?.querySelectorAll('[data-hwd-product-choice]').forEach((item) => {\n      item.setAttribute('aria-pressed', item === productChoice ? 'true' : 'false');\n    });\n    if (variantInput) variantInput.value = productChoice.dataset.variantId;\n    if (price) price.textContent = productChoice.dataset.price;\n    if (cta) cta.textContent = `Add to cart \u00B7 ${productChoice.dataset.price}`;\n    if (choiceName) choiceName.textContent = productChoice.dataset.choiceName;\n    if (productChoice.dataset.hwdChoiceImage) {\n      const mainImage = document.querySelector('[data-hwd-product-main] img');\n      if (mainImage) mainImage.src = productChoice.dataset.hwdChoiceImage;\n    }\n  }\n\n  const sizeChoice = event.target.closest('[data-hwd-size-choice]');\n  if (sizeChoice && !sizeChoice.disabled) {\n    const scope = sizeChoice.closest('.hwd-bundle-choice') || sizeChoice.closest('[data-hwd-product-form]');\n    const sizeInput = scope?.querySelector('[data-hwd-size-property]');\n    sizeChoice.closest('[role=\"group\"]')?.querySelectorAll('[data-hwd-size-choice]').forEach((item) => {\n      item.setAttribute('aria-pressed', item === sizeChoice ? 'true' : 'false');\n    });\n    if (sizeInput) sizeInput.value = sizeChoice.value;\n  }\n\n  const braceletChoice = event.target.closest('.hwd-bracelet-tile[data-hwd-choice]');\n  if (braceletChoice) {\n    const scope = braceletChoice.closest('.hwd-bundle-choice');\n    const input = scope?.querySelector('[data-hwd-bracelet-property]');\n    if (input) input.value = braceletChoice.textContent.trim();\n    const summary = scope?.querySelector('summary .small');\n    if (summary) summary.textContent = braceletChoice.textContent.trim();\n    if (braceletChoice.dataset.hwdChoiceImage) {\n      const firstBundleImage = document.querySelector('.hwd-mosaic__tile:first-child img');\n      if (firstBundleImage) firstBundleImage.src = braceletChoice.dataset.hwdChoiceImage;\n    }\n  }\n\n  const bundleSizeChoice = event.target.closest('[data-hwd-size-choice]');\n  if (bundleSizeChoice && bundleSizeChoice.closest('.hwd-bundle-choice')) {\n    const scope = bundleSizeChoice.closest('.hwd-bundle-choice');\n    const summary = scope?.querySelector('summary .small');\n    if (summary) summary.textContent = bundleSizeChoice.value;\n  }\n\n  const tumblerChoice = event.target.closest('[data-hwd-tumbler-choice]');\n  if (tumblerChoice) {\n    const scope = tumblerChoice.closest('.hwd-bundle-choice');\n    const input = scope?.querySelector('[data-hwd-tumbler-property]');\n    tumblerChoice.closest('[role=\"group\"]')?.querySelectorAll('[data-hwd-tumbler-choice]').forEach((item) => {\n      item.setAttribute('aria-pressed', item === tumblerChoice ? 'true' : 'false');\n    });\n    if (input) input.value = tumblerChoice.value;\n    const summary = scope?.querySelector('summary .small');\n    if (summary) summary.textContent = tumblerChoice.value;\n    if (tumblerChoice.dataset.hwdChoiceImage) {\n      const firstBundleImage = document.querySelector('.hwd-mosaic__tile:first-child img');\n      if (firstBundleImage) firstBundleImage.src = tumblerChoice.dataset.hwdChoiceImage;\n    }\n  }\n\n  const thumb = event.target.closest('[data-hwd-thumb]');\n  if (thumb) {\n    const main = document.querySelector('[data-hwd-product-main] img');\n    if (main) main.src = thumb.dataset.hwdThumb;\n  }\n\n  const image = event.target.closest('.hwd-pdp__main-image img, .hwd-mosaic__tile img');\n  if (image) openImageViewer(image);\n\n  const viewerClose = event.target.closest('[data-hwd-image-viewer-close]');\n  if (viewerClose || event.target.classList.contains('hwd-image-viewer')) {\n    event.target.closest('.hwd-image-viewer')?.remove();\n    document.body.classList.remove('hwd-cart-open');\n  }\n\n  const viewerNav = event.target.closest('[data-hwd-image-viewer-prev], [data-hwd-image-viewer-next]');\n  if (viewerNav) {\n    const viewer = viewerNav.closest('.hwd-image-viewer');\n    if (viewer?.hwdImages?.length) {\n      const direction = viewerNav.matches('[data-hwd-image-viewer-prev]') ? -1 : 1;\n      viewer.hwdIndex = (viewer.hwdIndex + direction + viewer.hwdImages.length) % viewer.hwdImages.length;\n      viewer.hwdRender();\n    }\n  }\n\n  const applyBundle = event.target.closest('[data-hwd-apply-bundle-pricing]');\n  if (applyBundle) {\n    event.preventDefault();\n    applyBundle.disabled = true;\n    applyBundle.textContent = 'Applying bundle pricing';\n    getCart()\n      .then((cart) => convertSinglesToBundle(findBestBundle(cart)))\n      .then(() => {\n        if (window.location.pathname === '/cart') window.location.reload();\n        else refreshCartDrawer(true);\n      })\n      .catch((error) => {\n        console.error(error);\n        applyBundle.disabled = false;\n        applyBundle.textContent = 'Apply bundle pricing';\n      });\n  }\n\n  const checkout = event.target.closest('[data-hwd-checkout]');\n  if (checkout) {\n    event.preventDefault();\n    checkout.textContent = 'Checking bundle pricing';\n    getCart()\n      .then(async (cart) => {\n        const match = findBestBundle(cart);\n        if (match) await convertSinglesToBundle(match);\n        window.location.href = '/checkout';\n      })\n      .catch(() => {\n        window.location.href = '/checkout';\n      });\n  }\n});\n\ndocument.addEventListener('keydown', (event) => {\n  if (event.key === 'Escape') setMobileMenuOpen(false);\n});\n\ndocument.addEventListener('toggle', (event) => {\n  const details = event.target;\n  if (!details.matches('[data-hwd-faq] details') || !details.open) return;\n  details.parentElement.querySelectorAll('details').forEach((item) => {\n    if (item !== details) item.removeAttribute('open');\n  });\n}, true);\n\nconst updateStickyAtc = () => {\n  const header = document.querySelector('[data-hwd-header]');\n  if (header) header.classList.toggle('is-scrolled', window.scrollY > 120);\n  const stickyAtc = document.querySelector('[data-hwd-sticky-atc]');\n  const buybox = document.querySelector('#product-buybox');\n  if (stickyAtc && buybox) {\n    const stickyBlocker = Array.from(document.querySelectorAll('.hwd-fbt, .hwd-cross-bundle, .hwd-final-cta, .hwd-related, .hwd-trust-strip')).some((section) => {\n      const rect = section.getBoundingClientRect();\n      return rect.top < window.innerHeight - 88 && rect.bottom > 96;\n    });\n    const shouldShow = window.matchMedia('(max-width: 767px)').matches && buybox.getBoundingClientRect().bottom < 0 && !stickyBlocker;\n    stickyAtc.toggleAttribute('hidden', !shouldShow);\n  }\n};\n\nwindow.addEventListener('scroll', updateStickyAtc, { passive: true });\nwindow.addEventListener('resize', updateStickyAtc, { passive: true });\nwindow.addEventListener('load', updateStickyAtc);\n\ndocument.addEventListener('submit', async (event) => {\n  const newsletter = event.target.closest('[data-hwd-newsletter]');\n  if (newsletter) {\n    event.preventDefault();\n    const success = newsletter.parentElement?.querySelector('[data-hwd-newsletter-success]');\n    const button = newsletter.querySelector('button[type=\"submit\"], [type=\"submit\"]');\n    if (button) button.textContent = 'Subscribed';\n    success?.removeAttribute('hidden');\n    newsletter.setAttribute('aria-live', 'polite');\n    return;\n  }\n\n  const form = event.target.closest('[data-hwd-product-form]');\n  if (!form) return;\n  event.preventDefault();\n  await submitHwdProductForm(form);\n});\n"],
  "mappings": "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",
  "names": ["index"]
}
