{
  "version": 3,
  "sources": ["/cdn/shop/t/28/assets/mcr-header.js?nocache=1790768798"],
  "sourcesContent": ["/* MCR header: sticky (Dawn-compatible <sticky-header>), shrink + glass, transparent overlay,\n   hover-intent mega/dropdown menus with keyboard support, and the off-canvas <mcr-drawer>. */\n(function () {\n  'use strict';\n  var doc = document;\n  var root = doc.documentElement;\n  var reduceMotion = window.matchMedia('(prefers-reduced-motion: reduce)');\n  var desktopMq = window.matchMedia('(min-width: 990px)');\n  var lastPointer = 'mouse';\n  doc.addEventListener('pointerdown', function (e) { lastPointer = e.pointerType || 'mouse'; }, { capture: true, passive: true });\n\n  function after(ms, fn) { return reduceMotion.matches ? (fn(), 0) : setTimeout(fn, ms); }\n  function anyModalOpen() { return !!doc.querySelector('.mcr-modal.is-open, mcr-drawer.is-open, mcr-search.is-sheet'); }\n  function unlock() { if (!anyModalOpen()) root.classList.remove('mcr-lock'); }\n\n  /* ---------------- Menus ---------------- */\n  function initMenus(header) {\n    var items = Array.prototype.slice.call(header.querySelectorAll('[data-mcr-menu-item]'));\n    if (!items.length) return { closeAll: function () {} };\n    var delay = parseInt(header.getAttribute('data-hover-delay'), 10) || 0;\n    var openItem = null;\n    var openTimer = 0;\n    var closeTimer = 0;\n\n    // mega panels arrive as inert <template>s \u2014 build one the first time it opens\n    function build(panel) {\n      var t = panel && panel.querySelector(':scope > template[data-mcr-panel-content]');\n      if (!t) return;\n      panel.insertBefore(t.content.cloneNode(true), t);\n      t.remove();\n    }\n    var nav = header.querySelector('.mcr-header__nav') || header;\n    ['pointerenter', 'focusin'].forEach(function (ev) {\n      nav.addEventListener(ev, function () { items.forEach(function (it) { build(it.querySelector('[data-mcr-panel]')); }); }, { once: true, passive: true });\n    });\n\n    function parts(item) {\n      return {\n        panel: item.querySelector('[data-mcr-panel]'),\n        toggle: item.querySelector('[data-mcr-menu-toggle]'),\n        link: item.querySelector('[data-mcr-menu-link]'),\n      };\n    }\n\n    function open(item, focusFirst) {\n      clearTimeout(closeTimer);\n      if (openItem === item) {\n        if (focusFirst) focusFirstIn(parts(item).panel);\n        return;\n      }\n      var instantSwap = !!openItem;\n      if (openItem) close(openItem, true);\n      var p = parts(item);\n      if (!p.panel) return;\n      build(p.panel);\n      p.panel.hidden = false;\n      void p.panel.offsetWidth; // commit start state so the reveal transition runs\n      item.classList.add('is-open');\n      if (instantSwap) item.classList.add('is-swap');\n      p.toggle && p.toggle.setAttribute('aria-expanded', 'true');\n      openItem = item;\n      header.preventHide = true;\n      header.classList.add('is-menu-open');\n      header.setRaised(true);\n      if (focusFirst) focusFirstIn(p.panel);\n    }\n\n    function close(item, instant) {\n      if (!item) return;\n      var p = parts(item);\n      item.classList.remove('is-open', 'is-swap');\n      p.toggle && p.toggle.setAttribute('aria-expanded', 'false');\n      var hide = function () { if (!item.classList.contains('is-open') && p.panel) p.panel.hidden = true; };\n      instant ? hide() : after(280, hide);\n      if (openItem === item) {\n        openItem = null;\n        header.preventHide = false;\n        header.classList.remove('is-menu-open');\n        header.setRaised(false);\n      }\n    }\n\n    function focusFirstIn(panel) {\n      var f = panel && panel.querySelector('a[href], button:not([disabled])');\n      if (f) f.focus();\n    }\n\n    items.forEach(function (item) {\n      var p = parts(item);\n      item.addEventListener('pointerenter', function (e) {\n        if (e.pointerType !== 'mouse' || !desktopMq.matches) return;\n        clearTimeout(closeTimer);\n        clearTimeout(openTimer);\n        openTimer = setTimeout(function () { open(item); }, openItem ? 0 : delay);\n      });\n      item.addEventListener('pointerleave', function (e) {\n        if (e.pointerType !== 'mouse') return;\n        clearTimeout(openTimer);\n        closeTimer = setTimeout(function () { if (openItem === item) close(item); }, 220);\n      });\n      if (p.toggle) {\n        p.toggle.addEventListener('click', function (e) {\n          e.preventDefault();\n          item.classList.contains('is-open') ? close(item) : open(item, e.detail === 0);\n        });\n      }\n      if (p.link) {\n        // Touch on desktop widths (tablets): first tap opens the panel, second tap follows the link.\n        p.link.addEventListener('click', function (e) {\n          if (lastPointer !== 'mouse' && lastPointer !== 'pen' && !item.classList.contains('is-open')) {\n            e.preventDefault();\n            open(item);\n          }\n        });\n      }\n      item.addEventListener('keydown', function (e) {\n        if (e.key === 'Escape' && item.classList.contains('is-open')) {\n          e.stopPropagation();\n          close(item, true);\n          (p.toggle || p.link).focus();\n        } else if (e.key === 'ArrowDown' && (e.target === p.link || e.target === p.toggle)) {\n          e.preventDefault();\n          open(item, true);\n        }\n      });\n      item.addEventListener('focusout', function (e) {\n        if (item.classList.contains('is-open') && e.relatedTarget && !item.contains(e.relatedTarget)) close(item);\n      });\n      item.addEventListener('click', function (e) {\n        if (!e.target.closest('[data-mcr-mega-close]')) return;\n        e.preventDefault();\n        close(item, true);\n        (p.toggle || p.link).focus({ preventScroll: true });\n      });\n    });\n\n    // Left/right arrows move between top-level items.\n    var nav = header.querySelector('.mcr-nav__list');\n    if (nav) {\n      nav.addEventListener('keydown', function (e) {\n        if (e.key !== 'ArrowRight' && e.key !== 'ArrowLeft') return;\n        var links = Array.prototype.slice.call(nav.querySelectorAll(':scope > li > .mcr-nav__link'));\n        var i = links.indexOf(e.target);\n        if (i === -1) return;\n        e.preventDefault();\n        var next = links[(i + (e.key === 'ArrowRight' ? 1 : -1) + links.length) % links.length];\n        next.focus();\n      });\n    }\n\n    doc.addEventListener('click', function (e) {\n      if (openItem && !openItem.contains(e.target)) close(openItem);\n    });\n    var scrim = header.querySelector('[data-mcr-scrim]');\n    if (scrim) scrim.addEventListener('pointerenter', function () { if (openItem && lastPointer === 'mouse') close(openItem); });\n    desktopMq.addEventListener && desktopMq.addEventListener('change', function () { if (openItem) close(openItem, true); });\n\n    // Theme editor: open the mega panel of the selected block.\n    doc.addEventListener('shopify:block:select', function (e) {\n      var panel = header.querySelector('[data-mcr-block-id=\"' + e.detail.blockId + '\"]');\n      if (panel) open(panel.closest('[data-mcr-menu-item]'));\n    });\n    doc.addEventListener('shopify:block:deselect', function (e) {\n      var panel = header.querySelector('[data-mcr-block-id=\"' + e.detail.blockId + '\"]');\n      if (panel) close(panel.closest('[data-mcr-menu-item]'), true);\n    });\n\n    return { closeAll: function () { if (openItem) close(openItem, true); } };\n  }\n\n  /* ---------------- Sticky header (keeps Dawn's public API) ---------------- */\n  if (!customElements.get('sticky-header')) {\n    customElements.define(\n      'sticky-header',\n      class StickyHeader extends HTMLElement {\n        connectedCallback() {\n          if (this._ready) return;\n          this._ready = true;\n          this.header = this.closest('.section-header') || doc.querySelector('.section-header');\n          this.type = this.getAttribute('data-sticky-type') || 'none';\n          this.isOverlay = this.classList.contains('mcr-header--overlay');\n          this.preventHide = false;\n          this.preventReveal = false;\n          this.currentScrollTop = 0;\n          this.raiseCount = 0;\n          this.headerBounds = { top: 0, bottom: 0 };\n\n          this.setHeaderHeight = this.setHeaderHeight.bind(this);\n          this.setHeaderHeight();\n          if ('ResizeObserver' in window) {\n            this.ro = new ResizeObserver(this.setHeaderHeight);\n            this.ro.observe(this.header);\n          } else {\n            window.addEventListener('resize', this.setHeaderHeight);\n          }\n\n          if (this.type === 'always') this.header.classList.add('shopify-section-header-sticky');\n\n          var rect = this.header.getBoundingClientRect();\n          var y = window.pageYOffset;\n          this.headerBounds = { top: rect.top + y, bottom: rect.bottom + y };\n\n          this.hideHeaderOnScrollUp = () => (this.preventReveal = true);\n          this.addEventListener('preventHeaderReveal', this.hideHeaderOnScrollUp);\n\n          this.ticking = false;\n          this.onScrollHandler = () => {\n            if (this.ticking) return;\n            this.ticking = true;\n            requestAnimationFrame(() => {\n              this.ticking = false;\n              this.onScroll();\n            });\n          };\n          window.addEventListener('scroll', this.onScrollHandler, { passive: true });\n          this.onScroll();\n\n          this.menus = initMenus(this);\n          this.classList.add('is-ready');\n        }\n\n        disconnectedCallback() {\n          window.removeEventListener('scroll', this.onScrollHandler);\n          this.removeEventListener('preventHeaderReveal', this.hideHeaderOnScrollUp);\n          if (this.ro) this.ro.disconnect();\n        }\n\n        setHeaderHeight() {\n          root.style.setProperty('--header-height', this.header.offsetHeight + 'px');\n        }\n\n        setRaised(on) {\n          this.raiseCount = Math.max(0, this.raiseCount + (on ? 1 : -1));\n          this.header.classList.toggle('mcr-raise', this.raiseCount > 0);\n          if (this.isOverlay) this.classList.toggle('is-solid', this.raiseCount > 0 || this.classList.contains('is-scrolled'));\n        }\n\n        searchOpen() {\n          return Array.prototype.some.call(this.querySelectorAll('mcr-search, predictive-search'), function (s) { return s.isOpen; });\n        }\n\n        onScroll() {\n          var scrollTop = window.pageYOffset || root.scrollTop;\n          var scrolled = scrollTop > Math.max(8, this.headerBounds.top + 4);\n          if (scrolled !== this.classList.contains('is-scrolled')) {\n            this.classList.toggle('is-scrolled', scrolled);\n            this.header.classList.toggle('mcr-scrolled', scrolled);\n            if (this.isOverlay) this.classList.toggle('is-solid', scrolled || this.raiseCount > 0);\n          }\n\n          if (this.type !== 'on-scroll-up') {\n            this.currentScrollTop = scrollTop;\n            return;\n          }\n          if (this.searchOpen()) return;\n\n          if (scrollTop > this.currentScrollTop && scrollTop > this.headerBounds.bottom) {\n            this.header.classList.add('scrolled-past-header');\n            if (!this.preventHide) this.hide();\n          } else if (scrollTop < this.currentScrollTop && scrollTop > this.headerBounds.bottom) {\n            this.header.classList.add('scrolled-past-header');\n            if (!this.preventReveal) {\n              this.reveal();\n            } else {\n              clearTimeout(this.isScrolling);\n              this.isScrolling = setTimeout(() => { this.preventReveal = false; }, 66);\n              this.hide();\n            }\n          } else if (scrollTop <= this.headerBounds.top) {\n            this.header.classList.remove('scrolled-past-header');\n            this.reset();\n          }\n          this.currentScrollTop = scrollTop;\n        }\n\n        hide() {\n          if (this.type !== 'on-scroll-up') return;\n          this.header.classList.add('shopify-section-header-hidden', 'shopify-section-header-sticky');\n          if (this.menus) this.menus.closeAll();\n          this.querySelectorAll('localization-form').forEach(function (f) { if (f.hidePanel && f.elements && f.elements.panel && !f.elements.panel.hidden) f.hidePanel(); });\n        }\n\n        reveal() {\n          if (this.type !== 'on-scroll-up') return;\n          this.header.classList.add('shopify-section-header-sticky', 'animate');\n          this.header.classList.remove('shopify-section-header-hidden');\n        }\n\n        reset() {\n          if (this.type !== 'on-scroll-up') return;\n          this.header.classList.remove('shopify-section-header-hidden', 'shopify-section-header-sticky', 'animate');\n        }\n      }\n    );\n  }\n\n  /* ---------------- Off-canvas drawer ---------------- */\n  if (!customElements.get('mcr-drawer')) {\n    customElements.define(\n      'mcr-drawer',\n      class McrDrawer extends HTMLElement {\n        connectedCallback() {\n          if (this._ready) return;\n          this._ready = true;\n          this.panel = this.querySelector('.mcr-drawer__panel');\n          this.headerEl = this.closest('sticky-header');\n          var scope = this.headerEl || doc;\n          this.openers = Array.prototype.slice.call(scope.querySelectorAll('[data-mcr-drawer-open]'));\n          this.openers.forEach((btn) => {\n            btn.addEventListener('click', () => this.open(btn));\n            // build the menu the moment a finger/pointer reaches the button, so opening stays instant\n            ['pointerdown', 'touchstart', 'focus'].forEach((ev) => btn.addEventListener(ev, () => this.build(), { once: true, passive: true }));\n          });\n\n          this.addEventListener('click', (e) => {\n            var t = e.target;\n            if (t.closest('[data-mcr-drawer-close]')) {\n              e.preventDefault();\n              this.close();\n            } else if (t.closest('[data-mcr-search-open]')) {\n              this.close(false);\n            } else if (t.closest('[data-mcr-acc-toggle]')) {\n              this.toggleAcc(t.closest('[data-mcr-acc-toggle]'));\n            }\n          });\n          // Account links open Razorpay's OTP login over the page on press, and it cancels the click\n          // on touch \u2014 so close the drawer on pointerup too (click still covers keyboard).\n          ['pointerup', 'click'].forEach((type) => this.addEventListener(type, (e) => {\n            if (e.target.closest('a[href*=\"/account\"]')) this.close(false);\n          }, true));\n          this.addEventListener('keydown', (e) => {\n            if (e.key === 'Escape') {\n              // let an open localization list close first\n              if (e.target.closest && e.target.closest('.disclosure__list-wrapper:not([hidden])')) return;\n              e.preventDefault();\n              this.close();\n            } else if (e.key === 'Tab') {\n              this.trap(e);\n            }\n          });\n          desktopMq.addEventListener && desktopMq.addEventListener('change', () => { if (desktopMq.matches && this.isOpen) this.close(false); });\n        }\n\n        build() {\n          var t = this.querySelector('template[data-mcr-drawer-content]');\n          if (!t) return;\n          t.parentNode.insertBefore(t.content.cloneNode(true), t);\n          t.remove();\n          if (window.MCR && window.MCR.wishlistSync) window.MCR.wishlistSync();\n        }\n\n        toggleAcc(btn) {\n          var panel = doc.getElementById(btn.getAttribute('aria-controls'));\n          var on = btn.getAttribute('aria-expanded') !== 'true';\n          btn.setAttribute('aria-expanded', on ? 'true' : 'false');\n          if (panel) panel.classList.toggle('is-open', on);\n        }\n\n        focusables() {\n          return Array.prototype.filter.call(\n            this.panel.querySelectorAll('a[href], button:not([disabled]), input, select, [tabindex]:not([tabindex=\"-1\"])'),\n            function (el) { return el.offsetParent !== null && getComputedStyle(el).visibility !== 'hidden'; }\n          );\n        }\n\n        trap(e) {\n          var f = this.focusables();\n          if (!f.length) return;\n          var first = f[0];\n          var last = f[f.length - 1];\n          if (e.shiftKey && (doc.activeElement === first || doc.activeElement === this.panel)) {\n            e.preventDefault();\n            last.focus();\n          } else if (!e.shiftKey && doc.activeElement === last) {\n            e.preventDefault();\n            first.focus();\n          }\n        }\n\n        open(trigger) {\n          if (this.isOpen) return;\n          this.build();\n          this.isOpen = true;\n          this.trigger = trigger || null;\n          clearTimeout(this.hideTimer);\n          this.hidden = false;\n          void this.offsetWidth;\n          this.classList.add('is-open');\n          root.classList.add('mcr-lock');\n          this.openers.forEach(function (b) { b.setAttribute('aria-expanded', 'true'); });\n          if (this.headerEl) {\n            this.headerEl.preventHide = true;\n            this.headerEl.setRaised && this.headerEl.setRaised(true);\n          }\n          var closeBtn = this.querySelector('.mcr-drawer__close');\n          after(60, function () { closeBtn && closeBtn.focus({ preventScroll: true }); });\n        }\n\n        close(returnFocus) {\n          if (!this.isOpen) return;\n          this.isOpen = false;\n          this.classList.remove('is-open');\n          this.openers.forEach(function (b) { b.setAttribute('aria-expanded', 'false'); });\n          var self = this;\n          this.hideTimer = after(420, function () { if (!self.isOpen) self.hidden = true; });\n          unlock();\n          if (this.headerEl) {\n            this.headerEl.preventHide = false;\n            this.headerEl.setRaised && this.headerEl.setRaised(false);\n          }\n          if (returnFocus !== false && this.trigger) this.trigger.focus({ preventScroll: true });\n        }\n      }\n    );\n  }\n\n  // The account `open` event is composed but does not bubble, so listen during capture (from Dawn).\n  doc.addEventListener(\n    'open',\n    function (event) {\n      if (!(event.target instanceof HTMLElement) || !event.target.matches('shopify-account')) return;\n      var bottom = Math.max(0, Math.round(event.target.getBoundingClientRect().bottom));\n      event.target.style.setProperty('--account-dialog-top', bottom + 'px');\n    },\n    true\n  );\n})();\n\n"],
  "mappings": "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",
  "names": []
}
