{"sections":{"page_banner_LiQkaU":{"type":"page-banner","custom_css":["div {--section-height: auto;}"],"name":"t:sections.page-banner.name","settings":{"enable_transparent_header":true,"heading":"Help Center","heading_size":"h2","text":"","show_default_description":false,"show_on_description":"desktop","content_position":"end","content_alignment":"start","media_position":"background","page_menu":"release-theme-help-center","enable_breadcrumbs":true,"section_height":"50svh","content_width":"50%","video_external":"","show_controls_on_video":false,"section_height_mobile":"33svh","video_external_mobile":"","show_controls_on_video_mobile":false,"section_width":"max-w-fluid","color_scheme":"scheme-4","color_scheme_for_media":"scheme-1","spacing_top":"2","spacing_bottom":"1"}},"help_sidenav_hByAwi":{"type":"help-sidenav","name":"Help side nav","settings":{"menu":"help-center-release-theme","section_width":"max-w-narrow","color_scheme":"scheme-2","color_scheme_for_media":"scheme-1","spacing_top":"4","spacing_bottom":"0"}},"custom_liquid_6fUb44":{"type":"custom-liquid","name":"Sub-Menu Link Styling","settings":{"custom_liquid":"<style>\n@media screen and (min-width: 749px) and (max-width: 1440px) {\n  .section-page-banner__menu .menu.menu--horizontal:has(*) {\n    padding: 0 var(--page-gutter);\n  }\n}\n\n.section-page-banner__menu { \nz-index: 2; }\n\n@media screen and (min-width: 1441px) {\n.section-page-banner__menu {\npadding: 0 var(--page-gutter);\n}\n}\n@media only screen and (min-width: 993px) {\n.section-page-banner__menu {\ndisplay: none !important;\n}\n}\n\n.section-page-banner__menu {\npadding-bottom: 40px;\n<\/style>","section_width":"max-w-fluid","color_scheme":"","spacing_top":"0","spacing_bottom":"0"}},"seo_content_hjVDpF":{"type":"seo-content","name":"t:sections.seo-content.name","settings":{"section_layout":"normal","heading":"TSR Package Protection","heading_size":"h2","text":"<p>Your order, protected from doorstep to delivery.<\/p>","content_alignment":"start","section_width":"max-w-page","color_scheme":"","spacing_inner":"1","spacing_top":"4","spacing_bottom":"2"}},"trust_indicators_LGgK4J":{"type":"trust-indicators","blocks":{"indicator_LxLBrD":{"type":"indicator","settings":{"title":"Protected from Loss","subheading":"If a shipment never arrives, we’ll replace it or issue credit after a quick review.","link_label":"","link":"\/","icon":"theme-check-small"}},"indicator_frdwqi":{"type":"indicator","settings":{"title":"Safe from Theft","subheading":"Marked “delivered” but missing? We’ll step in and resolve it with a replacement or credit.","link_label":"","link":"\/","icon":"theme-check-small"}},"indicator_YAgRDR":{"type":"indicator","settings":{"title":"Covered from Damage","subheading":"Arrived cracked, crushed, or faulty? Tell us and we’ll review within 1–2 business days.","link_label":"","link":"\/","icon":"theme-check-small"}}},"block_order":["indicator_LxLBrD","indicator_frdwqi","indicator_YAgRDR"],"name":"t:sections.trust-indicators.name","settings":{"swipe_on_mobile":true,"slideshow_autoplay_interval":3,"content_direction":"vertical","content_alignment":"text-center","content_size":"h6","icon_size":4.8,"color_scheme_for_blocks":"scheme-5","section_width":"max-w-page","color_scheme":"","spacing_top":"1","spacing_bottom":"2"}},"accordions_rrLeEH":{"type":"accordions","blocks":{"topic_WQwFKm":{"type":"topic","settings":{"is_open":false,"title":"What is TSR Package Protection?","text":"<p>TSR’s Package Protection is a package protection solution that helps cover your order in the event that your order gets lost, stolen, or damaged while in transit. We know how frustrating it is to have something happen to your order, so we now proudly offer a guaranteed protection plan to ensure that you are supported, no matter what.<\/p><p>TSR Package Protection is automatically enabled in cart, but can be opted-out by the customer at their discretion.<\/p>","page":""}},"topic_CcRtfN":{"type":"topic","settings":{"is_open":false,"title":"Can I Opt Out of TSR Package Protection?","text":"<p>While we strongly recommend you keep TSR Package Protection enabled, you may remove it at checkout by unchecking the box. Please note by doing so, your order is no longer protected. For all non-TSR Package Protected orders, The Saree Room is not responsible for any lost, damaged, or stolen packages.<\/p>","page":""}},"topic_hUddEX":{"type":"topic","settings":{"is_open":false,"title":"How does TSR Package Protection work?","text":"<p>If your TSR Package Protected order ends up lost, damaged, or stolen, TSR’s expert support team helps ensure that your order gets replaced or credited as preferred. Claims will be reviewed for approval within 1-2 business days from filing.<\/p><p><strong>Need to file a claim? <\/strong>Email the team at: <a href=\"mailto:info@thesareeroom.com\">info@thesareeroom.com<\/a> and we will promptly respond within our business hours (Monday - Friday 9AM - 6PM EST).<\/p><p>Please note that images and additional information may be requested by our customer service team from time to time. The Saree Room reserves the right to deny any claims it suspects is fraudulent.<\/p><p>For more information on TSR Package Protection, please visit our <a href=\"https:\/\/www.thesareeroom.com\/pages\/faq\">FAQ page<\/a>.<\/p>","page":""}},"topic_aWNw8y":{"type":"topic","settings":{"is_open":false,"title":"How does TSR Package Protection process credits or reorders?","text":"<p><strong>CREDITS:<\/strong> When crediting an item, TSR Protection covers the subtotal, shipping, and taxes. In both cases, the TSR Protection premium cost will not be refunded. <\/p><p><strong>REORDERS:<\/strong> TSR Protection will reorder the items, depending on in-stock availability. Unavailable items will be credited. We will cover the cost of any reorders including shipping, taxes, and TSR Package Protection.<\/p>","page":""}},"topic_jY3ndr":{"type":"topic","settings":{"is_open":false,"title":"When should I file a claim?","text":"<p><strong>MARKED AS DELIVERED (STOLEN)<br\/><\/strong>Please file your claim for any stolen packages <strong>within 3 days from delivery date <\/strong>to <a href=\"mailto:info@thesareeroom.com\">info@thesareeroom.com<\/a><\/p><p><strong>STUCK IN TRANSIT (LOST)<br\/><\/strong><em>DOMESTIC ORDERS: <\/em>Please file your claim for any lost packages <strong>within 7 days from order date <\/strong>to <a href=\"mailto:info@thesareeroom.com\">info@thesareeroom.com<\/a><br\/><em>INTERNATIONAL ORDERS<\/em>: Please file your claim for any lost packages <strong>within 14 days from order date <\/strong>to <a href=\"mailto:info@thesareeroom.com\">info@thesareeroom.com<\/a><\/p><p><strong>DAMAGED<br\/><\/strong>Please file your claim for any damaged packages <strong>within 3 days from when it was marked delivered <\/strong>to <a href=\"mailto:info@thesareeroom.com\">info@thesareeroom.com<\/a><\/p>","page":""}},"topic_QQk3cC":{"type":"topic","settings":{"is_open":false,"title":"What if my order never arrived or is stolen?","text":"<p>TSR Package Protection definitely helps cover these instances! To protect your order against loss or theft,<em>do not opt-out<\/em>of the TSR Package Protection option at checkout.<\/p><p><\/p><p><\/p><p><\/p><p><\/p><p><\/p>","page":""}},"topic_i78f9E":{"type":"topic","settings":{"is_open":false,"title":"What if my order arrives damaged?","text":"<p>TSR Package Protection covers damage as well! To protect your order against damage that occurred during shipping, add TSR Package Protection at checkout. <\/p><p>If your order has arrived to you damaged, please take photos of the item and the packaging it arrived in to include in your claim when filing. <\/p><p><strong>You can file a claim with us by emailing info@thesareeroom.com.<\/strong><\/p><p>If your order has defects or you suspect it was damaged during manufacturing, please process a FREE exchange by <a href=\"https:\/\/www.thesareeroom.com\/pages\/return-policy\" target=\"_blank\">clicking here<\/a>.<\/p><p><\/p>","page":""}},"topic_bhzCgG":{"type":"topic","settings":{"is_open":false,"title":"How do I file a claim for my lost, damaged, or stolen order?","text":"<p>If you have insured your order with TSR Package Protection at checkout, you can email our team at: <a href=\"mailto:info@thesareeroom.com\">info@thesareeroom.com<\/a> with your concern, order number, email attached to the order, and any other additional information that can help us help you.<\/p>","page":""}}},"block_order":["topic_WQwFKm","topic_CcRtfN","topic_hUddEX","topic_aWNw8y","topic_jY3ndr","topic_QQk3cC","topic_i78f9E","topic_bhzCgG"],"name":"t:sections.accordions.name","settings":{"heading":"","heading_size":"h3","subtext":"","layout":"stacked","section_width":"max-w-page","color_scheme":"scheme-1","spacing_top":"2","spacing_bottom":"4"}},"main":{"type":"main-product","blocks":{"custom_liquid_PHN6QL":{"type":"custom_liquid","name":"Image Loading + Layout - Mobile","settings":{"spacing_bottom":"0","custom_liquid":"<script>\n(function () {\n  \/\/ Treat mobile as <= 749px to match your breakpoints\n  const isMobile = () => window.matchMedia('(max-width: 749px)').matches;\n\n  \/\/ Intercept colour swatch changes that use data-product-url\n  function bindMobileRedirects(ctx=document) {\n    ctx.querySelectorAll('.variant-option-radio-input[data-product-url]').forEach(input => {\n      \/\/ Avoid duplicate listeners\n      if (input._tsrBound) return; input._tsrBound = true;\n\n      input.addEventListener('change', (e) => {\n        const url = input.dataset.productUrl;\n        if (!url) return;\n\n        \/\/ On mobile, do a real navigation instead of AJAX swap\n        if (isMobile()) {\n          \/\/ Optional: keep scroll position on back\n          if ('scrollRestoration' in history) history.scrollRestoration = 'manual';\n          window.location.assign(url);\n        } else {\n          \/\/ Desktop: let your existing AJAX\/Combined Listings behavior run\n        }\n      }, true);\n    });\n  }\n\n  \/\/ Run now and whenever the section is re-rendered\n  document.addEventListener('DOMContentLoaded', () => bindMobileRedirects());\n  document.addEventListener('shopify:section:load', e => bindMobileRedirects(e.target));\n\n  \/\/ Defensive: also bind after any change (some apps replace nodes silently)\n  ['variant:change','product:variant-change','combinedlistings:change','change']\n    .forEach(evt => document.addEventListener(evt, () => bindMobileRedirects(), true));\n})();\n<\/script>\n\n<style>\n@media (max-width: 749px) {\n  .shopify-section.main-product > .color-scheme-1.gradient {\n    padding-block-start: 0 !important;\n  }\n}\n<\/style>"}},"custom_liquid_WKdWrF":{"type":"custom_liquid","name":"Product Title Style","settings":{"spacing_bottom":"0","custom_liquid":"<style>\n.product__title {\n  font-weight: 300;\n  text-transform: uppercase;\n  letter-spacing: 2px;\n}\n<\/style>"}},"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; \/* matches ✓ rows *\/\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    \/* Popover styled box; we will place it with JS (position:fixed) *\/\n    .tsr-final-sale__popover{\n      position: fixed; \/* ← important *\/\n      top: 0; left: 0; \/* JS will overwrite *\/\n      transform: translate(0,0); \/* no translateY; JS centers vertically *\/\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; \/* above product area *\/\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    \/* You had this — leaving it intact *\/\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; \/\/ 1rem fallback; exact value not used for placement now\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        \/\/ Preferred: RIGHT of trigger\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 overflow on right, flip LEFT\n        if (left + pw > vw - padding) {\n          left = t.left - gap - pw;\n        }\n\n        \/\/ Clamp if still overflowing\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      \/\/ Toggle popover\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 ICON ROWS WHEN FINAL SALE ===\n         - Scope to the same section as this block (safest)\n         - Hide ONLY rows whose <span> text is exactly \"Free Exchanges\" or \"15-Day Returns\"\n      *\/\n      var scope = root.closest('section') || document; \/\/ keep changes local to the product section\n\n      function hideReturnExchangeRows(ctx){\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\n      \/\/ Initial hide\n      hideReturnExchangeRows(scope);\n\n      \/\/ Watch for dynamic updates (Shopify sections re-render)\n      var mo = new MutationObserver(function(muts){\n        \/\/ If new nodes are added inside the scope, try hiding again\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":"4","behaviour":"plain","heading":"Product Details","text_truncate":2,"icon":"","metafield_for_product_variant":"","show_block_content":true}},"1e939cd6-0958-4135-a9e5-c50faef01437":{"type":"variant_picker","disabled":true,"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","disabled":true,"settings":{"spacing_bottom":"1","show_subscription_title":true,"show_subscription_custom_info":"","show_subscription_policy":true}},"8604a6ff-ad0b-44dd-8068-1de4e062f8e8":{"type":"buy_buttons","disabled":true,"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"}},"complementary_products_tKerNK":{"type":"complementary_products","settings":{"spacing_bottom":"1","heading":"Paired with","icon":"option-heart","limit":4}},"content_tabs_3NAUzY":{"type":"content_tabs","settings":{"spacing_bottom":"1","heading":"","active_tab":"1","display_description":"none","heading_description":"","icon_description":"","heading_01":"Model Size","icon_01":"","content_01":"<p>{{ product.metafields.custom.model_size.value }}<\/p>","page_01":"","enable_tab_rule_01":false,"tab_rule_mode_01":"hide_on_match","tab_rule_tags_01":"","heading_02":"Find Your Fit","icon_02":"","content_02":"","page_02":"{{ product.metafields.custom.size_guide.value }}","enable_tab_rule_02":false,"tab_rule_mode_02":"hide_on_match","tab_rule_tags_02":"","heading_03":"Shipping & Returns","icon_03":"","content_03":"<p>v<\/p>","page_03":"shipping-returns-old","enable_tab_rule_03":false,"tab_rule_mode_03":"hide_on_match","tab_rule_tags_03":"","heading_04":"Tab #4","icon_04":"theme-box","content_04":"","page_04":"","enable_tab_rule_04":false,"tab_rule_mode_04":"hide_on_match","tab_rule_tags_04":"","heading_05":"Tab #5","icon_05":"theme-box","content_05":"","page_05":"","enable_tab_rule_05":false,"tab_rule_mode_05":"hide_on_match","tab_rule_tags_05":"","heading_06":"Tab #6","icon_06":"theme-box","content_06":"","page_06":"","enable_tab_rule_06":false,"tab_rule_mode_06":"hide_on_match","tab_rule_tags_06":""}}},"block_order":["custom_liquid_PHN6QL","custom_liquid_WKdWrF","badge_Hkd38r","1e0c79e9-7de0-4eee-b9c5-f27132635fb8","8effeb43-55b7-4ec4-ab9b-68bcd89b865b","custom_liquid_qNBhEc","description_qA3HqH","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","complementary_products_tKerNK","content_tabs_3NAUzY"],"disabled":true,"custom_css":[],"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"}},"977cac03-4044-4567-8907-fa55103a47eb":{"type":"complete-the-set","blocks":{"collapsible_hwbccX":{"type":"collapsible","settings":{"block_type":"collapsible","heading":"What is TSR Package Protection?","link":"","content":"<p>TSR’s Package Protection is a package protection solution that helps cover your order in the event that your order gets lost, stolen, or damaged while in transit. We know how frustrating it is to have something happen to your order, so we now proudly offer a guaranteed protection plan to ensure that you are supported, no matter what.<\/p><p>TSR Package Protection is automatically enabled in cart, but can be opted-out by the customer at their discretion.<\/p>","page":""}},"collapsible_AM9iMX":{"type":"collapsible","settings":{"block_type":"collapsible","heading":"Can I opt-out?","link":"","content":"<p>While we strongly recommend you keep TSR Package Protection enabled, you may remove it at checkout by unchecking the box. Please note by doing so, your order is no longer protected. For all non-TSR Package Protected orders, The Saree Room is not responsible for any lost, damaged, or stolen packages.<\/p>","page":""}},"collapsible_pjbmbn":{"type":"collapsible","settings":{"block_type":"collapsible","heading":"How does it work?","link":"","content":"<p>If your TSR Package Protected order ends up lost, damaged, or stolen, TSR’s expert support team helps ensure that your order gets replaced or credited as preferred. Claims will be reviewed for approval within 1-2 business days from filing.<\/p><p><strong>Need to file a claim? <\/strong>Email the team at: <a href=\"mailto:info@thesareeroom.com\">info@thesareeroom.com<\/a> and we will promptly respond within our business hours (Monday - Friday 9AM - 6PM EST).<\/p><p>Please note that images and additional information may be requested by our customer service team from time to time. The Saree Room reserves the right to deny any claims it suspects is fraudulent.<\/p><p>For more information on TSR Package Protection, please visit our <a href=\"https:\/\/www.thesareeroom.com\/pages\/faq\">FAQ page<\/a>.<\/p>","page":""}}},"block_order":["collapsible_hwbccX","collapsible_AM9iMX","collapsible_pjbmbn"],"disabled":true,"settings":{"heading":"","content_heading":"","heading_size":"h4","content_type":"image","featured_image":"shopify:\/\/shop_images\/Firefly_an_image_of_3_brown_cardboard_shipping_boxes_with_white_symmetrical_tape_stacked_on_t_914208.jpg","featured_image_aspect_ratio":"3\/4","open_first_collapsible":false,"flip_desktop":true,"flip_mobile":false,"section_width":"max-w-page","color_scheme":"","spacing_top":"4","spacing_bottom":"2"}},"recently_viewed_products_QkeYRy":{"type":"recently-viewed-products","name":"t:sections.recently-viewed-products.name","settings":{"layout":"layout-1","enable_slideshow_overflow":false,"heading":"Continue shopping, <em>stress<\/em> free.","heading_size":"h3","subheading":"","button_label":"","button_link":"","button_style":"button--filled","show_navigation_arrows":true,"slider_autoplay":3,"tabs_button_style":"tab-btn-filled","max_products":8,"show_unavailable_products":false,"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","disabled":true,"settings":{"section_layout":"normal","spacing_inner":"2","section_width":"max-w-page","color_scheme":"","spacing_top":"2","spacing_bottom":"2"}}},"order":["page_banner_LiQkaU","help_sidenav_hByAwi","custom_liquid_6fUb44","seo_content_hjVDpF","trust_indicators_LGgK4J","accordions_rrLeEH","main","977cac03-4044-4567-8907-fa55103a47eb","recently_viewed_products_QkeYRy","multitile_KDV8BX","166904322806a89075"]}