{
  "version": 3,
  "sources": ["/cdn/shop/t/157/assets/custom.js?cb=1791439622"],
  "sourcesContent": ["// Review code starts \n(() => {\n  // The review popup's field is labelled \"First Name\", so autofill it with\n  // just that - window.customerData.name is first+last together (used\n  // elsewhere for the full display name), not what this field expects.\n  const customerName = window?.customerData?.firstName?.trim() || '';\n  const customerEmail = window?.customerData?.email?.trim() || '';\n\n  function autofillField(id, value) {\n    const el = document.getElementById(id);\n    if (el && value && el.value.trim() === '') {\n      el.value = value;\n      el.setAttribute('value', value);\n      el.dispatchEvent(new Event('input', { bubbles: true }));\n    }\n  }\n\n  function forceFirstNameField(id, value) {\n    const el = document.getElementById(id);\n    if (!el || !value || el.dataset.tmNameFixed === '1') return;\n    const current = el.value.trim();\n    const rivyoDefault = (window.customerData && window.customerData.name && window.customerData.name.trim()) || '';\n    if (current === '' || current === rivyoDefault) {\n      el.dataset.tmNameFixed = '1';\n      el.value = value;\n      el.setAttribute('value', value);\n      el.dispatchEvent(new Event('input', { bubbles: true }));\n    }\n  }\n\n  function handleAutofill() {\n    forceFirstNameField('name', customerName);\n    autofillField('email', customerEmail);\n  }\n\n  function isSubmitButton(target) {\n    return target.classList.contains('tm_question_submit_btn') || target.classList.contains('tm_rivyo_form_btn');\n  }\n\n  // .tmRivyoModal/.tmReviewModal never matched anything - the real popup\n  // markup (#tm_product_review_form_popup / #tm_question_form_popup, see\n  // global.js's handleButtonClick()) uses tm_form_container/tm_wf_cls\n  // classes instead, so this guard was silently always false and\n  // handleAutofill() never ran from either listener below.\n  function isInsideReviewModal(target) {\n    return target.closest('#tm_product_review_form_popup, #tm_question_form_popup');\n  }\n\n\n  window.addEventListener('DOMContentLoaded', function () {\n    // setTimeout(function () {\n    // $(\".toggle_close_btn\").click(function () {\n    //   console.log('Menu Close +++');\n    //   $(\".tm_toggle\").removeClass(\"toggle_open\");\n    //   $(\"#Details-menu-drawer-container summary.header__icon--menu\").trigger(\"click\");\n    //   $(\".header--top-left .tm_container.position\").removeClass(\"hedaer_layer\");\n    //   $(this).addClass(\"hide_toggle_close\");\n    //   $(\"body\").addClass(\"fade-out\");\n    //   $(\"body\").removeClass(\"layer\");\n    //   setTimeout(function() {\n    //     $(\"body\").removeClass(\"fade-out\");\n    //   }, 300);\n    // });\n    // },1000);\n    console.log('button close--', document.querySelectorAll(\".toggle_close_btn\"));\n    document.addEventListener(\"click\", function (e) {\n      if (e.target.closest(\".toggle_close_btn\")) {\n        console.log('Menu Close +++');\n\n        document.querySelectorAll(\".tm_toggle\").forEach(function (el) {\n          el.classList.remove(\"toggle_open\");\n        });\n\n        let menuIcon = document.querySelector(\"#Details-menu-drawer-container summary.header__icon--menu\");\n        if (menuIcon) menuIcon.click();\n\n        document.querySelectorAll(\".header--top-left .tm_container.position\").forEach(function (el) {\n          el.classList.remove(\"hedaer_layer\");\n        });\n\n        e.target.closest(\".toggle_close_btn\").classList.add(\"hide_toggle_close\");\n\n        document.body.classList.add(\"fade-out\");\n        document.body.classList.remove(\"layer\");\n\n        setTimeout(function () {\n          document.body.classList.remove(\"fade-out\");\n        }, 300);\n      }\n    });\n  });\n\n  // \uD83E\uDDE0 INPUT EVENT\n  document.body.addEventListener('input', (event) => {\n    const target = event.target;\n    if (!['name', 'email'].includes(target.id)) return;\n    if (isSubmitButton(target)) return;\n    if (isInsideReviewModal(target)) {\n      handleAutofill();\n    }\n  });\n\n  // \uD83D\uDDB1\uFE0F CLICK INSIDE MODAL\n  document.body.addEventListener('click', (event) => {\n    const target = event.target;\n    if (isSubmitButton(target)) return;\n    if (isInsideReviewModal(target)) {\n      handleAutofill();\n    }\n  });\n\n\n  // Was a 100ms setInterval that only stopped once #name existed - on every\n  // page without the review form it polled forever. The field is either in\n  // the page at load or appears after the visitor clicks \"Write a review\",\n  // so check at load and shortly after each click instead. handleAutofill\n  // only fills empty fields, so repeat calls are harmless.\n  function autofillWhenReady() {\n    if (document.getElementById('name')) handleAutofill();\n  }\n  autofillWhenReady();\n  window.addEventListener('load', autofillWhenReady);\n  document.addEventListener('click', () => {\n    setTimeout(autofillWhenReady, 300);\n    setTimeout(autofillWhenReady, 1200);\n  }, true);\n})();\n\n// review code ends\n\n\n\n\n\n$(document).ready(function () {\n  setTimeout(function () {\n    $(\".tm_collection-info\").matchHeight();\n  }, 10);\n  $(document).on(\"mouseenter\", \".tm_sign_in-account\", function () {\n    $(\"#MainContent\").addClass(\"sec_layer\");\n    $(\".tm_account-dropdown\").addClass(\"acc_show\");\n  });\n\n  // When leaving both the account and dropdown\n  $(document).on(\"mouseleave\", \".tm_sign_in-account, .tm_account-dropdown\", function () {\n    $(\"#MainContent\").removeClass(\"sec_layer\");\n    $(\".tm_account-dropdown\").removeClass(\"acc_show\");\n  });\n\n  $(\".tm_toggle\").on(\"click\", function (e) {\n    var container = $(\".tm_toggle_menu\");\n    if (!container.is(e.target) && container.has(e.target).length === 0) {\n      $(\".tm_toggle\").removeClass(\"toggle_open\");\n      $(\"body\").removeClass(\"layer\");\n    }\n  });\n\n\n  $(document).on(\"click\", \".toggle_icon\", function () {\n    console.log(\"working\");\n    // $('.tm_toggle').addClass('toggle_open');\n    $(\"#Details-menu-drawer-container summary.header__icon--menu\").trigger(\n      \"click\"\n    );\n    //  $(\"#Details-menu-drawer-container\").attr(\"open\", '');\n    // $(\"#Details-menu-drawer-container\").addClass(\"menu-opening\");\n    document.querySelector(\n      \".menu-drawer__navigation-container\"\n    ).scrollTop = 0;\n    //  document.querySelector('.menu-drawer__navigation-container').scrollTo({\n    //     top: 0,\n    //     behavior: 'instant'\n    // });\n    $(\".toggle_close_btn\").removeClass(\"hide_toggle_close\");\n    $(\"body\").addClass(\"layer\");\n    // $('.tm_submenu_body').addClass('none');\n  });\n  // start footer popup js\n\n  $(\".tm_feedback_btn .tm_btn\").click(function () {\n    $(\".tm_fdbk-popup\").addClass(\"tm_popup-show\");\n    $(\"body\").addClass(\"overflow-hide\");\n    $(\"html\").addClass(\"overflow-hide\");\n    return false;\n  });\n\n  $(\".tm_popup_close-icon\").click(function () {\n    $(\".tm_product-view\").removeClass(\"tm_product-view-show\");\n    $(\"body\").removeClass(\"overflow-hide\");\n    $(\"html\").removeClass(\"overflow-hide\");\n    $(this).parents(\".tm_popup\").removeClass(\"tm_popup-show\");\n    // $(\"body\").removeClass(\"overflow-hide\");\n    // $(\".tm_fdbk-popup\").removeClass(\"tm_fdbk-popup-show\");\n    return false;\n  });\n\n  function callfunction() {\n    $(\".accordian_flex\").click(function () {\n      $(this)\n        .parent()\n        .siblings()\n        .find(\".footer-block__details-content\")\n        .slideUp(300);\n      $(this).parent().siblings().find(\".arrow\").removeClass(\"active\");\n      $(this).next().slideToggle(300);\n      $(this).parent().find(\".arrow\").toggleClass(\"active\");\n    });\n  }\n  // below's js belongs to footer mobile accordion js currently we have comment this because of client's need..\n  // if (window.innerWidth < 768) {\n  //   callfunction();\n  // }\n\n  // end footer popup js\n\n  // home page slide js strats from here\n\n  var data_store = $(\".tm_play-btn\").html();\n\n  if ($(\".tm_hero_slider\").length > 0) {\n    $(\".tm_hero_slider\").slick({\n      slidesToShow: 1,\n      slidesToScroll: 1,\n      infinite: true,\n      autoplay: false,\n      dots: true,\n      arrows: true,\n      appendDots: $(\".slick-slider-dots\"),\n    });\n  }\n\n  function syncHeroSlideInert() {\n    $(\".tm_hero_slider .slick-slide\").each(function () {\n      if ($(this).attr(\"aria-hidden\") === \"true\") {\n        this.setAttribute(\"inert\", \"\");\n      } else {\n        this.removeAttribute(\"inert\");\n      }\n    });\n  }\n  syncHeroSlideInert();\n  $(\".tm_hero_slider\").on(\"afterChange\", syncHeroSlideInert);\n\n  // product page thumb trigger click\n\n  // $(\".tm_product_thumbs-slide\").on(\"mouseover\", \".slick-slide\", function (e) {\n  //   $(this).click();\n  // });\n\n  $(\".tm_product_thumbs-slide li\").on(\"mouseover\", function () {\n    $(\".tm_product-main-img-slide\").slick(\"goTo\", $(this).index());\n  });\n\n  // setTimeout(() => {\n  //   $(\".tm_product_thumbs-slide\").on(\"mouseover\", \".slick-slide\", function (e) {\n  //     $(this).click();\n  //   });\n  // },0);\n\n  /*$(\".tm_product_view-thumbs-slide\").on(\n    \"mouseenter\",\n    \".tm_product_view-thumbs-img\",\n    function (e) {\n      $(this).click();\n    }\n  );*/\n\n  if ($(\".tm_del_opt-box\").length > 0) {\n    $('.tm_del_opt-box li input[type=\"radio\"]').on(\"change\", function () {\n      $(\".tm_del_opt-right\").find(\"h6\").removeClass(\"radio_checked\");\n      $(this).parent().next().find(\"h6\").addClass(\"radio_checked\");\n    });\n  }\n\n  var HERO_SLIDE_MS = 5000;\n  var heroProgressAnim = null;\n  var heroProgressTimer = null;\n  function circular_bar(progress_val, ProgressValue) {\n    let circularProgress = document.querySelector(\".tm_circuler-progress\");\n    if (!circularProgress) return;\n\n    if (progress_val === \"play\" && ProgressValue > 0 && heroProgressAnim) {\n      heroProgressAnim.play();\n      return;\n    }\n\n    if (heroProgressAnim) heroProgressAnim.cancel();\n    clearTimeout(heroProgressTimer);\n    circularProgress.setAttribute(\"data-progressvalue\", 0);\n\n    function nextSlide() {\n      $(\".tm_hero_slider\").slick(\"slickNext\");\n    }\n\n    if (!circularProgress.animate) {\n      heroProgressTimer = setTimeout(nextSlide, HERO_SLIDE_MS);\n      return;\n    }\n    heroProgressAnim = circularProgress.animate(\n      [{ \"--tm-hero-progress\": \"0deg\" }, { \"--tm-hero-progress\": \"360deg\" }],\n      { duration: HERO_SLIDE_MS, easing: \"steps(100, end)\", fill: \"forwards\" }\n    );\n    heroProgressAnim.onfinish = nextSlide;\n  }\n  // ====================\n  // function circular_bar(progress_val,ProgressValue){\n  //   let circularProgress = document.querySelector(\".tm_circuler-progress\");\n  //   circularProgress.setAttribute(\"data-progressvalue\",0);\n  //   var ProgressInitialValue;\n  //       if(progress_val == \"play\"){\n  //         ProgressInitialValue = ProgressValue;\n  //       }else{\n  //         ProgressInitialValue = 0;\n  //       }\n  //       let progressStarValue = ProgressInitialValue,\n  //         progressEndValue = 100,\n  //         speed = 50;\n  //         process_circle = setInterval(() => {\n  //         progressStarValue++;\n  //         circularProgress.style.background = `conic-gradient(#007AC3 ${progressStarValue * 3.6}deg, #ededed 0deg)`;\n  //         circularProgress.setAttribute(\"data-progressvalue\",progressStarValue);\n  //         if (progressStarValue == progressEndValue) {\n  //           clearInterval(process_circle);\n  //           $(\".tm_hero_slider\").slick(\"slickNext\");\n  //         }\n  //       }, speed);\n\n  //     }\n  if ($(\".tm_circuler-progress\").length > 0) {\n    setTimeout(function () {\n      circular_bar();\n    }, 1000);\n  }\n\n  $(\".tm_acc_ofr-ttl\").click(function () {\n    console.log(\"hiiiiiiii\");\n    $(this)\n      .toggleClass(\"active\")\n      .parents(\".tm_acc_ofr-itm\")\n      .siblings()\n      .find(\".tm_acc_ofr-ttl\")\n      .removeClass(\"active\");\n    $(this)\n      .parents(\".tm_acc_ofr-itm\")\n      .find(\".tm_acc_ofr-content\")\n      .slideToggle()\n      .parents(\".tm_acc_ofr-itm\")\n      .siblings()\n      .find(\".tm_acc_ofr-content\")\n      .slideUp();\n  });\n\n  if ($(\".slick-slider-dots\").length && data_store) {\n    $(\".slick-slider-dots\").append(data_store);\n  }\n\n  function positionHeroPausePlay() {\n    var $dotsHost = $(\".slick-slider-dots\");\n    var $activeDot = $(\".slick-slider-dots .slick-dots .slick-active\");\n    var $control = $dotsHost.children(\".tm_pause-play\");\n    if (!$dotsHost.length || !$activeDot.length || !$control.length) return;\n    var hostRect = $dotsHost[0].getBoundingClientRect();\n    var dotRect = $activeDot[0].getBoundingClientRect();\n    $control.css({\n      left: dotRect.left - hostRect.left - 8 + \"px\",\n      top: dotRect.top - hostRect.top - 8 + \"px\",\n    });\n  }\n\n  positionHeroPausePlay();\n  // Debounced: a raw resize listener calling getBoundingClientRect() (which\n  // forces a synchronous layout read) fires on every single pixel of a\n  // drag-resize, not just once at the end - a classic main-thread-blocking\n  // pattern. Waiting for resizing to actually stop before measuring keeps\n  // the \"reposition on real viewport changes\" behavior with none of the\n  // repeated forced-layout cost.\n  var heroPausePlayResizeTimer = null;\n  $(window).on(\"resize\", function () {\n    clearTimeout(heroPausePlayResizeTimer);\n    heroPausePlayResizeTimer = setTimeout(positionHeroPausePlay, 150);\n  });\n\n  $(document).on(\"click\", \".pause_btn\", function () {\n    $(this).parents(\".tm_circuler-progress\").addClass(\"pause\");\n    $(this).parents(\".tm_circuler-progress\").removeClass(\"play\");\n    $(\".play_btn\").css(\"display\", \"flex\");\n    $(\".pause_btn\").hide();\n    if (heroProgressAnim) {\n      heroProgressAnim.pause();\n      $(\".tm_circuler-progress\").attr(\n        \"data-progressvalue\",\n        Math.floor((heroProgressAnim.currentTime || 0) / (HERO_SLIDE_MS / 100))\n      );\n    }\n    clearTimeout(heroProgressTimer);\n  });\n  $(document).on(\"click\", \".play_btn\", function () {\n    $(this).parents(\".tm_circuler-progress\").addClass(\"play\");\n    $(this).parents(\".tm_circuler-progress\").removeClass(\"pause\");\n    $(\".play_btn\").hide();\n    $(\".pause_btn\").show();\n    var CircularProgress = Number(\n      $(\".tm_circuler-progress\").attr(\"data-progressvalue\")\n    );\n    circular_bar(\"play\", CircularProgress);\n  });\n  function getPositive(number) {\n    return number < 0 ? number * -1 : number;\n  }\n\n  $(\".tm_hero_slider\").on(\n    \"beforeChange\",\n    function (event, slick, currentSlide, nextSlide) {\n      PrevSlideIndex = currentSlide;\n    }\n  );\n\n  $(\".tm_hero_slider\").on(\"afterChange\", function (event, slick, currentSlide) {\n    let PrevSlide = currentSlide - 1;\n    let PositiveSlide = (PrevSlide + slick.slideCount) % slick.slideCount; // Ensure positive slide index\n\n    // The control is persistent now (see the comment where it's created\n    // above) - no more re-appending/removing per slide, just reposition\n    // it over whichever dot is active now.\n    positionHeroPausePlay();\n\n    if (PrevSlideIndex === PositiveSlide) {\n      circular_bar(\"play\", 0);\n    }\n  });\n  // ====================\n  // $(\".tm_hero_slider\").on(\"beforeChange\", function (event,slick,currentSlide,nextSlide) {\n  //   PrevSlideIndex = currentSlide;\n  // });\n  // $(\".tm_hero_slider\").on(\"afterChange\", function (event,slick,currentSlide,nextSlide) {\n  //   var PrevSlide = currentSlide -1;\n  //   var PositiveSlide = getPositive(PrevSlide);\n  //   if ($(\".slick-dots .slick-active\").find(\".tm_pause-play\").length < 1) {\n  //     $(\".slick-dots .slick-active\").append(data_store).siblings().find(\".tm_pause-play\").remove();\n  //   }\n  //   if(PrevSlideIndex == PositiveSlide){\n  //     circular_bar();\n  //   }\n  // });\n\n  // collection page js starts from here\n\n  $(\".tm_colle_colour li\").click(function () {\n    $(this).toggleClass(\"active_color\");\n    $(this).siblings().removeClass(\"active_color\");\n  });\n\n  // start match height js\n\n  if ($(window).width() > 575) {\n    $(document).ready(function () {\n      if ($(\".tm_about-card-info\").length > 0) {\n        $(\".tm_about-card-info\").matchHeight();\n      }\n    });\n  }\n\n  // var contact = 0;\n  // $('.tm_contact-us-info').each(function() {\n  //     if(contact < $(this).height()){\n  //         contact = $(this).height();\n  //     };\n  // });\n  // $('.tm_contact-us-info').height(contact);\n  $(\".tm_contact-us-info\").matchHeight();\n\n  if ($(\".tm_service-info\").length > 0) {\n    $(\".tm_service-info\").matchHeight();\n  }\n\n  // end match height js\n\n  // contact us page\n\n  $(document).on(\"click\", \".tm_trigger-btn .tm_btn\", function (e) {\n    e.preventDefault();\n    setTimeout(function () {\n      $(\"form.klaviyo-form :input:enabled:visible:first\").focus();\n    }, 10);\n\n    var data = $(this).attr(\"data-id\");\n    // console.log(data);\n    $(\".tm_contact-dtl\").removeClass(\"tm_contact-dtl-show\");\n    $(`.tm_contact-dtl[data-content=${data}]`).addClass(\"tm_contact-dtl-show\");\n\n    $(\".tm_contact-hdqur\").hide();\n    $(this).addClass(\"btn_hide\");\n    $(this).parents(\".tm_contact-us-item\").addClass(\"tm_contact_bg-color\");\n    $(this)\n      .parents(\".tm_contact-us-item\")\n      .siblings()\n      .find(\".tm_btn\")\n      .removeClass(\"btn_hide\");\n    $(this)\n      .parents(\".tm_contact-us-item\")\n      .siblings()\n      .removeClass(\"tm_contact_bg-color\");\n    // triggerFocus(\n    //   document.querySelector(\".tm_select_topic+.tm_input-fld-grp input\")\n    // );\n    // $(\".tm_contact-dtl-show form:first *:input[type!=hidden]:first\").get(0).focus();\n    // var OffsetTop = $(\"#bottom\").offset().top;\n    //  $(window).scrollTop(OffsetTop);\n    var OffsetTop = $(\"#bottom\").offset().top;\n    if (window.innerWidth < 600) {\n      $(window).scrollTop(OffsetTop - 30);\n      console.log(\"iffffffffffff\");\n    } else {\n      $(window).scrollTop(OffsetTop - 50);\n      console.log(\"elseeeeeeeeeeee\");\n    }\n\n    // var OffsetTop = $(\"#bottom\").offset().top;\n    // var scrollToPosition = OffsetTop - ($(window).height() * 0.5);\n    // $(window).scrollTop(scrollToPosition);\n\n    // document.querySelector(\".tm_select_topic+.tm_input-fld-grp input\").focus();\n  });\n\n  if ($(\".tm_service-info\").length > 0) {\n    $(\".tm_service-info\").matchHeight();\n  }\n\n  setTimeout(() => {\n    $(\".singal_add\").matchHeight();\n  });\n\n  // collection page css starts from here\n\n  $(\".tm_category-view-all\").click(function () {\n    $(\".tm_coll-list-toggle\").addClass(\"colle_list-open\");\n    $(\"body\").addClass(\"layer_second\");\n  });\n\n  $(\".tm_coll-list-close\").click(function () {\n    $(\".tm_coll-list-toggle\").removeClass(\"colle_list-open\");\n    $(\"body\").removeClass(\"layer_second\");\n  });\n\n  $(\".tm_category-list li\").on(\"mouseover\", function () {\n    $(this).addClass(\"active\").siblings().removeClass(\"active\");\n    $(\".\" + $(this).attr(\"data-col\"))\n      .show()\n      .siblings(\".collection\")\n      .hide();\n    $(\".tm_collection-info\").matchHeight();\n\n    try {\n      if (window.BOLD && window.BOLD.pre && window.BOLD.pre.events) {\n        window.BOLD.pre.events.emit(\"update\");\n      }\n    } catch (e) { }\n  });\n\n  // address page slider\n\n  $(\".add_add_btn\").click(function () {\n    $(\"#main_btn\").trigger(\"click\");\n    var New_add_Box = $(\"#AddAddress #AddressCountryNew\");\n    console.log(\"New_add_Box\", New_add_Box);\n    var New_countryValue = $(\".main_add .defult_address:first\")\n      .find(\".bs_country\")\n      .text();\n    console.log(\"New_countryValue\", New_countryValue);\n    if (New_countryValue) {\n      New_add_Box.val(New_countryValue);\n    }\n  });\n  $(\"#main_btn\").click(function () {\n    $(this).attr(\"aria-expanded\", true);\n  });\n  if (window.innerWidth < 750) {\n    $(document).on(\"click\", \".tm_filter-close\", function () {\n      $(\".mobile-facets__close\").trigger(\"click\");\n    });\n  }\n\n  // if ($(\".address_sld .singal_add\").length > 2) {\n  //   $(\".address_sld\").slick({\n  //     slidesToShow: 2,\n  //     slidesToScroll: 1,\n  //     centerMode: false,\n  //     // centerPadding: \"135px\",\n  //     infinite: false,\n  //     autoplaySpeed: 2000,\n  //     prevArrow: false,\n  //     nextArrow: false,\n  //     responsive: [\n  //       {\n  //         breakpoint: 992,\n  //         settings: {\n  //           arrows: false,\n  //           centerMode: false,\n  //           slidesToShow: 2,\n  //         },\n  //       },\n  //       {\n  //         breakpoint: 768,\n  //         settings: {\n  //           arrows: false,\n  //           centerMode: false,\n  //           slidesToShow: 1,\n  //         },\n  //       },\n  //       {\n  //         breakpoint: 576,\n  //         settings: {\n  //           arrows: false,\n  //           centerMode: false,\n  //           slidesToShow: 1,\n  //         },\n  //       },\n  //     ],\n  //   });\n  // }\n\n  // order page order tab\n  $(document).on(\"click\", \".tm_odr-tab-wrp .tm_odr-tab\", function () {\n    $(this).addClass(\"activate\").siblings().removeClass(\"activate\");\n    var data = $(this).attr(\"data-order\");\n    var data_class = \".\" + data;\n    $(\".tm_odr-content\").hide();\n    $(data_class).show();\n    $(\".tm_collection-info\").matchHeight();\n  });\n\n\n  $(\".addresses .edit\").click(function () {\n    var data = $(this).attr(\"data-add\");\n    // alert(data)\n    var data_class = \".\" + data;\n    $(\".edit_form\").hide();\n    $(data_class).show();\n    var form_offset = $(\".edit_form\" + data_class).offset().top - 20;\n    console.log(\"form_offset\", form_offset);\n    $(window).scrollTop(form_offset);\n  });\n\n\n  function tmFilterModalGalleryByColour(filter) {\n    try {\n      var $modalMain = $(\".tm_product_view-main-slide\");\n      var $modalThumbs = $(\".tm_product_view-thumbs-slide\");\n      if (!$modalMain.hasClass(\"slick-initialized\")) return;\n      $modalMain.slick(\"slickUnfilter\");\n      if ($modalThumbs.hasClass(\"slick-initialized\")) {\n        $modalThumbs.slick(\"slickUnfilter\");\n      }\n      if (!filter) return;\n      var allowed = {};\n      var found = false;\n      // read AFTER the on-page gallery has been filtered to this colour, so\n      // these anchors are guaranteed to be in the DOM\n      $(\".tm_product-main-img-slide a.figure_slot.\" + filter).each(function () {\n        var id = $(this).attr(\"data-media-id\");\n        if (id) { allowed[id] = true; found = true; }\n      });\n      if (!found) return;\n      var byMediaId = function () {\n        var id = $(this).attr(\"data-media-id\");\n        return !!(id && allowed[id]);\n      };\n      $modalMain.slick(\"slickFilter\", byMediaId);\n      if ($modalThumbs.hasClass(\"slick-initialized\")) {\n        $modalThumbs.slick(\"slickFilter\", byMediaId);\n      }\n    } catch (e) { }\n  }\n\n  if ($(\".tm_product-variant variant-radios\").length > 0) {\n    $(\".tm_product_thumbs-slide li, .tm_product-main-img-slide a\").each(function () {\n      var alt = $(this).find(\"img\").attr(\"alt\");\n      if (alt) {\n        var altClean = alt.toLowerCase().trim();\n        $(this).addClass(altClean);\n        altClean.split(/\\s+/).forEach(function (w) {\n          if (w) $(this).addClass(w);\n        }.bind(this));\n      }\n    });\n\n    $(\".tm_product-variant input\").off(\"click.filterSwatches\").on(\"click.filterSwatches\", function () {\n      var filter = $(this).data(\"filter\");\n      if (filter && tmIsColourSwatch($(this))) {\n\n        if (typeof hide_dots === \"function\") hide_dots(tmColourSlideCount(filter));\n\n        setTimeout(function () {\n\n          var releaseHeldImage = tmHoldMainImageDuringFilter();\n\n          $(\".tm_product_thumbs-slide\").slick(\"slickUnfilter\");\n          if ($(\".tm_product_thumbs-slide\").find(\".\" + filter).length > 0) {\n            $(\".tm_product_thumbs-slide\").slick(\"slickFilter\", \".\" + filter);\n          }\n\n          $(\".tm_product-main-img-slide\").slick(\"slickUnfilter\");\n          if ($(\".tm_product-main-img-slide\").find(\".\" + filter).length > 0) {\n            $(\".tm_product-main-img-slide\").slick(\"slickFilter\", \".\" + filter);\n          }\n          // See tmRestoreNativeSlideImage above - undoes a hover-preview that\n          // never got its own mouseleave to clean up after itself.\n          tmRestoreNativeSlideImage(filter);\n          releaseHeldImage();\n\n          tmFilterModalGalleryByColour(filter);\n          // Confirm against this colour's own count. Timers keep their order,\n          // so a burst of swatch taps still settles on the last one.\n          if (typeof hide_dots === \"function\") hide_dots(tmColourSlideCount(filter));\n        }, 0);\n      }\n    });\n  }\n\n  function tmInitialSlide($el) {\n    var idx = parseInt($el.attr(\"data-initial-slide\"), 10);\n    if (isNaN(idx) || idx < 0) return 0;\n    var slideCount = $el.children().length;\n    return idx < slideCount ? idx : 0;\n  }\n\n  if ($(\".tm_product-main-img-slide\").length > 0) {\n    $(\".tm_product-main-img-slide\").slick({\n      initialSlide: tmInitialSlide($(\".tm_product-main-img-slide\")),\n      slidesToShow: 1,\n      slidesToScroll: 1,\n      infinite: true,\n      arrows: false,\n      draggable: false,\n      speed: 5,\n      fade: true,\n      asNavFor: \".tm_product_thumbs-slide\",\n      pauseOnHover: true,\n      waitForAnimation: false,\n      responsive: [\n        {\n          breakpoint: 796,\n          settings: {\n            dots: true,\n            speed: 5,\n            fade: true,\n          },\n        },\n      ],\n    });\n    $(\".tm_product-main-img-slide\").on(\"init reInit setPosition breakpoint\", function () {\n      // Selected colour, not slick's live count: setPosition fires midway\n      // through the unfilter/filter pair, when the gallery is momentarily\n      // holding every colour's slides again.\n      if (typeof hide_dots === \"function\") hide_dots(tmSelectedColourSlideCount());\n    });\n  }\n\n  if ($(\".tm_product_thumbs-slide\").length > 0) {\n    $(\".tm_product_thumbs-slide\").slick({\n      slidesToShow: 7,\n      slidesToScroll: 1,\n      asNavFor: \".tm_product-main-img-slide\",\n      vertical: true,\n      arrows: false,\n      dots: false,\n      infinite: false,\n      focusOnSelect: true,\n      pauseOnHover: true,\n      responsive: [\n        {\n          breakpoint: 576,\n          settings: {\n            vertical: false,\n            slidesToShow: 5,\n          },\n        },\n        {\n          breakpoint: 480,\n          settings: {\n            vertical: false,\n            slidesToShow: 4,\n          },\n        },\n      ],\n    });\n    // $(\".tm_product_thumbs-slide .slick-slide[data-slick-index='0']\").click();\n\n    function syncSlickWithCheckedVariant() {\n      var $checked = $(\".tm_product-variant fieldset input:checked, .tm_product-variant input:checked\");\n      if ($checked.length) {\n        var filter = $checked.data(\"filter\");\n        if (filter && tmIsColourSwatch($checked)) {\n          try {\n            // Same unfilter-before-checking order as the click handler below:\n            // while a filter is applied the other colour's slides are detached\n            // from the DOM, so a find() done first can miss them and skip the\n            // filter that should apply.\n            $(\".tm_product_thumbs-slide\").slick(\"slickUnfilter\");\n            if ($(\".tm_product_thumbs-slide\").find(\".\" + filter).length > 0) {\n              $(\".tm_product_thumbs-slide\").slick(\"slickFilter\", \".\" + filter);\n            }\n            $(\".tm_product-main-img-slide\").slick(\"slickUnfilter\");\n            if ($(\".tm_product-main-img-slide\").find(\".\" + filter).length > 0) {\n              $(\".tm_product-main-img-slide\").slick(\"slickFilter\", \".\" + filter);\n            }\n            tmRestoreNativeSlideImage(filter);\n            tmFilterModalGalleryByColour(filter);\n            if (typeof hide_dots === \"function\") hide_dots(tmColourSlideCount(filter));\n          } catch (e) { }\n        }\n      }\n    }\n    syncSlickWithCheckedVariant();\n    setTimeout(syncSlickWithCheckedVariant, 200);\n    setTimeout(syncSlickWithCheckedVariant, 500);\n  }\n\n  $(document).on(\"click\", \".tm_product-main-img .figure_slot\", function () {\n    var data_index = $(this).attr(\"data-slick-index\");\n\n    var mediaId = $(this).attr(\"data-media-id\");\n    if (mediaId) {\n      var modalSlides = document.querySelectorAll(\n        '.tm_product_view-main-slide .tm_product-view-img[data-media-id=\"' + mediaId + '\"]'\n      );\n      for (var i = 0; i < modalSlides.length; i++) {\n        if (modalSlides[i].classList.contains(\"slick-cloned\")) continue;\n        var resolvedIndex = modalSlides[i].getAttribute(\"data-slick-index\");\n        if (resolvedIndex !== null && resolvedIndex !== \"\") {\n          data_index = resolvedIndex;\n          break;\n        }\n      }\n    }\n\n    $(\".tm_product-variant input[name='Colour']:checked\").each(function () {\n      var checkedValue = $(this).val();\n      console.log(checkedValue, \"checkedValue\");\n      $(\".popupcolor_selected\").text(checkedValue);\n    });\n\n    $(\".tm_product_view-thumbs-slide\").slick(\"slickGoTo\", data_index);\n    // Move the enlarged gallery itself too. It is asNavFor-linked to the\n    // thumbs, but the thumbs are visually hidden on mobile and relying on that\n    // link alone left the enlarged photo on the wrong slide there.\n    if ($(\".tm_product_view-main-slide\").hasClass(\"slick-initialized\")) {\n      $(\".tm_product_view-main-slide\").slick(\"slickGoTo\", data_index);\n    }\n\n    $(\".tm_product-view\").addClass(\"tm_product-view-show\");\n\n    // $(document).ready(function () {\n    //     $('.tm_product-view-img.slick-active').on('click', function () {\n    //         $(this).addClass('active-img');\n    //     });\n    // });\n\n    // $(\".tm_product-view-inner\").height(window.screen.height);\n\n    $(\"body\").addClass(\"overflow-hide\");\n    $(\"html\").addClass(\"overflow-hide\");\n\n    // $(\".gallery-image\").each(function () {\n    //   $(this).imageZoom();\n    // });\n\n    return false;\n  });\n\n  if ($(\".tm_product_view-thumbs-slide\").length > 0) {\n    $(\".tm_product_view-thumbs-slide\").slick({\n      initialSlide: tmInitialSlide($(\".tm_product_view-thumbs-slide\")),\n      slidesToShow: 4,\n      slidesToScroll: 1,\n      asNavFor: \".tm_product_view-main-slide\",\n      arrows: false,\n      dots: false,\n      infinite: false,\n      focusOnSelect: true,\n      pauseOnHover: true,\n    });\n  }\n\n  if ($(\".tm_product_view-main-slide\").length > 0) {\n    $(\".tm_product_view-main-slide\").slick({\n      initialSlide: tmInitialSlide($(\".tm_product_view-main-slide\")),\n      slidesToShow: 1,\n      slidesToScroll: 1,\n      asNavFor: \".tm_product_view-thumbs-slide\",\n      arrows: false,\n      dots: false,\n      draggable: false,\n      infinite: true,\n      fade: true,\n      focusOnSelect: true,\n      pauseOnHover: true,\n      speed: 250,\n      responsive: [\n        {\n          breakpoint: 992,\n          settings: {\n            swipe: true,\n            speed: 5,\n            fade: true,\n          },\n        },\n      ],\n    });\n  }\n  // Product page zoom js starts from here\n\n  $(\".tm_share-icon\").click(function () {\n    $(\".tm_product-share-dropdown\").toggleClass(\"tm_share-dropdown-open\");\n    return false;\n  });\n\n  $(\".tm_share_dropdown-close\").click(function () {\n    $(\".tm_product-share-dropdown\").removeClass(\"tm_share-dropdown-open\");\n    return false;\n  });\n\n  $(\".tm_product-main-img .figure_slot\").mouseenter(function () {\n    $(this).parents(\".tm_product-img\").addClass(\"view_z-index\");\n    $(this).children(\".slick-list\").addClass(\"slick_overflow\");\n  });\n  $(\".tm_product-main-img .figure_slot\").mouseleave(function () {\n    $(this).parents(\".tm_product-img\").removeClass(\"view_z-index\");\n    $(this).children(\".slick-list\").removeClass(\"slick_overflow\");\n  });\n\n  $(\".tm_product-main-img\").hover(function () {\n    $(this).find(\".slick-list\").toggleClass(\"slick_overflow\");\n    $(this).parents(\".tm_product-page\").toggleClass(\"overflow_hidden\");\n  });\n  // if (window.innerWidth > 640) {\n  //   if ($(\".zoom-box\").length > 0) {\n  //     $(function () {\n  //       $(\".zoom-box img\").jqZoom({\n  //         selectorWidth: 180,\n  //         selectorHeight: 180,\n  //         viewerWidth: 535,\n  //         viewerHeight: 535,\n  //       });\n  //     });\n  //   }\n  // }\n\n  // share button copy link js starts from here\n  $(\".desktop_copylink .desktop_copylink_inner\").on(\"click\", function () {\n    copyToClipboard(this);\n  });\n\n  function copyToClipboard(text) {\n    var inner_html = $(text).find(\"span\").html();\n    var inputc = document.body.appendChild(document.createElement(\"input\"));\n    inputc.value = window.location.href;\n    inputc.focus();\n    inputc.select();\n\n    document.execCommand(\"copy\");\n    inputc.parentNode.removeChild(inputc);\n    setTimeout(function () {\n      $(\".desktop_copylink .desktop_copylink_inner span\").html(\"Link copied!\");\n    }, 1000);\n    setTimeout(function () {\n      $(\".desktop_copylink .desktop_copylink_inner span\").html(inner_html);\n      document\n        .querySelector(\".tm_product-share-dropdown\")\n        .classList.remove(\"tm_share-dropdown-open\");\n    }, 2000);\n  }\n\n  $(\".tm_basket-bottom-head\").click(function () {\n    $(\".tm_shp-del-grid\").slideToggle(\"slow\");\n    $(\".tm_basket-bottom-dropdown\").toggleClass(\"rotate_arrow\");\n  });\n\n  $(document).mouseup(function (e) {\n    var clickplace = $(\".drawer__inner\");\n    if (!clickplace.is(e.target) && clickplace.has(e.target).length == 0) {\n      $(\"body\").removeClass(\"body_layer overflow-hidden\");\n      $(\".tm_header_bottom\").removeClass(\"hedaer_layer\");\n    }\n  });\n\n  $(document).on(\"click\", \".drawer__close\", function () {\n    $(\"body\").removeClass(\"body_layer\");\n    $(\".tm_header_bottom\").removeClass(\"hedaer_layer\");\n    $(\".header--top-left .tm_container.position\").removeClass(\"hedaer_layer\");\n  });\n\n  $(\".edit_cancal\").click(function () {\n    $(\".edit_form\").hide();\n  });\n\n  // product page slider\n\n  // $('.tm_main_product .tm_product_thumbs-slide .slick-slide').mouseover(function(){\n  //   // $(this).siblings().removeClass(\"slick-current\");\n  //   // $(this).siblings().attr('tabindex', '-1');\n  //   // $(this).addClass('slick-current');\n  //   // $(this).attr('tabindex', '0');\n  //   // $(this).click();\n  // });\n\n  // Custom Sort by\n  // var fr_sel_val = $(\"#SortBy\").val();\n  // var sel_fr_sel_val = $(\"[data-value=\" + fr_sel_val + \"]\").text();\n  // $(\".sel_flt\").text(sel_fr_sel_val);\n  // $(document).on(\"click\",\".tm_sort_by-inner .sort_by_wrp_head\", function(e){\n  //   $(\".sort_list_wrp\").hide();\n  // });\n  $(document).on(\"click\", \".tm_sort_by-inner .sort_by_wrp_head\", function (e) {\n\n    var openFilterDetails = document.querySelector(\".mobile-facets__disclosure[open]\");\n    if (openFilterDetails) {\n      var filterSummary = openFilterDetails.querySelector(\"summary\");\n      var filterDrawer = openFilterDetails.closest(\"menu-drawer\");\n      var filterBreakpoint = (filterDrawer && filterDrawer.dataset.breakpoint) || \"mobile\";\n      openFilterDetails.removeAttribute(\"open\");\n      openFilterDetails.classList.remove(\"menu-opening\");\n      if (filterSummary) filterSummary.setAttribute(\"aria-expanded\", false);\n      document.documentElement.classList.remove(\"overflow-hidden-\" + filterBreakpoint);\n      document.body.classList.remove(\"overflow-hidden-\" + filterBreakpoint);\n      if (typeof removeTrapFocus === \"function\") removeTrapFocus();\n    }\n\n    var getScrollTop = window.pageYOffset || document.documentElement.scrollTop;\n    var FixedTopPosition = \"-\" + getScrollTop + \"px\";\n    console.log(\"getScrollTop-->\", getScrollTop);\n    $(\".sort_list_wrp\").addClass(\"open-sortby\");\n    $(\"body\").addClass(\"sort_by_open_layer\");\n\n    if (window.innerWidth <= 575) {\n      $(\"body\").attr(\"data-top\", getScrollTop);\n      $(\"body\").addClass(\"ios_overFlow_hidden\");\n      $(\"body\").css(\"top\", FixedTopPosition);\n    }\n  });\n\n  $(document).on(\"click\", \".sort_list_link\", function () {\n    var wasLocked = $(\"body\").hasClass(\"ios_overFlow_hidden\");\n    var ScrolltopAttr = $(\"body\").attr(\"data-top\");\n    var selected_text = $(this).text();\n    var selected_val = $(this).parents(\".sort_list\").attr(\"data-value\");\n    $(\".sel_flt\").text(selected_text);\n    $(this).parents(\".sort_list_wrp\").removeClass(\"open-sortby\");\n    $(\"body\").removeClass(\"ios_overFlow_hidden\");\n    $(\"body\").removeClass(\"sort_by_open_layer\");\n    $(\".sort_list_wrp\").removeClass(\"open-sortby\");\n    // Desktop never locked scroll above, so there's no saved position to\n    // restore - jumping to `undefined`/stale data-top would yank the page\n    // back to wherever it was the last time the lock WAS applied (mobile).\n    if (wasLocked) {\n      window.scrollTo({ top: ScrolltopAttr, behavior: \"instant\" });\n    }\n  });\n\n  $(document).on(\n    \"click\",\n    \".mobile_short_by_heading a.close_mobile_short_by\",\n    function () {\n      var wasLocked = $(\"body\").hasClass(\"ios_overFlow_hidden\");\n      var ScrolltopAttr = $(\"body\").attr(\"data-top\");\n      $(\".sort_list_wrp\").removeClass(\"open-sortby\");\n      $(\"body\").removeClass(\"ios_overFlow_hidden\");\n      $(\"body\").removeClass(\"sort_by_open_layer\");\n      if (wasLocked) {\n        window.scrollTo({ top: ScrolltopAttr, behavior: \"instant\" });\n      }\n    }\n  );\n\n  // product page slider\n\n  $(\".tm_del_opt-box li\").click(function () {\n    $(this).siblings().removeClass(\"active\");\n    $(this).addClass(\"active\");\n  });\n\n  $(document).on(\"click\", function (e) {\n    var altText = $(e.target).attr(\"alt\");\n    $(\".tm_product-view-info .select__select option\").each(function () {\n      var optionText = $(this).text();\n      if (optionText == altText) {\n        var sku = $(this).attr(\"data_sku\");\n        var lens = $(this).attr(\"data_lens\");\n        $(\".tm_product-view-var .var-sku\").text(sku);\n        $(\".tm_product-view-var .popupsize_selected\").text(lens);\n      }\n    });\n    // $(\".popupcolor_selected\").text(altText).css(\"text-transform\",\"capitalize\")\n\n    if (e.target.classList.contains(\"mobile-facets__open-wrapper\")) {\n      $(\"body\").removeClass(\"overflow-hidden-mobile\");\n      $(\"body\").removeClass(\"ios_overFlow_hidden\");\n    }\n    // if (e.target.classList.contains(\"overflow-hidden-undefined\")) {\n    //   $(\"#Details-menu-drawer-container\").removeClass(\"menu-opening\");\n    //   $(\"#Details-menu-drawer-container\").removeAttr(\"open\");\n    //   $(\"body\").removeClass(\"layer\");\n    //   console.log(\"true\")\n    // }\n    if ($(e.target).hasClass(\"tm_popup-show\")) {\n      $(\".tm_fdbk-popup\").removeClass(\"tm_popup-show\");\n      $(\"body\").removeClass(\"overflow-hide\");\n      $(\"html\").removeClass(\"overflow-hide\");\n    }\n    if ($(e.target).hasClass(\"tm_product-view-show\")) {\n      $(\".tm_product-view\").removeClass(\"tm_product-view-show\");\n      $(\"body\").removeClass(\"overflow-hide\");\n      $(\"html\").removeClass(\"overflow-hide\");\n    }\n    if ($(e.target).hasClass(\"layer\")) {\n      $(\".toggle_close_btn\").trigger(\"click\");\n    }\n    if ($(e.target).hasClass(\"layer_second\")) {\n      var ScrolltopAttr = $(\"body\").attr(\"data-top\");\n      $(\"body\").removeClass(\"overflow-hidden-undefined\");\n      $(e.target).removeClass(\"layer_second\");\n      $(\".Wishlist_popup\").removeClass(\"active\");\n      $(\".tm_coll-list-toggle\").removeClass(\"colle_list-open\");\n      window.scrollTo({ top: ScrolltopAttr, behavior: \"instant\" });\n    }\n  });\n\n  if (window.innerWidth < 796) {\n    $(document).on(\"click\", \".important_mobile_message_popup\", function () {\n      $(this).parent().next(\".tm_basket-msg\").addClass(\"active\");\n      $(\"body\").addClass(\"overflow-hide\");\n    });\n    $(document).on(\"click\", \".back_mobile_popup\", function () {\n      $(this).parent().removeClass(\"active\");\n      $(\"body\").removeClass(\"overflow-hide\");\n    });\n  }\n  document.addEventListener(\"click\", function (e) {\n    if (e.target == document.querySelector(\".pick_default_address\")) {\n      document.querySelector(\".pick_default_address\").style.display = \"none\";\n      $(\"body\").removeClass(\"overflow-hide\");\n      $(\"html\").removeClass(\"overflow-hide\");\n      $(\"body\").removeClass(\"ios_overFlow_hidden\");\n    }\n  });\n  $(document).on(\"click\", \".location_change_head\", function () {\n    if (document.querySelector(\".pick_default_address\")) {\n      document.querySelector(\".pick_default_address\").style.display = \"block\";\n      $(\"body\").addClass(\"overflow-hide\");\n      $(\"body\").addClass(\"ios_overFlow_hidden\");\n      $(\"html\").addClass(\"overflow-hide\");\n    }\n  });\n  $(\".close_address_poopup\").on(\"click\", function () {\n    document.querySelector(\".pick_default_address\").style.display = \"none\";\n    $(\"body\").removeClass(\"overflow-hide\");\n    $(\"body\").removeClass(\"ios_overFlow_hidden\");\n    $(\"html\").removeClass(\"overflow-hide\");\n  });\n\n  var VatPersantage = $(\".Vat_persantage_countries input[type='hidden']\").val();\n  $(\".tm_pricing_switch input[type='checkbox']\").val(VatPersantage);\n  var currency_symbol = $(\".store_currency\").val();\n  // function ChangePrice() {\n  //   var VatPersantage = 0;\n  //   var VatText = \"ex. VAT\";\n  //   if ($(\"body\").hasClass(\"customer_aprove\")) {\n  //     if ($(\".tm_pricing_switch input[type='checkbox']\").is(\":checked\")) {\n  //       VatPersantage = Number(\n  //         $(\".tm_pricing_switch input[type='checkbox']\").val()\n  //       ).toFixed(2);\n  //       VatText = \"inc. VAT\";\n  //     }\n  //   } else if ($(\"body\").hasClass(\"not_login\")) {\n  //     if ($(\".tm_pricing_switch input[type='checkbox']\").is(\":checked\")) {\n  //       VatPersantage = 20;\n  //       VatText = \"inc. VAT\";\n  //     }\n  //   } else {\n  //     if ($(\".tm_pricing_switch input[type='checkbox']\").is(\":checked\")) {\n  //       VatPersantage = Number(\n  //         $(\".tm_pricing_switch input[type='checkbox']\").val()\n  //       ).toFixed(2);\n  //       VatText = \"inc. VAT\";\n  //     }\n  //   }\n  //   var persatage = VatPersantage / 100;\n  //   if ($(\"body\").hasClass(\"customer_aprove\")) {\n  //     if ($(\".tm_pricing_switch input[type='checkbox']\").is(\":checked\")) {\n  //       var ExVatpersantage = Number(\n  //         $(\".tm_pricing_switch input[type='checkbox']\").val()\n  //       ).toFixed(2);\n  //       VatText = \"inc. VAT\";\n  //     }\n  //   } else if ($(\"body\").hasClass(\"not_login\")) {\n  //     var ExVatpersantage = 20;\n  //     if ($(\".tm_pricing_switch input[type='checkbox']\").is(\":checked\")) {\n  //       VatText = \"inc. VAT\";\n  //     }\n  //   } else {\n  //     var ExVatpersantage = Number(\n  //       $(\".tm_pricing_switch input[type='checkbox']\").val()\n  //     ).toFixed(2);\n  //     if ($(\".tm_pricing_switch input[type='checkbox']\").is(\":checked\")) {\n  //       VatText = \"inc. VAT\";\n  //     }\n  //   }\n  //   var FixedVatpersantage = ExVatpersantage / 100;\n  //   var FinalVatpersantage = FixedVatpersantage.toFixed(2);\n  //   $(\".cart_drawer_price\").each(function () {\n  //     console.log(\"cart-persatage\", VatPersantage);\n  //     var $CartDrawerPrice = Number(\n  //       $(this).find(\".cart_drw_def_price\").attr(\"data-drawerprice\")\n  //     );\n  //     var $VatCartDraweItempersanteg = $CartDrawerPrice * persatage;\n  //     var $FinalCartDrawerItem = $CartDrawerPrice + $VatCartDraweItempersanteg;\n  //     var $FinalCartDrawerIncVatPrice = $FinalCartDrawerItem.toFixed(2);\n  //     // $(this).html($FinalCartDrawerIncVatPrice);\n  //     $(this)\n  //       .find(\".cart_drw_def_price span\")\n  //       .text($FinalCartDrawerIncVatPrice);\n  //     $(this).siblings(\".tm_qty-tax\").html(VatText);\n  //     console.log(\"VatText\", VatText);\n  //   });\n  //   var $CartDrawerSubtotal = Number(\n  //     $(\".subtotal_def_price_cart\").attr(\"data-cart-total\")\n  //   );\n  //   var $CartDrawerPersanteg = $CartDrawerSubtotal * persatage;\n  //   var $FinalCartDrawrTotal = $CartDrawerSubtotal + $CartDrawerPersanteg;\n  //   var $FinalCartDrawerPrice = $FinalCartDrawrTotal.toFixed(2);\n  //   $(\".subtotal_def_price_cart\").html(currency_symbol + $FinalCartDrawerPrice);\n  //   $(\".tm_cart_total span:first-child .tm_qty-tax\").html(VatText);\n\n  //   if ($(\"body\").hasClass(\"collection\") || $(\"body\").hasClass(\"search\")) {\n  //     // collection page js starts from here\n\n  //     $(\".tm_colle-price-wrapper\").each(function () {\n  //       var CurrentPrice,\n  //         incrasePrice,\n  //         FinalInVat,\n  //         InVATPrice,\n  //         ComparePrice,\n  //         CompareIncreasePrice,\n  //         CompareFinalPrice,\n  //         CompareInVATPrice;\n  //       CurrentPrice = Number($(this).attr(\"data-price\"));\n\n  //       incrasePrice = CurrentPrice * persatage;\n  //       FinalInVat = CurrentPrice + incrasePrice;\n  //       InVATPrice = FinalInVat.toFixed(2);\n  //       ComparePrice = Number(\n  //         $(this)\n  //           .find(\".collection_grid_compare_price\")\n  //           .attr(\"data-compareprice\")\n  //       );\n  //       CompareIncreasePrice = ComparePrice * persatage;\n  //       CompareFinalPrice = ComparePrice + CompareIncreasePrice;\n  //       CompareInVATPrice = CompareFinalPrice.toFixed(2);\n  //       $(this).attr(\"data-Vat\", InVATPrice);\n  //       $(this).find(\".coll_def_price span\").html(InVATPrice.split(\".\")[0]);\n  //       $(this)\n  //         .find(\".coll_def_price .tm_price_sm\")\n  //         .html(InVATPrice.split(\".\")[1]);\n  //       $(this).find(\".tm_ex_VAt\").html(VatText);\n  //       $(this)\n  //         .find(\".collection_grid_compare_price span\")\n  //         .html(CompareInVATPrice);\n  //       // $(this).find(\".colle_price\").html(currency_symbol + InVATPrice);\n  //       console.log(\"Collection->-InVATPrice\", InVATPrice);\n  //     });\n  //   } else if ($(\"body\").hasClass(\"product\")) {\n  //     //  product page js starts from here\n  //     var Product_price,\n  //       product_compare_price,\n  //       persantage_price,\n  //       persantageCompareprice,\n  //       final_product_price,\n  //       FinalComparePrice,\n  //       Product_main_price,\n  //       ProductCompareMainPrice,\n  //       ProductSavingPricePage,\n  //       CurrentPrice,\n  //       incrasePrice,\n  //       FinalInVat,\n  //       InVATPrice;\n\n  //     Product_price = Number($(\".tm_product_wrp\").attr(\"data-price\"));\n  //     product_compare_price = Number(\n  //       $(\".tm_product-price-offer\").attr(\"data-comparepri\")\n  //     );\n  //     persantage_price = Product_price * persatage;\n  //     persantageCompareprice = product_compare_price * persatage;\n  //     final_product_price = Product_price + persantage_price;\n  //     FinalComparePrice = product_compare_price + persantageCompareprice;\n  //     Product_main_price = final_product_price.toFixed(2);\n  //     ProductCompareMainPrice = FinalComparePrice.toFixed(2);\n  //     ProductSavingPricePage = ProductCompareMainPrice - Product_main_price;\n  //     $(\".tm_product-price-wrapper .tm_product-price .tm_product_wrp\")\n  //       .find(\".big_price\")\n  //       .html(Product_main_price.split(\".\")[0]);\n  //     $(\".tm_product-price-wrapper .tm_product-price .tm_product_wrp\")\n  //       .find(\".big_price+.tm_sm-font\")\n  //       .html(Product_main_price.split(\".\")[1]);\n  //     $(\".tm_product-price-offer h6.exp_price span\").html(\n  //       ProductCompareMainPrice\n  //     );\n  //     $(\n  //       \".tm_product-price-offer h6.tm_product-price-save span.total_save\"\n  //     ).html(ProductSavingPricePage.toFixed(2));\n  //     $(\".tm_product-price .product_def_price span\").html(\n  //       Product_main_price.split(\".\")[0]\n  //     );\n  //     $(\".tm_product-price .product_def_price .tm_price_sm\").html(\n  //       Product_main_price.split(\".\")[1]\n  //     );\n\n  //     // $(\".tm_product-price .main_price .money\").html(currency_symbol + Product_main_price);\n\n  //     $(\n  //       \".tm_product-price-wrapper .tm_product-price .tm_product_wrp+.tm_sm-font.tm_product-tax\"\n  //     ).html(VatText);\n  //     $(\".tm_product-price-offer .tm_product-tax\").html(VatText);\n  //     $(\n  //       \".tm_cart_product-price .tm_product_wrp+.tm_sm-font.tm_product-tax\"\n  //     ).html(VatText);\n  //   } else if ($(\"body\").hasClass(\"cart\")) {\n  //     $(\".tm_shp_basket-price .tm_sec_lg-font.th_do_item_line_price\").each(\n  //       function () {\n  //         var $MainCartItemTotal,\n  //           $CartMainIncrease,\n  //           $FinalCartItemPrice,\n  //           $InVatPriceCartItem,\n  //           $itemSinglePrice,\n  //           $ItemMainPriceIncrease,\n  //           $FinalSinaleItemPrice,\n  //           $FinalSingleItemPrice;\n  //         $MainCartItemTotal = Number($(this).attr(\"data-originalprice\"));\n  //         $CartMainIncrease = $MainCartItemTotal * persatage;\n  //         $FinalCartItemPrice = $MainCartItemTotal + $CartMainIncrease;\n  //         $InVatPriceCartItem = $FinalCartItemPrice.toFixed(2);\n\n  //         $itemSinglePrice = Number(\n  //           $(this)\n  //             .parents(\".tm_shp_cart-item\")\n  //             .find(\".tm_shp-basket-qty .cart_item_price\")\n  //             .attr(\"data-itemprice\")\n  //         );\n  //         $ItemMainPriceIncrease = $itemSinglePrice * persatage;\n  //         $FinalSinaleItemPrice = $itemSinglePrice + $ItemMainPriceIncrease;\n  //         $FinalSingleItemPrice = $FinalSinaleItemPrice.toFixed(2);\n  //         console.log(\"$InVatPriceCartItem\", $InVatPriceCartItem);\n  //         $(this).find(\".cart_def_main_price\").html($InVatPriceCartItem);\n\n  //         $(this)\n  //           .find(\".cart_main_price\")\n  //           .html(currency_symbol + $InVatPriceCartItem);\n\n  //         $(this)\n  //           .find(\".tm_shp_basket-price span .orignal_price\")\n  //           .html($InVatPriceCartItem.split(\".\")[0]);\n  //         $(this).find(\".tm_ex_VAt\").html(VatText);\n  //         $(this)\n  //           .parents(\".tm_shp_cart-item\")\n  //           .find(\".tm_shp-basket-qty .cart_item_price\")\n  //           .html($FinalSingleItemPrice);\n  //         $(this)\n  //           .parents(\".tm_shp_cart-item\")\n  //           .find(\".tm_shp-basket-qty .cart_item_price+span\")\n  //           .html(VatText);\n  //       }\n  //     );\n  //     $(\".tm_shp_basket-price.desktop_none\").each(function () {\n  //       var $MainCartItemTotal,\n  //         $CartMainIncrease,\n  //         $FinalCartItemPrice,\n  //         $InVatPriceCartItem,\n  //         $itemSinglePrice,\n  //         $ItemMainPriceIncrease,\n  //         $FinalSinaleItemPrice,\n  //         $FinalSingleItemPrice;\n\n  //       $MainCartItemTotal = Number(\n  //         $(this).find(\"div.tm_row span:first-child\").attr(\"data-originalprice\")\n  //       );\n  //       $CartMainIncrease = $MainCartItemTotal * persatage;\n  //       $FinalCartItemPrice = $MainCartItemTotal + $CartMainIncrease;\n  //       $InVatPriceCartItem = $FinalCartItemPrice.toFixed(2);\n  //       $itemSinglePrice = Number(\n  //         $(this)\n  //           .parents(\".tm_shp_cart-item\")\n  //           .find(\".tm_shp-basket-qty .cart_item_price\")\n  //           .attr(\"data-itemprice\")\n  //       );\n  //       $ItemMainPriceIncrease = $itemSinglePrice * persatage;\n  //       $FinalSinaleItemPrice = $itemSinglePrice + $ItemMainPriceIncrease;\n  //       $FinalSingleItemPrice = $FinalSinaleItemPrice.toFixed(2);\n  //       $(this)\n  //         .find(\"div.tm_row span:first-child .orignal_price\")\n  //         .html($InVatPriceCartItem.split(\".\")[0]);\n  //       $(this)\n  //         .find(\"div.tm_row span:first-child .orignal_price+sup\")\n  //         .html($InVatPriceCartItem.split(\".\")[1]);\n  //       console.log(\n  //         $(this).find(\".tm_shp_basket-price span .orignal_price\"),\n  //         \"$InVatPriceCartItem==>\",\n  //         $InVatPriceCartItem\n  //       );\n  //       // $(this).parents(\".tm_shp_cart-item\").find(\".tm_shp-basket-qty .cart_item_price\").html($FinalSingleItemPrice);\n  //       $(this).find(\"div.tm_row span.price_desc\").html(VatText);\n  //     });\n  //     $(\".tm_cart-wishlist-items .tm_colle-price-wrapper\").each(function () {\n  //       var $WishlistItemPrice,\n  //         $wishlistMainIncrease,\n  //         $wishlistFinalItemPrice,\n  //         $wishlistIntFinalPrice;\n  //       $WishlistItemPrice = Number($(this).attr(\"data-price\"));\n  //       $wishlistMainIncrease = $WishlistItemPrice * persatage;\n  //       $wishlistFinalItemPrice = $WishlistItemPrice + $wishlistMainIncrease;\n  //       $wishlistIntFinalPrice = $wishlistFinalItemPrice.toFixed(2);\n  //       console.log(\"$wishlistIntFinalPrice\", $wishlistIntFinalPrice);\n  //       $(this)\n  //         .find(\".wsl_main_price\")\n  //         .html($wishlistIntFinalPrice.split(\".\")[0]);\n  //       $(this)\n  //         .find(\"sup.tm_price_sm\")\n  //         .html($wishlistIntFinalPrice.split(\".\")[1]);\n  //       $(this).find(\"sub.tm_ex_VAt\").html(VatText);\n  //     });\n  //     // cart page wishlist API change price\n  //     // $(\".tm_cart-wishlist-items .tm_colle-price-wrapper\").each(function(){\n  //     //   var $WishlistItemPrice,$wishlistMainIncrease,$wishlistFinalItemPrice,$wishlistIntFinalPrice;\n  //     //   $WishlistItemPrice = Number($(this).attr(\"data-price\"));\n  //     //   $wishlistMainIncrease = $WishlistItemPrice*persatage;\n  //     //   $wishlistFinalItemPrice = $WishlistItemPrice + $wishlistMainIncrease;\n  //     //   $wishlistIntFinalPrice = $wishlistFinalItemPrice.toFixed(2);\n  //     //   console.log(\"$wishlistIntFinalPrice\", $wishlistIntFinalPrice);\n  //     //   $(this).find(\"span\").html($wishlistIntFinalPrice.split(\".\")[0]);\n  //     //   $(this).find(\"sup.tm_price_sm\").html($wishlistIntFinalPrice.split(\".\")[1]);\n  //     //   $(this).find(\"sub.tm_ex_VAt\").html(VatText);\n  //     // })\n\n  //     // cartpage importanat message js starts from here\n  //     $(\"ul.tm_basket_msg-list li.cart_importantMessage\").each(function () {\n  //       var $CartImportantCOmpare = Number(\n  //         $(this).find(\".item_comare_price\").attr(\"data-compare\")\n  //       );\n  //       var $CartImportantFinal = Number(\n  //         $(this).find(\".item_final_price\").attr(\"data-finalprice\")\n  //       );\n  //       var $CartImportantCOmparepersanteg = $CartImportantCOmpare * persatage;\n  //       var $CartImportantFinalPersanteg = $CartImportantFinal * persatage;\n  //       var $CompareImportantSum =\n  //         $CartImportantCOmpare + $CartImportantCOmparepersanteg;\n  //       var $FinalImportantSum =\n  //         $CartImportantFinal + $CartImportantFinalPersanteg;\n  //       var $COmpareIMportantFinal = $CompareImportantSum.toFixed(2);\n  //       var $FinalImportantFinal = $FinalImportantSum.toFixed(2);\n  //       $(this).find(\".item_comare_price\").html($COmpareIMportantFinal);\n  //       $(this).find(\".item_final_price\").html($FinalImportantFinal);\n  //       $(this).find(\".item_comare_price+span\").html(VatText);\n  //       $(this).find(\".item_final_price+span\").html(VatText);\n  //     });\n\n  //     // for cart main totalprice\n  //     var $StringSubtotalPrice,\n  //       $SubTotalPrice,\n  //       $SubtotalVatIncrease,\n  //       $FinalSubtotalPrice,\n  //       $FinalSubtotal,\n  //       $techSupportMain,\n  //       $techSupprtVatPer,\n  //       $totalVatTechPrice,\n  //       $FinalTechVatPrice,\n  //       $MonthlyPrice;\n  //     $StringSubtotalPrice = $(\".totals__subtotal-value.th_do_cart_total_price\")\n  //       .attr(\"data-total-price\")\n  //       .replace(/,/g, \"\");\n  //     $SubTotalPrice = Number($StringSubtotalPrice);\n  //     $SubtotalVatIncrease = $SubTotalPrice * persatage;\n  //     $FinalSubtotalPrice = $SubTotalPrice + $SubtotalVatIncrease;\n  //     $FinalSubtotal = $FinalSubtotalPrice.toFixed(2);\n  //     $(\n  //       \".totals__subtotal-value.th_do_cart_total_price .subtotal_def_price_cart\"\n  //     ).html(\"\u00A3\" + $FinalSubtotal);\n  //     $(\n  //       \".totals__subtotal-value.th_do_cart_total_price .subtotal_def_price_cart+span\"\n  //     ).html(VatText);\n\n  //     // for technical_support product price\n  //     $techSupportMain = Number(\n  //       $(\".tm_shp-del-info h3.tm_lg-font\").attr(\"data-cartproprice\")\n  //     );\n  //     $techSupprtVatPer = $techSupportMain * persatage;\n  //     $totalVatTechPrice = $techSupportMain + $techSupprtVatPer;\n  //     $FinalTechVatPrice = $totalVatTechPrice.toFixed(2);\n  //     $MonthlyPrice = ($FinalTechVatPrice / 12).toFixed(2);\n  //     $(\".tm_shp-del-info h3.tm_lg-font span.tech_support_main_price\").html(\n  //       $FinalTechVatPrice\n  //     );\n  //     $(\n  //       \".tm_shp-del-info h3.tm_lg-font span.tech_support_main_price_monthly\"\n  //     ).html($MonthlyPrice);\n  //     $(\n  //       \".tm_shp-del-info h3.tm_lg-font span.tech_support_main_price+span\"\n  //     ).html(VatText);\n  //     $(\".tm_shp-del-info h3.tm_lg-font span.tech_support_main_price_monthly\")\n  //       .parent()\n  //       .next(\"span\")\n  //       .html(VatText);\n  //     $(\".tm_total_billing\").toggleClass(\"active\");\n  //     // cartpage rightside footer total js starts from here\n  //     var $VatPriceTotal = Number(\n  //       $(\".tm_del_billing-grid.ex_vat_price\").attr(\"data-subtotal\")\n  //     );\n  //     var $PersantageVatPrice = $VatPriceTotal * persatage;\n  //     var $TotalVatPersantagePrice = $PersantageVatPrice + $VatPriceTotal;\n  //     var $FinalcartpageTotal = $TotalVatPersantagePrice.toFixed(2);\n  //     var CartStaticVatPrice =\n  //       \"\u00A3\" + (FixedVatpersantage * $VatPriceTotal).toFixed(2);\n  //     var $TotalStaticincluVatPrice =\n  //       $VatPriceTotal + FixedVatpersantage * $VatPriceTotal;\n  //     $(\".tm_del_billing-grid.including_vat .tm_del_billing-price span\").html(\n  //       CartStaticVatPrice\n  //     );\n  //     $(\n  //       \".tm_total_billing.total_Vat_price .tm_del_billing-price span.desktop_total_order\"\n  //     ).html($TotalStaticincluVatPrice.toFixed(2));\n  //     $(\".tm_del_billing-grid.ex_vat_price .tm_del_billing-price span\").html(\n  //       $VatPriceTotal.toFixed(2)\n  //     );\n  //     $(\n  //       \".tm_total_billing.total_Vat_price .tm_del_billing-price .desktop_def_total_order\"\n  //     ).html($TotalStaticincluVatPrice.toFixed(2));\n  //     $(\n  //       \".tm_total_billing.total_Vat_price .tm_del_billing-price span.after_point_price\"\n  //     ).html($FinalcartpageTotal.split(\".\")[1]);\n  //   } else if ($(\"body\").hasClass(\"page.orders\")) {\n  //     $(\".tm_colle-price-wrapper\").each(function () {\n  //       var CurrentPrice, incrasePrice, FinalInVat, InVATPrice;\n  //       CurrentPrice = Number($(this).attr(\"data-price\"));\n  //       incrasePrice = CurrentPrice * persatage;\n  //       FinalInVat = CurrentPrice + incrasePrice;\n  //       InVATPrice = FinalInVat.toFixed(2);\n  //       $(this).attr(\"data-Vat\", InVATPrice);\n  //       $(this).find(\".main_price\").html(InVATPrice.split(\".\")[0]);\n  //       $(this).find(\".tm_price_sm\").html(InVATPrice.split(\".\")[1]);\n  //       $(this).find(\".tm_ex_VAt\").html(VatText);\n  //     });\n\n  //     $(\".tm_colle-price-wrapper .order_price_main\").each(function () {\n  //       var $VatOrderitemPrice = Number($(this).attr(\"data-orderprice\"));\n  //       var $VatorderItemper = $VatOrderitemPrice * persatage;\n  //       var $VatorderincludPrice = $VatorderItemper + $VatOrderitemPrice;\n  //       var $FinalVatorderPrice = $VatorderincludPrice.toFixed(2);\n  //       $(this)\n  //         .find(\".oredr_item-price_big\")\n  //         .html($FinalVatorderPrice.split(\".\")[0]);\n  //       $(this).find(\".tm_price_sm\").html($FinalVatorderPrice.split(\".\")[1]);\n  //       $(this).next(\".tm_ex_VAt\").html(VatText);\n  //     });\n  //   } else if ($(\"body\").hasClass(\"page.quickorder\")) {\n  //     if ($(\".Quick-orderPrice\").length > 0) {\n  //       $(\".Quick-orderPrice\").each(function () {\n  //         var $QuickOrderPrice,\n  //           $QuickOrderPerVat,\n  //           $QuickorderFinalPrice,\n  //           $QuickOrderPriceVat;\n  //         $QuickOrderPrice = Number($(this).attr(\"data-price\"));\n  //         $QuickOrderPerVat = $QuickOrderPrice * persatage;\n  //         $QuickorderFinalPrice = $QuickOrderPrice + $QuickOrderPerVat;\n  //         $QuickOrderPriceVat = $QuickorderFinalPrice.toFixed(2);\n  //         $(this).find(\".QuickOrderPrice\").html($QuickOrderPriceVat);\n  //         $(this).find(\".QuickOrderTextVat\").html(VatText);\n  //       });\n  //     }\n  //   }\n  // }\n\n  $(\".tm_pricing_switch input[type='checkbox']\").on(\"change\", function () {\n    if (typeof ChangePrice === \"function\") ChangePrice();\n    if ($(\".tm_pricing_switch input[type='checkbox']\").is(\":checked\")) {\n      localStorage.setItem(\"vat_checked\", \"true\");\n    } else {\n      localStorage.setItem(\"vat_checked\", \"false\");\n    }\n  });\n  if (\n    $(\"body\").hasClass(\"customer_aprove\") &&\n    localStorage.getItem(\"vat_checked\") === \"true\"\n  ) {\n    const checkForUpdate = setInterval(() => {\n      const element = document.querySelector(\"main\");\n      if (element && element.classList.contains(\"price_update\")) {\n        if (typeof ChangePrice === \"function\") ChangePrice();\n        clearInterval(checkForUpdate); // Stop checking\n      }\n    }, 500);\n  }\n  if (!$(\"body\").hasClass(\"customer_aprove\")) {\n    if (typeof ChangePrice === \"function\") ChangePrice();\n  }\n\n  $(window).resize(function () {\n    mega_menu();\n  });\n  mega_menu();\n\n  function mega_menu() {\n    if ($(window).width() < 992) {\n      $(\".tm_category-item a\").click(function () {\n        $(this)\n          .parents(\".tm_category-item\")\n          .find(\".tm_mega-menu\")\n          .addClass(\"mega_menu-open\");\n      });\n\n      $(\".tm_mega-menu-icon\").click(function () {\n        $(this).parents(\".tm_mega-menu\").removeClass(\"mega_menu-open\");\n      });\n    }\n  }\n\n  // on scroll delivery location js starts from here\n  $(window).resize(function () {\n    setTimeout(function () {\n      $(\".tm_product_view-main-slide\").slick(\"refresh\");\n    }, 100);\n  });\n  $(\"body\").click(function (e) {\n    // search-results added alongside collection so the mobile Sort By\n    // rebuilt from Snize's real sort links (further down this file) gets\n    // the same click-outside-to-close behaviour as the collection page's\n    // own Sort By, instead of being left out because this page's body\n    // isn't tagged .collection.\n    if ($(\"body\").hasClass(\"collection\") || $(\"body\").hasClass(\"search-results\")) {\n      if (!$(e.target).closest(\".sort_by_wrp\").length) {\n        $(\".sort_list_wrp\").removeClass(\"open-sortby\");\n        $(\"body\").removeClass(\"ios_overFlow_hidden\");\n        $(\"body\").removeClass(\"sort_by_open_layer\");\n      }\n    }\n  });\n\n  $(document).on(\"click\", \".th_wl_dropdown_option\", function () {\n    $(\"body\").addClass(\"overflow-hide\");\n  });\n  $(document).on(\n    \"click\",\n    \".th_wl_modal-dialog .th_wl_modal_close\",\n    function () {\n      $(\"body\").removeClass(\"overflow-hide\");\n    }\n  );\n\n  // secure transaction popup\n  $(document).on(\"click\", \".tm_product-transaction\", function (e) {\n    $(\".tm_secure_popup\").addClass(\"tm_sc_active\");\n    e.stopPropagation();\n  });\n  $(document).on(\n    \"click\",\n    \".tm_sc_close svg,.tm_sc_close svg path\",\n    function (e) {\n      if (\n        e.target.tagName.toLowerCase() === \"svg\" ||\n        e.target.tagName.toLowerCase() === \"path\"\n      ) {\n        $(this).parents(\".tm_secure_popup\").removeClass(\"tm_sc_active\");\n        return false;\n      }\n    }\n  );\n  $(document).on(\"click\", \"body\", function (e) {\n    $(\".tm_secure_popup\").removeClass(\"tm_sc_active\");\n  });\n\n  // Return policy popup\n  $(document).on(\"click\", \".tm_return-policy\", function (e) {\n    $(\".tm_return_popup\").addClass(\"tm_sc_active\");\n    e.stopPropagation();\n  });\n  $(document).on(\n    \"click\",\n    \".tm_sc_close svg,.tm_sc_close svg path\",\n    function (e) {\n      if (\n        e.target.tagName.toLowerCase() === \"svg\" ||\n        e.target.tagName.toLowerCase() === \"path\"\n      ) {\n        $(this).parents(\".tm_return_popup\").removeClass(\"tm_sc_active\");\n        return false;\n      }\n    }\n  );\n  $(document).on(\"click\", \"body\", function (e) {\n    $(\".tm_return_popup\").removeClass(\"tm_sc_active\");\n  });\n});\n\naddEventListener(\"scroll\", (event) => {\n  let on_scroll_item = document.querySelector(\n    \".tm_del-location.tm_desktop-none\"\n  );\n  if (on_scroll_item) {\n    if (window.innerWidth < 576) {\n      if (this.pageYOffset > 180) {\n        document\n          .querySelector(\".tm_del-location.tm_desktop-none\")\n          .classList.add(\"remove_location\");\n      } else {\n        document\n          .querySelector(\".tm_del-location.tm_desktop-none\")\n          .classList.remove(\"remove_location\");\n      }\n    }\n  }\n});\nfunction triggerFocus(element) {\n  var eventType = \"onfocusin\" in element ? \"focusin\" : \"focus\",\n    bubbles = \"onfocusin\" in element,\n    event;\n\n  if (\"createEvent\" in document) {\n    event = document.createEvent(\"Event\");\n    event.initEvent(eventType, bubbles, true);\n  } else if (\"Event\" in window) {\n    event = new Event(eventType, { bubbles: bubbles, cancelable: true });\n  }\n\n  element.focus();\n  element.dispatchEvent(event);\n}\n// var ShareButtonMobile = document.querySelector(\".mobile_Share_icon\")\n// ShareButtonMobile.addEventListener(\"click\", async () => {\n//   try {\n//     await navigator.share({ title: \"Example Page\", url: \"\" });\n//     console.log(\"Data was shared successfully\");\n//   } catch (err) {\n//     console.error(\"Share failed:\", err.message);\n//   }\n// });\nsetTimeout(function () {\n  if (document.querySelector(\".tm_product-page-tabs\")) {\n    $(\".tm_product-page-tabs ul.tm_grid li a\").each(function () {\n      var GetSections = $(this).data(\"href\");\n      if (GetSections.length) {\n        var Sections_offset_top = $(GetSections).offset().top - 38;\n      }\n      $(this).attr(\"data-offsetTop\", Sections_offset_top);\n    });\n    var lastScrollTop =\n      document.querySelector(\".tm_product-page-tabs\").offsetTop + 300;\n    window.addEventListener(\n      \"scroll\",\n      function () {\n        if (window.innerWidth < 576) {\n          var st = window.pageYOffset || document.documentElement.scrollTop;\n          if (st > lastScrollTop) {\n            document\n              .querySelector(\".tm_product-page-tabs\")\n              .classList.add(\"stickyFilter\");\n          } else if (st < lastScrollTop) {\n            document\n              .querySelector(\".tm_product-page-tabs\")\n              .classList.remove(\"stickyFilter\");\n          }\n\n          // offsettop js starts from here\n          $(\".tm_product-page-tabs ul.tm_grid li a\").each(function () {\n            var GetSections = $(this).data(\"href\");\n            if (GetSections.length) {\n              var Sections_offset_top = $(GetSections).offset().top - 38;\n            }\n            $(this).attr(\"data-offsetTop\", Sections_offset_top);\n          });\n        }\n      },\n      false\n    );\n    $(\".tm_product-page-tabs .tm_tab\").on(\"click\", function (e) {\n      if (window.innerWidth < 576) {\n        e.preventDefault();\n        $(\".tm_product-page-tabs .tm_tab\").removeClass(\"active\");\n        var get_section_html = $($(this).attr(\"data-href\")).offset().top - 38;\n        console.log(\"===get_section_html===\", get_section_html);\n        // $(get_section_html).animate({ scrollTop: 50 }, \"slow\");\n        window.scrollTo({ top: get_section_html, behavior: \"smooth\" });\n        $(this).addClass(\"active\");\n      }\n    });\n  }\n  $(document).ready(function () {\n    // Function to add or remove class based on input value\n    function checkInputValue() {\n      var inputValue = $(\".search__input\").val();\n      if (inputValue !== \"\") {\n        $(\"predictive-search\").addClass(\"select_input\");\n      } else {\n        $(\"predictive-search\").removeClass(\"select_input\");\n      }\n    }\n\n    // Call the function on page load\n    checkInputValue();\n\n    // Listen for input events on the search input\n    $(\".search__input\").on(\"input\", function () {\n      checkInputValue();\n    });\n  });\n}, 500);\n// if(document.getElementById(\"checkout_mobile\")){\n//    window.addEventListener(\"scroll\",function () {\n//      if (window.innerWidth < 576) {\n//        var st = window.pageYOffset || document.documentElement.scrollTop;\n//        var Button_position = document.getElementById(\"checkout_mobile\").offsetTop + 200;\n//        var FooterPosition = document.querySelector(\".back_to_top\").offsetTop - 200;\n//        if(Button_position < st){\n//          if(st > FooterPosition){\n//            document.getElementById(\"checkout_mobile\").closest(\".tm_add_basket\").classList.remove(\"sticky_CTA\")\n//          }else{\n//          document.getElementById(\"checkout_mobile\").closest(\".tm_add_basket\").classList.add(\"sticky_CTA\")\n//          }\n\n//        }else{\n//          document.getElementById(\"checkout_mobile\").closest(\".tm_add_basket\").classList.remove(\"sticky_CTA\")\n//        }\n//      }\n//    },false);\n// }\n\nvar inr = document.querySelectorAll(\".tm_var-btn, .tm_var-colr-btn\");\ninr.forEach((variant) => {\n  if (variant) {\n    variant.addEventListener(\"mouseenter\", (e) => {\n      var valu = variant\n        .querySelector(\".variant_box\")\n        .querySelector(\".var_val\").innerText;\n      var t = e.target;\n      t\n        .closest(\".product-form__input\")\n        .querySelector(\".form__label\")\n        .querySelector(\".tm_common-font\").innerHTML = valu;\n      variant.classList.add(\"tm-swatch-hover\");\n    });\n    variant.addEventListener(\"mouseleave\", (e) => {\n      var t = e.target;\n      var selected_para = t\n        .closest(\".product-form__input\")\n        .querySelector(\"input:checked\");\n      if (selected_para != null) {\n        var selected_val = selected_para.value;\n        t\n          .closest(\".product-form__input\")\n          .querySelector(\".form__label\")\n          .querySelector(\".tm_common-font\").innerHTML = selected_val;\n      }\n      variant.classList.remove(\"tm-swatch-hover\");\n    });\n  }\n  // $(document).ready(function () {\n  //   $('.tm_product-view-img.slick-active').on('click', function () {\n  //       $(this).addClass('active-img');\n  //     });\n  // });\n});\n\ndocument.querySelectorAll(\".tm_product-var-res\").forEach((block) => {\n  if (!block.querySelector(\".res-label\")) return;\n\n  const legendValue = block.querySelector(\".form__label span.tm_common-font\");\n  const links = block.querySelectorAll(\"a.tm_var-btn\");\n  if (!legendValue || !links.length) return;\n\n  const selected = block.querySelector(\".custom_checked_variant\");\n  const selectedText = selected\n    ? selected.textContent.trim()\n    : legendValue.textContent.trim();\n\n  links.forEach((link) => {\n    link.addEventListener(\"mouseenter\", () => {\n      legendValue.textContent = link.textContent.trim();\n    });\n    link.addEventListener(\"mouseleave\", () => {\n      legendValue.textContent = selectedText;\n    });\n  });\n});\n\n// product share dropdown js\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n  let box1 = document.querySelector(\".tm_product-share-dropdown\");\n  if (box1 != null) {\n    document.addEventListener(\"click\", function (e) {\n      if (!box1.contains(e.target)) {\n        box1.classList.remove(\"tm_share-dropdown-open\");\n      }\n    });\n    document.addEventListener(\"keydown\", function (e) {\n      if (e.keyCode == 27) {\n        box1.classList.remove(\"tm_share-dropdown-open\");\n      }\n    });\n  }\n});\n\n// header fixed menu sub menu height js\n/*$(document).ready(function(){\n    headerHeight();\n});\n$(window).resize(function(){\n  headerHeight();\n});\n\nfunction headerHeight(){\n  var height = $('.tm_hero_slide').outerHeight();\n  $('.tm_mega-menu').css('max-height', height+'px')\n};*/\n\n// header search input focus js\n// var inFocus = document.querySelector(\".search-modal__form .search__input\");\n// var clAdd = document.querySelector(\".content-for-layout\");\n// if (inFocus) {\n//   inFocus.addEventListener(\"focusin\", function (e) {\n//     if (clAdd != null) {\n\n(function () {\n  var snizeSelector = \".snize-ac-results, #snize-ac-results\";\n  var searchAreaSelector =\n    snizeSelector + \", .search-modal__form, .search__input, .snize-input-style, form.search, .search__button\";\n\n  function forceHideOverlay() {\n    var overlay = document.getElementById(\"search-shaded-overlay\");\n    if (!overlay) return;\n    overlay.style.setProperty(\"opacity\", \"0\", \"important\");\n    overlay.style.setProperty(\"display\", \"none\", \"important\");\n  }\n\n  function setSearchDim(on) {\n    if (window.innerWidth <= 575) return;\n    var el = document.querySelector(\".content-for-layout, #MainContent\");\n    if (!el) return;\n    el.classList.toggle(\"search_dim\", on);\n  }\n\n  function forceHideSnize() {\n    document.querySelectorAll(snizeSelector).forEach(function (el) {\n      el.style.setProperty(\"visibility\", \"hidden\", \"important\");\n      el.style.setProperty(\"opacity\", \"0\", \"important\");\n      el.style.setProperty(\"pointer-events\", \"none\", \"important\");\n    });\n    forceHideOverlay();\n    setSearchDim(false);\n  }\n\n  function releaseSnize() {\n    document.querySelectorAll(snizeSelector).forEach(function (el) {\n      el.style.removeProperty(\"visibility\");\n      el.style.removeProperty(\"opacity\");\n      el.style.removeProperty(\"pointer-events\");\n    });\n    setSearchDim(true);\n  }\n\n  document.addEventListener(\n    \"mousedown\",\n    function (e) {\n      if (e.target.closest && e.target.closest(searchAreaSelector)) return;\n      forceHideSnize();\n    },\n    true\n  );\n\n  document.addEventListener(\n    \"focusin\",\n    function (e) {\n      if (!(e.target.closest && e.target.closest(\".search__input\"))) return;\n      releaseSnize();\n    },\n    true\n  );\n\n  document.addEventListener(\n    \"input\",\n    function (e) {\n      if (!(e.target.closest && e.target.closest(\".search__input\"))) return;\n      releaseSnize();\n    },\n    true\n  );\n})();\n\n// on load produc page main image change as per the variant\n// $(document).ready(function(){\n//   setTimeout(function() {\n//     $(\".tm_product_thumbs li\").css('opacity', '1');\n//     }, 10);\n//     var refreshProductImage =$(\".tm_main_product\").attr(\"data-currentImage\");\n//     if(refreshProductImage != \"\"){\n//       var VariantImageIndex = $('.figure_slot .tm_pro-main-img[src=\"'+ refreshProductImage+'\"]').closest(\".slick-slide\").attr(\"data-slick-index\");\n//       console.log(\"VariantImageIndex-->\",refreshProductImage ,VariantImageIndex)\n//       if(VariantImageIndex){\n//         $('.tm_product-main-img-slide').slick('slickGoTo', VariantImageIndex);\n//       }\n//       $('.tm_product-main-img-slide').on('beforeChange', function(event, slick, currentSlide, nextSlide) {\n\n//         if (currentSlide === VariantImageIndex ) {\n//           $('.tm_product-main-img-slide').slick('slickGoTo', VariantImageIndex);\n//         }\n//       });\n//     }\n// })\n\n$(document).ready(function () {\n  // Ensure product thumbnails are visible after a short delay\n  setTimeout(function () {\n    $(\".tm_product_thumbs li\").css(\"opacity\", \"1\");\n  }, 10);\n\n  // var refreshProductImage = $(\".tm_main_product\").attr(\"data-currentImage\");\n  // if (refreshProductImage) {\n  //   var VariantImageIndex = $(\n  //     '.figure_slot .tm_pro-main-img[src=\"' + refreshProductImage + '\"]'\n  //   )\n  //     .closest(\".slick-slide\")\n  //     .attr(\"data-slick-index\");\n  //\n  //   console.log(\n  //     \"VariantImageIndex -->\",\n  //     refreshProductImage,\n  //     VariantImageIndex\n  //   );\n  //\n  //   if (VariantImageIndex !== undefined) {\n  //     $(\".tm_product-main-img-slide\").slick(\n  //       \"slickGoTo\",\n  //       parseInt(VariantImageIndex, 10)\n  //     );\n  //   }\n  //\n  //   $(\".tm_product-main-img-slide\").on(\n  //     \"beforeChange\",\n  //     function (event, slick, currentSlide, nextSlide) {\n  //       if (currentSlide === parseInt(VariantImageIndex, 10)) {\n  //         $(\".tm_product-main-img-slide\").slick(\"slickGoTo\", VariantImageIndex);\n  //       }\n  //     }\n  //   );\n  // }\n\n});\n\n// $(document).ready(function() {\n//     if ($(window).innerWidth() <= 749) {\n//       $(\".menu-drawer__navigation .menu-drawer__menu li:not('.tm_submenu-head.tm_sec_lg-font')\").on('touchstart touchend', function(e){\n//           $(this).toggleClass('touch_press');\n//       });\n//     }\n// });\n$(document).ready(function () {\n  if ($(window).innerWidth() <= 749) {\n    $(\n      \".menu-drawer__navigation .menu-drawer__menu li:not('.tm_submenu-head.tm_sec_lg-font')\"\n    )\n      .on(\"touchstart\", function (e) {\n        // Remove \"touch_press\" class from all list items\n        //$(\".menu-drawer__navigation .menu-drawer__menu li\").removeClass('touch_press');\n        // Add \"touch_press\" class to the currently touched item\n        $(this).siblings().removeClass(\"touch_press\");\n        $(this).addClass(\"touch_press\");\n      })\n      .on(\"touchend\", function (e) {\n        // Remove \"touch_press\" class from the currently touched item when the touch ends\n        $(this).removeClass(\"touch_press\");\n      });\n\n    $(\n      \".menu-drawer__navigation .menu-drawer__menu li.tm_submenu-head.tm_sec_lg-font li\"\n    )\n      .on(\"touchstart\", function (e) {\n        console.log(\"hiii->element\", $(this).find(\".menu-drawer__menu-item\"));\n        $(this)\n          .find(\".menu-drawer__menu-item\")\n          .attr(\"style\", \"color: #0f1111 !important;\");\n      })\n      .on(\"touchend\", function (e) { });\n  }\n});\n\nfunction update_sku() {\n  // let values = [];\n  // $(\".tm_product-var-res .product-form__input\").each(function(){\n  //    values.push($(this).find(\".var_name\").text().trim());\n  // });\n  // let concatenatedValue = values.join(\" / \");\n  // $(\".product_variants input[type='hidden']\").each(function(){\n  //   let data_title = $(this).data('title').trim();\n  //    if(data_title == concatenatedValue){\n  //       var sku = $(this).data(\"sku\");\n  //       $(\".tm_product-modal .tm_lg-font\").text(\"Model: \" + sku);\n  //       $(\".tm_product-view .var-sku\").text(sku);\n  //     }\n  // });\n}\n\nfunction hide_dots(countOverride) {\n  var count =\n    typeof countOverride === \"number\"\n      ? countOverride\n      : document.querySelectorAll(\".tm_product-main-img-slide .slick-dots li\")\n        .length;\n\n  document.body.classList.toggle(\"tm-dots-on\", count > 1);\n\n  // Still applied to whichever UL exists right now - the body class above is\n  // what makes the state survive slick replacing it.\n  var slick_dots = document.querySelector(\n    \".tm_product-main-img-slide .slick-dots\"\n  );\n  if (slick_dots) {\n    if (count <= 1) {\n      slick_dots.style.display = \"none\";\n      slick_dots.style.visibility = \"hidden\";\n      slick_dots.style.opacity = \"0\";\n    } else {\n      slick_dots.style.display = \"flex\";\n      slick_dots.style.visibility = \"visible\";\n      slick_dots.style.opacity = \"1\";\n    }\n  }\n}\n\n\nfunction tmRestoreNativeSlideImage(filter) {\n  try {\n    var slide = document.querySelector(\".tm_product-main-img-slide .\" + filter + \".slick-current img, .tm_product-main-img-slide .slick-current img\");\n    if (!slide) return;\n    var native = slide.getAttribute(\"data-initial-src\");\n    if (native && slide.getAttribute(\"src\") !== native) {\n      slide.setAttribute(\"src\", native);\n    }\n  } catch (e) { }\n}\nwindow.tmRestoreNativeSlideImage = tmRestoreNativeSlideImage;\n\nfunction tmHoldMainImageDuringFilter() {\n  try {\n    var list = document.querySelector(\".tm_product-main-img-slide .slick-list\");\n    var current = document.querySelector(\".tm_product-main-img-slide .slick-current img\");\n    if (!list || !current || !current.complete) return function () { };\n    var src = current.currentSrc || current.getAttribute(\"src\");\n    if (!src) return function () { };\n\n    var overlay = document.createElement(\"img\");\n    overlay.src = src;\n    overlay.setAttribute(\"aria-hidden\", \"true\");\n    overlay.style.cssText =\n      \"position:absolute;top:0;left:0;width:100%;height:100%;\" +\n      \"object-fit:contain;z-index:2;pointer-events:none;\";\n    list.appendChild(overlay);\n\n    var removed = false;\n    var remove = function () {\n      if (removed) return;\n      removed = true;\n      if (overlay.parentNode) overlay.parentNode.removeChild(overlay);\n    };\n    setTimeout(remove, 800);\n\n    return function release() {\n      setTimeout(remove, 50);\n    };\n  } catch (e) {\n    return function () { };\n  }\n}\nwindow.tmHoldMainImageDuringFilter = tmHoldMainImageDuringFilter;\n\nfunction tmIsColourSwatch($input) {\n  var optionName = ($input.attr('name') || '').toLowerCase();\n  if (optionName.indexOf('colour') !== -1 || optionName.indexOf('color') !== -1) return true;\n  // Colour swatches are also the only ones carrying data-photo-count\n  // (rendered in new_product_page_section.liquid), so honour that too for any\n  // template that names the option differently.\n  return $input.attr('data-photo-count') !== undefined;\n}\nwindow.tmIsColourSwatch = tmIsColourSwatch;\n\nfunction tmPreloadColourSwatchImages() {\n  try {\n    var radios = document.querySelector('.tm_product-variant variant-radios');\n    if (!radios) return;\n    var jsonScript = radios.querySelector('script[type=\"application/json\"]');\n    if (!jsonScript) return;\n    var variants = JSON.parse(jsonScript.textContent);\n    var seen = {};\n    variants.forEach(function (v) {\n      var media = v.featured_image || (v.featured_media && v.featured_media.preview_image);\n      var src = media && media.src;\n      if (!src || seen[src]) return;\n      seen[src] = true;\n      var warm = new Image();\n      warm.src = src.indexOf('//') === 0 ? 'https:' + src : src;\n    });\n  } catch (e) { }\n}\nif (document.readyState === \"complete\") {\n  setTimeout(tmPreloadColourSwatchImages, 500);\n} else {\n  window.addEventListener(\"load\", function () {\n    setTimeout(tmPreloadColourSwatchImages, 500);\n  });\n}\n\n// The count slick reports for the main gallery, excluding clones. Returns\n// undefined if slick isn't initialised yet, so hide_dots() falls back to\n// counting <li>s.\nfunction tmMainGallerySlideCount() {\n  try {\n    var slick = $(\".tm_product-main-img-slide\").slick(\"getSlick\");\n    if (slick && typeof slick.slideCount === \"number\") return slick.slideCount;\n  } catch (e) { }\n  return undefined;\n}\nwindow.tmMainGallerySlideCount = tmMainGallerySlideCount;\n\n// How many photos a colour has, answered without disturbing slick's current\n// filter: $slidesCache keeps the full unfiltered set even while one is\n// applied. Returns undefined if slick isn't ready yet.\nfunction tmColourSlideCount(filter) {\n  var swatch = document.querySelector(\n    '.tm_product-variant input[data-filter=\"' + filter + '\"][data-photo-count]'\n  );\n  if (swatch) {\n    var rendered = parseInt(swatch.getAttribute(\"data-photo-count\"), 10);\n    if (!isNaN(rendered)) return rendered;\n  }\n\n  // Fallback for anything rendered without the attribute.\n  try {\n    var slick = $(\".tm_product-main-img-slide\").slick(\"getSlick\");\n    var slides = slick && (slick.$slidesCache || slick.$slides);\n    if (!slides) return undefined;\n    return slides.filter(function () {\n      return $(this).find(\".\" + filter).length > 0 || $(this).hasClass(filter);\n    }).length;\n  } catch (e) { }\n  return undefined;\n}\nwindow.tmColourSlideCount = tmColourSlideCount;\n\nfunction tmSelectedColourSlideCount() {\n  var checked = document.querySelector(\".tm_product-variant input[data-filter]:checked\");\n  var filter = checked && checked.getAttribute(\"data-filter\");\n  if (filter) {\n    var n = tmColourSlideCount(filter);\n    if (typeof n === \"number\" && n > 0) return n;\n  }\n  return tmMainGallerySlideCount();\n}\nwindow.tmSelectedColourSlideCount = tmSelectedColourSlideCount;\nwindow.hide_dots = hide_dots;\n\n$(document).on(\"click change\", \".tm_var-colr-btn, .tm_product-variant input\", function () {\n  update_sku();\n  // Not a bare hide_dots(): counting <li>s here is a race against slick\n  // rebuilding them, and losing it counted the colour being left behind and\n  // put the dots back on until the variant's section render replaced the\n  // gallery a second later.\n  hide_dots(tmSelectedColourSlideCount());\n});\n$(document).ready(function () {\n  update_sku();\n  hide_dots();\n});\n$(document).ready(function () {\n  // var inputs = $(\".tm_main_product .tm_product-var-res input:checked\").click();\n  $(\".tm_product_view-thumbs-img\").click(function () {\n    setTimeout(() => {\n      var color_val = $(\".tm_product-view-info .popupcolor_selected\").text();\n      let values = [];\n      $(\".tm_product-var-res .product-form__input\").each(function () {\n        values.push($(this).find(\".var_name\").text().trim());\n      });\n      let concatenatedValue = values.slice(0, -1).join(\" / \");\n      if (concatenatedValue) {\n        concatenatedValue += \" / \" + color_val;\n      }\n      $(\".product_variants input[type='hidden']\").each(function () {\n        let data_title = $(this).data(\"title\").trim();\n        if (data_title.toLowerCase() === concatenatedValue.toLowerCase()) {\n          var sku = $(this).data(\"sku\");\n          $(\".tm_product-view-var .var-sku\").text(sku);\n        }\n      });\n    }, 100);\n  });\n});\n$(document).ready(function () {\n  if ($(window).width() < 768) {\n    $(\".menu-drawer__close-button\").on(\"click\", function () {\n      document.querySelector(\".menu-drawer__navigation-container\").scrollTo({\n        top: 0,\n        behavior: \"auto\", // This ensures instant scrolling without smooth animation\n      });\n    });\n  }\n});\n$(document).ready(function () { });\nconst localStorageKey = \"firstLiClassAdded\";\n$(document).ready(function () {\n  // if ($('body').hasClass('customer_login')) {\n  //  // Function to update text by removing the last word\n  //  function updateText(selector) {\n  //      let originalText = $(selector).text().trim(); // Get and trim text\n  //      let wordsArray = originalText.split(' '); // Split into words\n  //      if (wordsArray.length > 1) {\n  //          wordsArray.pop(); // Remove the last word if more than 2\n  //      }\n  //      $(selector).text(wordsArray.join(\" \")); // Update the text\n  //  }\n  //  // Apply the updateText function to both elements\n  //    updateText('.tm_toggle_head h3');\n  //    updateText('.cst_name');\n  //    updateText('.mob_user_name');\n  // }\n\n  if (localStorage.getItem(localStorageKey) === \"true\") {\n    $(\".main_new_header ul li:first\").addClass(\"activated\");\n  }\n  if (!localStorage.getItem(localStorageKey)) {\n    $(\".main_new_header ul li:first\").removeClass(\"activated\");\n  }\n\n  if ($(\".main_new_header ul li:nth-child(2)\").hasClass(\"active\")) {\n    $(\".main_new_header ul li:first-child\").addClass(\"activated\");\n  }\n});\n$(\"#create\").click(function () {\n  $(\".main_new_header ul li:first\").addClass(\"activated\");\n  $(\".main_new_header ul li:nth-child(2)\").addClass(\"active\");\n  if (!localStorage.getItem(localStorageKey)) {\n    localStorage.setItem(localStorageKey, \"true\");\n  }\n  $(\"#Phone_number\").css(\"display\", \"none\");\n  $(\"#Phone_no\").removeClass(\"error\");\n});\n$(\".tm_business-acc button.back_form\").click(function () {\n  $(\".main_new_header ul li:first\").removeClass(\"activated\");\n  $(\".main_new_header ul li:nth-child(2)\").removeClass(\"active\");\n  localStorage.removeItem(localStorageKey);\n  $(\"#pass\").val(\"\");\n  $(\"#confirm_pass\").val(\"\");\n});\n$(\".acc-page-handle, .creat_acc, .tm_account_btn .tm_btn\").click(function (\n  event\n) {\n  localStorage.removeItem(\"Register Data\");\n});\n$(\"#customer_login .errors ul li\").text(\n  \"Incorrect email or password. Please enter again.\"\n);\n$(document).ready(function () {\n  if (window.innerWidth <= 796) {\n    setTimeout(() => {\n      var checked_input = $(\".tm_product-var-res fieldset input:checked\");\n      $(\".tm_product-var-res fieldset input:checked\").first().click();\n    }, 500);\n  }\n  setTimeout(() => {\n    $(\"#review_title_id\").attr(\"required\", \"\");\n    $(\".tm_review_form_review_title label\").append(\"<em>*</em>\");\n  }, 1000);\n});\n$(\".tm_basket-part-num p,.tm_basket-notes p\").on(\"keyup\", function (event) {\n  var length = $(this).text().length;\n\n  if (length > 0) {\n    this.style.setProperty(\"--pseudo-after-content\", \"none\");\n  } else {\n    this.style.setProperty(\"--pseudo-after-content\", \"Enter your Model Number\");\n  }\n});\n$(\".tm_category-list li:first-child\").addClass(\"active\").click();\n$(\".\" + $(\".tm_category-list li:first-child\").attr(\"data-col\")).show();\n$(document).ready(function () {\n  $(\".notes\").on(\"input\", function () {\n    var maxLength = 30;\n    const text = $(this).text();\n\n    if (text.length > maxLength) {\n      $(this).text(text.substring(0, maxLength)); // Trim text to maxLength\n      placeCaretAtEnd(this); // Place caret at the end\n      $(this).siblings(\".error-message\").show(); // Show error message\n    } else {\n      $(this).siblings(\".error-message\").hide(); // Hide error message\n    }\n  });\n  $(\".tm_basket-part-num p\").on(\"input\", function () {\n    const text = $(this).text();\n    var maxLength = 20;\n    if (text.length > maxLength) {\n      $(this).text(text.substring(0, maxLength)); // Trim text to maxLength\n      placeCaretAtEnd(this); // Place caret at the end\n      $(this).siblings(\".error-message\").show(); // Show error message\n    } else {\n      $(this).siblings(\".error-message\").hide(); // Hide error message\n    }\n  });\n\n  // Function to place caret at the end of the contenteditable element\n  function placeCaretAtEnd(el) {\n    el.focus();\n    const range = document.createRange();\n    range.selectNodeContents(el);\n    range.collapse(false);\n    const sel = window.getSelection();\n    sel.removeAllRanges();\n    sel.addRange(range);\n  }\n});\n$(\".quantity__input\").on(\"change input\", function () {\n  var alertIcon =\n    '<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" height=\"15\" style=\"overflow:visible;enable-background:new 0 0 32 32\" viewBox=\"0 0 32 32\" width=\"15\" xml:space=\"preserve\"><g><g id=\"Error_1_\"><g id=\"Error\"><circle cx=\"16\" cy=\"16\" id=\"BG\" r=\"16\" style=\"fill:#D72828;\"></circle><path d=\"M14.5,25h3v-3h-3V25z M14.5,6v13h3V6H14.5z\" id=\"Exclamatory_x5F_Sign\" style=\"fill:#E6E6E6;\"></path></g></g></g></svg>';\n  setTimeout(() => {\n    console.log(\"this\", this);\n    var qty = parseInt($(this).val());\n    var max_qty = parseInt($(this).attr(\"data-max\"));\n    console.log(\"qty\", qty);\n    if (qty > max_qty) {\n      $(this).closest(\".tm_shp-basket-qty\").find(\".qty_error\").show();\n      $(this).closest(\".tm_shp-qty-opt\").css(\"border-color\", \"rgb(196, 0, 0)\");\n      setTimeout(() => {\n        $(this).val(max_qty);\n      }, 500);\n      $(this)\n        .closest(\".tm_shp-basket-qty\")\n        .find(\".qty_error\")\n        .html(\n          alertIcon +\n          \"<span>We're sorry. The quantity you requested exceeds what\u2019s currently in stock and has been updated to reflect the maximum available. Please contact us if you would like more or an alternative.<span>\"\n        )\n        .css(\"color\", \"rgb(196, 0, 0)\");\n      console.log(\".off('change input')\");\n    } else {\n      $(this).closest(\".tm_shp-basket-qty\").find(\".qty_error\").hide();\n      $(this).closest(\".tm_shp-qty-opt\").css(\"border-color\", \"\");\n    }\n  }, 300);\n});\n$(document).ready(function () {\n  var address_data = $.parseJSON(localStorage.getItem(\"Register Data\"));\n  if (\n    address_data &&\n    address_data !== \"\" &&\n    address_data !== null &&\n    address_data.email !== \"\"\n  ) {\n    if (address_data.phone_no) {\n      $(\".address_noscript .add-1\").find(\".ph_no\").val(address_data.phone_no);\n    }\n    if (address_data.country_postcode) {\n      $(\".address_noscript .add-1\")\n        .find(\".zip_code\")\n        .val(address_data.country_postcode);\n    }\n    if (address_data.buisness_name) {\n      $(\".address_noscript .add-1\")\n        .find(\".business_company\")\n        .val(address_data.buisness_name);\n    }\n    if (address_data.buisness_address) {\n      $(\".address_noscript .add-1\")\n        .find(\".address_1\")\n        .val(address_data.buisness_address);\n    }\n    if (address_data.buisness_address_2) {\n      $(\".address_noscript .add-1\")\n        .find(\".address_2\")\n        .val(address_data.buisness_address_2);\n    }\n    if (address_data.buisness_city) {\n      $(\".address_noscript .add-1\")\n        .find(\".city\")\n        .val(address_data.buisness_city);\n    }\n    const selectBox = $(\".address_noscript .add-1 .country\");\n    const countryValue = address_data.buisness_country;\n    if (countryValue) {\n      selectBox.val(countryValue);\n    }\n    $(\".address_noscript .add-1\").find(\".check input\").prop(\"checked\", true);\n    var form = $(\".address_noscript .add-1\").find(\"form\");\n    var formData = form.serialize(); // Serialize form data\n    // Send the AJAX request\n    $.ajax({\n      type: form.attr(\"method\"), // Use the method defined in the form\n      url: form.attr(\"action\"), // Use the action defined in the form\n      data: formData,\n      success: function (response) {\n        // Handle success (e.g., display a message or update the UI)\n        console.log(\"Form submitted successfully\");\n      },\n      error: function (jqXHR, textStatus, errorThrown) {\n        // Handle error\n        console.error(\"Form submission failed:\", textStatus, errorThrown);\n      },\n    });\n  }\n});\n$(\".btn_grp .edit\").click(function () {\n  var dfl_country = $(this).parents(\".singal_add\").find(\".bs_country\").text();\n  var add_index = $(this).attr(\"data-add\");\n  var selectBox = $(`.address-page .${add_index} .country`);\n  if (dfl_country) {\n    selectBox.val(dfl_country);\n  }\n});\n$(\".sgn_out\").click(function () {\n  localStorage.removeItem(\"vat_checked\");\n  localStorage.removeItem(\"th_wishlist_global_variable\");\n});\n// $(\".sgn_out\").click(function(event) {\n//   event.preventDefault(); // Prevent any default form submission or link behavior\n\n//   localStorage.removeItem('vat_checked');\n//   localStorage.removeItem('th_wishlist_global_variable');\n\n//   fetch('/cart/clear.js', { method: 'POST' })\n//     .then(response => response.json())\n//     .then(data => {\n//       console.log(\"Cart Cleared:\", data);\n\n//       // Small delay to ensure Shopify processes the cart clear\n//       setTimeout(() => {\n//         window.location.href = \"/account/logout\"; // Redirect to logout URL\n//       }, 500);\n//     })\n//     .catch(error => {\n//       console.error(\"Error clearing cart:\", error);\n//       window.location.href = \"/account/logout\"; // Redirect even if error occurs\n//     });\n// });\n// function saveCartBeforeLogout() {\n//   fetch('/cart.js')\n//     .then(response => response.json())\n//     .then(cart => {\n//       let savedCart = JSON.parse(localStorage.getItem(\"savedCart\")) || [];\n//       let newItems = [];\n\n//       cart.items.forEach(item => {\n//         let exists = savedCart.some(savedItem => savedItem.id === item.id);\n//         if (!exists) {\n//           newItems.push(item);\n//         }\n//       });\n\n//       if (newItems.length > 0) {\n//         savedCart = [...savedCart, ...newItems]; // Merge new items with existing\n//         localStorage.setItem(\"savedCart\", JSON.stringify(savedCart));\n//       }\n//     })\n//     .catch(error => console.error(\"Error fetching cart:\", error));\n// }\n\n// let savedCart = localStorage.getItem(\"savedCart\");\n\n//       if (savedCart) {\n//         let cartItems = JSON.parse(savedCart);\n\n//         if (cartItems.length > 0) {\n//           cartItems.forEach(item => {\n//             fetch('/cart/add.js', {\n//               method: 'POST',\n//               headers: { 'Content-Type': 'application/json' },\n//               body: JSON.stringify({ id: item.id, quantity: item.quantity })\n//             }).then(response => response.json())\n//               .then(data => console.log(\"Item added back:\", data))\n//               .catch(error => console.error(\"Error adding item:\", error));\n//           });\n//         }\n\n//         localStorage.removeItem(\"savedCart\"); // Remove saved cart after restoring\n//       }\n\n$(\".wsl-link\").click(function () {\n  localStorage.removeItem(\"th_wishlist_global_variable\");\n});\n\n// product page pinch zoom js\nif (window.innerWidth < 576) {\n  $(document).ready(function () {\n    var initialTouchDist;\n    var pinchX, pinchY;\n    var mode = 0; // 0: idle, 1: dragging, 2: pinch zooming\n    var doubleTapTimeout;\n    var scale = 1; // Current scale factor\n    var isZoomedIn = false; // Flag to track zoom state\n    var maxScale = 2; // Maximum zoom level for pinch zoom\n    var minScale = 1; // Minimum zoom level\n\n    var $currentImage = $(\n      \".tm_product-view-inner .tm_product_view-main-slide .slick-current img\"\n    );\n\n    function setInitialStyles() {\n      $(\n        \".tm_product-view-inner .tm_product_view-main-slide .slick-slide img\"\n      ).each(function () {\n        $(this).css({\n          position: \"absolute\",\n          left: \"0\",\n          top: \"0\",\n          width: \"100%\",\n          height: \"100%\",\n          \"max-width\": \"none\",\n          \"max-height\": \"none\",\n          transition: \"transform 0.2s ease-out\", // Smooth transition for zoom/drag\n        });\n      });\n    }\n    function controlSlider() {\n      var styleId = \"stop-sliding\";\n      $(\"#\" + styleId).remove();\n      var styleTag = document.createElement(\"script\");\n      styleTag.id = styleId;\n      if (isZoomedIn) {\n        styleTag.innerHTML = $(\".tm_product_view-main-slide\").slick(\n          \"slickSetOption\",\n          \"draggable\",\n          false,\n          false\n        );\n        $(\".tm_product_view-main-slide\").slick(\n          \"slickSetOption\",\n          \"swipe\",\n          false,\n          false\n        );\n      } else {\n        styleTag.innerHTML = $(\".tm_product_view-main-slide\").slick(\n          \"slickSetOption\",\n          \"draggable\",\n          true,\n          true\n        );\n        $(\".tm_product_view-main-slide\").slick(\n          \"slickSetOption\",\n          \"swipe\",\n          true,\n          true\n        );\n      }\n      document.head.appendChild(styleTag);\n    }\n    var startX, startY;\n    var translateX = 0,\n      translateY = 0;\n\n    function touchstart(e) {\n      $currentImage = $(\n        \".tm_product-view-inner .tm_product_view-main-slide .slick-current img\"\n      );\n\n      if (e.touches.length === 1 && !doubleTapTimeout) {\n        doubleTapTimeout = setTimeout(function () {\n          doubleTapTimeout = null;\n        }, 300);\n      } else if (e.touches.length === 1 && doubleTapTimeout) {\n        clearTimeout(doubleTapTimeout);\n        doubleTapTimeout = null;\n        doubleTapZoom(e);\n        return false;\n      }\n\n      if (e.touches.length === 1 && isZoomedIn) {\n        mode = 1;\n        startX = e.touches[0].clientX;\n        startY = e.touches[0].clientY;\n      }\n\n      if (e.touches.length === 2) {\n        mode = 2;\n        var dx = e.touches[0].screenX - e.touches[1].screenX;\n        var dy = e.touches[0].screenY - e.touches[1].screenY;\n\n        pinchX = (e.touches[0].clientX + e.touches[1].clientX) / 2;\n        pinchY = (e.touches[0].clientY + e.touches[1].clientY) / 2;\n        initialTouchDist = Math.sqrt(dx * dx + dy * dy);\n        e.preventDefault(); // Prevent default pinch-zoom\n        return false;\n      }\n\n      e.preventDefault(); // Prevent default behavior for all touches\n    }\n\n    function pinchZoom(scaleFactor, originX, originY, instant) {\n      scale = Math.min(Math.max(scaleFactor, minScale), maxScale);\n\n      if (originX !== undefined && originY !== undefined) {\n        pinchX = originX;\n        pinchY = originY;\n      }\n\n      $currentImage.css({\n        transform: `translate(${translateX}px, ${translateY}px) scale(${scale})`,\n        \"transform-origin\": `${pinchX}px ${pinchY}px`,\n        transition: instant ? \"none\" : \"transform 0.2s ease-out\",\n      });\n\n      isZoomedIn = scale > 1;\n\n      if (scale === 1) {\n        translateX = 0;\n        translateY = 0;\n        $currentImage.css({\n          left: \"0\",\n          top: \"0\",\n          transform: \"scale(1) translate(0, 0)\",\n        });\n      }\n      controlSlider();\n    }\n\n    function doubleTapZoom(e) {\n      var tapX = e.touches ? e.touches[0].clientX : e.clientX;\n      var tapY = e.touches ? e.touches[0].clientY : e.clientY;\n\n      if (!isZoomedIn) {\n        pinchZoom(2, tapX, tapY);\n      } else {\n        pinchZoom(1, tapX, tapY);\n      }\n    }\n\n    function touchmove(e) {\n      if (e.touches.length === 1 && mode === 1 && isZoomedIn) {\n        var deltaX = e.touches[0].clientX - startX;\n        var deltaY = e.touches[0].clientY - startY;\n\n        translateX += deltaX;\n        translateY += deltaY;\n\n        startX = e.touches[0].clientX;\n        startY = e.touches[0].clientY;\n\n        var containerWidth = $(\n          \".tm_product-view-inner .tm_product_view-main-slide\"\n        ).width();\n        var containerHeight = $(\n          \".tm_product-view-inner .tm_product_view-main-slide\"\n        ).height();\n        var imageWidth = $currentImage.width() * scale;\n        var imageHeight = $currentImage.height() * scale;\n\n        var minX =\n          containerWidth / 2 - imageWidth / 2 + (pinchX - containerWidth / 2);\n        var maxX =\n          imageWidth / 2 - containerWidth / 2 + (pinchX - containerWidth / 2);\n        var minY =\n          containerHeight / 2 -\n          imageHeight / 2.5 +\n          (pinchY - containerHeight / 2);\n        var maxY =\n          imageHeight / 2 -\n          containerHeight / 1.5 +\n          (pinchY - containerHeight / 2);\n\n        translateX = Math.max(minX, Math.min(maxX, translateX));\n        translateY = Math.max(minY, Math.min(maxY, translateY));\n\n        $currentImage.css({\n          transform: `translate(${translateX}px, ${translateY}px) scale(${scale})`,\n          // No transition - see the comment on pinchZoom() above. A drag\n          // fires this on every pixel of movement, so a transition here\n          // was the ghosting/duplication bug, not smoothing.\n          transition: \"none\",\n        });\n\n        e.preventDefault();\n        return false;\n      }\n\n      if (e.touches.length === 2 && mode === 2) {\n        var dx = e.touches[0].screenX - e.touches[1].screenX;\n        var dy = e.touches[0].screenY - e.touches[1].screenY;\n        var touchDist2 = Math.sqrt(dx * dx + dy * dy);\n        var scaleFactor = (touchDist2 / initialTouchDist) * scale;\n\n        pinchZoom(scaleFactor, undefined, undefined, true);\n        e.preventDefault();\n        return false;\n      }\n    }\n    $(\".tm_product-view-info .tm_popup_close-icon\").click(function () {\n      pinchZoom(1);\n      $currentImage.css({\n        left: \"0\",\n        top: \"0\",\n      });\n    });\n    $(\".tm_product-view-inner .tm_product_view-main-slide\").on(\n      \"touchstart\",\n      touchstart\n    );\n    $(\".tm_product-view-inner .tm_product_view-main-slide\").on(\n      \"touchmove\",\n      touchmove\n    );\n\n    setInitialStyles();\n  });\n}\n\n// Handle thumbnail click event\n$(document).ready(function () {\n  $(\".tm_product_view-thumbs-img_wrp\").on(\"click\", function () {\n    var sku = $(this).data(\"var-sku\");\n    var title = $(this).data(\"var-title\");\n\n    $(\".tm_product_view-thumbs-img_wrp\").removeClass(\"selected\");\n    $(this).addClass(\"selected\");\n\n    // This photo isn't linked to a specific variant (a general/shared product\n    // shot) - leave the currently shown Model/Colour/Lens text as-is instead\n    // of overwriting it with blank/wrong values.\n    if (!sku && !title) return;\n\n    console.log(\"New vat title\", title);\n    $(\".var-sku\").text(sku || \"\");\n    if (sku) {\n      $(\".tm_product-modal span.tm_lg-font\").html(\"Model: \" + sku);\n      $(\".tm_product-modal\").show();\n      $(\".tm_product_model_row\").show();\n    } else {\n      $(\".tm_product-modal span.tm_lg-font\").html(\"\");\n      $(\".tm_product-modal\").hide();\n      $(\".tm_product_model_row\").hide();\n    }\n    $(\".tm_product-view-var .popupcolor_selected\").text(title);\n    $(\".tm_product-var-res fieldset input\").each(function () {\n      if ($(this).val() === title) {\n        $(this).trigger(\"click\");\n      }\n    });\n  });\n  $(\".tm_product_view-thumbs-img_wrp\")\n    .on(\"focusin\", function () {\n      $(this).removeAttr(\"aria-hidden\");\n    })\n    .on(\"focusout\", function () {\n      $(this).attr(\"aria-hidden\", \"true\"); // Reapply if necessary\n    });\n});\n\n// $(document).ready(function () {\n//     $('.tm_product-view-img').on('click', function (e) {\n//         e.stopPropagation();\n//         $('.tm_product-view-img').removeClass('active-img');\n//         $(this).addClass('active-img');\n//     });\n\n//     $(document).on('click', function () {\n//         $('.tm_product-view-img').removeClass('active-img');\n//     });\n// });\n\n// mega menu scrolltop 0 inside\ndocument.querySelectorAll(\".tm_mega-menu\").forEach(function (div) {\n  div.addEventListener(\"mouseleave\", function () {\n    div.scrollTo({\n      top: 0,\n      behavior: \"smooth\",\n    });\n  });\n});\n\n// $(\".cart__checkout-button\").on(\"click\", function(){\n//   debugger\n//   location.href = \"/checkout\"\n// })\n\n// AA code\n\n\n\n\nwindow.addEventListener('DOMContentLoaded', function () {\n  const hash = window.location.hash;\n  if (!hash) return;\n  setTimeout(() => {\n    const tab = document.querySelector(`.tm_odr-tab[href=\"${hash}\"]`);\n    if (tab) {\n      tab.click();\n    }\n  }, 500);\n});\nlet callbacktrackfun = null;\nfunction cartcallbackfun() {\n  if (callbacktrackfun) clearTimeout(callbacktrackfun);\n  callbacktrackfun = setTimeout(() => {\n    // Empty basket: cart.js already wrote \u00A30.00 everywhere. Recomputing from\n    // a stale Bold subtotal here is what brought the old Order Total back.\n    const checkoutBtn = document.getElementById('checkout_mobile');\n    if (checkoutBtn && checkoutBtn.disabled) return;\n    let store_currency = document.querySelector(\".store_currency\").value;\n    const main_cart_price = document.querySelector('.none_575 .subtotal_main_price_cart');\n    const cartdefaultprice = document.querySelector('.none_575 .tm_del_billing-grid')?.dataset?.subtotal;\n    if (main_cart_price && cartdefaultprice && cartdefaultprice != main_cart_price) {\n      const digitnumber = main_cart_price.innerHTML.match(/\\d/g).join('');\n      if (digitnumber && document.querySelector('[data-cart-total]') && store_currency) {\n        const subtotalp = Number(digitnumber);\n        const vatpricep = subtotalp * 0.20;\n        const total_price = vatpricep + subtotalp;\n        const formattedTotalPrice = (total_price / 100).toFixed(2).replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n        const formattedVatPrice = (vatpricep / 100).toFixed(2).replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n        if (document.querySelector('.tm_total_billing .subtotal_de_price_cart')) {\n          document.querySelector('.tm_total_billing .subtotal_de_price_cart').innerHTML = formattedTotalPrice;\n        }\n        if (document.querySelector('.none_575 .including_vat .total_vat_p')) {\n          document.querySelector('.none_575 .including_vat .total_vat_p').innerHTML = store_currency + formattedVatPrice;\n        }\n\n        var mobTotalWhole = document.querySelector('.block_575 .tm_total_billing .main_price');\n        if (mobTotalWhole) {\n          var mobParts = formattedTotalPrice.split('.');\n          mobTotalWhole.innerHTML = mobParts[0];\n          var mobTotalPence = document.querySelector('.block_575 .tm_total_billing .after_point_price');\n          if (mobTotalPence) mobTotalPence.innerHTML = mobParts[1] || '00';\n        }\n        var mobSubtotal = document.querySelector('.block_575 .ex_vat_price .tm_del_billing-price');\n        if (mobSubtotal) {\n          var formattedSubtotal = (subtotalp / 100).toFixed(2).replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n          mobSubtotal.innerHTML = store_currency + formattedSubtotal;\n        }\n        var mobVat = document.querySelector('.block_575 .including_vat .total_vat_p');\n        if (mobVat) mobVat.innerHTML = store_currency + formattedVatPrice;\n      }\n    }\n  }, 0);\n}\n\nconst cartObserver = new MutationObserver(cartcallbackfun);\nconst targetObserve = document.querySelector('.cart #MainContent');\nconst config = { attributes: true, childList: true, subtree: true, characterData: true };\nif (targetObserve && config) {\n  cartObserver.observe(targetObserve, config);\n}\n\n(function () {\n  var WRAPPER_SELECTOR = '.delievery_txt_wrp';\n  var INNER_SELECTOR = '.delivery-widget__manual, .delivery-widget__container';\n  var QUIET_MS = 200;\n  var MAX_HIDE_MS = 3000;\n\n  function isBadState(text) {\n    var t = (text || '').trim();\n    return t === '' || t.indexOf('NaN') !== -1 || t.indexOf('undefined') !== -1;\n  }\n\n  function judgeText(wrapperEl) {\n    var inner = wrapperEl.querySelector(INNER_SELECTOR);\n    return inner ? (inner.textContent || '') : (wrapperEl.textContent || '');\n  }\n\n  function protect(el) {\n    if (!el || el.__dwProtected) return;\n    el.__dwProtected = true;\n\n    var hiding = false;\n    var quietTimer = null;\n\n    function hide() {\n      if (hiding) return;\n      hiding = true;\n      el.style.visibility = 'hidden';\n      el.style.opacity = '0';\n      setTimeout(function () {\n        if (hiding) reveal();\n      }, MAX_HIDE_MS);\n    }\n\n    function reveal() {\n      if (!hiding) return;\n      hiding = false;\n      el.style.visibility = 'visible';\n      el.style.transition = 'opacity .25s ease';\n      void el.offsetHeight;\n      el.style.opacity = '';\n      setTimeout(function () {\n        el.style.transition = '';\n      }, 300);\n    }\n\n    function check() {\n      if (isBadState(judgeText(el))) {\n        hide();\n      } else {\n        reveal();\n      }\n    }\n\n    hide();\n    check();\n\n    new MutationObserver(function () {\n      if (quietTimer) clearTimeout(quietTimer);\n      quietTimer = setTimeout(check, QUIET_MS);\n    }).observe(el, { childList: true, subtree: true, characterData: true });\n  }\n\n  function scan(root) {\n    var widgets = (root || document).querySelectorAll(WRAPPER_SELECTOR);\n    for (var i = 0; i < widgets.length; i++) {\n      protect(widgets[i]);\n    }\n  }\n\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', function () { scan(); });\n  } else {\n    scan();\n  }\n\n  if (window.MutationObserver) {\n    new MutationObserver(function (mutations) {\n      for (var i = 0; i < mutations.length; i++) {\n        var addedNodes = mutations[i].addedNodes;\n        for (var j = 0; j < addedNodes.length; j++) {\n          var node = addedNodes[j];\n          if (node.nodeType === 1) {\n            if (node.matches && node.matches(WRAPPER_SELECTOR)) protect(node);\n            scan(node);\n          }\n        }\n      }\n    }).observe(document.documentElement, { childList: true, subtree: true });\n  }\n})();\n\n\n(function () {\n  var refillTimer = null;\n  var inFlight = false;\n  // Last known-good widget markup, kept current by rememberFilled() below.\n  // Every card on a page shows the identical delivery line (same date, same\n  // countdown), so one copy serves them all.\n  var cachedHtml = '';\n\n  function emptyManuals() {\n    return Array.prototype.filter.call(\n      document.querySelectorAll('.delivery-widget__manual'),\n      function (el) { return el.textContent.trim() === '' && !el.__ceddRefillTried; }\n    );\n  }\n\n  function rememberFilled() {\n    var nodes = document.querySelectorAll('.delivery-widget__manual');\n    for (var i = 0; i < nodes.length; i++) {\n      var t = nodes[i].textContent.trim();\n      if (t !== '' && t.indexOf('NaN') === -1 && t.indexOf('undefined') === -1) {\n        cachedHtml = nodes[i].innerHTML;\n        return;\n      }\n    }\n  }\n\n\n  function remeasure() {\n    if (window.jQuery && jQuery.fn.matchHeight && document.querySelector('.tm_collection-info')) {\n      jQuery('.tm_collection-info').matchHeight('remove');\n      jQuery('.tm_collection-info').matchHeight();\n    }\n  }\n\n  function refill() {\n    if (inFlight) return;\n\n    if (!window._windowOnClick__ed && !window._switchCountry__ed) return;\n    var pending = emptyManuals();\n    if (!pending.length) return;\n\n\n    if (cachedHtml) {\n      pending.forEach(function (el) {\n        el.__ceddRefillTried = true;\n        el.innerHTML = cachedHtml;\n      });\n      remeasure();\n      return;\n    }\n\n    // Fallback (no fill ever seen to copy from - e.g. the app hadn't\n    // finished its very first pass before the user sorted): re-run the app\n    // script and let it do a full scan.\n    var orig = document.querySelector('script[src*=\"delivery_coder\"]');\n    if (!orig) return;\n    inFlight = true;\n    // Flagged BEFORE the attempt, so a widget the app deliberately leaves\n    // empty can't re-trigger this forever - only genuinely new empty\n    // widgets (the next grid swap) count again.\n    pending.forEach(function (el) { el.__ceddRefillTried = true; });\n    try { window.removeEventListener('click', window._windowOnClick__ed); } catch (e) { }\n    var tag = document.createElement('script');\n    tag.src = orig.src;\n    tag.onload = tag.onerror = function () {\n      setTimeout(function () { inFlight = false; }, 500);\n      // The app fills after its own jQuery loads, so poll briefly rather\n      // than assuming it's synchronous with script onload.\n      var tries = 0;\n      var poll = setInterval(function () {\n        tries++;\n        var stillEmpty = pending.some(function (el) { return el.textContent.trim() === ''; });\n        if (!stillEmpty || tries >= 12) {\n          clearInterval(poll);\n          remeasure();\n        }\n      }, 250);\n    };\n    document.body.appendChild(tag);\n  }\n\n  new MutationObserver(function () {\n\n    if (cachedHtml && (window._windowOnClick__ed || window._switchCountry__ed)) {\n      var pending = emptyManuals();\n      if (pending.length) {\n        pending.forEach(function (el) {\n          el.__ceddRefillTried = true;\n          el.innerHTML = cachedHtml;\n\n          var wrap = el.closest('.delievery_txt_wrp');\n          if (wrap) { wrap.style.visibility = 'visible'; wrap.style.opacity = ''; }\n        });\n        remeasure();\n      }\n    }\n    // Debounced pass keeps the two slower jobs: snapshotting filled widgets\n    // into the cache, and the app-script fallback for when there's no\n    // snapshot to paste yet.\n    if (refillTimer) clearTimeout(refillTimer);\n    refillTimer = setTimeout(function () {\n      rememberFilled();\n      refill();\n    }, 150);\n  }).observe(document.documentElement, { childList: true, subtree: true });\n})();\n\n\n(function () {\n  var WEEKDAYS = { Sunday: 'Sun', Monday: 'Mon', Tuesday: 'Tues', Wednesday: 'Wed', Thursday: 'Thu', Friday: 'Fri', Saturday: 'Sat' };\n  var MONTHS = {\n    January: 'Jan', February: 'Feb', March: 'Mar', April: 'Apr', May: 'May', June: 'June',\n    July: 'July', August: 'Aug', September: 'Sept', October: 'Oct', November: 'Nov', December: 'Dec'\n  };\n  var WEEKDAY_RE = new RegExp('\\\\b(' + Object.keys(WEEKDAYS).join('|') + ')\\\\b');\n  var MONTH_RE = new RegExp('\\\\b(' + Object.keys(MONTHS).join('|') + ')\\\\b');\n\n  function abbreviate(text) {\n    return text\n      .replace(WEEKDAY_RE, function (m) { return WEEKDAYS[m]; })\n      .replace(MONTH_RE, function (m) { return MONTHS[m]; })\n      .replace(/,\\s*(\\d)/, ' $1'); // \"Tues, 13 Oct\" -> \"Tues 13 Oct\"\n  }\n\n  function applyTo(el) {\n    var walker = document.createTreeWalker(el, NodeFilter.SHOW_TEXT, null, false);\n    var node;\n    while ((node = walker.nextNode())) {\n      var out = abbreviate(node.nodeValue);\n      if (out !== node.nodeValue) node.nodeValue = out;\n    }\n  }\n\n  function watch(wrapperEl) {\n    if (wrapperEl.__dwAbbrevWatched) return;\n    wrapperEl.__dwAbbrevWatched = true;\n    if (wrapperEl.closest('.tm_cart_delivery_countdown')) return; // cart banner keeps full wording\n\n    var quietTimer = null;\n    var applying = false;\n\n    function check() {\n      if (applying || window.innerWidth > 575) return; // desktop: leave the app's own full wording alone\n      applying = true;\n      applyTo(wrapperEl);\n      // Released on the next tick, after our own rewrite above has already\n      // fired (and been ignored) by the observer below - without this the\n      // rewrite would retrigger itself forever.\n      setTimeout(function () { applying = false; }, 0);\n    }\n\n    check();\n    new MutationObserver(function () {\n      if (applying) return; // our own rewrite, not the app's\n      if (quietTimer) clearTimeout(quietTimer);\n      quietTimer = setTimeout(check, 200);\n    }).observe(wrapperEl, { childList: true, subtree: true, characterData: true });\n  }\n\n  function scan(root) {\n    (root || document).querySelectorAll('.delievery_txt_wrp').forEach(watch);\n  }\n\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', function () { scan(); });\n  } else {\n    scan();\n  }\n\n  if (window.MutationObserver) {\n    new MutationObserver(function (mutations) {\n      for (var i = 0; i < mutations.length; i++) {\n        var addedNodes = mutations[i].addedNodes;\n        for (var j = 0; j < addedNodes.length; j++) {\n          var node = addedNodes[j];\n          if (node.nodeType === 1) {\n            if (node.matches && node.matches('.delievery_txt_wrp')) watch(node);\n            scan(node);\n          }\n        }\n      }\n    }).observe(document.documentElement, { childList: true, subtree: true });\n  }\n})();\n\n(function () {\n  document.addEventListener('focusin', function (e) {\n    var input = e.target;\n    if (!(input.matches && input.matches('.quantity__input'))) return;\n    if (window.innerWidth > 575) return;\n    setTimeout(function () {\n      input.scrollIntoView({ block: 'nearest', behavior: 'smooth' });\n    }, 300);\n  });\n})();\n\n// Format prices across Collection Page & Search Page into proper structured HTML format\n(function () {\n  function formatAllPrices() {\n    var priceElements = document.querySelectorAll(\n      '.tm_colle-price-wrapper .colle_price, .tm_colle-price-wrapper .coll_def_price, .tm_colle-price-wrapper .money, .ro-price-row .ro-price, .isp_product_price, .isp_product_price_wrapper, .fs-result-product-price, .fs-product-price, [data-isp-price], #fast-simon-serp-app .isp_product_price, #fs-serp-page .isp_product_price, #snize-search-results-grid-mode .snize-price-list'\n    );\n    priceElements.forEach(function (el) {\n      if (el.querySelector('.tm_pound-sign') && el.querySelector('.tm_price_whole')) {\n        return;\n      }\n\n      var text = el.textContent.trim();\n      if (!text) return;\n\n      var match = text.replace(/,/g, '').match(/^([^\\d\\s]?)\\s*(\\d+)\\.(\\d{2})/);\n      if (match) {\n        var symbol = match[1] || '\u00A3';\n        var whole = parseInt(match[2], 10).toLocaleString('en-US');\n        var pence = match[3];\n\n        var parent = el.closest('.tm_colle-price-wrapper') || el.parentElement;\n        var hasExVat = parent && parent.querySelector('.tm_ex_VAt');\n\n        var html =\n          // '<sup class=\"tm_pound-sign\">' +\n          '<span class=\"tm_pound-sign\">' +\n          symbol +\n          // '</sup><span class=\"tm_price_whole\">' +\n          '</span><span class=\"tm_price_whole\">' +\n          whole +\n          // '</span><sup class=\"tm_price_sm\">' +\n          '</span><span class=\"tm_price_dot\">.</span><span class=\"tm_price_sm\">' +\n          pence +\n          '</sup>';\n        '</span>';\n\n        if (!hasExVat && !el.querySelector('.tm_ex_VAt')) {\n          // html += ' <sub class=\"tm_ex_VAt\">ex. VAT</sub>';\n          html += ' <span class=\"tm_ex_VAt\">ex. VAT</span>';\n        }\n\n        if (el.innerHTML !== html) {\n          el.innerHTML = html;\n        }\n      }\n    });\n  }\n\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', formatAllPrices);\n  } else {\n    formatAllPrices();\n  }\n\n  if (window.MutationObserver && document.body) {\n    var priceObserver = new MutationObserver(function () {\n      formatAllPrices();\n    });\n    priceObserver.observe(document.body, { childList: true, subtree: true, characterData: true });\n  }\n})();\n\n(function () {\n  var TILE_SELECTOR = 'li.snize-product';\n  var PRICE_SELECTOR = '.snize-price-list, [class*=\"snize-price\"]';\n\n  function tagPrice(tile, forceRefresh) {\n    var productId = tile.getAttribute('data-original-product-id');\n    if (!productId) return;\n\n    var priceEl = tile.querySelector(PRICE_SELECTOR);\n    if (!priceEl) return;\n\n    var variantId = tile.getAttribute('data-product-variant');\n    var variantChanged = variantId && priceEl.getAttribute('data-variant-id') !== variantId;\n\n    if (priceEl.getAttribute('data-product-id') !== productId) {\n      priceEl.classList.add('money');\n      priceEl.setAttribute('data-product-id', productId);\n    }\n    if (variantId) {\n      priceEl.setAttribute('data-variant-id', variantId);\n    }\n\n    if ((forceRefresh || variantChanged) && priceEl.__dwPriceTagged) {\n      var fresh = priceEl.cloneNode(true);\n      delete fresh.__dwPriceTagged;\n      priceEl.replaceWith(fresh);\n      priceEl = fresh;\n    }\n    priceEl.__dwPriceTagged = true;\n  }\n\n  function scanTiles(root) {\n    (root || document).querySelectorAll(TILE_SELECTOR).forEach(function (t) { tagPrice(t, false); });\n  }\n\n  scanTiles();\n\n  if (window.MutationObserver) {\n    new MutationObserver(function (mutations) {\n      mutations.forEach(function (m) {\n        // Snize swaps the selected colour/size via an attribute change on\n        // the tile itself (data-product-variant), not a fresh element.\n        if (m.type === 'attributes' && m.target.matches && m.target.matches(TILE_SELECTOR)) {\n          tagPrice(m.target, true);\n          return;\n        }\n        m.addedNodes.forEach(function (node) {\n          if (node.nodeType !== 1) return;\n          if (node.matches && node.matches(TILE_SELECTOR)) tagPrice(node, false);\n          scanTiles(node);\n        });\n      });\n    }).observe(document.documentElement, {\n      childList: true,\n      subtree: true,\n      attributes: true,\n      attributeFilter: ['data-product-variant']\n    });\n  }\n})();\n\n(function () {\n  if (!document.body.classList.contains('customer_aprove')) return;\n\n  var TILE_SELECTOR = 'li.snize-product';\n  var threshold = (window.tmFreeDeliveryThreshold || 0) * 100; // settings value is pounds, cart totals are pence\n  var freeDelivery = null; // resolved once cart.js responds\n\n  function buildWrapper() {\n    var wrap = document.createElement('div');\n    wrap.className = 'delievery_txt_wrp';\n    if (freeDelivery) {\n      var free = document.createElement('span');\n      free.className = 'order_free_txt';\n      free.textContent = 'FREE  ';\n      wrap.appendChild(free);\n    }\n    var manual = document.createElement('div');\n    manual.className = 'delivery-widget__manual';\n    wrap.appendChild(manual);\n    return wrap;\n  }\n\n  function inject(tile) {\n    if (tile.__dwInjected || freeDelivery === null) return;\n    if (/(^|\\s)snize-ac-/.test(tile.className) || tile.closest('[class*=\"snize-ac-\"]')) return;\n    tile.__dwInjected = true;\n    var anchor = tile.querySelector('.snize-price-list, [class*=\"snize-price\"], .snize-overhidden');\n    if (!anchor) return;\n    var container = anchor.classList.contains('snize-overhidden') ? anchor : anchor.parentElement;\n    if (!container) return;\n    container.appendChild(buildWrapper());\n  }\n\n  function scanTiles(root) {\n    (root || document).querySelectorAll(TILE_SELECTOR).forEach(inject);\n  }\n\n  function start() {\n    scanTiles();\n    if (window.MutationObserver) {\n      new MutationObserver(function (mutations) {\n        mutations.forEach(function (m) {\n          m.addedNodes.forEach(function (node) {\n            if (node.nodeType !== 1) return;\n            if (node.matches && node.matches(TILE_SELECTOR)) inject(node);\n            scanTiles(node);\n          });\n        });\n      }).observe(document.documentElement, { childList: true, subtree: true });\n    }\n  }\n\n  fetch('/cart.js')\n    .then(function (r) { return r.json(); })\n    .then(function (cart) {\n      freeDelivery = threshold > 0 && cart.total_price >= threshold;\n      start();\n    })\n    .catch(function () {\n      freeDelivery = false;\n      start();\n    });\n})();\n\n\n(function () {\n  if (!/\\/pages\\/search-results-page/.test(location.pathname)) return;\n\n  var titleEl = document.querySelector('title');\n  if (!titleEl) return;\n\n  function desired() {\n    var q = new URLSearchParams(location.search).get('q');\n    return q ? 'Technomate.com : ' + q : 'Technomate.com';\n  }\n\n  function apply() {\n    var t = desired();\n    // Guarded so this doesn't retrigger its own observer below forever -\n    // once it matches, setting it again is a no-op and the loop settles.\n    if (document.title !== t) document.title = t;\n  }\n\n  apply();\n  new MutationObserver(apply).observe(titleEl, { childList: true, characterData: true, subtree: true });\n})();\n\n(function () {\n  function buildSortByWrp(optionsList) {\n    var wrap = document.createElement('div');\n    wrap.className = 'sort_by_wrp tm_sort_by-inner';\n\n    var links = optionsList.querySelectorAll('li a');\n    var currentLink = Array.prototype.filter.call(links, function (a) {\n      return a.classList.contains('current');\n    })[0] || links[0];\n    var currentLabel = currentLink ? currentLink.textContent.trim() : '';\n\n    var head = document.createElement('div');\n    head.className = 'sort_by_wrp_head tm_row';\n    head.innerHTML =\n      '<span class=\"sort_by_label\">Sort by:</span>' +\n      '<span class=\"sort_by_label sel_flt\">' + currentLabel + '</span>' +\n      '<svg class=\"icon icon-caret\" width=\"9\" height=\"6\" viewBox=\"0 0 10 6\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">' +\n      '<path d=\"M1 1L5 5L9 1\" stroke=\"#555\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>';\n    wrap.appendChild(head);\n\n    var list = document.createElement('ul');\n    list.className = 'sort_list_wrp';\n\n    // Same \"Sort by / Done\" bar the collection page's sheet opens with\n    // (facets.liquid puts this div as .sort_list_wrp's first child too).\n    // Done's close behaviour needs no wiring here - the delegated\n    // .close_mobile_short_by handler further up this file covers it.\n    var heading = document.createElement('div');\n    heading.className = 'mobile_short_by_heading';\n    heading.innerHTML =\n      '<h5 class=\"head\">Sort by</h5>' +\n      '<a href=\"javascript:;\" class=\"close_mobile_short_by\">Done</a>';\n    list.appendChild(heading);\n\n    links.forEach(function (a, i) {\n      var label = a.textContent.trim();\n      var isCurrent = a === currentLink;\n\n      var li = document.createElement('li');\n      li.className = 'sort_list';\n      li.dataset.value = String(i);\n      if (isCurrent) li.setAttribute('selected', 'selected');\n\n      var optionLink = document.createElement('a');\n      optionLink.href = 'javascript:void(0)';\n      optionLink.className = 'sort_list_link';\n\n      var radio = document.createElement('input');\n      radio.type = 'radio';\n      radio.name = 'snize-mobile-sort';\n      radio.id = 'snize-mobile-sort-' + i;\n      if (isCurrent) radio.checked = true;\n\n      var radioLabel = document.createElement('label');\n      radioLabel.setAttribute('for', radio.id);\n      // Radio circle first, text after - the same label structure the\n      // collection sheet's rows have (facets.liquid), where the circle is\n      // what shows the selected state, not the hidden input.\n      var checkmark = document.createElement('span');\n      checkmark.className = 'shortby_checkmark';\n      radioLabel.appendChild(checkmark);\n      radioLabel.appendChild(document.createTextNode(label));\n\n      optionLink.appendChild(radio);\n      optionLink.appendChild(radioLabel);\n      li.appendChild(optionLink);\n\n      // The shared .sort_list_link handler (further up this file) already\n      // updates .sel_flt and closes the sheet on click - this just adds\n      // what it can't know how to do: fire the real Snize link underneath\n      // so the actual sort happens.\n      optionLink.addEventListener('click', function () {\n        a.click();\n      });\n\n      list.appendChild(li);\n    });\n    wrap.appendChild(list);\n\n    return wrap;\n  }\n\n  var FILTER_ICON_SVG =\n    '<svg class=\"tm-filter-icon\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">' +\n    '<path d=\"M0.5 4.17539H8.64103C8.86559 5.0827 9.68634 5.75748 10.6621 5.75748C11.6378 5.75748 12.4585 5.0827 12.6831 4.17539H15.5C15.7761 4.17539 16 3.95151 16 3.67539C16 3.39926 15.7761 3.17539 15.5 3.17539H12.6831C12.4585 2.26807 11.6378 1.59326 10.662 1.59326C9.68628 1.59326 8.86553 2.26807 8.641 3.17539H0.5C0.223875 3.17539 0 3.39926 0 3.67539C0 3.95151 0.223875 4.17539 0.5 4.17539ZM10.6621 2.59326C11.2587 2.59326 11.7442 3.0787 11.7442 3.67536C11.7442 4.27204 11.2587 4.75748 10.6621 4.75748C10.0654 4.75748 9.57994 4.27204 9.57994 3.67536C9.57994 3.0787 10.0654 2.59326 10.6621 2.59326ZM0.5 8.50001H3.31694C3.5415 9.40732 4.36222 10.0821 5.33797 10.0821C6.31372 10.0821 7.13444 9.40732 7.359 8.50001H15.5C15.7761 8.50001 16 8.27614 16 8.00001C16 7.72389 15.7761 7.50001 15.5 7.50001H7.35897C7.13441 6.5927 6.31369 5.91789 5.33794 5.91789C4.36219 5.91789 3.54147 6.5927 3.31691 7.50001H0.5C0.223875 7.50001 0 7.72389 0 8.00001C0 8.27614 0.223844 8.50001 0.5 8.50001ZM5.33794 6.91789C5.93462 6.91789 6.42006 7.40332 6.42006 8.00001C6.42006 8.59667 5.93462 9.08211 5.33794 9.08211C4.74125 9.08211 4.25581 8.59667 4.25581 8.00001C4.25581 7.40332 4.74125 6.91789 5.33794 6.91789ZM15.5 11.8246H12.6831C12.4585 10.9173 11.6378 10.2425 10.662 10.2425C9.68628 10.2425 8.86556 10.9173 8.641 11.8246H0.5C0.223875 11.8246 0 12.0485 0 12.3246C0 12.6008 0.223875 12.8246 0.5 12.8246H8.64103C8.86559 13.7319 9.68631 14.4068 10.6621 14.4068C11.6378 14.4068 12.4585 13.7319 12.6831 12.8246H15.5C15.7761 12.8246 16 12.6008 16 12.3246C16 12.0485 15.7762 11.8246 15.5 11.8246ZM10.6621 13.4068C10.0654 13.4068 9.57994 12.9213 9.57994 12.3246C9.57994 11.7279 10.0654 11.2425 10.6621 11.2425C11.2587 11.2425 11.7442 11.7279 11.7442 12.3246C11.7442 12.9213 11.2587 13.4068 10.6621 13.4068Z\" fill=\"black\"></path>' +\n    '</svg>';\n\n  function ensure() {\n    var optionsList = document.getElementById('snize-sorting-options-list');\n    if (!optionsList || !optionsList.querySelector('li a')) return;\n    var filtersBtn = document.querySelector('.snize-main-panel-mobile-filters');\n    var panel = filtersBtn && filtersBtn.parentElement;\n    if (!panel) return;\n    // Icon first - unlike the sort control below, this lives INSIDE the\n    // Filters button, so a Snize re-render of just that button can wipe it\n    // even when the sort control next to it survives.\n    var trigger = filtersBtn.querySelector('button, a');\n    if (trigger && !trigger.querySelector('.tm-filter-icon')) {\n      trigger.insertAdjacentHTML('afterbegin', FILTER_ICON_SVG);\n    }\n    if (panel.querySelector('.sort_by_wrp.tm_sort_by-inner')) return;\n    panel.insertBefore(buildSortByWrp(optionsList), filtersBtn.nextSibling);\n  }\n\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', ensure);\n  } else {\n    ensure();\n  }\n\n  var queued = false;\n  new MutationObserver(function () {\n    if (queued) return;\n    queued = true;\n    setTimeout(function () {\n      queued = false;\n      ensure();\n    }, 0);\n  }).observe(document.body, { childList: true, subtree: true });\n})();"],
  "mappings": "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",
  "names": ["syncSlickWithCheckedVariant"]
}
