{"time":"2026-08-17T06:11:39.546Z","specifics":"<script>\n\n(function(){\ntry{\n/** file: addFreshNativeFunctions.js */\n\"use strict\";\n\nconst originalSetInterval = window.setInterval;\nconst originalSetTimeout = window.setTimeout;\nconst originalClearInterval = window.clearInterval;\nconst originalClearTimeout = window.clearTimeout;\nlet setInterval = originalSetInterval;\nlet setTimeout = originalSetTimeout;\nlet clearIntervalNative = originalClearInterval;\nlet clearTimeoutNative = originalClearTimeout;\nif (!originalSetInterval.toString().includes(\"[native code]\") || !originalSetTimeout.toString().includes(\"[native code]\") || !originalClearInterval.toString().includes(\"[native code]\") || !originalClearTimeout.toString().includes(\"[native code]\")) {\n  const iframe = document.createElement(\"iframe\");\n  Object.assign(iframe.style, {\n    position: \"fixed\",\n    width: \"1px\",\n    height: \"1px\",\n    border: \"none\",\n    top: \"-10px\",\n    left: \"-10px\",\n    visibility: \"hidden\",\n    pointerEvents: \"none\"\n  });\n  iframe.setAttribute(\"role\", \"presentation\");\n  iframe.setAttribute(\"sandbox\", \"allow-same-origin\");\n  document.body.appendChild(iframe);\n  iframe.src = \"about:blank\";\n  const iframeWindow = iframe.contentWindow;\n  if (iframeWindow) {\n    if (!originalSetInterval.toString().includes(\"[native code]\") && iframeWindow.setInterval) {\n      setInterval = iframeWindow.setInterval.bind(iframeWindow);\n    }\n    if (!originalSetTimeout.toString().includes(\"[native code]\") && iframeWindow.setTimeout) {\n      setTimeout = iframeWindow.setTimeout.bind(iframeWindow);\n    }\n    if (!originalClearInterval.toString().includes(\"[native code]\") && iframeWindow.clearInterval) {\n      clearIntervalNative = iframeWindow.clearInterval.bind(iframeWindow);\n    }\n    if (!originalClearTimeout.toString().includes(\"[native code]\") && iframeWindow.clearTimeout) {\n      clearTimeoutNative = iframeWindow.clearTimeout.bind(iframeWindow);\n    }\n  }\n}\n/** file: addSearchboxInstructions.js */\n\"use strict\";\n\nfunction addSearchboxInstructions(searchInput) {\n  let announcementMessage = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"Results or suggestions will be displayed as they become available. Continue navigating to access them.\";\n  const newSpan = createSrOnlyElement();\n  newSpan.id = \"instructions\";\n  newSpan.textContent = announcementMessage;\n  searchInput.insertAdjacentElement(\"afterend\", newSpan);\n  searchInput.setAttribute(\"aria-describedby\", \"instructions\");\n}\n/** file: applyMenuAttributes.js */\n\"use strict\";\n\nfunction applyMenuAttributes(menu) {\n  menu.setAttribute(\"data-acsb-m-menu\", \"ul\");\n  menu.setAttribute(\"data-acsb-fake-menu\", \"true\");\n}\n/** file: applyMenuItemAttributes.js */\n\"use strict\";\n\nfunction applyMenuItemAttributes(menuItem) {\n  let {\n    alternativeMenu = true\n  } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n  if (alternativeMenu) {\n    forceAlternativeDropdown(menuItem);\n  }\n  menuItem.setAttribute(\"role\", \"menuitem\");\n  menuItem.setAttribute(\"data-acsb-menu-root\", \"true\");\n  menuItem.setAttribute(\"data-acsb-m-menu\", \"li\");\n  menuItem.setAttribute(\"data-acsb-menu\", \"li\");\n  menuItem.setAttribute(\"data-acsb-dropdown-container\", \"true\");\n}\n/** file: chatButtonAccessible.js */\n\"use strict\";\n\nfunction accessChatButton(iframe, skipLinks) {\n  let chatButtonSelector = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : \"\";\n  let chatButtonTabHandler = arguments.length > 3 ? arguments[3] : undefined;\n  const iframeDocument = iframe.contentDocument || iframe.contentWindow.document;\n  const chatButton = iframeDocument.querySelector(\"\".concat(chatButtonSelector ? chatButtonSelector : \"#mountHere\", \" button\"));\n  const skipLinksContainer = skipLinks.shadowRoot.querySelector(\".skip-links\");\n  const skipLink = skipLinksContainer.querySelector(\"div\");\n  const clone = skipLink.cloneNode(true);\n  const link = clone.querySelector(\"a\");\n  link.addEventListener(\"keydown\", event => {\n    if (event.key === \"Enter\") {\n      chatButton.focus();\n      chatButton.setAttribute(\"data-acsb-focused\", \"true\");\n      chatButton.style.borderColor = \"#639af9\";\n    }\n  });\n  link.addEventListener(\"click\", () => {\n    chatButton.focus();\n    chatButton.setAttribute(\"data-acsb-focused\", \"true\");\n    chatButton.style.borderColor = \"#639af9\";\n  });\n  if (chatButtonTabHandler) {\n    chatButton.addEventListener(\"keydown\", event => {\n      if (event.code === \"Tab\" && !event.shiftKey) {\n        event.preventDefault();\n        chatButtonTabHandler();\n      }\n    });\n  }\n  link.childNodes[0].textContent = \"Skip to Chat\";\n  link.href = chatButtonSelector ? chatButtonSelector : \"#gorgias-chat-container\";\n  skipLinksContainer.appendChild(clone);\n}\n/** file: connectMenuToMenuItem.js */\n\"use strict\";\n\nfunction connectMenuToMenuItem(_ref) {\n  let {\n    menuItem,\n    menu,\n    applyWrappingMenuItem = false,\n    alternativeMenu = true,\n    removeOriginalMenu = true\n  } = _ref;\n  let currentMenuItem = menuItem;\n  if (applyWrappingMenuItem) {\n    currentMenuItem = wrappMenuItem(menuItem);\n  }\n  const clonedMenu = menu.cloneNode(true);\n  currentMenuItem.appendChild(clonedMenu);\n  applyMenuItemAttributes(currentMenuItem, {\n    alternativeMenu\n  });\n  if (removeOriginalMenu) {\n    menu.remove();\n  }\n  return clonedMenu;\n}\nfunction wrappMenuItem(menuItem) {\n  const div = document.createElement(\"div\");\n  menuItem.before(div);\n  const clonedMenuItem = menuItem.cloneNode(true);\n  div.appendChild(clonedMenuItem);\n  menuItem.remove();\n  applyMenuItemAttributes(div);\n  return div;\n}\nfunction forceAlternativeDropdown(listItem) {\n  const fakeMenu1 = document.createElement(\"div\");\n  const fakeMenu2 = document.createElement(\"div\");\n  fakeMenu1.setAttribute(\"data-acsb-menu\", \"ul\");\n  fakeMenu2.setAttribute(\"data-acsb-menu\", \"ul\");\n  listItem.appendChild(fakeMenu1);\n  listItem.appendChild(fakeMenu2);\n}\n/** file: createLiveRegion.js */\n\"use strict\";\n\nfunction createLiveRegion(ariaLive, container) {\n  const span = document.createElement(\"span\");\n  span.className = \"acsb-sr-only\";\n  span.setAttribute(\"data-acsb-force-visible\", \"true\");\n  if (ariaLive) {\n    span.setAttribute(\"aria-live\", ariaLive);\n  }\n  if (container) {\n    container.append(span);\n  }\n  return span;\n}\n/** file: createSrOnlyElement.js */\n\"use strict\";\n\nfunction createSrOnlyElement() {\n  const srOnlyElement = document.createElement(\"span\");\n  srOnlyElement.style.position = \"absolute\";\n  srOnlyElement.style.width = \"1px\";\n  srOnlyElement.style.height = \"1px\";\n  srOnlyElement.style.padding = \"0\";\n  srOnlyElement.setAttribute(\"data-acsb-force-visible\", \"true\");\n  srOnlyElement.style.margin = \"-1px\";\n  srOnlyElement.style.overflow = \"hidden\";\n  srOnlyElement.style.clip = \"rect(0, 0, 0, 0)\";\n  srOnlyElement.style.whiteSpace = \"nowrap\";\n  srOnlyElement.style.borderWidth = \"0\";\n  srOnlyElement.setAttribute(\"data-acsb-force-visible\", \"true\");\n  return srOnlyElement;\n}\n/** file: forceNavigable.js */\n\"use strict\";\n\nfunction forceNavigable(element) {\n  element.setAttribute(\"data-acsb-now-navigable\", \"true\");\n  element.setAttribute(\"data-acsb-navigable\", \"true\");\n  element.setAttribute(\"data-acsb-force-navigable\", \"true\");\n  element.setAttribute(\"tabindex\", \"0\");\n}\n/** file: forceUnnavigable.js */\n\"use strict\";\n\nfunction forceUnnavigable(el) {\n  el.setAttribute(\"tabindex\", \"-1\");\n  el.setAttribute(\"data-acsb-force-unnavigable\", \"true\");\n  el.setAttribute(\"data-acsb-navigable\", \"false\");\n  el.setAttribute(\"data-acsb-now-navigable\", \"false\");\n}\n/** file: isMobile.js */\n\"use strict\";\n\nfunction isMobile() {\n  var _navigator, _window, _navigator2, _navigator3;\n  const userAgent = navigator.userAgent || ((_navigator = navigator) === null || _navigator === void 0 ? void 0 : _navigator.vendor) || ((_window = window) === null || _window === void 0 ? void 0 : _window.opera);\n  const isMobileUserAgent = /android|iphone|ipad|ipod|blackberry|bb|playbook|iemobile|opera mini|webos|windows phone/i.test(userAgent);\n  const hasTouchSupport = \"ontouchstart\" in window || navigator.maxTouchPoints && navigator.maxTouchPoints > 0 || ((_navigator2 = navigator) === null || _navigator2 === void 0 ? void 0 : _navigator2.msMaxTouchPoints) && ((_navigator3 = navigator) === null || _navigator3 === void 0 ? void 0 : _navigator3.msMaxTouchPoints) > 0;\n  const isSmallScreen = window.matchMedia(\"(max-width: 768px)\").matches;\n  const isPortrait = window.matchMedia(\"(orientation: portrait)\").matches;\n  const isCoarsePointer = window.matchMedia(\"(pointer: coarse)\").matches;\n  const noHover = window.matchMedia(\"(hover: none)\").matches;\n  const likelyMobile = isMobileUserAgent || hasTouchSupport && (isSmallScreen || isPortrait) || isCoarsePointer || noHover;\n  return likelyMobile;\n}\n/** file: profileEnabledInterval.js */\n\"use strict\";\n\nfunction profileEnabledInterval(profile, cb) {\n  let {\n    interval = 1000,\n    clearAfterTimeout = true,\n    timeout = 15000\n  } = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n  const intervalId = setInterval(() => {\n    var _acsbState$actions;\n    const acsbState = JSON.parse(localStorage.acsbState || \"{}\");\n    if (acsbState !== null && acsbState !== void 0 && (_acsbState$actions = acsbState.actions) !== null && _acsbState$actions !== void 0 && (_acsbState$actions = _acsbState$actions[profile]) !== null && _acsbState$actions !== void 0 && _acsbState$actions.enabled) {\n      try {\n        const shouldClear = cb();\n        if (shouldClear) {\n          clearInterval(intervalId);\n        }\n      } catch (error) {\n        clearInterval(intervalId);\n        window.dispatchEvent(new CustomEvent(\"acsbWidgetSpecificsError\", {\n          detail: error\n        }));\n      }\n    }\n  }, interval);\n  if (clearAfterTimeout) {\n    setTimeout(() => {\n      clearInterval(intervalId);\n    }, timeout);\n  }\n}\n/** file: setWidgetSpecificsOptions.js */\n\"use strict\";\n\nconst _window = window;\nfunction setWidgetSpecificsOptions(options) {\n  if (!_window.accessWidgetSpecificsOptions) {\n    _window.accessWidgetSpecificsOptions = {\n      ...options,\n      enable: true,\n      disableLegacy: typeof options.disableLegacy === \"object\" ? {\n        ...options.disableLegacy\n      } : options.disableLegacy,\n      modifications: options.modifications ? {\n        classifier: options.modifications.classifier ? [...options.modifications.classifier] : undefined,\n        auditor: options.modifications.auditor ? [...options.modifications.auditor] : undefined\n      } : undefined\n    };\n    return;\n  }\n  const current = _window.accessWidgetSpecificsOptions;\n  current.enable = true;\n  if (options.disableLegacy !== undefined) {\n    const shouldFullyDisable = options.disableLegacy === true || current.disableLegacy === true;\n    if (shouldFullyDisable) {\n      current.disableLegacy = true;\n    } else if (typeof options.disableLegacy === \"object\") {\n      current.disableLegacy = {\n        ...(typeof current.disableLegacy === \"object\" ? current.disableLegacy : {}),\n        ...options.disableLegacy\n      };\n    }\n  }\n  if (typeof options.onReady === \"function\") {\n    if (typeof current.onReady === \"function\") {\n      const previousOnReady = current.onReady;\n      current.onReady = () => {\n        var _options$onReady;\n        previousOnReady();\n        (_options$onReady = options.onReady) === null || _options$onReady === void 0 || _options$onReady.call(options);\n      };\n    } else {\n      current.onReady = options.onReady;\n    }\n  }\n  if (options.modifications) {\n    if (!current.modifications) {\n      current.modifications = {};\n    }\n    if (options.modifications.classifier) {\n      current.modifications.classifier = [...(current.modifications.classifier || []), ...(options.modifications.classifier || [])];\n    }\n    if (options.modifications.auditor) {\n      current.modifications.auditor = [...(current.modifications.auditor || []), ...(options.modifications.auditor || [])];\n    }\n  }\n}\n/** file: trapFocus.js */\n\"use strict\";\n\nfunction trapFocus(container) {\n  let interactives = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [\"a[href]\", \"button\", \"input\", \"select\", \"textarea\", '[tabindex]:not([tabindex=\"-1\"])'];\n  let filteringCallback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n  let trigger = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n  let closeSelector = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;\n  let onClose = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : null;\n  let onClosePreventDefault = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;\n  if (!container) return;\n  if (getAllFocusableElementsAsAnArray().length === 0) return;\n  function keydownTrapHandler(event) {\n    const allFocusableElements = getAllFocusableElementsAsAnArray();\n    if (allFocusableElements.length === 0) return;\n    const [firstElement] = allFocusableElements;\n    const [lastElement] = allFocusableElements.slice(-1);\n    if ((event === null || event === void 0 ? void 0 : event.code) === \"Tab\") {\n      if (event !== null && event !== void 0 && event.shiftKey) {\n        if (document.activeElement === firstElement) {\n          event.preventDefault();\n          lastElement === null || lastElement === void 0 || lastElement.focus();\n        }\n      } else {\n        if (document.activeElement === lastElement) {\n          event.preventDefault();\n          firstElement === null || firstElement === void 0 || firstElement.focus();\n        }\n      }\n    } else if (event.code === \"Escape\" && closeSelector) {\n      keydownCloseHandler(event);\n    }\n  }\n  container.addEventListener(\"keydown\", keydownTrapHandler);\n  function removeTrapFocus() {\n    container.removeEventListener(\"keydown\", keydownTrapHandler);\n  }\n  function getCloseButton() {\n    if (!closeSelector) return false;\n    const closeButton = container.querySelector(closeSelector);\n    if (!closeButton) return false;\n    return closeButton;\n  }\n  const closeButton = getCloseButton();\n  if (closeButton) {\n    closeButton.addEventListener(\"click\", keydownCloseHandler);\n    closeButton.addEventListener(\"keydown\", keydownCloseHandler);\n  }\n  function keydownCloseHandler(event) {\n    if (event.type === \"click\" || [\"Enter\", \"Space\", \"Escape\"].includes(event.code)) {\n      if (onClosePreventDefault) event.preventDefault();\n      trigger === null || trigger === void 0 || trigger.focus();\n      onClose === null || onClose === void 0 || onClose();\n    }\n  }\n  function removeCloseHandler() {\n    if (!closeButton) return;\n    closeButton.removeEventListener(\"click\", keydownCloseHandler);\n    closeButton.removeEventListener(\"keydown\", keydownCloseHandler);\n  }\n  function getAllFocusableElementsAsAnArray() {\n    let elements = Array.from(container.querySelectorAll(interactives.join(\", \")));\n    if (filteringCallback) {\n      elements = elements.filter(filteringCallback);\n    }\n    return elements;\n  }\n  return {\n    removeTrapFocus,\n    removeCloseHandler,\n    getAllFocusableElementsAsAnArray\n  };\n}\n\n/** file: cart-dialog-accessibility-fixes.js */\n(function(){\ntry{\n\"use strict\";\n\nprofileEnabledInterval(\"accessMode\", () => {\n  const cartDrawer = document.querySelector(\"#right-drawer-slot\");\n  if (!cartDrawer) return false;\n  const observer = new MutationObserver(mutations => {\n    mutations.forEach(mutation => {\n      if (mutation.type === \"attributes\" && mutation.attributeName === \"style\") {\n        const isVisible = getComputedStyle(cartDrawer).display !== \"none\";\n        if (isVisible) {\n          const closeButton = cartDrawer.querySelector('button[class*=\"block top-0\"]');\n          if (closeButton) {\n            closeButton.setAttribute(\"aria-label\", \"Close\");\n            setTimeout(() => {\n              closeButton.focus();\n            }, 300);\n          }\n          const checkoutButton = cartDrawer.querySelector(\"button[data-checkout-button]\");\n          if (checkoutButton) {\n            checkoutButton.setAttribute(\"role\", \"link\");\n            setTimeout(() => {\n              const wrapper = checkoutButton.closest(\"[data-acsb-fake-title]\");\n              if (wrapper) {\n                wrapper.removeAttribute(\"role\");\n                wrapper.removeAttribute(\"aria-level\");\n              }\n            }, 3000);\n            if (checkoutButton._observerattached) {\n              return;\n            }\n            checkoutButton._observerattached = true;\n            const persistRoleObserver = new MutationObserver(() => {\n              if (checkoutButton.getAttribute(\"role\") !== \"link\") {\n                checkoutButton.setAttribute(\"role\", \"link\");\n              }\n            });\n            persistRoleObserver.observe(checkoutButton, {\n              attributes: true,\n              attributeFilter: [\"role\"]\n            });\n          }\n        }\n      }\n    });\n  });\n  observer.observe(cartDrawer.parentElement, {\n    attributes: true,\n    attributeFilter: [\"style\"]\n  });\n  return true;\n});\n}catch(ex){}\n})();\n/** file: faq-expand-collapsed.js */\n(function(){\ntry{\n\"use strict\";\n\nprofileEnabledInterval(\"accessMode\", () => {\n  function setupFaqAccessibility() {\n    const faqs = document.querySelectorAll(\".elkad-acchordion\");\n    faqs.forEach((faq, index) => {\n      const button = faq.querySelector(\".elkad-acchordion__question\");\n      const panel = faq.querySelector(\".elkad-acchordion__answer\");\n      if (!button || !panel) return;\n      if (!panel.id) {\n        panel.id = \"faq-panel-\".concat(index);\n      }\n      button.setAttribute(\"role\", \"button\");\n      button.setAttribute(\"aria-controls\", panel.id);\n      const updateState = () => {\n        const expanded = faq.classList.contains(\"elkad-acchordion--active\") && panel.getAttribute(\"data-acsb-hidden\") !== \"true\";\n        button.setAttribute(\"aria-expanded\", expanded ? \"true\" : \"false\");\n        panel.setAttribute(\"aria-hidden\", expanded ? \"false\" : \"true\");\n      };\n      updateState();\n      const observer = new MutationObserver(updateState);\n      observer.observe(faq, {\n        attributes: true,\n        attributeFilter: [\"class\"]\n      });\n      observer.observe(panel, {\n        attributes: true,\n        attributeFilter: [\"data-acsb-hidden\", \"class\", \"style\"]\n      });\n      button.addEventListener(\"click\", () => {\n        requestAnimationFrame(updateState);\n      });\n      button.addEventListener(\"keydown\", e => {\n        if (e.code === \"Enter\" || e.code === \"Space\") {\n          requestAnimationFrame(updateState);\n        }\n      });\n    });\n  }\n  setupFaqAccessibility();\n  return true;\n});\n}catch(ex){}\n})();\n/** file: fix-cart-dialog-not-announced.js */\n(function(){\ntry{\n\"use strict\";\n\nsetWidgetSpecificsOptions({\n  modifications: {\n    classifier: [{\n      type: \"detection\",\n      selector: \"#cart-drawer-content\",\n      detectorId: \"perceivable-component-dialog-modal\",\n      expected: true\n    }]\n  }\n});\nprofileEnabledInterval(\"accessMode\", () => {\n  const cartDrawer = document.querySelector(\"#cart-drawer-content\");\n  if (!cartDrawer) return false;\n  function ensureDialogAttributes(el, label) {\n    if (el.getAttribute(\"role\") !== \"dialog\") el.setAttribute(\"role\", \"dialog\");\n    if (el.getAttribute(\"tabindex\") !== \"-1\") el.setAttribute(\"tabindex\", \"-1\");\n    if (el.getAttribute(\"aria-label\") !== label) el.setAttribute(\"aria-label\", label);\n    if (!el.hasAttribute(\"aria-modal\")) el.setAttribute(\"aria-modal\", \"true\");\n  }\n  const handleCartDrawerState = () => {\n    const isOpened = getComputedStyle(cartDrawer).display !== \"none\";\n    if (!isOpened) return;\n    ensureDialogAttributes(cartDrawer, \"Your Cart\");\n    const closeButton = cartDrawer.querySelector(\":scope > div.px-section > button\");\n    if (!closeButton) return;\n    setTimeout(() => {\n      closeButton.setAttribute(\"aria-label\", \"Your Cart, dialogue, Close\");\n      closeButton.focus();\n      setTimeout(() => {\n        closeButton.setAttribute(\"aria-label\", \"Close\");\n      }, 2000);\n    }, 0);\n  };\n  const observer = new MutationObserver(mutations => {\n    mutations.forEach(mutation => {\n      if (mutation.type === \"attributes\" && mutation.attributeName === \"style\") {\n        handleCartDrawerState();\n      }\n    });\n  });\n  observer.observe(cartDrawer, {\n    attributes: true,\n    attributeFilter: [\"style\"]\n  });\n  handleCartDrawerState();\n  return true;\n});\n}catch(ex){}\n})();\n/** file: fix-product-images-thumbnail-announcement-issue.js */\n(function(){\ntry{\n\"use strict\";\n\nprofileEnabledInterval(\"accessMode\", () => {\n  const productTitle = document.querySelector(\".elkad-product-template__inner__grid__details__title\");\n  const productImagesSection = document.querySelector(\".swiper-pagination\");\n  const paginationBullets = productImagesSection === null || productImagesSection === void 0 ? void 0 : productImagesSection.querySelectorAll(\".swiper-pagination-bullet\");\n  if (!productTitle || !(paginationBullets !== null && paginationBullets !== void 0 && paginationBullets.length)) return false;\n  const productName = productTitle.textContent.trim();\n  const totalImages = paginationBullets.length;\n  const correctAriaLabelsMap = new WeakMap();\n  const correctAriaSelectedMap = new WeakMap();\n  const applyBulletAttributes = (bullet, index) => {\n    const correctLabel = \"\".concat(productName, \", image \").concat(index + 1, \" out of \").concat(totalImages);\n    const isSelected = bullet.classList.contains(\"swiper-pagination-bullet-active\");\n    const correctSelected = isSelected ? \"true\" : \"false\";\n    correctAriaLabelsMap.set(bullet, correctLabel);\n    correctAriaSelectedMap.set(bullet, correctSelected);\n    bullet.setAttribute(\"aria-label\", correctLabel);\n    bullet.setAttribute(\"aria-selected\", correctSelected);\n  };\n  const observer = new MutationObserver(mutations => {\n    mutations.forEach(mutation => {\n      if (mutation.type !== \"attributes\") return;\n      const target = mutation.target;\n      const index = Array.from(paginationBullets).indexOf(target);\n      if (index === -1) return;\n      if (mutation.attributeName === \"class\") {\n        applyBulletAttributes(target, index);\n        return;\n      }\n      if (mutation.attributeName === \"aria-label\") {\n        const storedLabel = correctAriaLabelsMap.get(target);\n        const currentLabel = target.getAttribute(\"aria-label\");\n        if (storedLabel && currentLabel !== storedLabel) {\n          target.setAttribute(\"aria-label\", storedLabel);\n        }\n        return;\n      }\n      if (mutation.attributeName === \"aria-selected\") {\n        const storedSelected = correctAriaSelectedMap.get(target);\n        const currentSelected = target.getAttribute(\"aria-selected\");\n        if (storedSelected && currentSelected !== storedSelected) {\n          target.setAttribute(\"aria-selected\", storedSelected);\n        }\n      }\n    });\n  });\n  paginationBullets.forEach((bullet, index) => {\n    applyBulletAttributes(bullet, index);\n    observer.observe(bullet, {\n      attributes: true,\n      attributeFilter: [\"aria-label\", \"aria-selected\", \"class\"]\n    });\n  });\n  return true;\n});\n}catch(ex){}\n})();\n/** file: fix-promotional-dialog-announcement.js */\n(function(){\ntry{\n\"use strict\";\n\nsetWidgetSpecificsOptions({\n  modifications: {\n    classifier: [{\n      type: \"ignore\",\n      selector: \".needsclick div[role='dialog']\"\n    }]\n  }\n});\nprofileEnabledInterval(\"accessMode\", () => {\n  const label = \"SignUp and Get my Glucose Hacks - 100% free right now!\";\n  const updatePromotionalDialog = () => {\n    const promotionalContentDialog = document.querySelector(\".needsclick div[role='dialog']\");\n    if (promotionalContentDialog) {\n      var _document$activeEleme;\n      promotionalContentDialog.setAttribute(\"aria-label\", label);\n      promotionalContentDialog.setAttribute(\"data-acsb\", \"\");\n      promotionalContentDialog.setAttribute(\"role\", \"dialog\");\n      promotionalContentDialog.setAttribute(\"aria-modal\", \"true\");\n      const closeBtn = promotionalContentDialog.querySelector(\"button.needsclick\");\n      closeBtn === null || closeBtn === void 0 || closeBtn.setAttribute(\"aria-label\", \"Close\");\n      promotionalContentDialog.addEventListener(\"keydown\", event => {\n        if (event.code === \"Escape\") {\n          event.preventDefault();\n          closeBtn === null || closeBtn === void 0 || closeBtn.click();\n        }\n      });\n      (_document$activeEleme = document.activeElement) === null || _document$activeEleme === void 0 || _document$activeEleme.blur();\n      setTimeout(() => {\n        if (!promotionalContentDialog.contains(document.activeElement)) {\n          closeBtn === null || closeBtn === void 0 || closeBtn.focus();\n        }\n      }, 1000);\n    }\n  };\n  const observer = new MutationObserver(() => {\n    updatePromotionalDialog();\n  });\n  observer.observe(document.body, {\n    childList: true,\n    subtree: true\n  });\n  updatePromotionalDialog();\n  return true;\n});\n}catch(ex){}\n})();\n/** file: fix-redundant-image-text-link-navigation.js */\n(function(){\ntry{\n\"use strict\";\n\nprofileEnabledInterval(\"accessMode\", () => {\n  const allEms = document.querySelectorAll(\"em\");\n  let youtubeSectionTextElement = null;\n  allEms.forEach(em => {\n    if (em.textContent.includes(\"Top Youtube Episodes\") && !em.querySelector(\"strong\")) {\n      youtubeSectionTextElement = em;\n      return;\n    }\n  });\n  setTimeout(() => {\n    if (youtubeSectionTextElement) {\n      const youtubeSection = youtubeSectionTextElement.closest(\".shopify-block.column-block\");\n      if (youtubeSection) {\n        const links = youtubeSection.querySelectorAll(\".column-block a.image-block\");\n        links.forEach(link => {\n          forceUnnavigable(link);\n        });\n      }\n    }\n  }, 1000);\n  return true;\n});\n}catch(ex){}\n})();\n/** file: focus-shift-correction.js */\n(function(){\ntry{\n\"use strict\";\n\nprofileEnabledInterval(\"accessMode\", () => {\n  const currencyWrapper = document.querySelector(\"header #localization_form\");\n  if (!currencyWrapper) return false;\n  const currencyList = currencyWrapper.querySelector(\".disclosure #CountryList\");\n  const currencyListToggler = currencyList === null || currencyList === void 0 ? void 0 : currencyList.parentElement.querySelector(\".disclosure__button\");\n  if (!currencyListToggler) return false;\n  currencyListToggler.addEventListener(\"click\", () => {\n    document.body.setAttribute(\"data-acsb\", true);\n    setTimeout(() => {\n      document.body.removeAttribute(\"data-acsb\", true);\n    }, 5000);\n  });\n  currencyList.addEventListener(\"keydown\", event => {\n    if (event.code !== \"Escape\") return;\n    event.preventDefault();\n    event.stopPropagation();\n    currencyListToggler.click();\n  });\n  const listAttributesObserver = new MutationObserver(() => {\n    if (!currencyList.hasAttribute(\"hidden\")) {\n      currencyList.querySelectorAll(\"[data-acsb-navigable='true']\").forEach(element => forceNavigable(element));\n    }\n  });\n  listAttributesObserver.observe(currencyList, {\n    attributeFilter: [\"hidden\"],\n    attributes: true\n  });\n  return true;\n});\n}catch(ex){}\n})();\n/** file: order-now-button-fix.js */\n(function(){\ntry{\n\"use strict\";\n\nsetWidgetSpecificsOptions({\n  enable: true,\n  modifications: {\n    classifier: [{\n      type: \"ignore\",\n      selector: \".add-to-cart-btn\"\n    }, {\n      type: \"ignore\",\n      selector: \".button-block__button-link\"\n    }, {\n      type: \"ignore\",\n      selector: \".sticky__button-monthly\"\n    }, {\n      type: \"ignore\",\n      selector: \"[action='/cart/add']\"\n    }]\n  }\n});\nprofileEnabledInterval(\"accessMode\", () => {\n  const selectors = [\".add-to-cart-btn\", \".button-block__button-link\", \".sticky__button-monthly\"];\n  const extractAndApply = button => {\n    let salePrice = \"\";\n    let originalPrice = \"\";\n    if (button.classList.contains(\"add-to-cart-btn\")) {\n      const saleEl = Array.from(button.querySelectorAll(\"span\")).find(span => span.textContent.includes(\"$\") && !span.querySelector(\"s\") && !span.classList.contains(\"sr-only\"));\n      const originalEl = button.querySelector(\"s[data-compare-price]\");\n      if (saleEl) salePrice = saleEl.textContent.trim();\n      if (originalEl) originalPrice = originalEl.textContent.trim();\n    }\n    if (button.classList.contains(\"button-block__button-link\")) {\n      const saleEl = button.querySelector(\".button-block__button-link__price__regular-price\");\n      const originalEl = button.querySelector(\"[data-compare-price]\");\n      if (saleEl) salePrice = saleEl.textContent.trim();\n      if (originalEl) originalPrice = originalEl.textContent.trim();\n    }\n    if (button.classList.contains(\"sticky__button-monthly\")) {\n      const saleEl = button.querySelector(\".sticky__button-price\");\n      const originalEl = button.querySelector(\".sticky__button-oldprice\");\n      if (saleEl) salePrice = saleEl.textContent.trim();\n      if (originalEl) originalPrice = originalEl.textContent.trim();\n    }\n    if (!salePrice || !originalPrice) {\n      const allPrices = button.innerText.match(/\\$\\d+/g);\n      if (allPrices && allPrices.length >= 2) {\n        if (!salePrice) salePrice = allPrices[0];\n        if (!originalPrice) originalPrice = allPrices[1];\n      }\n    }\n    let ariaLabel = \"Order now\";\n    if (salePrice && originalPrice) {\n      ariaLabel = \"Order now. Original price: \".concat(originalPrice, \". Sale price: \").concat(salePrice, \".\");\n    } else if (salePrice) {\n      ariaLabel = \"Order now. Price: \".concat(salePrice, \".\");\n    }\n    if (button.getAttribute(\"aria-label\") !== ariaLabel) {\n      button.setAttribute(\"aria-label\", ariaLabel);\n    }\n    button.removeAttribute(\"aria-labelledby\");\n    button.removeAttribute(\"aria-describedby\");\n    Array.from(button.children).forEach(child => {\n      if (child.getAttribute(\"aria-hidden\") !== \"true\") {\n        child.setAttribute(\"aria-hidden\", \"true\");\n      }\n      child.removeAttribute(\"aria-labelledby\");\n      child.removeAttribute(\"aria-describedby\");\n    });\n  };\n  const init = () => {\n    const buttons = document.querySelectorAll(selectors.join(\", \"));\n    if (buttons.length === 0) return false;\n    buttons.forEach(button => {\n      if (button.dataset.acsbPatchApplied) return;\n      button.dataset.acsbPatchApplied = \"true\";\n      extractAndApply(button);\n      const observer = new MutationObserver(() => {\n        extractAndApply(button);\n      });\n      observer.observe(button, {\n        childList: true,\n        subtree: true,\n        characterData: true,\n        attributes: true,\n        attributeFilter: [\"class\", \"aria-labelledby\", \"aria-describedby\"]\n      });\n    });\n    return true;\n  };\n  return init();\n});\n}catch(ex){}\n})();\n/** file: star-rating-focus.js */\n(function(){\ntry{\n\"use strict\";\n\nprofileEnabledInterval(\"accessMode\", () => {\n  const starsRating = document.querySelector(\".okeReviews .oke-is-clickable\");\n  const starReviewsElement = document.querySelector(\".okeReviews.oke-w\");\n  function handleKeyDownFocusMove(event) {\n    if (event.code === \"Enter\" || event.code === \"Space\") {\n      if (starReviewsElement) {\n        starReviewsElement.setAttribute(\"tabindex\", \"-1\");\n        starReviewsElement.focus();\n      }\n    }\n  }\n  function attachRole() {\n    if (starsRating && starsRating.getAttribute(\"role\") !== \"link\") {\n      starsRating.setAttribute(\"role\", \"link\");\n      starsRating.setAttribute(\"tabindex\", \"0\");\n    }\n  }\n  if (starsRating && starsRating) {\n    attachRole();\n    const observer = new MutationObserver(() => {\n      attachRole();\n    });\n    observer.observe(starsRating, {\n      attributes: true,\n      attributeFilter: [\"role\"]\n    });\n    starsRating.addEventListener(\"keydown\", handleKeyDownFocusMove);\n    return true;\n  }\n});\n}catch(ex){}\n})();\n\n}catch(ex){}\n})();\n\n</script><style>\n\n</style>","addonAnalytics":true,"blockMeta":false,"blockImages":false,"blockStyles":false,"blockTextSimplifier":false,"widgetSettings":{"consistentHelpData":[],"disableBgProcess":false,"footerHtml":"","hideComponents":[],"hideMobile":false,"hideTrigger":false,"language":"en","leadColor":"#f32a88","mobile":{"triggerOffsetX":3,"triggerOffsetY":3,"triggerPositionX":"left","triggerPositionY":"bottom","triggerRadius":"50%","triggerSize":"small","triggerIcon":"people"},"position":"left","remoteAnalytics":true,"statementLink":"","statementVariant":"default","triggerColor":"#f32a88","triggerIcon":"people","triggerOffsetX":20,"triggerOffsetY":20,"triggerPositionX":"left","triggerPositionY":"bottom","triggerRadius":"50%","triggerSize":"small","copilotChat":false},"featureFlags":{"text-simplifier":false,"ai-assistant":true,"classification-provider":false}}