{
  "version": 3,
  "sources": ["/cdn/shop/t/37/assets/collapsible-animate.js?nocache=62616"],
  "sourcesContent": ["/* smooth open/close for the collapsible-content (faq) accordion.\n   native <details> snaps open/close with no transition. this hooks the\n   summary click, cancels the instant toggle, and animates the content\n   height instead \u2014 same blagi prelaz as the product page accordion.\n   scoped to .collapsible-content only; product/easytabs accordions untouched.\n   respects prefers-reduced-motion (no js animation \u2192 native instant toggle). */\n(function () {\n  if (window.matchMedia('(prefers-reduced-motion: reduce)').matches) return;\n\n  var DURATION = 450;\n  var EASING = 'cubic-bezier(0.32, 0.72, 0, 1)'; // premium ease-out (matches modal panel) \u2014 slow, elegant settle\n\n  function setupDetails(details) {\n    if (details.dataset.omgAnimated) return;\n    details.dataset.omgAnimated = '1';\n\n    var summary = details.querySelector('summary');\n    var content = details.querySelector('.accordion__content');\n    if (!summary || !content) return;\n\n    var anim = null;\n\n    summary.addEventListener('click', function (e) {\n      e.preventDefault();\n      // let an in-flight animation finish its current frame, then reverse\n      if (anim) anim.cancel();\n      content.style.overflow = 'hidden';\n      if (details.open) {\n        shrink();\n      } else {\n        expand();\n      }\n    });\n\n    function expand() {\n      details.classList.add('is-open'); // caret rotates immediately, smoothly\n      details.open = true; // reveal so we can measure full height\n      var end = content.offsetHeight;\n      anim = content.animate(\n        { height: ['0px', end + 'px'] },\n        { duration: DURATION, easing: EASING }\n      );\n      anim.onfinish = cleanup;\n      anim.oncancel = cleanup;\n    }\n\n    function shrink() {\n      details.classList.remove('is-open'); // caret rotates back immediately\n      var start = content.offsetHeight;\n      anim = content.animate(\n        { height: [start + 'px', '0px'] },\n        { duration: DURATION, easing: EASING }\n      );\n      anim.onfinish = function () {\n        details.open = false; // collapse only after the animation plays\n        cleanup();\n      };\n      anim.oncancel = cleanup;\n    }\n\n    function cleanup() {\n      content.style.overflow = '';\n      anim = null;\n    }\n  }\n\n  function init(root) {\n    (root || document)\n      .querySelectorAll('.collapsible-content .accordion details')\n      .forEach(setupDetails);\n  }\n\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', function () { init(); });\n  } else {\n    init();\n  }\n\n  // theme editor: re-bind when a section is re-rendered\n  document.addEventListener('shopify:section:load', function (e) {\n    init(e.target);\n  });\n})();\n"],
  "mappings": "CAMC,UAAY,CACX,GAAI,OAAO,WAAW,kCAAkC,EAAE,QAAS,OAEnE,IAAI,SAAW,IACX,OAAS,iCAEb,SAAS,aAAa,QAAS,CAC7B,GAAI,QAAQ,QAAQ,YAAa,OACjC,QAAQ,QAAQ,YAAc,IAE9B,IAAI,QAAU,QAAQ,cAAc,SAAS,EACzC,QAAU,QAAQ,cAAc,qBAAqB,EACzD,GAAI,CAAC,SAAW,CAAC,QAAS,OAE1B,IAAI,KAAO,KAEX,QAAQ,iBAAiB,QAAS,SAAU,EAAG,CAC7C,EAAE,eAAe,EAEb,MAAM,KAAK,OAAO,EACtB,QAAQ,MAAM,SAAW,SACrB,QAAQ,KACV,OAAO,EAEP,OAAO,CAEX,CAAC,EAED,SAAS,QAAS,CAChB,QAAQ,UAAU,IAAI,SAAS,EAC/B,QAAQ,KAAO,GACf,IAAI,IAAM,QAAQ,aAClB,KAAO,QAAQ,QACb,CAAE,OAAQ,CAAC,MAAO,IAAM,IAAI,CAAE,EAC9B,CAAE,SAAU,SAAU,OAAQ,MAAO,CACvC,EACA,KAAK,SAAW,QAChB,KAAK,SAAW,OAClB,CAEA,SAAS,QAAS,CAChB,QAAQ,UAAU,OAAO,SAAS,EAClC,IAAI,MAAQ,QAAQ,aACpB,KAAO,QAAQ,QACb,CAAE,OAAQ,CAAC,MAAQ,KAAM,KAAK,CAAE,EAChC,CAAE,SAAU,SAAU,OAAQ,MAAO,CACvC,EACA,KAAK,SAAW,UAAY,CAC1B,QAAQ,KAAO,GACf,QAAQ,CACV,EACA,KAAK,SAAW,OAClB,CAEA,SAAS,SAAU,CACjB,QAAQ,MAAM,SAAW,GACzB,KAAO,IACT,CACF,CAEA,SAAS,KAAK,KAAM,EACjB,MAAQ,UACN,iBAAiB,yCAAyC,EAC1D,QAAQ,YAAY,CACzB,CAEI,SAAS,aAAe,UAC1B,SAAS,iBAAiB,mBAAoB,UAAY,CAAE,KAAK,CAAG,CAAC,EAErE,KAAK,EAIP,SAAS,iBAAiB,uBAAwB,SAAU,EAAG,CAC7D,KAAK,EAAE,MAAM,CACf,CAAC,CACH,GAAG",
  "names": []
}
