{"sections":{"main":{"type":"main-product","blocks":{"custom_liquid_64WdWp":{"type":"custom_liquid","name":"SALE BLOCK - STYLING","settings":{"spacing_bottom":"0","custom_liquid":"<style>\n.tsr-sale-block .product__accordion {\n  padding: 3%;\n    border-block-end: 0;\nborder-radius: 5px !important;\n}\n\n.tsr-sale-block.gradient {\n    border-radius: 5px;\n    overflow: hidden; \/* keep children contained within rounded corners *\/\n  }\n\n.tsr-sale-block .product__accordion .accordion__body-inner {\npadding-inline-end: 0 !important;\npadding: 10px 0 5px 0;\n}\n\n.tsr-sale-block  .product__accordion .accordion__body p {\n    font-size: 80%;\n<\/style>"}},"sale_info_QeXpgr":{"type":"sale_info","name":"Sale block - $199 Suits","settings":{"heading":"C$199 Suits Sitewide","body":"<p>Offer valid while quantities last. Final sale.<\/p>","display_mode":"accordion","open_by_default":false,"color_scheme":"scheme-99a884a7-2a83-4bf1-8e24-ac9f77abb1b2","tag_mode":"include","tags":"199suits"}},"sale_info_REqVU3":{"type":"sale_info","disabled":true,"settings":{"heading":"20% OFF SITEWIDE","body":"<p>Flash offer ends Sunday September 28th at 11:59PM EST. Automatic discount “DIWALIPREP2025” will apply when eligible item(s) are added to cart and cannot be combined with any other offer. Applies to all items–excluding Sale items. This offer cannot be applied to past purchases and terms apply to the entire order. 15 Day Returns for Store Credit & Free Exchanges are applicable, refunds are not.<\/p>","display_mode":"accordion","open_by_default":false,"color_scheme":"scheme-99a884a7-2a83-4bf1-8e24-ac9f77abb1b2","tag_mode":"include","tags":"non-sale"}},"badge_Hkd38r":{"type":"badge","settings":{"spacing_bottom":"1","show_badges":true,"show_badges_discount":true,"show_badges_sold":true}},"1e0c79e9-7de0-4eee-b9c5-f27132635fb8":{"type":"title","settings":{"heading_size":"h6","spacing_bottom":"1"}},"8effeb43-55b7-4ec4-ab9b-68bcd89b865b":{"type":"price","settings":{"spacing_bottom":"1","show_price_tax_info":false,"show_price_shipping_info":false,"show_price_custom_info":""}},"custom_liquid_qNBhEc":{"type":"custom_liquid","name":"Dynamic Final Sale Tag + Hide Exchange + Return Blocks","settings":{"spacing_bottom":"0","custom_liquid":"{% if product.tags contains 'final-sale' %}\n  {% assign tsr_final_sale_reason = 'Final sale. No returns or exchanges.' %}\n  {% if product.tags contains 'jewelry' %}\n    {% assign tsr_final_sale_reason = 'Final sale for hygienic reasons (jewelry). No returns or exchanges.' %}\n  {% elsif product.tags contains 'underskirt' %}\n    {% assign tsr_final_sale_reason = 'Final sale because this is an undergarment (Volume Underskirt). No returns or exchanges.' %}\n  {% elsif product.tags contains 'clutch' %}\n    {% assign tsr_final_sale_reason = 'Final sale due to the delicate nature of clutches. No returns or exchanges.' %}\n  {% elsif product.tags contains 'lastchance' %}\n    {% assign tsr_final_sale_reason = 'Final sale due to markdown\/clearance. No returns or exchanges.' %}\n  {% endif %}\n\n  <div class=\"tsr-final-sale product__block product__block--gap-1 font-size-sm\" data-tsr-final-sale>\n    <div class=\"product__text--body-wrapper\">\n      <div class=\"product__text--body no-animation\">\n\n        <!-- Clickable trigger -->\n        <button type=\"button\" class=\"tsr-final-sale__trigger\" aria-expanded=\"false\" aria-controls=\"tsr-final-sale-popover\">\n          <svg class=\"tsr-final-sale__i\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"1.15em\" height=\"1.15em\" viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n            <circle cx=\"12\" cy=\"12\" r=\"10\" fill=\"none\" stroke=\"#990000\" stroke-width=\"2\"\/>\n            <line x1=\"12\" y1=\"10\" x2=\"12\" y2=\"16\" stroke=\"#990000\" stroke-width=\"2\" stroke-linecap=\"round\"\/>\n            <circle cx=\"12\" cy=\"7\" r=\"1.2\" fill=\"#990000\"\/>\n          <\/svg>\n          <span class=\"tsr-final-sale__label\">Final Sale<\/span>\n        <\/button>\n\n        <!-- Popover (fixed-positioned; JS sets coords) -->\n        <div class=\"tsr-final-sale__popover\" id=\"tsr-final-sale-popover\" role=\"dialog\" aria-live=\"polite\">\n          <p class=\"tsr-final-sale__text\">\n            {{ tsr_final_sale_reason }}\n            <a href=\"https:\/\/www.thesareeroom.com\/pages\/sale-terms-conditions\" class=\"tsr-final-sale__link\">See Sale Terms.<\/a>\n          <\/p>\n        <\/div>\n\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <style>\n    .tsr-final-sale {\n      --tsr-red: #990000;\n      --tsr-gap: 1rem;\n      color: var(--tsr-red);\n    }\n\n    .tsr-final-sale__trigger{\n      all: unset;\n      display: inline-flex;\n      align-items: center;\n      gap: .6rem;\n      color: var(--tsr-red);\n      font-weight: 400;\n      cursor: pointer;\n      line-height: 1.2;\n      font-size: var(--font-size-static-md);\n    }\n    .tsr-final-sale__trigger:focus-visible{\n      outline: 2px solid var(--tsr-red);\n      outline-offset: 2px;\n      border-radius: .375rem;\n    }\n    .tsr-final-sale__i{ flex: 0 0 auto; }\n\n    .tsr-final-sale__popover{\n      position: fixed;\n      top: 0; left: 0;\n      transform: translate(0,0);\n      background: #fff;\n      border: 1px solid rgba(0,0,0,.12);\n      box-shadow: 0 8px 24px rgba(0,0,0,.16);\n      border-radius: .6rem;\n      padding: .85rem 1rem;\n      min-width: 300px;\n      max-width: 420px;\n      display: none;\n      z-index: 2000;\n      font-size: 1rem;\n      line-height: 1.45;\n      color: var(--color-foreground,#222);\n    }\n    .tsr-final-sale__popover.is-visible{ display:block; }\n    .tsr-final-sale__link{ color: inherit; text-decoration: underline; }\n\n    .product__text--body svg { width: 2rem; }\n  <\/style>\n\n  <script>\n    (function(){\n      var root = document.querySelector('[data-tsr-final-sale]');\n      if(!root) return;\n      var trigger = root.querySelector('.tsr-final-sale__trigger');\n      var pop = root.querySelector('.tsr-final-sale__popover');\n      var gap = 16;\n\n      function placePopover(){\n        var t = trigger.getBoundingClientRect();\n\n        pop.style.visibility = 'hidden';\n        pop.style.display = 'block';\n        var pw = pop.offsetWidth;\n        var ph = pop.offsetHeight;\n\n        var vw = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n        var vh = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n        var padding = 12;\n\n        var left = t.right + gap;\n        var top = Math.max(padding, Math.min(t.top + (t.height\/2) - (ph\/2), vh - ph - padding));\n\n        if (left + pw > vw - padding) {\n          left = t.left - gap - pw;\n        }\n\n        left = Math.max(padding, Math.min(left, vw - pw - padding));\n\n        pop.style.left = left + 'px';\n        pop.style.top  = top  + 'px';\n\n        if (!pop.classList.contains('is-visible')) {\n          pop.style.display = 'none';\n        } else {\n          pop.style.visibility = 'visible';\n        }\n      }\n\n      function show(){\n        pop.classList.add('is-visible');\n        trigger.setAttribute('aria-expanded','true');\n        placePopover();\n        pop.style.visibility = 'visible';\n      }\n      function hide(){\n        pop.classList.remove('is-visible');\n        trigger.setAttribute('aria-expanded','false');\n        pop.style.display = 'none';\n      }\n\n      trigger.addEventListener('click', function(e){\n        e.stopPropagation();\n        pop.classList.contains('is-visible') ? hide() : show();\n      });\n      document.addEventListener('click', function(e){ if(!root.contains(e.target)) hide(); });\n      document.addEventListener('keydown', function(e){ if(e.key === 'Escape') hide(); });\n      window.addEventListener('resize', function(){ if(pop.classList.contains('is-visible')) placePopover(); });\n      window.addEventListener('scroll', function(){ if(pop.classList.contains('is-visible')) placePopover(); }, { passive: true });\n\n      \/* === HIDE SPECIFIC ROWS\/SLIDES WHEN FINAL SALE === *\/\n      var scope = root.closest('section') || document;\n\n      function hideReturnExchangeRows(ctx){\n        \/\/ Desktop grid\n        var spans = ctx.querySelectorAll('.product__content-grid-item span, .product__content-grid-item.icon span');\n        spans.forEach(function(span){\n          var t = (span.textContent || '').trim().toLowerCase();\n          if (t === 'free exchanges' || t === '15-day returns') {\n            var row = span.closest('.product__content-grid-item');\n            if (row) row.style.display = 'none';\n          }\n        });\n\n        \/\/ Mobile swiper\n        var mobileSpans = ctx.querySelectorAll('.swiper-slide.icon span');\n        mobileSpans.forEach(function(span){\n          var t = (span.textContent || '').trim().toLowerCase();\n          if (t === 'free exchanges' || t === '15-day returns') {\n            var slide = span.closest('.swiper-slide');\n            if (slide) slide.style.display = 'none';\n          }\n        });\n      }\n\n      hideReturnExchangeRows(scope);\n\n      var mo = new MutationObserver(function(muts){\n        muts.forEach(function(m){\n          if (m.addedNodes && m.addedNodes.length) {\n            hideReturnExchangeRows(scope);\n          }\n        });\n      });\n      mo.observe(scope, { childList: true, subtree: true });\n    })();\n  <\/script>\n{% endif %}"}},"description_qA3HqH":{"type":"description","settings":{"spacing_bottom":"1","behaviour":"plain","heading":"Product Details","text_truncate":2,"icon":"","metafield_for_product_variant":"","show_block_content":true}},"text_BrRPp8":{"type":"text","settings":{"spacing_bottom":"1","heading":"{{ product.metafields.custom.model_size.value }}","icon":"theme-info-circle","link_to_resource":"none","text_before_link":false,"heading_secondary":"","metafield_for_product_variant":"","show_block_content":true}},"1e939cd6-0958-4135-a9e5-c50faef01437":{"type":"variant_picker","settings":{"spacing_bottom":"4","title":"Variant picker","enable_back_in_stock":true,"picker_type":"swatch","variant_options_with_thumbnails":"","size_guide_page":"{{ product.metafields.custom.size_guide.value }}","sizes_option":"Size"}},"custom_liquid_hh7UHc":{"type":"custom_liquid","name":"Sold out variant style + variant pill style","settings":{"spacing_bottom":"0","custom_liquid":"{%- comment -%}\nClickable \"Sold Out\" look for variant chips.\nApplies ONLY to variant labels (size\/length), NOT swatches and NOT the ATC button.\n{%- endcomment -%}\n\n<style>\n  \/* 1) Clone your theme's disabled look onto our custom class *\/\n  .product-option__label.tsr-oos {\n    border-color: rgba(var(--color-foreground), .15);\n    color: rgba(var(--color-foreground), .4);\n    background-color: transparent;\n    overflow: hidden;\n    position: relative;\n    cursor: pointer;\n    pointer-events: auto;\n  }\n\n  \/* 2) Soft fade overlay (keeps text legible but “washed”) *\/\n  .product-option__label.tsr-oos::before {\n    content: \"\";\n    position: absolute; inset: 0;\n    background: rgba(0,0,0,.02);\n    pointer-events: none;\n    border-radius: inherit;\n  }\n\n  \/* Thinner + lighter diagonal slash *\/\n  .product-option__label.tsr-oos::after {\n    content: \"\";\n    position: absolute;\n    inset: 0;\n    background:\n      linear-gradient(\n        135deg,\n        transparent calc(50% - 0.5px),\n        rgba(var(--color-foreground), .18) calc(50% - 0.5px),\n        rgba(var(--color-foreground), .18) calc(50% + 0.5px),\n        transparent calc(50% + 0.5px)\n      );\n    pointer-events: none;\n    border-radius: inherit;\n  }\n\n  \/* If the chip gets \"selected\" styling, mute it for OOS to stay consistent *\/\n  .product-option__input:checked + .product-option__label.tsr-oos {\n    box-shadow: none;\n    border-color: rgba(var(--color-foreground), .25);\n  }\n\n  \/* (Optional) tiny “Sold out” text for screen readers *\/\n  .tsr-vh {\n    position: absolute;\n    width: 1px; height: 1px; padding: 0; margin: -1px;\n    overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;\n  }\n\n\n<\/style>\n\n<script>\n(function(){\n  var FORCE_CLICKABLE = true; \/\/ set to false if you DON'T want to override disabled\n\n  function markOOS(root){\n    var inputs = (root || document).querySelectorAll('.product-option__input.variant-option-radio-input');\n    inputs.forEach(function(input){\n      var label = document.querySelector('label[for=\"'+ input.id +'\"]');\n      if (!label) return;\n\n      var qtyAttr = input.getAttribute('data-variant-quantity');\n      var qty = qtyAttr == null ? null : parseInt(qtyAttr, 10);\n      var themeDisabled = input.disabled || input.classList.contains('disabled');\n      var isOOS = themeDisabled || (qty !== null && !isNaN(qty) && qty <= 0);\n\n      if (isOOS) {\n        label.classList.add('tsr-oos');\n\n        \/\/ Optional SR-only hint\n        if (!label.querySelector('.tsr-vh')) {\n          var sr = document.createElement('span');\n          sr.className = 'tsr-vh';\n          sr.textContent = ' (Sold out)';\n          label.appendChild(sr);\n        }\n\n        \/\/ Keep it clickable (if your theme disabled it)\n        if (FORCE_CLICKABLE && input.disabled) {\n          input.disabled = false;              \/\/ allow selection\n          input.classList.remove('disabled');  \/\/ some themes add this\n          input.setAttribute('data-tsr-oos', '1');\n        }\n      } else {\n        label.classList.remove('tsr-oos');\n        var srNode = label.querySelector('.tsr-vh');\n        if (srNode) srNode.remove();\n        if (input.hasAttribute('data-tsr-oos')) input.removeAttribute('data-tsr-oos');\n      }\n    });\n  }\n\n  \/\/ Initial run\n  markOOS(document);\n\n  \/\/ Re-run on changes and dynamic rerenders\n  document.addEventListener('change', function(e){\n    if (e.target && e.target.classList && e.target.classList.contains('variant-option-radio-input')) {\n      requestAnimationFrame(function(){ markOOS(document); });\n    }\n  });\n\n  var scope = document.querySelector('section[id^=\"product\"]') || document;\n  var mo = new MutationObserver(function(muts){\n    for (var i=0;i<muts.length;i++){\n      if (muts[i].addedNodes && muts[i].addedNodes.length) {\n        markOOS(scope);\n        break;\n      }\n    }\n  });\n  mo.observe(scope, { childList: true, subtree: true });\n})();\n<\/script>\n\n<style>\n  \/* ✅ Pill layout ONLY for text variants (Size\/Length) — excludes swatches AND never targets ATC *\/\n  .product__variant-picker fieldset.product__variant-options.product-form__input--button:not(:has(.product-option__swatch)) {\n    display: flex !important;\n    flex-wrap: nowrap !important; \/* Prevent wrapping *\/\n    justify-content: space-between !important;\n    gap: 8px !important;\n    margin-bottom: 32px !important;\n    padding: 0 !important;\n    width: 100% !important;\n  }\n\n  \/* Each size\/length option pill — only labels inside those fieldsets *\/\n  .product__variant-picker fieldset.product__variant-options.product-form__input--button:not(:has(.product-option__swatch)) > label {\n    flex: 1 1 auto !important;\n    min-width: 0 !important;\n    padding: 10px !important;\n    border-radius: 10px !important;\n    text-align: center;\n    height: 3.6rem !important;        \/* keeps pill height consistent *\/\n    line-height: 3.6rem !important;   \/* vertically centers text *\/\n  }\n\n  \/* Container full-width cleanup (variants wrapper only) *\/\n  .product__variant-picker {\n    width: 100% !important;\n    max-width: 100% !important;\n    padding: 0 !important;\n    margin: 0 !important;\n  }\n\n  \/* Spacing for variant groups; ATC row uses .product-form__buttons (not touched) *\/\n  .product__variant-picker .product-form__input {\n    margin-bottom: 30px !important;\n  }\n<\/style>"}},"1e939cd6-0955-4135-a9e5-c50faef01437":{"type":"purchase_options","settings":{"spacing_bottom":"1","show_subscription_title":true,"show_subscription_custom_info":"","show_subscription_policy":true}},"8604a6ff-ad0b-44dd-8068-1de4e062f8e8":{"type":"buy_buttons","settings":{"spacing_bottom":"1","show_quantity":true,"layout":"inline","show_dynamic_checkout":false,"show_gift_card_recipient":false}},"custom_liquid_cdFV93":{"type":"custom_liquid","name":"Stoq Notify Me Button","disabled":true,"settings":{"spacing_bottom":"0","custom_liquid":"<style>\n  \/* Put the RR button in the same layout as ATC and span full width *\/\n  .product-form__buttons .restock-rocket-button-container{\n    grid-column: 1 \/ -1;     \/* ← full width across the grid *\/\n    width: 100%;\n    margin-top: var(--button-group-gap, 10px);\n    position: relative;\n  }\n\n  \/* Make the RR button look like .product-form__submit.button.button--filled.button--full *\/\n  .restock-rocket-button{\n    display: inline-flex !important;\n    align-items: center !important;\n    justify-content: center !important;\n    width: 100% !important;\n    min-height: var(--button-min-height, 56px) !important;\n    padding: 0 var(--button-padding-inline, 2rem) !important;\n\n    border: none !important;\n    border-radius: var(--button-border-radius, 9999px) !important; \/* pill like ATC *\/\n    background-color: var(--color-button, var(--color-foreground)) !important;\n    color: var(--color-button-text, var(--color-background)) !important;\n\n    font: inherit !important;\n    font-weight: var(--font-button-weight, 600) !important;\n    text-transform: uppercase !important;\n    letter-spacing: var(--button-letter-spacing, .06em) !important;\n    line-height: 1 !important;\n    box-shadow: var(--button-shadow, none) !important;\n    transition: background-color .2s ease, color .2s ease, box-shadow .2s ease !important;\n  }\n\n  .restock-rocket-button:hover,\n  .restock-rocket-button:focus-visible{\n    background-color: var(--color-button-hover, #000) !important;\n    color: var(--color-button-text-hover, #fff) !important;\n    outline: none !important;\n  }\n\n  \/* Make the clickable cover match the pill shape and not look boxy *\/\n  .restock-rocket-button-cover{\n    border-radius: var(--button-border-radius, 9999px) !important;\n  }\n\n  \/* Safety: prevent any fixed widths injected by the app *\/\n  .restock-rocket-button,\n  .restock-rocket-button-container{ max-width: 100% !important; }\n<\/style>\n\n<script>\n\/* If the app rendered the button outside the .product-form__buttons grid,\n   move it so it sits exactly where the ATC lives. *\/\n(function(){\n  var rr = document.querySelector('.restock-rocket-button-container');\n  var group = document.querySelector('.product-form__buttons');\n  if (rr && group && rr.parentElement !== group) group.appendChild(rr);\n\n  \/* If you want the RR button directly AFTER the ATC button: *\/\n  var atc = document.querySelector('.product-form__submit.button');\n  if (rr && atc && atc.nextSibling !== rr) atc.parentNode.insertBefore(rr, atc.nextSibling);\n})();\n<\/script>"}},"custom_liquid_8DY4r7":{"type":"custom_liquid","name":"Attentive Back In Stock Button","settings":{"spacing_bottom":"0","custom_liquid":"<script id=\"attn-waitlist-eligibility\" type=\"application\/json\">{\n{%- liquid\n  assign out = ''\n  for v in product.variants\n    assign oos = false\n    if v.available == false\n      assign oos = true\n    elsif v.inventory_management and v.inventory_quantity <= 0\n      assign oos = true\n    endif\n    assign pair = '\"' | append: v.id | append: '\": ' | append: oos\n    assign out = out | append: pair\n    unless forloop.last\n      assign out = out | append: ', '\n    endunless\n  endfor\n  echo out\n-%}\n}<\/script>\n\n<div id=\"attn-waitlist-trigger\"><\/div>\n\n<style>\n  \/* Keep wrapper transparent; Attentive injects its own <button> *\/\n  #attn-waitlist-trigger {\n    background: transparent !important;\n    border: none !important;\n    padding: 0 !important;\n    display: none;                 \/* JS will show\/hide *\/\n    width: 100%;\n  }\n\n  \/* Place trigger in the same grid slot as ATC when inside .product-form__buttons *\/\n  .product-form__buttons #attn-waitlist-trigger { grid-column: span 7 \/ span 7; }\n\n  \/* Style ONLY the inner button Attentive injects (match ATC: black\/white + invert on hover) *\/\n  #attn-waitlist-trigger button,\n  #attn-waitlist-trigger [role=\"button\"] {\n    display: inline-block;\n    width: 100%;\n    text-align: center;\n    border: 0;\n    border-radius: var(--button-border-radius, 4px);\n    padding: 1.6rem 2.4rem;\n    cursor: pointer;\n    font-family: var(--font-button-family, inherit);\n    font-size: calc(var(--font-button-scale,1) * 1rem);\n    line-height: 1.2;\n    font-weight: var(--font-button-weight,600);\n    letter-spacing: var(--font-button-letter-spacing,.05em);\n    text-transform: uppercase;\n    color: #fff !important;\n    background-color: #000 !important;\n    border: .1rem solid #000 !important;\n    transition: color .3s, background-color .3s, border-color .3s, opacity .2s;\n  }\n  #attn-waitlist-trigger button:hover,\n  #attn-waitlist-trigger button:focus-visible,\n  #attn-waitlist-trigger [role=\"button\"]:hover,\n  #attn-waitlist-trigger [role=\"button\"]:focus-visible {\n    color: #000 !important;\n    background-color: transparent !important;\n    border-color: #000 !important;\n    outline: none;\n  }\n<\/style>\n\n<script>\n(function(){\n  \/\/ ATC button (SOLD OUT state lives on this same element)\n  const atcBtn  = document.querySelector('form[action*=\"\/cart\/add\"] [type=\"submit\"]');\n  const trigger = document.getElementById('attn-waitlist-trigger');\n  const eligEl  = document.getElementById('attn-waitlist-eligibility');\n  if (!atcBtn || !trigger || !eligEl) return;\n\n  \/\/ Eligibility map: { \"variantId\": true|false }  (true => OOS\/eligible)\n  let ELIG = {};\n  try { ELIG = JSON.parse(eligEl.textContent || '{}'); } catch(e){ ELIG = {}; }\n\n  \/\/ Ensure trigger sits right after ATC (same row)\n  if (atcBtn.parentNode && trigger.parentNode !== atcBtn.parentNode) {\n    atcBtn.parentNode.insertBefore(trigger, atcBtn.nextSibling);\n  }\n\n  function currentVariantId(){\n    const idInput = document.querySelector('form[action*=\"\/cart\/add\"] [name=\"id\"]');\n    if (idInput && idInput.value) return idInput.value;\n    const p = new URLSearchParams(location.search);\n    return p.get('variant');\n  }\n\n  \/\/ Has Attentive mounted its inner button yet?\n  function attentiveReady(){\n    return !!trigger.querySelector('button, [role=\"button\"]');\n  }\n\n  function update(){\n    const vid = currentVariantId();\n    if (!vid) return;\n\n    \/\/ Helpful for some setups\n    trigger.setAttribute('data-variant-id', String(vid));\n\n    const eligible = !!ELIG[vid];\n\n    if (eligible && attentiveReady()) {\n      \/\/ Hide ATC (SOLD OUT) and show Attentive button in the same spot\n      atcBtn.style.display = 'none';\n      atcBtn.setAttribute('aria-hidden','true');\n      trigger.style.display = 'block';\n    } else {\n      \/\/ Show ATC (normal or SOLD OUT), hide Attentive trigger\n      atcBtn.style.display = '';\n      atcBtn.removeAttribute('aria-hidden');\n      trigger.style.display = 'none';\n    }\n  }\n\n  \/\/ Initial run\n  update();\n\n  \/\/ Re-run on variant changes \/ DOM updates\n  ['change','variant:change','variant:changed','product:variant-change','theme:variant:change','popstate']\n    .forEach(evt => {\n      window.addEventListener(evt, () => requestAnimationFrame(update));\n      document.addEventListener(evt, () => requestAnimationFrame(update));\n    });\n\n  \/\/ Attentive mounts its inner button asynchronously → watch for it\n  new MutationObserver(update).observe(trigger, { childList:true, subtree:true });\n\n  \/\/ Themes sometimes re-render the form → keep updating\n  const scope = document.querySelector('section[id^=\"product\"]') || document;\n  new MutationObserver(update).observe(scope, { childList:true, subtree:true, attributes:true, attributeFilter:['value'] });\n})();\n<\/script>"}},"e6d841d6-2f71-40b3-956a-912df13f9f6e":{"type":"inventory_notice","disabled":true,"settings":{"spacing_bottom":"1","inventory_threshold":21,"notice_just_text":true}},"b2dabe12-2158-4ba6-bc54-9baae453acf5":{"type":"text","disabled":true,"settings":{"spacing_bottom":"1","heading":"In Stock & Ready to Ship","icon":"theme-check","link_to_resource":"none","text_before_link":false,"heading_secondary":"","metafield_for_product_variant":"","show_block_content":true}},"text_trRftG":{"type":"text","disabled":true,"settings":{"spacing_bottom":"1","heading":"FREE Exchanges (Canada & USA)","icon":"theme-check","link_to_resource":"none","text_before_link":false,"heading_secondary":"15-Day Returns (Canada & USA)","metafield_for_product_variant":"","show_block_content":true}},"content_grid_iCJFCN":{"type":"content_grid","settings":{"heading":"Free Exchanges","icon":"theme-check-circle"}},"content_grid_W3Mqy6":{"type":"content_grid","settings":{"heading":"15-Day Returns","icon":"theme-check-circle"}},"content_grid_HTRRPP":{"type":"content_grid","settings":{"heading":"In Stock & Ready to Ship","icon":"theme-check-circle"}},"content_grid_AAkHkC":{"type":"content_grid","settings":{"heading":"Free Shipping on C$150+","icon":"theme-check-circle"}},"goback_KzEGGF":{"type":"goback","disabled":true,"settings":{"goback_style":"filled","goback_label":"Go back","display_goback_mobile":"on-media","show_on":"mobile"}},"content_tabs_3NAUzY":{"type":"content_tabs","name":"Content tabs - WIP","disabled":true,"settings":{"spacing_bottom":"1","heading":"","active_tab":"1","display_description":"none","heading_description":"","icon_description":"","heading_01":"Model Size","icon_01":"theme-plus","content_01":"<p>{{ product.metafields.custom.model_size.value }}<\/p>","page_01":"","enable_tab_rule_01":true,"tab_rule_mode_01":"hide_on_match","tab_rule_tags_01":"O\/S","heading_02":"Details & Materials","icon_02":"theme-plus","content_02":"<p>{{ product.metafields.custom.product_details | metafield_tag }}<\/p>","page_02":"","enable_tab_rule_02":true,"tab_rule_mode_02":"show_only_on_match","tab_rule_tags_02":"easy-drape,","heading_03":"Materials","icon_03":"theme-plus","content_03":"<p>{{ product.metafields.custom.product_materials | metafield_tag }}<\/p>","page_03":"","enable_tab_rule_03":true,"tab_rule_mode_03":"show_only_on_match","tab_rule_tags_03":"O\/S","heading_04":"Details","icon_04":"theme-plus","content_04":"<p>{{ product.metafields.custom.product_details | metafield_tag }}<\/p>","page_04":"","enable_tab_rule_04":true,"tab_rule_mode_04":"show_only_on_match","tab_rule_tags_04":"O\/S","heading_05":"Shipping & Returns","icon_05":"theme-plus","content_05":"","page_05":"shipping-returns","enable_tab_rule_05":false,"tab_rule_mode_05":"hide_on_match","tab_rule_tags_05":"","heading_06":"","icon_06":"theme-box","content_06":"","page_06":"","enable_tab_rule_06":false,"tab_rule_mode_06":"hide_on_match","tab_rule_tags_06":""}},"content_block_VEKmWL":{"type":"content_block","name":"Content block - (Shipping & Returns)","settings":{"spacing_bottom":"1","heading":"Shipping & Returns","row_content":"","icon":"theme-box","page":"shipping-returns","metafield_for_product_variant":"","show_block_content":true}},"complementary_products_tKerNK":{"type":"complementary_products","settings":{"spacing_bottom":"1","heading":"loved with","icon":"option-heart","limit":8}}},"block_order":["custom_liquid_64WdWp","sale_info_QeXpgr","sale_info_REqVU3","badge_Hkd38r","1e0c79e9-7de0-4eee-b9c5-f27132635fb8","8effeb43-55b7-4ec4-ab9b-68bcd89b865b","custom_liquid_qNBhEc","description_qA3HqH","text_BrRPp8","1e939cd6-0958-4135-a9e5-c50faef01437","custom_liquid_hh7UHc","1e939cd6-0955-4135-a9e5-c50faef01437","8604a6ff-ad0b-44dd-8068-1de4e062f8e8","custom_liquid_cdFV93","custom_liquid_8DY4r7","e6d841d6-2f71-40b3-956a-912df13f9f6e","b2dabe12-2158-4ba6-bc54-9baae453acf5","text_trRftG","content_grid_iCJFCN","content_grid_W3Mqy6","content_grid_HTRRPP","content_grid_AAkHkC","goback_KzEGGF","content_tabs_3NAUzY","content_block_VEKmWL","complementary_products_tKerNK"],"custom_css":["@media only screen and (max-width: 749px) {.color-scheme-1 {padding-block-start: 0 !important; }}"],"settings":{"product_media_layout":"product__media-layout--grid","product_media_layout_mobile":"product__media-layout--full--sm","product_media_aspect_ratio":"2\/3","product_media_object_fit":"cover","product_slider_auto_height":true,"media_transparent_background":false,"display_media_zoom":"none","product_media_with_thumbs":"none","product_media_thumbs_ratio":"2\/3","product_media_thumbs_object_fit":"cover","gallery_arrows_show_on":"none","display_media_gallery_pagination":"lines","media_gallery_info":"","metafield_as_seen_on":"theme.as_seen_on","color_scheme_gallery":"","enable_sticky_info":true,"enable_actions_bar":true,"media_grid_size":"large","media_grid_position":"start","grid_gap":"2","spacing_grid":2,"grid_content_alignment":"start","section_width":"max-w-fluid","color_scheme":"scheme-1","spacing_top":"2","spacing_bottom":"1"}},"product_styled_more_ways_cdVj94":{"type":"product-styled-more-ways","name":"Styled more ways","settings":{"section_width":"page","color_scheme":"","color_scheme_media":"","padding_top":"m","padding_bottom":"m","heading":"Styled more ways"}},"977cac03-4044-4567-8907-fa55103a47eb":{"type":"complete-the-set","blocks":{"collapsible_BxQcN6":{"type":"collapsible","disabled":true,"settings":{"block_type":"collapsible","heading":"Description","link":"","content":"<p>[description]<\/p>","page":""}},"collapsible_pR4zmY":{"type":"collapsible","settings":{"block_type":"drawer","heading":"Shipping & Returns","link":"","content":"","page":"shipping-returns-old"}},"collapsible_DYfCGt":{"type":"collapsible","settings":{"block_type":"collapsible","heading":"Model size & details","link":"","content":"<p>{{ product.metafields.custom.model_size.value }}<\/p>","page":""}},"collapsible_QcDnKh":{"type":"collapsible","settings":{"block_type":"drawer","heading":"Find your size","link":"shopify:\/\/pages\/sizing","content":"","page":"{{ product.metafields.custom.size_guide.value }}"}}},"block_order":["collapsible_BxQcN6","collapsible_pR4zmY","collapsible_DYfCGt","collapsible_QcDnKh"],"disabled":true,"settings":{"heading":"More info","content_heading":"Similar items","heading_size":"h4","content_type":"products","featured_image_aspect_ratio":"auto","open_first_collapsible":true,"flip_desktop":true,"flip_mobile":true,"section_width":"max-w-fluid","color_scheme":"","spacing_top":"6","spacing_bottom":"2"}},"recommendations":{"type":"product-recommendations","custom_css":[".button--filled {display: none !important;}"],"settings":{"layout":"layout-1","enable_slideshow_overflow":true,"heading":"Your <em>next<\/em> obsession.","heading_size":"h2","subheading":"","button_label":"","button_link":"","button_style":"button--filled","show_navigation_arrows":true,"slider_autoplay":5.5,"tabs_button_style":"tab-btn-filled","max_products":12,"show_unavailable_products":false,"section_width":"max-w-fluid","color_scheme":"","spacing_top":"4","spacing_bottom":"4"}},"175934514655014569":{"type":"apps","disabled":true,"name":"Apps - Rebuy","settings":{"section_layout":"normal","spacing_inner":"2","section_width":"max-w-page","color_scheme":"","spacing_top":"2","spacing_bottom":"2"}},"multitile_KDV8BX":{"type":"multitile","blocks":{"tile_qpzFf7":{"type":"tile","settings":{"show_on":"both","column_factor":3,"row_factor":1,"color_scheme":"","gradient_background_color":"","tile_aspect_ratio":"1\/1","content_position_vertical":"justify-center","content_alignment":"align-center text-center","content_alignment_for_mobile":"start","media_position":"background","heading":"","heading_size":"h3","text":"","button_label":"","button_link":"","button_style":"button--filled","video_external":"","show_controls_on_video":false,"video_external_mobile":"","show_controls_on_video_mobile":false,"spacing_inner":"2"}},"tile_kkJDV4":{"type":"tile","settings":{"show_on":"both","column_factor":3,"row_factor":2,"color_scheme":"","gradient_background_color":"","tile_aspect_ratio":"auto","content_position_vertical":"justify-center","content_alignment":"align-center text-center","content_alignment_for_mobile":"start","media_position":"background","heading":"","heading_size":"h3","text":"","button_label":"","button_link":"","button_style":"button--filled","video_external":"","show_controls_on_video":false,"video_external_mobile":"","show_controls_on_video_mobile":false,"spacing_inner":"2"}},"tile_aT3xD9":{"type":"tile","settings":{"show_on":"both","column_factor":3,"row_factor":1,"color_scheme":"scheme-8","gradient_background_color":"","tile_aspect_ratio":"auto","content_position_vertical":"justify-center","content_alignment":"align-center text-center","content_alignment_for_mobile":"start","media_position":"background","heading":"Amazing details. Organic fabrics.","heading_size":"h3","text":"","button_label":"","button_link":"","button_style":"button--filled","video_external":"","show_controls_on_video":false,"video_external_mobile":"","show_controls_on_video_mobile":false,"spacing_inner":"6"}}},"block_order":["tile_qpzFf7","tile_kkJDV4","tile_aT3xD9"],"disabled":true,"settings":{"block_order_mobile":false,"heading":"","heading_size":"h3","heading_alignment":"start","spacing_tile":"default","color_scheme":"","section_width":"max-w-fluid","spacing_top":"2","spacing_bottom":"2"}},"166904322806a89075":{"type":"apps","custom_css":[".junip-product-review-average-container {text-align: left;}",".junip-powered-by-footer {display: none;}"],"name":"Apps - Junip","settings":{"section_layout":"normal","spacing_inner":"2","section_width":"max-w-page","color_scheme":"scheme-5","spacing_top":"4","spacing_bottom":"2"}},"custom_liquid_J33pD8":{"type":"custom-liquid","disabled":true,"name":"t:sections.custom-liquid.name","settings":{"custom_liquid":"<style>\n\/* =========================\n   Match Release carousel look\n   (scope tightly to this widget id)\n   ========================= *\/\n#rebuy-widget-95666.rebuy-widget {\n  background: transparent;\n  margin-block-start: 4.8rem; \/* same top spacing as Release *\/\n}\n\n\/* Title *\/\n#rebuy-widget-95666 .primary-title {\n  display: inline-flex;\n  align-items: center;\n  gap: .8rem;\n  margin: 0 0 1.2rem;\n  font-size: var(--font-size-static-xs);\n  padding: .8rem 1.2rem;\n  background-color: rgb(var(--color-background));\n  border-radius: var(--badge-border-radius);\n  text-transform: var(--font-button-text-transform);\n  font-weight: var(--font-button-weight);\n  letter-spacing: var(--font-button-letter-spacing);\n  color: rgb(var(--color-heading-text));\n}\n\n\/* Hide Rebuy's description line under the title (Release doesn't show it) *\/\n#rebuy-widget-95666 .description { display: none; }\n\n\/* ------- Slider \/ slide widths to match Release ------- *\/\n#rebuy-widget-95666 .splide__slide { width: 30rem; }\n@media (min-width: 990px) {\n  #rebuy-widget-95666 .splide__slide { width: 38rem; }\n}\n\/* Optional: reduce big gaps Rebuy sometimes adds *\/\n#rebuy-widget-95666 .splide__list { gap: 2rem; }\n\n\/* ------- Card: image-first like Release ------- *\/\n#rebuy-widget-95666 .rebuy-product-block {\n  display: block;\n  background: rgb(var(--color-background));\n  border-radius: var(--card-corner-radius);\n  overflow: hidden;\n  height: auto;\n  box-shadow: none;\n  border: 0;\n}\n\n\/* Image full width, 4:5 ratio (Release) *\/\n#rebuy-widget-95666 .rebuy-product-media,\n#rebuy-widget-95666 .rebuy-product-image,\n#rebuy-widget-95666 .rebuy-product-media picture,\n#rebuy-widget-95666 .rebuy-product-media img {\n  display: block;\n  width: 100%;\n  aspect-ratio: 4 \/ 5;\n  object-fit: cover;\n  border-radius: 0;\n  height: auto !important; \/* kill inline 460px height *\/\n}\n\n\/* Info under image: padding + text styles like Release *\/\n#rebuy-widget-95666 .rebuy-product-info {\n  padding: 1.2rem 1.6rem 1.6rem;\n}\n#rebuy-widget-95666 .rebuy-product-title,\n#rebuy-widget-95666 .rebuy-product-title a {\n  margin: 0;\n  font-size: var(--font-size-static-sm);\n  color: rgb(var(--color-heading-text));\n  text-decoration: none;\n}\n#rebuy-widget-95666 .rebuy-product-price {\n  margin-top: var(--spacing-2);\n  font-size: var(--font-size-static-sm);\n  color: rgb(var(--color-heading-text));\n}\n#rebuy-widget-95666 .rebuy-product-price .rebuy-money.compare-at,\n#rebuy-widget-95666 .rebuy-product-price .rebuy-money--compare {\n  margin-inline-end: .4rem;\n  opacity: .7;\n  text-decoration: line-through;\n}\n#rebuy-widget-95666 .rebuy-product-price .rebuy-money.sale,\n#rebuy-widget-95666 .rebuy-product-price .rebuy-money--sale {\n  color: var(--color-error);\n}\n\n\/* Hide Rebuy's big add-to-cart area (Release uses a small + overlay) *\/\n#rebuy-widget-95666 .rebuy-product-actions,\n#rebuy-widget-95666 .rebuy-button { display: none !important; }\n\n\/* ------- Arrows: match Release look ------- *\/\n#rebuy-widget-95666 .splide__arrows {\n  display: flex;\n  align-items: center;\n  gap: .8rem;\n}\n#rebuy-widget-95666 .splide__arrow {\n  background: rgb(var(--color-background));\n  border-radius: var(--badge-border-radius);\n  border: 1px solid rgba(0,0,0,.08);\n  width: 36px;\n  height: 36px;\n}\n\n\/* Optional: hide \"Powered by Rebuy\" footer *\/\n#rebuy-widget-95666 .powered-by-rebuy { display: none; }\n<\/style>","section_width":"max-w-page","color_scheme":"","spacing_top":"0","spacing_bottom":"0"}},"custom_liquid_YpNr9W":{"type":"custom-liquid","name":"Junip Reviews - Custom Styling","settings":{"custom_liquid":"{% style %}\n.junip-btn {\n    --color-button-text: rgb(var(--color-filled-button-text));\n    --color-button-background: rgb(var(--color-filled-button));\n    --color-button-outline: rgb(var(--color-filled-button));\n    --color-button-hover-text: rgb(var(--color-filled-button));\n    --color-button-hover-background: transparent;\n    --color-button-hover-outline: rgb(var(--color-filled-button));\ntext-transform: var(--button-text-transform);\n\n    \/* Optional: inherit the same base button styling *\/\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    padding: 1.6rem 2.4rem !important;\n    font: inherit;\n    font-weight: var(--font-button-weight);\n    border-radius: var(--button-border-radius) !important;\n    border: 1px solid var(--color-button-outline);\n    color: var(--color-button-text);\n    background: var(--color-button-background);\n    transition: all 0.25s ease;\n    line-height: calc(1 + 0 \/ var(--font-button-scale)) !important;\n    letter-spacing: var(--font-button-letter-spacing);\nfont-size: calc(var(--font-button-scale) * 1rem) !important;\n}\n\n.junip-btn:hover {\n    color: var(--color-button-hover-text);\n    background: var(--color-button-hover-background);\n    border-color: var(--color-button-hover-outline);\n}\n\n\n\n{% endstyle %}","section_width":"max-w-page","color_scheme":"","spacing_top":"0","spacing_bottom":"0"}}},"order":["main","product_styled_more_ways_cdVj94","977cac03-4044-4567-8907-fa55103a47eb","recommendations","175934514655014569","multitile_KDV8BX","166904322806a89075","custom_liquid_J33pD8","custom_liquid_YpNr9W"]}