{"data":{"shop":{"id":"30864","shop_id":50614698136,"myshopify_domain":"grace-farms-foods.myshopify.com","shop_name":"Grace Farms Tea & Coffee","domain":"www.sharegracefarms.com","currency":"USD","currency_symbol":"$","money_format":"${{amount}}","enabled_presentment_currencies":["USD"],"api_key":"d4ed25a57c45a82ef12001dad89dfe00e9a3d554","integrations":{"klaviyo":false,"yotpo":true,"recharge":true,"stamped":false,"okendo":false,"junip":false,"opinew":false,"loox":false,"judgeme":true,"reviewsio":false,"attentive":false},"primary_locale":"en","recharge_custom_domain":null,"cache_key":"1785031931","enable_logging":false,"enabled_jquery":true,"use_rebuy_icons":false,"selling_plans_enabled":false,"shopify_selling_plans_enabled":true,"carousel":"splide","active_experiments":[],"product_groups_enabled":"no","has_smart_search_enabled":true,"has_smart_collections_enabled":false,"storefront_access_token":"6239050cc7b78c203b3cf5958c7df93a","active_packages":[],"billing_version":null,"markets":{"enabled":false},"monetize":{"publisher_key":null}},"smart_cart":{"id":20294,"owner":30864,"name":"Smart Cart 2026","enabled":true,"layout_id":"1","layout_version":"v1.0","buy_more_save_more_enabled":false,"buy_more_save_more":{"tiers":[{"discount":5,"quantity":2}],"language":{"bmsm_discount_message":"Buy {{quantity}} save {{discount}}","bmsm_discount_success":"Buy More Save More!"},"display_type":"buttons","discount_type":"percentage","discounted_by":"other","discount_products":[]},"empty_cart_markup":"<h4 class=\"ql-align-center\">Your cart is empty!<\/h4><p class=\"ql-align-center\">Add your favorite items to your cart.<\/p><p class=\"ql-align-center\"><a href=\"\/collections\/all\">Shop Now<\/a><\/p>","cart_page_checkout_override":true,"cart_page_enabled":true,"product_form_redirect_id":"1","switch_to_subscription_enabled":false,"switch_to_subscription":{"language":{"upgrading_label":"Upgrading...","downgrading_label":"Downgrading...","onetime_option_label":"One-time only","subscription_option_label":"Delivers every {{frequency}} {{interval}}","onetime_option_group_label":"Pay Full Price","upgrade_to_subscription_label":"Upgrade to Subscription & Save {{subscription_discount}}%","subscription_option_group_label":"Subscribe and Save {{subscription_discount}}%","upgrade_to_subscription_default_frequency":"","upgrade_to_subscription_without_discount_label":"Upgrade to Subscription"},"disable_downgrade":false},"attribution_tracking_enabled":true,"product_metafields_enabled":false,"custom_css":"@import url('https:\/\/fonts.googleapis.com\/css2?family=Open+Sans:wght@400;600;700&display=swap');\n\n\/* --- Root Variables --- *\/\n:root {\n --font-primary: 'Open Sans', sans-serif;\n  \/* Colors *\/\n --color-brand-primary: #8C817B;\n --color-brand-secondary: #897F79;\n --color-brand-dark-hover: #715939;\n --color-brand-hover: #4982CF;\n  --color-text-dark: #151515;\n --color-text-input: #232323;\n --color-white: #FFFFFF;\n  --color-border: #E7E7E7;\n --color-border-light: #EEE;\n  --color-backdrop: rgba(113, 89, 57, 0.5);\n\n \/* Sizing *\/\n --border-radius-button: 4px;\n --border-radius-image: 5px;\n}\n\n\/* --- Base & Font Styles --- *\/\n.rebuy-cart__flyout,\n#rebuy-cart-title,\n.rebuy-cart__flyout-item-product-title,\n.rebuy-cart__flyout-subtotal-label,\n.rebuy-cart__flyout-subtotal-amount,\n.rebuy-cart__checkout-button,\n[data-rebuy-component=\"login\"] {\n font-family: var(--font-primary);\n}\n\n.rebuy-cart__flyout {\n background-color: var(--color-white);\n color: var(--color-brand-secondary);\n}\n\n\/* ============================================================\n   PATCHED: Items scrollable area + static header.\n   \n   ROOT CAUSE: Rebuy's anonymous Vue <div> wrappers between the\n   flyout and items have flex: 0 1 auto and get squashed to 187px\n   because the footer (1019px) is flex: 0 0 auto and won't shrink.\n   \n   FIX: Flyout scrolls, ALL children refuse to shrink, and only\n   the actual items list (UL) gets a max-height scroll cap.\n   ============================================================ *\/\n\n\/* The flyout scrolls as a whole so checkout + recs stay reachable *\/\n.rebuy-cart__flyout {\n overflow-y: auto !important;\n overflow-x: hidden !important;\n -webkit-overflow-scrolling: touch;\n}\n\n\/* Progress bar \/ header — fully visible, never clipped *\/\n[data-rebuy-cart-anchor=\"header\"] {\n flex-shrink: 0 !important;\n overflow: visible !important;\n height: auto !important;\n max-height: none !important;\n}\n\n\/* ALL anonymous wrapper divs — don't shrink, show full height *\/\n.rebuy-cart__flyout > div,\n.rebuy-cart__flyout > div > div,\n.rebuy-cart__flyout > div > div > div {\n flex-shrink: 0 !important;\n overflow: visible !important;\n height: auto !important;\n max-height: none !important;\n}\n\n\/* ONLY the actual items list gets a scroll constraint (40vh) *\/\n.rebuy-cart__flyout-items,\n.rebuy-cart__flyout ul {\n max-height: 40vh !important;\n overflow-y: auto !important;\n overflow-x: hidden !important;\n -webkit-overflow-scrolling: touch;\n}\n\n\/* --- Background Overlay --- *\/\n.rebuy-cart__background {\n background-color: var(--color-backdrop);\n -webkit-backdrop-filter: blur(5px);\n backdrop-filter: blur(5px);\n opacity: 1;\n}\n\n\/* --- Header --- *\/\n[data-rebuy-cart-anchor=\"header\"] {\n border-bottom: 1px solid var(--color-border);\n}\n#rebuy-cart-title {\n color: var(--color-brand-secondary);\n font-weight: normal;\n font-size: 24px;\n text-transform: lowercase;\n}\n\n\/* --- Cart Body & Items --- *\/\n.rebuy-cart__flyout-item {\n border-bottom: 1px solid var(--color-border);\n}\n\n.rebuy-cart__flyout-item-product-title {\n color: #4982CF !important;\n font-weight: 600;\n text-decoration: none;\n transition: color 0.2s ease;\n}\n.rebuy-cart__flyout-item-product-title:hover {\n color: #8C817B !important;\n text-decoration: underline;\n}\n\n.rebuy-cart__flyout-item-variant-title,\n.rebuy-cart__flyout-item-property {\n color: var(--color-brand-secondary);\n font-size: 13px;\n}\n\n\/* Quantity +\/- Buttons *\/\n.rebuy-cart__flyout-item-quantity-widget-button {\n color: var(--color-brand-secondary); \n background: transparent;\n border: none;\n}\n.rebuy-cart__flyout-item-quantity-widget-button:hover {\n color: var(--color-brand-dark-hover); \n}\n\n.rebuy-cart__flyout-item-quantity-widget-input {\n width: 40px;\n height: 30px;\n text-align: center;\n font-family: inherit;\n font-size: 1rem;\n color: var(--color-text-input);\n border-width: 0 1px;\n border-style: solid;\n border-color: var(--color-border-light);\n padding: 0;\n background-color: transparent;\n border-radius: 0;\n}\n\n\/* --- Footer & Subtotal --- *\/\n[data-rebuy-cart-anchor=\"footer\"] {\n background-color: var(--color-white);\n border-top: 1px solid var(--color-border);\n}\n.rebuy-cart__flyout-subtotal-label {\n color: var(--color-brand-secondary);\n font-size: 14px;\n}\n.rebuy-cart__flyout-subtotal-amount {\n color: var(--color-brand-secondary);\n font-weight: 700;\n font-size: 18px;\n}\n.rebuy-cart__continue-shopping-button {\n color: var(--color-brand-secondary) !important;\n}\n\n\/* --- Primary Buttons (Checkout\/Login\/Apply) --- *\/\n[data-rebuy-component=\"login\"] {\n background-color: #BCAFA8;\n color: var(--color-white) !important;\n font-weight: 400;\n text-transform: uppercase;\n letter-spacing: 1px;\n border: 1px solid #BCAFA8;\n border-radius: var(--border-radius-button);\n padding: 8px 16px;\n text-decoration: none;\n font-size: 14px;\n line-height: 1; \n}\n\n[data-rebuy-component=\"login\"]:hover {\n background-color: #8C817B;\n border-color: #8C817B;\n}\n\n.rebuy-cart__discount-form .rebuy-button,\n.rebuy-cart__checkout-button {\n background-color: #BCAFA8 !important;\n color: var(--color-white) !important;\n font-family: var(--font-primary) !important;\n font-weight: 400 !important;\n text-transform: uppercase !important;\n letter-spacing: 1px !important;\n border: 1px solid #BCAFA8 !important;\n border-radius: var(--border-radius-button) !important;\n}\n\n.rebuy-cart__discount-form .rebuy-button:hover,\n.rebuy-cart__checkout-button:hover {\n background-color: #8C817B !important;\n border-color: #8C817B !important;\n}\n\n\/* --- Shared Icon Behavior: Share, Close, Remove --- *\/\n.rebuy-button.rebuy-button--cart-share,\n.rebuy-button.rebuy-button--cart-share:hover,\n#rebuy-cart-close,\n#rebuy-cart-close:hover,\n.rebuy-cart__flyout-item-remove,\n.rebuy-cart__flyout-item-remove:hover {\n background-color: #FFFFFF !important;\n border: none !important;\n outline: none !important;\n box-shadow: none !important;\n transition: all 0.2s ease;\n align-self: center !important;\n margin-right: 14px !important;\n}\n\n.rebuy-button.rebuy-button--cart-share svg,\n.rebuy-button.rebuy-button--cart-share svg path,\n#rebuy-cart-close i,\n.rebuy-cart__flyout-item-remove i {\n fill: #4982CF !important;\n color: #4982CF !important;\n transition: all 0.2s ease;\n}\n\n.rebuy-button.rebuy-button--cart-share:hover svg,\n.rebuy-button.rebuy-button--cart-share:hover svg path,\n#rebuy-cart-close:hover i,\n.rebuy-cart__flyout-item-remove:hover i {\n fill: #8C817B !important;\n color: #8C817B !important;\n}\n\n\/* --- Progress Bar (Tiered Cart) --- *\/\n.rebuy-cart__progress-bar-meter {\n position: relative !important;\n overflow: visible !important;\n}\n.rebuy-cart__progress-bar-wrapper {\n margin-top: 30px !important;\n}\n.rebuy-cart__progress-bar-meter::before,\n.rebuy-cart__progress-bar-meter::after {\n width: 13px;\n height: 10px;\n background-color: var(--color-brand-secondary);\n border-radius: 100%;\n content: '';\n font-size: 11px;\n color: var(--color-brand-secondary);\n white-space: nowrap;\n position: absolute;\n top: 50%;\n display: flex;\n justify-content: center;\n align-items: flex-end;  \n padding-bottom: 13px;\n z-index: 2;\n}\n.rebuy-cart__progress-bar-meter::before {\n content: '$60.00';\n left: 25%;\n transform: translate(-50%, -50%);\n}\n.rebuy-cart__progress-bar-meter::after {\n content: '$100.00';\n left: 75%;\n transform: translate(-50%, -50%);\n}\n\n\/* --- Image & Native Fixes --- *\/\n.rebuy-cart__flyout-item-media,\n.rebuy-widget .rebuy-product-media {\n border-radius: var(--border-radius-image) !important;\n overflow: hidden !important;\n}\n.smart-cart--enabled .wt-cart { display: none; }\n.page-overlay-cart-on { overflow: unset !important; }\n.rebuy-cart__progress-gift-remove { display: none !important; }\n\n\/* ============================================================\n   PATCHED: Items list — expand to show all products.\n   Rebuy often sets inline max-height via JS on this element.\n   ============================================================ *\/\n.rebuy-cart__flyout-items {\n max-height: none !important;\n height: auto !important;\n overflow: visible !important;\n flex: 1 0 auto !important;\n}\n\n\/* Override any inline styles Rebuy's JS might set *\/\n.rebuy-cart__flyout-items[style] {\n max-height: none !important;\n height: auto !important;\n overflow: visible !important;\n}\n","custom_template":"<div id=\"rebuy-cart\" class=\"rebuy-cart\" v-cloak=\"\" :class=\"[\n    visible ? 'is-visible' : '',\n    'currency-' + currency(),\n    hasItems() ? 'has-items' : 'no-items'\n  ]\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"rebuy-cart-title\" :aria-hidden=\"!visible ? 'true' : 'false'\">\n  <div class=\"rebuy-cart__flyout\">\n    <div data-rebuy-cart-anchor=\"header\">\n        <div data-rebuy-cart-header-top=\"\">\n            <div data-rebuy-cart-header-top-inner=\"\">\n                \n<component :is=\"getCartTitleHeadingTag()\" id=\"rebuy-cart-title\" data-rebuy-component-id=\"title_bar\" data-rebuy-component=\"title-bar\" :class=\"['rebuy-cart__title', getCartTitleClassName()]\" v-html=\"getCartTitle()\"><\/component>\n\n                <div data-rebuy-cart-header-top-inner-right=\"\">\n                    \n<button v-if=\"shouldRenderCartShareComponent()\" data-rebuy-component=\"cart-share\" data-rebuy-component-id=\"cart_share\" @click=\"handleCartShare()\" class=\"rebuy-button rebuy-button--cart-share\" :title=\"getCartShareTooltipText()\" :aria-label=\"getCartShareTooltipText()\">\n    <svg class=\"rebuy-cart-share-icon\" width=\"16\" height=\"22\" viewBox=\"0 0 16 22\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n        <path d=\"M12 4L10.58 5.42L8.99 3.83V15H7.01V3.83L5.42 5.42L4 4L8 0L12 4ZM16 9V20C16 21.1 15.1 22 14 22H2C0.89 22 0 21.1 0 20V9C0 7.89 0.89 7 2 7H5V9H2V20H14V9H11V7H14C15.1 7 16 7.89 16 9Z\" fill=\"#546B7D\"><\/path>\n    <\/svg>\n<\/button>\n\n<a v-if=\"shouldRenderLoginComponent()\" data-rebuy-component=\"login\" data-rebuy-component-id=\"login\" :href=\"getLoginUrl()\" class=\"rebuy-button\" v-html=\"getLoginLabel()\" role=\"button\" :aria-label=\"getLoginLabel()\"><\/a>\n<a v-if=\"shouldRenderAccountButtonComponent()\" data-rebuy-component=\"account-button\" data-rebuy-component-id=\"account-button\" :href=\"getAccountButtonUrl()\" class=\"rebuy-button rebuy-button__button--account\" v-html=\"getAccountButtonLabel()\" role=\"button\" :aria-label=\"getAccountButtonLabel()\"><\/a>\n\n                <\/div>\n            <\/div>\n            \n                <button id=\"rebuy-cart-close\" class=\"rebuy-cart__flyout-close\" type=\"button\" v-on:click=\"hide()\" aria-label=\"Close Cart\">\n                    <rebuy-icon name=\"x\"><\/rebuy-icon>\n                    <span class=\"sr-only\">Close Cart<\/span>\n                <\/button>\n            \n        <\/div><\/div>\n    <div data-rebuy-cart-anchor=\"goalBox\">\n<div v-if=\"!!progressBar\" data-rebuy-component=\"progress-bar\" data-rebuy-component-id=\"tiered_progress_bar\">\n\n    <div class=\"rebuy-cart__progress-step-wrapper\" :class=\"['count-' + progressBar.tiers.length]\">\n        <div v-for=\"tier in progressBar.tiers\" :key=\"tier.id\" class=\"rebuy-cart__progress-step\" :class=\"{ complete: progressTierReached(tier) }\" :style=\"{ width: progressStepMaxWidth(progressBar) }\">\n            <div class=\"rebuy-cart__progress-step-icon\" :style=\"getProgressStepIconSize(tier)\" v-html=\"progressTierIcon(tier)\"><\/div>\n            <span class=\"rebuy-cart__progress-step-label\" v-html=\"getTierLabel(tier)\"><\/span>\n        <\/div>\n    <\/div>\n    <div class=\"rebuy-cart__progress-bar-wrapper\">\n        <div class=\"rebuy-cart__progress-bar-meter\" :class=\"[hasTierProgress() ? 'has-progress' : 'no-progress']\">\n            <div class=\"rebuy-cart__progress-bar-meter-fill\" :style=\"{ width: tiersPercentageComplete(progressBar) }\" role=\"progressbar\" tabindex=\"0\" aria-valuemin=\"0\" aria-valuemax=\"100\" :aria-valuenow=\"tiersPercentageComplete(progressBar, true)\" aria-labelledby=\"rebuy-cart__progress-bar-meter-label\">\n                <span class=\"sr-only\" v-text=\"'Progress: ' + tiersPercentageComplete(progressBar, true) +'%'\"><\/span>\n            <\/div>\n        <\/div>\n\n        <div v-if=\"hasProgressPrompt(progressBar)\" id=\"rebuy-cart__progress-bar-meter-label\" class=\"rebuy-cart__progress-bar-prompt\" v-html=\"getTierFeedbackText(progressBar)\"><\/div>\n    <\/div>\n    <div v-if=\"shouldRenderGiftArea(progressBar)\" class=\"rebuy-cart__progress-gifts\">\n        <div v-if=\"shouldRenderGiftAreaTitle(progressBar)\" class=\"rebuy-cart__progress-gifts-title\" v-text=\"getGiftAreaTitle(progressBar)\"><\/div>\n        <div class=\"rebuy-cart__progress-gifts-container\">\n            <div v-for=\"product in getEarnedProducts(progressBar)\" v-if=\"shouldRenderEarnedGift(progressBar, product)\" :key=\"product.id + '-' + product.tier\" class=\"rebuy-cart__progress-gift\">\n                <div class=\"rebuy-cart__progress-gift-image\" :style=\"freeProductStyles(product)\"><\/div>\n                <div class=\"rebuy-cart__progress-gift-info\">\n                    <div>\n                        <p class=\"rebuy-cart__progress-gift-title\" v-text=\"product.title\"><\/p>\n                        <span v-if=\"hasGiftSelection(product)\" class=\"rebuy-cart__progress-gift-variant-title\" v-text=\"getFreeVariantTitle(product)\"><\/span>\n                    <\/div>\n                    <div v-if=\"!hasGiftSelection(product)\" class=\"rebuy-cart__progress-gift-selection-container\">\n                        <div v-if=\"freeProductOptions(product).length === 1\" class=\"rebuy-cart__progress-gift-variant-readd\" role=\"button\" @click=\"addSingleVariantFreeProduct(product)\" v-html=\"freeProductPrompt(product)\"><\/div>\n\n                        <div v-else=\"\" class=\"rebuy-cart__progress-gift-variant-select-container\">\n                            <select v-if=\"freeProductOptions(product).length > 1\" class=\"rebuy-cart__progress-gift-variant-select\" @change=\"selectFreeProductVariant($event, product)\">\n                                <option value=\"\" disabled=\"\" selected=\"\">Select Gift<\/option>\n                                <option v-for=\"variant in freeProductOptions(product)\" :key=\"variant.id\" :value=\"variant.id\" v-text=\"variant.title\"><\/option>\n                            <\/select>\n                            <div class=\"rebuy-cart__progress-gift-variant-select-prompt\" v-html=\"freeProductPrompt(product)\"><\/div>\n                        <\/div>\n                    <\/div>\n                <\/div>\n                <button v-if=\"hasGiftSelection(product)\" class=\"rebuy-cart__progress-gift-remove\" @click=\"removeFreeProduct(product)\" :aria-label=\"'Remove ' + product.title +  ' ' + (product.chosen_variant?.title)\">\n                    <rebuy-icon name=\"x\"><\/rebuy-icon>\n                <\/button>\n            <\/div>\n        <\/div>\n    <\/div>\n    <\/div>\n<\/div>\n    <div data-rebuy-cart-scroll-area=\"\">\n      <div data-rebuy-cart-anchor=\"body\">\n<div data-rebuy-component=\"cart-items\" data-rebuy-component-id=\"cart_items\">\n  <ul v-if=\"hasItems()\" data-smartcart-items=\"\" tabindex=\"0\" role=\"list\">\n    <li class=\"rebuy-cart__flyout-item\" v-for=\"item in items()\" v-if=\"!isHiddenItem(item)\" :key=\"item.key\" v-bind:class=\"[ 'product-' + item.handle, itemProductTagsClasses(item), itemPropertyClasses(item) ]\" aria-label=\"product\" role=\"listitem\">\n      <div class=\"rebuy-cart__flyout-item-media\">\n        <a v-bind:aria-disabled=\"!isItemClickable(item)\" v-bind:aria-label=\"itemLinkLabel(item)\" v-bind:class=\"[{ 'click-disabled': !isItemClickable(item) }]\" v-bind:href=\"isItemClickable(item) ? itemURL(item) : null\">\n          <img v-bind:src=\"sizeImage(item.image, '240x240')\" v-bind:alt=\"itemImageAlt(item)\">\n        <\/a>\n      <\/div>\n\n      <div class=\"rebuy-cart__flyout-item-info\">\n        <a role=\"heading\" aria-level=\"5\" v-bind:aria-disabled=\"!isItemClickable(item)\" v-bind:class=\"[\n            'rebuy-cart__flyout-item-product-title',\n            { 'click-disabled': !isItemClickable(item) }\n          ]\" v-bind:href=\"isItemClickable(item) ? itemURL(item) : null\" v-html=\"item.product_title\" v-bind:tabindex=\"isItemClickable(item) ? 0 : -1\"><\/a>\n\n        <div class=\"rebuy-cart__flyout-item-variant-title\" v-html=\"item.variant_title\" v-if=\"item.variant_title\"><\/div>\n\n        <div class=\"rebuy-cart__flyout-item-discount-message\" v-if=\"hasLineItemDiscount(item)\" v-html=\"lineItemDiscountMessage(item)\"><\/div>\n\n        <div class=\"rebuy-cart__flyout-item-properties\" v-if=\"hasItemProperties(item)\">\n          <div class=\"rebuy-cart__flyout-item-property rebuy-cart__flyout-item-property--delivery-frequency\" v-if=\"itemDeliveryFrequency(item)\" v-html=\"itemDeliveryFrequency(item)\"><\/div>\n          <div class=\"rebuy-cart__flyout-item-property\" v-for=\"property in itemProperties(item)\" v-bind:class=\"[ itemPropertyKeyClass(property), itemPropertyValueClass(property) ]\">\n            <span class=\"rebuy-cart__flyout-item-property-name\" v-html=\"property.key\"><\/span>\n            <span class=\"rebuy-cart__flyout-item-property-separator\">\n              :\n            <\/span>\n            <span class=\"rebuy-cart__flyout-item-property-value\" v-html=\"property.value\"><\/span>\n          <\/div>\n        <\/div>\n\n        <button class=\"rebuy-cart__flyout-item-remove\" type=\"button\" v-bind:aria-label=\"'Remove ' + item.product_title\" v-on:click=\"removeItem(item)\">\n          <rebuy-icon v-bind:name=\"(item.status == 'removing') ? 'refresh-cw' : 'trash'\" v-bind:fast-spin=\"item.status == 'removing'\"><\/rebuy-icon>\n        <\/button>\n\n        <div class=\"rebuy-cart__flyout-item-quantity\">\n          <div class=\"rebuy-cart__flyout-item-quantity-widget\" v-if=\"hideQuantitySelectors && !hideQuantitySelectors(item)\">\n            <button class=\"rebuy-cart__flyout-item-quantity-widget-button\" v-bind:aria-label=\"'Decrease quantity of ' + item.product_title\" v-on:click=\"decreaseItem(item)\" v-bind:disabled=\"!isQuantityEnabled(item)\" type=\"button\">\n              <rebuy-icon v-bind:name=\"(item.status == 'decreasing') ? 'refresh-cw' : 'minus'\" v-bind:fast-spin=\"item.status == 'decreasing'\"><\/rebuy-icon>\n            <\/button>\n\n            <input type=\"number\"\n                   class=\"rebuy-cart__flyout-item-quantity-widget-input\"\n                   :value=\"item.quantity\"\n                   min=\"1\"\n                   :aria-label=\"'Quantity of ' + item.product_title\"\n                   @change=\"updateItemQuantity(item, $event.target.value)\"\n            >\n            <button class=\"rebuy-cart__flyout-item-quantity-widget-button\" v-bind:aria-label=\"'Increase quantity of ' + item.product_title\" v-on:click=\"increaseItem(item)\" v-bind:disabled=\"!isQuantityEnabled(item)\" type=\"button\">\n              <rebuy-icon v-bind:name=\"(item.status == 'increasing') ? 'refresh-cw' : 'plus'\" v-bind:fast-spin=\"item.status == 'increasing'\"><\/rebuy-icon>\n            <\/button>\n          <\/div>\n        <\/div>\n\n        <div class=\"rebuy-cart__flyout-item-price\">\n          <div v-if=\"itemHasDiscount(item)\">\n            <span class=\"rebuy-money sale\">\n              <span class=\"sr-only\">Sale price<\/span>\n              <span v-html=\"formatMoney(itemPrice(item))\"><\/span>\n            <\/span>\n            <span class=\"rebuy-money compare-at\">\n              <span class=\"sr-only\">Original price<\/span>\n              <span v-html=\"formatMoney(compareAtPrice(item))\"><\/span>\n            <\/span>\n          <\/div>\n          <div v-if=\"!itemHasDiscount(item)\">\n            <span class=\"rebuy-money\">\n              <span class=\"sr-only\">Price<\/span>\n              <span v-html=\"formatMoney(itemPrice(item))\"><\/span>\n            <\/span>\n          <\/div>\n        <\/div>\n\n        <div class=\"rebuy-cart__flyout-item-bundle\" v-if=\"itemIsBundle(item) && !hideBundleOptions(item)\">\n\n          <button v-if=\"itemBundleLength(item) > 0\" class=\"rebuy-cart__flyout-item-bundle-toggle-button\" v-on:click=\"toggleActiveBundle(item)\" type=\"button\" v-bind:aria-label=\"(isBundleVisible(item) ? 'Collapse' : 'Expand') + ' bundle of ' + item.product_title\">\n            {{ isBundleVisible(item) ? 'Hide' : 'Show' }}\n            <span v-html=\"itemBundleLength(item)\"><\/span>\n            items\n            <span class=\"rebuy-cart__flyout-bundle-chev-icon\">\n              <rebuy-icon v-bind:name=\"isBundleVisible(item) ? 'chevron-up' : 'chevron-down'\"><\/rebuy-icon>\n            <\/span>\n          <\/button>\n\n          <ul class=\"rebuy-cart__flyout-item-bundle-children\" v-if=\"itemBundleLength(item) > 0 && isBundleVisible(item)\" tabindex=\"0\">\n            <li class=\"rebuy-cart__flyout-item-bundle-child\" v-for=\"(option, index) in item.options_with_values\">\n              <div class=\"rebuy-cart__flyout-item-bundle-child-left\">\n                <div class=\"rebuy-cart__flyout-item-bundle-image-container\">\n                  <img v-bind:src=\"getBundleOptionImage(item.product, option, index)\" v-bind:alt=\"childBundleTitle(option)\" class=\"rebuy-cart__flyout-item-bundle-image\">\n                <\/div>\n              <\/div>\n\n              <div class=\"rebuy-cart__flyout-item-bundle-child-right\">\n                <h5 v-html=\"childBundleTitle(option)\" class=\"rebuy-cart__flyout-item-bundle-title\"><\/h5>\n                <p v-html=\"option.value\" class=\"rebuy-cart__flyout-item-bundle-value\"><\/p>\n              <\/div>\n            <\/li>\n          <\/ul>\n        <\/div>\n        <div v-if=\"displayNestedItems(item)\" class=\"rebuy-cart__flyout-item-nested-items\">\n          <button v-if=\"nestedCartItemsDropdownEnabled()\" class=\"rebuy-cart__flyout-item-nested-items-toggle-button\" v-on:click=\"toggleNestedItemsDropdown(item)\" type=\"button\" v-bind:aria-label=\"nestedItemsAriaLabel(item)\">\n            <span v-html=\"nestedButtonLabel(item)\"><\/span>\n          <\/button>\n\n          <ul v-bind:class=\"[\n              'rebuy-cart__flyout-item-nested-items-list',\n              nestedItemsListClasses(item)\n            ]\">\n            <li class=\"rebuy-cart__flyout-item\" v-for=\"childItem in item.children\" v-if=\"!isHiddenItem(childItem)\" :key=\"childItem.key\" v-bind:class=\"[ 'product-' + childItem.handle, itemProductTagsClasses(childItem), itemPropertyClasses(childItem) ]\" aria-label=\"product\" role=\"listitem\">\n            <div class=\"rebuy-cart__flyout-item-media-nested\">\n              <a v-bind:href=\"itemURL(childItem)\" v-bind:aria-label=\"itemLinkLabel(childItem)\">\n                <img v-bind:src=\"sizeImage(childItem.image, '240x240')\" v-bind:alt=\"itemImageAlt(childItem)\">\n              <\/a>\n            <\/div>\n\n            <div class=\"rebuy-cart__flyout-item-info\">\n              <a role=\"heading\" aria-level=\"5\" class=\"rebuy-cart__flyout-item-product-title\" v-bind:href=\"itemURL(childItem)\" v-html=\"childItem.product_title\"><\/a>\n\n              <div class=\"rebuy-cart__flyout-item-variant-title\" v-html=\"childItem.variant_title\" v-if=\"childItem.variant_title\"><\/div>\n\n              <div class=\"rebuy-cart__flyout-item-discount-message\" v-if=\"hasLineItemDiscount(childItem)\" v-html=\"lineItemDiscountMessage(childItem)\"><\/div>\n\n              <div class=\"rebuy-cart__flyout-item-properties\" v-if=\"hasItemProperties(childItem)\">\n                <div class=\"rebuy-cart__flyout-item-property rebuy-cart__flyout-item-property--delivery-frequency\" v-if=\"itemDeliveryFrequency(childItem)\" v-html=\"itemDeliveryFrequency(childItem)\"><\/div>\n                <div class=\"rebuy-cart__flyout-item-property\" v-for=\"property in itemProperties(childItem)\" v-bind:class=\"[ itemPropertyKeyClass(property), itemPropertyValueClass(property) ]\">\n                  <span class=\"rebuy-cart__flyout-item-property-name\" v-html=\"property.key\"><\/span>\n                  <span class=\"rebuy-cart__flyout-item-property-separator\">\n                    :\n                  <\/span>\n                  <span class=\"rebuy-cart__flyout-item-property-value\" v-html=\"property.value\"><\/span>\n                <\/div>\n              <\/div>\n\n              <button class=\"rebuy-cart__flyout-item-remove\" type=\"button\" v-bind:aria-label=\"'Remove ' + childItem.product_title\" v-on:click=\"removeItem(childItem)\">\n                <rebuy-icon v-bind:name=\"(childItem.status == 'removing') ? 'refresh-cw' : 'trash'\" v-bind:fast-spin=\"childItem.status == 'removing'\"><\/rebuy-icon>\n              <\/button>\n\n              <div class=\"rebuy-cart__flyout-item-quantity\">\n                <div class=\"rebuy-cart__flyout-item-quantity-widget\" v-if=\"hideQuantitySelectors && !hideQuantitySelectors(childItem)\">\n                  <button class=\"rebuy-cart__flyout-item-quantity-widget-button\" v-bind:aria-label=\"'Decrease quantity of ' + childItem.product_title\" v-on:click=\"decreaseItem(childItem)\" v-bind:disabled=\"!isQuantityEnabled(childItem)\" type=\"button\">\n                    <rebuy-icon v-bind:name=\"(childItem.status == 'decreasing') ? 'refresh-cw' : 'minus'\" v-bind:fast-spin=\"childItem.status == 'decreasing'\"><\/rebuy-icon>\n                  <\/button>\n\n                  <input type=\"number\"\n                         class=\"rebuy-cart__flyout-item-quantity-widget-input\"\n                         :value=\"childItem.quantity\"\n                         min=\"1\"\n                         :aria-label=\"'Quantity of ' + childItem.product_title\"\n                         @change=\"updateItemQuantity(childItem, $event.target.value)\"\n                  >\n                  <button class=\"rebuy-cart__flyout-item-quantity-widget-button\" v-bind:aria-label=\"'Increase quantity of ' + childItem.product_title\" v-on:click=\"increaseItem(childItem)\" v-bind:disabled=\"!isQuantityEnabled(childItem)\" type=\"button\">\n                    <rebuy-icon v-bind:name=\"(childItem.status == 'increasing') ? 'refresh-cw' : 'plus'\" v-bind:fast-spin=\"childItem.status == 'increasing'\"><\/rebuy-icon>\n                  <\/button>\n                <\/div>\n              <\/div>\n\n              <div class=\"rebuy-cart__flyout-item-price\">\n                <div v-if=\"itemHasDiscount(childItem)\">\n                  <span class=\"rebuy-money sale\">\n                    <span class=\"sr-only\">Sale price<\/span>\n                    <span v-html=\"formatMoney(itemPrice(childItem))\"><\/span>\n                  <\/span>\n                  <span class=\"rebuy-money compare-at\">\n                    <span class=\"sr-only\">Original price<\/span>\n                    <span v-html=\"formatMoney(compareAtPrice(childItem))\"><\/span>\n                  <\/span>\n                <\/div>\n                <div v-if=\"!itemHasDiscount(childItem)\">\n                  <span class=\"rebuy-money\">\n                    <span class=\"sr-only\">Price<\/span>\n                    <span v-html=\"formatMoney(itemPrice(childItem))\"><\/span>\n                  <\/span>\n                <\/div>\n              <\/div>\n            <\/div>\n            <\/li>\n          <\/ul>\n        <\/div>\n        <\/div>\n      <div v-if=\"itemHasBMSM(item) && bMSMFinalTierNotReached(item)\" class=\"rebuy-cart__flyout-item-buy-more-save-more\">\n        <div v-if=\"hasBMSMButtons()\" class=\"rebuy-cart__flyout-item-buy-more-save-more-container\">\n          <div v-for=\"tier in getBMSMTiers()\" class=\"rebuy-cart__flyout-item-buy-more-save-more-button-container\" v-if=\"tier.quantity > item.quantity\">\n            <button v-on:click=\"adjustBMSMQuantity(item, tier)\" class=\"rebuy-button rebuy-cart__flyout-item-buy-more-save-more-button\" v-bind:aria-label=\"getBMSMButtonText(tier)\">\n              <span v-html=\"getBMSMButtonText(tier)\"><\/span>\n            <\/button>\n          <\/div>\n        <\/div>\n\n        <span v-if=\"!hasBMSMButtons()\" class=\"rebuy-cart__flyout-buy-more-save-more-dynamic-message-text\" v-html=\"buyMoreSaveMoreDynamicText(item)\"><\/span>\n      <\/div>\n      <div class=\"rebuy-cart__flyout-item-subscription\" v-if=\"hasSwitchToSubscription(item)\">\n        <button class=\"rebuy-button outline\" v-if=\"!item.product.subscription || item.status == 'downgrading' || item.status == 'upgrading'\" v-bind:aria-label=\"'Switch ' + item.product_title + ' to a Subscription'\" v-bind:disabled=\"(item.status == 'downgrading' || item.status == 'upgrading')\" v-on:click=\"updateItemDeliveryFrequency(item, selectedSubscriptionFrequency(item, 0), 'onetime')\" type=\"button\">\n          <span v-html=\"switchToSubscriptionLabel(item)\"><\/span>\n        <\/button>\n\n        <select class=\"rebuy-select muted\" aria-label=\"Subscription delivery frequency\" v-if=\"item.product.subscription && item.status != 'downgrading'\" v-model=\"item.product.subscription_frequency\" v-on:change=\"updateItemDeliveryFrequency(item)\">\n          <optgroup v-if=\"!item.product.is_subscription_only && !subscriptionDowngradeDisabled()\" v-bind:label=\"getSwitchToSubscriptionLabel('onetime_option_group_label')\">\n            <option v-bind:value=\"'onetime'\" v-html=\"getSwitchToSubscriptionLabel('onetime_option_label')\"><\/option>\n          <\/optgroup>\n          <optgroup v-bind:label=\"subscriptionOptionGroupLabel(item)\">\n            <option v-for=\"frequency in subscriptionFrequencies(item)\" v-bind:value=\"frequency\" v-html=\"subscriptionOptionLabel(item, frequency, item.product.subscription_interval)\"><\/option>\n          <\/optgroup>\n        <\/select>\n      <\/div>\n      <\/li>\n  <\/ul>\n\n  <div class=\"rebuy-cart__flyout-empty-cart\" v-html=\"emptyCartMarkup()\" v-if=\"!hasItems()\"><\/div>\n\n<\/div><\/div>\n    <\/div>\n    <div data-rebuy-cart-anchor=\"footer\"><div v-if=\"hasItems()\" data-rebuy-component=\"cart-subtotal\" data-rebuy-component-id=\"cart_subtotal\">\n    <div v-if=\"!shouldShowDiscountSummary()\" class=\"rebuy-cart__flyout-subtotal\">\n        <div class=\"rebuy-cart__flyout-subtotal-label\">\n            <span v-html=\"subtotalLabel()\"><\/span>\n        <\/div>\n        <div class=\"rebuy-cart__flyout-subtotal-amount\">\n            <span class=\"sr-only\">Cart subtotal<\/span>\n            <span v-html=\"subtotal()\"><\/span>\n        <\/div>\n    <\/div>\n\n    <div v-else=\"\" class=\"rebuy-cart__subtotal-with-discounts\">\n        <div class=\"rebuy-cart__subtotal-with-discounts-row\">\n            <div class=\"rebuy-cart__subtotal-with-discounts-row-label\">\n                <span v-html=\"subtotalLabel()\"><\/span>\n            <\/div>\n            <div class=\"rebuy-cart__subtotal-with-discounts-row-amount\">\n                <span class=\"sr-only\">Cart subtotal<\/span>\n                <span v-html=\"subtotal()\"><\/span>\n            <\/div>\n        <\/div>\n\n        <div class=\"rebuy-cart__discount-summary\" :class=\"{ 'is-expanded': isDiscountSummaryExpanded() }\">\n            <button class=\"rebuy-cart__discount-summary-header\" @click=\"toggleDiscountSummary()\" :aria-expanded=\"isDiscountSummaryExpanded()\" aria-controls=\"discount-summary-details\">\n                <span v-html=\"getDiscountSummaryCountLabel()\"><\/span>\n                <span class=\"rebuy-cart__discount-summary-icon\" aria-hidden=\"true\">\n                    <rebuy-icon name=\"chevron-down\"><\/rebuy-icon>\n                <\/span>\n            <\/button>\n\n            <div id=\"discount-summary-details\" class=\"rebuy-cart__discount-summary-details\" role=\"region\" :aria-hidden=\"!isDiscountSummaryExpanded()\">\n                <div v-for=\"discount in getDiscountSummaryItems()\" class=\"rebuy-cart__discount-summary-item\">\n                    <span v-html=\"discount.title\"><\/span>\n                    <span v-html=\"discount.amount\"><\/span>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<div v-if=\"isDiscountInputEnabled()\" v-show=\"hasItems()\" data-rebuy-component=\"discount-input\" data-rebuy-component-id=\"discount_code\" class=\"rebuy-cart__discount-container\" :class=\"{ 'use-storefront-calculations': useStorefrontCalculations() }\">\n    <form class=\"rebuy-cart__discount-form\" v-if=\"shouldShowDiscountInput() && shouldAllowGiftCardInput()\" v-on:submit.prevent=\"applyDiscount(null, $event)\">\n        <div class=\"rebuy-cart__discount-input-with-toggle\">\n            <div class=\"rebuy-cart__discount-toggle-container\">\n                <button type=\"button\" class=\"rebuy-cart__discount-toggle\" :class=\"{ 'active': !getGiftCardInputEnabled() }\" v-on:click=\"setDiscountMode()\" title=\"Switch to Discount Code Input\">\n                    <rebuy-icon name=\"tag\"><\/rebuy-icon>\n                <\/button>\n                <button type=\"button\" class=\"rebuy-cart__discount-toggle\" :class=\"{ 'active': getGiftCardInputEnabled() }\" v-on:click=\"setGiftCardMode()\" title=\"Switch to Gift Card Input\">\n                    <rebuy-icon name=\"gift\"><\/rebuy-icon>\n                <\/button>\n            <\/div>\n            <div class=\"rebuy-input-wrapper\">\n                <input class=\"rebuy-input\" v-model=\"discountInputValue\" v-bind:placeholder=\"getDiscountCodeLabel()\" v-bind:disabled=\"isDiscountLoading()\" id=\"rebuy-cart__discount-input\" aria-label=\"Input Discount\" autocomplete=\"\">\n            <\/div>\n        <\/div>\n        <button type=\"submit\" class=\"rebuy-button\" v-bind:disabled=\"isDiscountLoading()\">\n            <span v-html=\"getDiscountButtonLabel()\"><\/span>\n        <\/button>\n    <\/form>\n\n    <form class=\"rebuy-cart__discount-form\" v-if=\"shouldShowDiscountInput() && !shouldAllowGiftCardInput()\" v-on:submit.prevent=\"applyDiscount(null, $event)\">\n        <div class=\"rebuy-input-wrapper rebuy-input-wrapper--floating-label\" :class=\"{ 'show-label': !!discountInputValue }\">\n            <span class=\"rebuy-input-label\" v-html=\"getDiscountCodeLabel()\"><\/span>\n            <input class=\"rebuy-input\" v-model=\"discountInputValue\" v-bind:placeholder=\"getDiscountCodeLabel()\" v-bind:disabled=\"isDiscountLoading()\" id=\"rebuy-cart__discount-input\" aria-label=\"Input Discount\" autocomplete=\"\">\n        <\/div>\n        <button type=\"submit\" class=\"rebuy-button\" v-bind:disabled=\"isDiscountLoading()\">\n            <span v-html=\"getDiscountButtonLabel()\"><\/span>\n        <\/button>\n    <\/form>\n\n\n    <div v-if=\"hasDiscountError()\" v-html=\"getDiscountErrorMessage()\" class=\"rebuy-cart__discount-error-message\"><\/div>\n\n    <div class=\"rebuy-cart__discount-tags\" v-if=\"shouldShowDiscountTags()\">\n        <div v-for=\"code in getAppliedDiscountCodes()\" :key=\"code\" class=\"rebuy-cart__discount-tag\">\n            <span class=\"rebuy-cart__discount-tag-icon\">\n                <rebuy-icon :name=\"isGiftCard(code) ? 'gift' : 'tag'\"><\/rebuy-icon>\n            <\/span>\n            <span class=\"rebuy-cart__discount-tag-text\" v-html=\"code\"><\/span>\n            <span class=\"rebuy-cart__discount-tag-remove\" v-on:click=\"removeDiscount(code)\">\n                <rebuy-icon name=\"x\"><\/rebuy-icon>\n            <\/span>\n        <\/div>\n    <\/div>\n\n    <div class=\"rebuy-cart__discount-amount\" v-if=\"shouldShowDiscountSubtotal()\">\n        <span v-html=\"discountTotal()\"><\/span>\n    <\/div>\n<\/div>\n\n<div v-show=\"hasItems()\" data-rebuy-component=\"checkout-area\" data-rebuy-component-id=\"checkout\">\n\n\n<div class=\"rebuy-cart__flyout-terms\" v-if=\"hasTermsEnabled()\">\n  <input class=\"rebuy-cart__flyout-terms-checkbox rebuy-checkbox\" id=\"rebuy-terms-checkbox\" name=\"rebuy-terms-checkbox\" type=\"checkbox\" v-model=\"termsAccepted\" v-on:click=\"updateTermsCheck()\">\n  <label class=\"rebuy-cart__flyout-terms-label\" for=\"rebuy-terms-checkbox\" v-html=\"getCheckoutSettings().language.terms_and_conditions_label\"><\/label>\n<\/div>\n\n\n<button v-show=\"hasCheckoutButton()\" class=\"rebuy-button rebuy-cart__checkout-button block\" type=\"button\" v-on:click=\"checkout()\" v-bind:disabled=\"hasTermsEnabled() && !hasAcceptedTerms()\">\n  <span v-html=\"checkoutLabel()\"><\/span>\n<\/button>\n\n\n<button v-if=\"hasViewCartButton()\" class=\"rebuy-button rebuy-cart__view-cart-button block\" v-bind:class=\"{'outline': hasCheckoutButton()}\" type=\"button\" v-on:click=\"viewCart()\">\n  <span v-html=\"viewCartLabel()\"><\/span>\n<\/button>\n\n\n<button v-if=\"hasContinueShoppingButton()\" class=\"rebuy-button rebuy-cart__continue-shopping-button block outline\" type=\"button\" v-on:click=\"hide()\">\n  <span v-html=\"continueShoppingLabel()\"><\/span>\n<\/button>\n\n\n<button v-if=\"hasShopPayButton()\" class=\"rebuy-button rebuy-cart__shop-pay-button block\" v-on:click=\"shopPayCheckout()\" aria-label=\"Checkout with Shop Pay\" v-html=\"shopPaySvg\">\n<\/button>\n\n<div data-rebuy-cart-additional-checkout-buttons=\"\"><\/div>\n\n<div class=\"rebuy-cart__flyout-installments\" v-html=\"installmentsMessage()\"><\/div>\n\n<div v-if=\"hasPrePurchase()\" :data-rebuy-id=\"prePurchaseWidgetId()\"><\/div>\n\n<\/div>\n\n<div data-rebuy-component=\"cross-sell-widget\" data-rebuy-component-id=\"4b93f05f-53a2-4b78-b498-61f2dea7203c\">\n    <div :data-rebuy-id=\"getWidgetIdByComponentId('4b93f05f-53a2-4b78-b498-61f2dea7203c')\"><\/div>\n<\/div>\n<\/div>\n  <\/div>\n\n\n  <div class=\"rebuy-cart__background\" v-on:click=\"hide()\"><\/div>\n  <div id=\"rebuy-cart-live-region\" class=\"sr-only\" aria-live=\"polite\"><\/div>\n<\/div>","selectors":{"item_count":".cart-count","cart_subtotal":".cart-subtotal"},"callbacks":{"hide":{"enabled":true,"function":"\/* Closes hidden native theme cart *\/\ndocument.querySelector('.wt-cart__drawer__close--button').click();"},"init":{"enabled":false,"function":""},"show":{"enabled":true,"function":"\/* Closes hidden native theme cart *\/\nif (screen.width < 1200) {\n    setTimeout(() => {\n        document.querySelector(\".wt-cart__drawer__close--button\").click();\n    }, 200);\n}"},"ready":{"enabled":true,"function":"\/* =========================================================\n  REBUY SMART CART: MASTER SCRIPT (FULL VERSION — PATCHED)\n  Features: Toast, Dynamic Bundles, Qty Sum, Fixed Price, Single-SKU Support,\n  Keep Cart Open, Sync Safety (Prevents Item Swapping)\n  \n  PATCH NOTES:\n  - Fixed the DOM-index\/data-index mismatch that caused item swapping\n  - Now matches DOM elements to cart data by variant_id + title text\n  - All existing features (toast, widget titles, price formatting, \n    qty badges, sort order, bundle removal) are preserved exactly\n  - Free gift pinned to top, locked, with badge\n  ========================================================= *\/\n\n\/* --- PART 1: SETUP & STYLES (Runs Immediately) --- *\/\n(function() {\n   \/\/ A. Inject Toast CSS\n   if (!document.getElementById('rebuy-toast-styles')) {\n       const s = document.createElement('style');\n       s.id = 'rebuy-toast-styles';\n       s.innerHTML = `\n           #rebuy-custom-toast {\n               visibility: hidden; min-width: 280px; max-width: 90vw; background-color: #333; color: #fff; text-align: center;\n               border-radius: 4px; padding: 16px; position: fixed; z-index: 2147483647; left: 50%; bottom: 30px;\n               transform: translateX(-50%); font-family: inherit; box-shadow: 0px 4px 10px rgba(0,0,0,0.2);\n               opacity: 0; transition: opacity 0.5s, bottom 0.5s; font-size: 14px; line-height: 1.5; pointer-events: none;\n           }\n           #rebuy-custom-toast.show { visibility: visible; opacity: 1; bottom: 50px; pointer-events: auto; }\n           #rebuy-custom-toast a { color: #fff; text-decoration: underline; font-weight: bold; margin-left: 8px; cursor: pointer; }\n       `;\n       document.head.appendChild(s);\n   }\n\n   \/\/ B. Inject Bundle CSS\n   if (!document.getElementById('rebuy-bundle-styles')) {\n       const s = document.createElement('style');\n       s.id = 'rebuy-bundle-styles';\n       s.innerHTML = `\n           \/* Hide Quantity & Remove buttons only when item is locked *\/\n           .rebuy-bundle-locked .rebuy-cart__flyout-item-quantity-widget,\n           .rebuy-bundle-locked .rebuy-cart__flyout-item-quantity,\n           .rebuy-bundle-locked .rebuy-cart__flyout-item-remove {\n               display: none !important; opacity: 0 !important; pointer-events: none !important;\n           }\n           .my-bundle-header { width: 100%; }\n           \/* Bundle trash icon — match native Rebuy remove button *\/\n           .bundle-master-delete i {\n               color: #4982CF !important;\n               font-size: 14px !important;\n               line-height: 1 !important;\n               transition: all 0.2s ease;\n           }\n           .bundle-master-delete:hover i {\n               color: #8C817B !important;\n           }\n           .bundle-master-delete svg {\n               width: 14px !important; height: 14px !important;\n               stroke: #4982CF !important;\n               transition: all 0.2s ease;\n           }\n           .bundle-master-delete:hover svg {\n               stroke: #8C817B !important;\n           }\n           .bundle-qty-indicator { font-weight: 700; color: #333; margin-left: 5px; }\n\n           \/* Free gift item — locked, always pinned to top *\/\n           .gf-free-gift-locked .rebuy-cart__flyout-item-remove,\n           .gf-free-gift-locked .rebuy-cart__flyout-item-quantity {\n               display: none !important; pointer-events: none !important;\n           }\n           .gf-free-gift-locked {\n               background-color: #fafafa !important;\n               border-left: 4px solid #333 !important;\n               margin-bottom: 0 !important;\n               border-bottom: 1px solid #eee !important;\n           }\n           .gf-free-gift-locked .rebuy-cart__flyout-item-price {\n               display: block !important; text-align: left !important;\n               width: 100% !important; margin: 4px 0 0 0 !important;\n               font-family: inherit !important;\n           }\n           .gf-free-gift-locked .rebuy-cart__flyout-item-property {\n               display: none !important;\n           }\n           .gf-free-gift-badge {\n               display: inline-block; background: #8C817B; color: #fff; font-size: 9px;\n               font-weight: 700; letter-spacing: 1px; text-transform: uppercase;\n               padding: 2px 8px; border-radius: 3px; margin-top: 4px;\n           }\n       `;\n       document.head.appendChild(s);\n   }\n\n   \/\/ C. Create Toast Element\n   if (!document.getElementById('rebuy-custom-toast')) {\n       const d = document.createElement('div');\n       d.id = 'rebuy-custom-toast';\n       document.body.appendChild(d);\n   }\n  \n   \/\/ D. Config: Stop Auto-Open\n   if (window.Rebuy && window.Rebuy.SmartCart) window.Rebuy.SmartCart.skip_open = true;\n})();\n\n\n\/* --- PART 2: TOAST LOGIC --- *\/\nfunction showRebuyToast(productName) {\n   const toast = document.getElementById(\"rebuy-custom-toast\");\n   if (!toast) return;\n\n   toast.innerHTML = `<span>${productName} added to cart!<\/span><a id=\"rebuy-toast-link\" href=\"#\">Go to Cart<\/a>`;\n  \n   const link = toast.querySelector('#rebuy-toast-link');\n   if(link) {\n       link.onclick = function(e) {\n           e.preventDefault();\n           if(window.Rebuy && window.Rebuy.SmartCart) window.Rebuy.SmartCart.show();\n           else window.location.href = '\/cart';\n           toast.classList.remove(\"show\");\n       };\n   }\n   toast.classList.add(\"show\");\n   setTimeout(() => toast.classList.remove(\"show\"), 4000);\n}\n\ndocument.addEventListener('rebuy:cart.add', function(event) {\n   if (document.querySelector('.rebuy-cart.is-visible')) return;\n\n   let finalName = 'Item';\n   const product = event.detail.product || (event.detail.item ? event.detail.item : null);\n\n   if (product) {\n       const title = product.product_title || product.title || 'Item';\n       const variant = product.variant_title || '';\n       if (variant && variant !== 'Default Title') {\n           finalName = title.toLowerCase().includes(variant.toLowerCase()) ? title : `${title} - ${variant}`;\n       } else {\n           finalName = title;\n       }\n   }\n   showRebuyToast(finalName);\n});\n\n\n\/* --- PART 3: BUNDLER LOGIC (PATCHED — Identity-Based Matching) --- *\/\n\ndocument.addEventListener('rebuy:cart.change', function(event) {\n   \/\/ Wait slightly longer to ensure DOM is ready\n   setTimeout(() => attemptGrouping(0), 300);\n});\ndocument.addEventListener('rebuy:smartcart.ready', function(event) {\n   setTimeout(() => attemptGrouping(0), 300);\n});\n\n\/**\n * PATCH: Match a DOM element to a cart data item by identity (not index).\n *\n * Rebuy re-renders the DOM in an unpredictable order. The old code assumed\n * cartItemsData[i] === domItems[i], which caused the swap glitch.\n *\n * This function builds a reliable mapping by checking variant_id first,\n * then disambiguating by product title when multiple items share a variant.\n *\/\nfunction buildDomToDataMap(cartItemsData, domItems) {\n    \/\/ Map: domIndex -> dataIndex\n    var map = {};\n    \/\/ Track which data items have already been claimed\n    var claimed = new Set();\n\n    \/\/ For each DOM item, find its matching cart data item\n    for (var d = 0; d < domItems.length; d++) {\n        var el = domItems[d];\n        var bestMatch = -1;\n        var bestScore = -1;\n\n        \/\/ Extract identifying info from the DOM element\n        var domTitle = '';\n        var titleEl = el.querySelector('.rebuy-cart__flyout-item-product-title');\n        if (titleEl) domTitle = titleEl.textContent.trim().toLowerCase();\n\n        var domVariant = '';\n        var variantEl = el.querySelector('.rebuy-cart__flyout-item-variant-title');\n        if (variantEl) domVariant = variantEl.textContent.trim().toLowerCase();\n\n        var domImage = '';\n        var imgEl = el.querySelector('.rebuy-cart__flyout-item-media img');\n        if (imgEl) domImage = imgEl.src || '';\n\n        for (var c = 0; c < cartItemsData.length; c++) {\n            if (claimed.has(c)) continue;\n\n            var item = cartItemsData[c];\n            var score = 0;\n\n            \/\/ Check title match\n            var dataTitle = (item.product_title || item.title || '').toLowerCase();\n            if (domTitle && dataTitle && domTitle === dataTitle) {\n                score += 10;\n            } else if (domTitle && dataTitle && (domTitle.includes(dataTitle) || dataTitle.includes(domTitle))) {\n                score += 5;\n            }\n\n            \/\/ Check variant match\n            var dataVariant = (item.variant_title || '').toLowerCase();\n            if (domVariant && dataVariant && domVariant === dataVariant) {\n                score += 3;\n            }\n\n            \/\/ Check image URL match (Shopify variant images contain the variant ID)\n            if (domImage && item.image) {\n                var dataImage = item.image || '';\n                \/\/ Compare the filename portion\n                var domFile = domImage.split('\/').pop().split('?')[0];\n                var dataFile = dataImage.split('\/').pop().split('?')[0];\n                if (domFile && dataFile && domFile === dataFile) {\n                    score += 7;\n                }\n            }\n\n            if (score > bestScore) {\n                bestScore = score;\n                bestMatch = c;\n            }\n        }\n\n        if (bestMatch >= 0 && bestScore > 0) {\n            map[d] = bestMatch;\n            claimed.add(bestMatch);\n        }\n    }\n\n    \/\/ Fallback: assign any unclaimed items by remaining order\n    var unclaimedDom = [];\n    var unclaimedData = [];\n    for (var d = 0; d < domItems.length; d++) {\n        if (!(d in map)) unclaimedDom.push(d);\n    }\n    for (var c = 0; c < cartItemsData.length; c++) {\n        if (!claimed.has(c)) unclaimedData.push(c);\n    }\n    for (var i = 0; i < Math.min(unclaimedDom.length, unclaimedData.length); i++) {\n        map[unclaimedDom[i]] = unclaimedData[i];\n    }\n\n    return map;\n}\n\nfunction attemptGrouping(retryCount) {\n   if (!Rebuy.SmartCart || !Rebuy.SmartCart.cart) return;\n\n   var cartItemsData = Rebuy.SmartCart.cart.items;\n   var domItems = document.querySelectorAll('.rebuy-cart__flyout-item');\n\n   \/\/ [SAFETY CHECK] Sync Validation\n   if (cartItemsData.length !== domItems.length) {\n       if (retryCount < 10) {\n           setTimeout(function() { attemptGrouping(retryCount + 1); }, 100);\n       }\n       return;\n   }\n  \n   if (domItems.length === 0) return;\n\n   \/\/ =================================================================\n   \/\/ PATCH: Build identity-based mapping (DOM index -> data index)\n   \/\/ This replaces the assumption that domItems[i] === cartItemsData[i]\n   \/\/ =================================================================\n   var domToData = buildDomToDataMap(cartItemsData, domItems);\n   \/\/ Reverse map: data index -> dom index\n   var dataToDom = {};\n   Object.keys(domToData).forEach(function(dIdx) {\n       dataToDom[domToData[dIdx]] = parseInt(dIdx);\n   });\n   \/\/ =================================================================\n\n   \/\/ CONFIG: MAP YOUR WIDGET IDs TO TITLES\n   var widgetTitleMap = {\n       \"268428\": \"Loose Leaf Tea Starter Kit\",\n       \"250148\": \"Four Tea & Four Coffee Bundle\",\n       \"250141\": \"Six Coffee Bundle\",            \n       \"249680\": \"Build Your Own Bundle\",\n       \"249437\": \"Two Tea & Two Coffee Bundle\"   \n   };\n\n   \/\/ 1. CLEAN SLATE (Aggressive Reset)\n   document.querySelectorAll('.my-bundle-header').forEach(function(h) { h.remove(); });\n\n   domItems.forEach(function(el) {\n       \/\/ Reset Container\n       el.style.backgroundColor = '';\n       el.style.borderLeft = '';     \n       el.style.marginBottom = '';   \n       el.style.borderBottom = '';   \n       el.classList.remove('rebuy-bundle-locked');\n       el.classList.remove('gf-free-gift-locked');\n       var oldBadges = el.querySelectorAll('.gf-free-gift-badge');\n       oldBadges.forEach(function(b) { b.remove(); });\n      \n       \/\/ Reset Properties Visibility\n       var props = el.querySelectorAll('.rebuy-cart__flyout-item-property');\n       props.forEach(p => p.style.display = '');\n\n       \/\/ Reset Controls Visibility\n       var qtyWidget = el.querySelector('.rebuy-cart__flyout-item-quantity');\n       if (qtyWidget) qtyWidget.style.display = '';\n       var removeBtn = el.querySelector('.rebuy-cart__flyout-item-remove');\n       if (removeBtn) removeBtn.style.display = '';\n\n       \/\/ Reset Price Styles\n       var priceEl = el.querySelector('.rebuy-cart__flyout-item-price');\n       if (priceEl) {\n           priceEl.style.display = '';\n           priceEl.style.textAlign = '';\n           priceEl.style.margin = '';\n           priceEl.style.width = '';\n           priceEl.style.fontFamily = '';\n           priceEl.style.fontSize = '';\n           priceEl.style.fontWeight = '';\n           priceEl.style.color = '';\n       }\n      \n       \/\/ Remove old badges\n       var badges = el.querySelectorAll('.bundle-qty-indicator');\n       badges.forEach(b => b.remove());\n   });\n\n   \/\/ 2. GROUPING — uses DATA indices (unchanged)\n   var groups = {};\n   var groupWidgets = {};\n   var bundledDataIndices = new Set();\n\n   cartItemsData.forEach(function(item, dataIndex) {\n       if (item.properties && item.properties['_r_added_bundle_session_id']) {\n           var bundleID = item.properties['_r_added_bundle_session_id'];\n           var widgetID = item.properties['_widget_id'] || \"default\";\n\n           if (!groups[bundleID]) {\n               groups[bundleID] = [];\n               groupWidgets[bundleID] = widgetID;\n           }\n           groups[bundleID].push(dataIndex);\n           bundledDataIndices.add(dataIndex);\n       }\n   });\n\n   \/\/ 3. DRAW VISUALS — PATCHED: use dataToDom to get the correct DOM element\n   Object.keys(groups).forEach(function(id) {\n       var dataIndices = groups[id];\n       if (dataIndices.length === 0) return;\n\n       \/\/ PATCH: Convert first data index to DOM index\n       var firstDomIndex = dataToDom[dataIndices[0]];\n       var firstElement = (firstDomIndex !== undefined) ? domItems[firstDomIndex] : null;\n       if (!firstElement) return;\n\n       \/\/ TITLE LOOKUP\n       var thisWidgetID = groupWidgets[id];\n       var bundleTitle = widgetTitleMap[thisWidgetID] || \"Bundle Savings\";\n\n       \/\/ CALCULATE TOTAL QUANTITY SUM\n       var totalQty = 0;\n       dataIndices.forEach(function(idx) {\n           if(cartItemsData[idx]) totalQty += cartItemsData[idx].quantity;\n       });\n\n       \/\/ Header\n       var header = document.createElement('div');\n       header.className = 'my-bundle-header';\n       header.id = 'bundle-header-' + id;\n       header.innerHTML = `\n           <div style=\"background: #f4f4f4; padding: 10px 5px 10px 15px; font-weight: 700; border-bottom: 1px solid #e0e0e0; margin-top: 15px; border-radius: 4px 4px 0 0; display: flex; justify-content: space-between; align-items: flex-start;\">\n               <div style=\"display:flex; flex-direction:column;\">\n                   <span style=\"text-transform: uppercase; font-size: 11px; letter-spacing: 1px;\">${bundleTitle}<\/span>\n                   <span style=\"font-size: 10px; color: #666; font-weight: normal;\">${totalQty} Items<\/span>\n               <\/div>\n               <div class=\"bundle-master-delete\" style=\"cursor: pointer; padding: 0; width: 40px; display: flex; align-items: center; justify-content: center; transition: all 0.2s ease;\" title=\"Remove Bundle\"><\/div>\n           <\/div>\n       `;\n      \n       \/\/ Clone the actual Rebuy trash icon for a perfect visual match\n       var deleteBtn = header.querySelector('.bundle-master-delete');\n       var nativeRemoveBtn = document.querySelector('.rebuy-cart__flyout-item-remove');\n       if (nativeRemoveBtn) {\n           var nativeIcon = nativeRemoveBtn.querySelector('i, svg');\n           if (nativeIcon) {\n               var clonedIcon = nativeIcon.cloneNode(true);\n               \/\/ Strip any inline size so our CSS 14px !important wins\n               clonedIcon.style.fontSize = '';\n               clonedIcon.style.width = '';\n               clonedIcon.style.height = '';\n               clonedIcon.removeAttribute('width');\n               clonedIcon.removeAttribute('height');\n               deleteBtn.appendChild(clonedIcon);\n           } else {\n               deleteBtn.textContent = '\\u00d7';\n               deleteBtn.style.fontSize = '14px';\n               deleteBtn.style.color = '#4982CF';\n           }\n       } else {\n           deleteBtn.textContent = '\\u00d7';\n           deleteBtn.style.fontSize = '14px';\n           deleteBtn.style.color = '#4982CF';\n       }\n       deleteBtn.onclick = function() { removeBundleGroup(id); };\n\n       firstElement.parentNode.insertBefore(header, firstElement);\n\n       \/\/ Style Children — PATCHED: use dataToDom mapping\n       dataIndices.forEach(function(dataIndex) {\n           var domIndex = dataToDom[dataIndex];\n           var el = (domIndex !== undefined) ? domItems[domIndex] : null;\n           var itemData = cartItemsData[dataIndex];\n\n           if (el && itemData) {\n               \/\/ Style Box\n               el.style.backgroundColor = \"#fafafa\";\n               el.style.borderLeft = \"4px solid #333\";\n               el.style.marginBottom = \"0\";\n               el.style.borderBottom = \"1px solid #eee\";\n               el.classList.add('rebuy-bundle-locked');\n\n               \/\/ Hide Properties\n               var props = el.querySelectorAll('.rebuy-cart__flyout-item-property');\n               props.forEach(function(p) {\n                   if(p.innerText.includes('_r_added_bundle_session_id')) p.style.display = 'none';\n               });\n\n               \/\/ Manual Hide controls\n               var qtyWidget = el.querySelector('.rebuy-cart__flyout-item-quantity');\n               if (qtyWidget) qtyWidget.style.display = 'none';\n               var removeBtn = el.querySelector('.rebuy-cart__flyout-item-remove');\n               if (removeBtn) removeBtn.style.display = 'none';\n\n               \/\/ UPDATE PRICE TO SHOW LINE TOTAL\n               var priceEl = el.querySelector('.rebuy-cart__flyout-item-price');\n               if (priceEl) {\n                   \/\/ Force Layout\n                   priceEl.style.display = 'block';   \n                   priceEl.style.textAlign = 'left';  \n                   priceEl.style.width = '100%';      \n                   priceEl.style.margin = '4px 0 0 0';\n                   priceEl.style.position = 'static';\n                  \n                   \/\/ FORCE NATIVE FONT INHERITANCE\n                   priceEl.style.fontFamily = 'inherit';\n                   priceEl.style.fontSize = 'inherit';\n                   priceEl.style.lineHeight = 'inherit';\n\n                   if (itemData.quantity > 1) {\n                       var formatMoney = (window.Rebuy && window.Rebuy.util && window.Rebuy.util.formatMoney)\n                                         ? window.Rebuy.util.formatMoney\n                                         : function(c) { return '$' + (c\/100).toFixed(2); };\n\n                       var linePrice = itemData.final_line_price;\n                       var originalLinePrice = itemData.original_line_price;\n\n                       var priceHTML = '';\n                       if (originalLinePrice > linePrice) {\n                            \/\/ [FIXED] No Bold, Sale Price FIRST (Blue), Original Price SECOND (Strike)\n                            priceHTML += '<span class=\"sale\" style=\"color: #5489c6; font-family: inherit; font-size: inherit; margin-right: 8px;\">' + formatMoney(linePrice) + '<\/span>';\n                            priceHTML += '<span class=\"compare-at\" style=\"text-decoration: line-through; opacity: 0.6; font-family: inherit; font-size: inherit; color: #888;\">' + formatMoney(originalLinePrice) + '<\/span>';\n                       } else {\n                            \/\/ Standard Price\n                            priceHTML += '<span style=\"font-family: inherit; color: inherit; font-size: inherit;\">' + formatMoney(linePrice) + '<\/span>';\n                       }\n                       priceEl.innerHTML = priceHTML;\n                   }\n               }\n\n               \/\/ Show Quantity Indicator\n               if (itemData.quantity > 1) {\n                   var titleEl = el.querySelector('.rebuy-cart__flyout-item-product-title');\n                   if (titleEl && !titleEl.querySelector('.bundle-qty-indicator')) {\n                       var badge = document.createElement('span');\n                       badge.className = 'bundle-qty-indicator';\n                       badge.innerText = ' (x' + itemData.quantity + ')';\n                       titleEl.appendChild(badge);\n                   }\n               }\n           }\n       });\n\n       \/\/ Cleanup Border — PATCHED: use dataToDom\n       var lastDataIndex = dataIndices[dataIndices.length - 1];\n       var lastDomIndex = dataToDom[lastDataIndex];\n       if (lastDomIndex !== undefined && domItems[lastDomIndex]) {\n           domItems[lastDomIndex].style.borderBottom = \"none\";\n       }\n   });\n\n   \/\/ 4. STRICT SORT — PATCHED: use dataToDom for bundled check\n   var listContainer = domItems[0].parentNode;\n\n   \/\/ ============================================================\n   \/\/ FREE GIFT PINNING: Find the progress-bar gift item and pin\n   \/\/ it to the very top. Also lock it so it can't be removed.\n   \/\/ ============================================================\n   var freeGiftDomEl = null;\n   \n   \/\/ Detect by Rebuy's gift class or data attribute\n   for (var d = 0; d < domItems.length; d++) {\n       var el = domItems[d];\n       \/\/ Method 1: Rebuy marks progress gifts with a class\n       if (el.classList.contains('rebuy-cart__progress-gift') ||\n           el.hasAttribute('data-rebuy-gift') ||\n           el.querySelector('.rebuy-cart__progress-gift-remove')) {\n           freeGiftDomEl = el;\n           break;\n       }\n       \/\/ Method 2: Match by title (fallback)\n       var titleEl = el.querySelector('.rebuy-cart__flyout-item-product-title');\n       if (titleEl) {\n           var titleText = titleEl.textContent.trim().toLowerCase();\n           if (titleText.includes('tea glass set') ||\n               titleText.includes('sipping glass') ||\n               titleText.includes('free gift')) {\n               freeGiftDomEl = el;\n               break;\n           }\n       }\n   }\n\n   \/\/ If found, lock it and pin it to the top\n   if (freeGiftDomEl) {\n       freeGiftDomEl.classList.add('gf-free-gift-locked');\n       \/\/ Hide remove button\n       var giftRemove = freeGiftDomEl.querySelector('.rebuy-cart__flyout-item-remove');\n       if (giftRemove) giftRemove.style.display = 'none';\n       \/\/ Hide quantity controls\n       var giftQty = freeGiftDomEl.querySelector('.rebuy-cart__flyout-item-quantity');\n       if (giftQty) giftQty.style.display = 'none';\n       \n       \/\/ FORCE HIDE property, discount, and note lines\n       var hideSelectors = [\n           '.rebuy-cart__flyout-item-property',\n           '.rebuy-cart__flyout-item-discount',\n           '.rebuy-cart__flyout-item-note',\n           '.rebuy-cart__flyout-item-attribution',\n           '.rebuy-cart__flyout-item-properties'\n       ];\n       hideSelectors.forEach(function(sel) {\n           var els = freeGiftDomEl.querySelectorAll(sel);\n           els.forEach(function(el) { el.style.display = 'none'; });\n       });\n       \/\/ Target leaf-level elements containing \"Free Gift\" (won't match parent wrappers)\n       var allEls = freeGiftDomEl.querySelectorAll('span, small, em, strong, a, li');\n       allEls.forEach(function(el) {\n           if (el.textContent.includes('Free Gift') &&\n               !el.classList.contains('gf-free-gift-badge') &&\n               !el.classList.contains('rebuy-cart__flyout-item-product-title')) {\n               el.style.display = 'none';\n           }\n       });\n\n       \/\/ Add \"FREE GIFT\" badge if not already there\n       var giftTitle = freeGiftDomEl.querySelector('.rebuy-cart__flyout-item-product-title');\n       if (giftTitle && !giftTitle.querySelector('.gf-free-gift-badge')) {\n           var giftBadge = document.createElement('div');\n           giftBadge.className = 'gf-free-gift-badge';\n           giftBadge.textContent = '\\u2726 FREE GIFT';\n           giftTitle.parentNode.insertBefore(giftBadge, giftTitle.nextSibling);\n       }\n       \/\/ Pin to top of list\n       listContainer.insertBefore(freeGiftDomEl, listContainer.firstChild);\n   }\n   \/\/ ============================================================\n\n   \/\/ Loose Items (skip the free gift, it's already placed)\n   for (var d = 0; d < domItems.length; d++) {\n       if (domItems[d] === freeGiftDomEl) continue; \/\/ already pinned\n       var dataIdx = domToData[d];\n       if (domItems[d].parentNode && (dataIdx === undefined || !bundledDataIndices.has(dataIdx))) {\n            listContainer.appendChild(domItems[d]);\n       }\n   }\n\n   \/\/ Bundles Last\n   Object.keys(groups).forEach(function(id) {\n       var header = document.getElementById('bundle-header-' + id);\n       if (header) listContainer.appendChild(header);\n      \n       groups[id].forEach(function(dataIndex) {\n            var domIdx = dataToDom[dataIndex];\n            if (domIdx !== undefined && domItems[domIdx]) {\n                listContainer.appendChild(domItems[domIdx]);\n            }\n       });\n   });\n}\n\nfunction removeBundleGroup(targetID) {\n   if (!Rebuy.SmartCart || !Rebuy.SmartCart.cart) return;\n  \n   var updates = {};\n   Rebuy.SmartCart.cart.items.forEach(function(item) {\n       if (item.properties && item.properties['_r_added_bundle_session_id'] === targetID) {\n           updates[item.variant_id] = 0;\n       }\n   });\n\n   fetch(window.Shopify.routes.root + 'cart\/update.js', {\n       method: 'POST',\n       headers: { 'Content-Type': 'application\/json' },\n       body: JSON.stringify({ updates: updates })\n   })\n   .then(response => response.json())\n   .then(data => {\n       \/\/ [FIXED] Ensure cart stays open\n       if (window.Rebuy && window.Rebuy.SmartCart) {\n           window.Rebuy.SmartCart.fetch();\n           window.Rebuy.SmartCart.show();\n       } else {\n           window.location.reload();\n       }\n   })\n   .catch((error) => {\n       console.error('Error removing bundle:', error);\n   });\n}\n\n\n\/* --- PART 4: HELPERS (Search Close) --- *\/\ndocument.addEventListener('rebuy:smartsearch.quickview.close', function(event) {\n   const closeBtn = document.querySelector('.wt-header__search__close');\n   if(closeBtn) closeBtn.click();\n});\n"},"line_item_removed":{"enabled":false,"function":""},"line_item_decrease":{"enabled":false,"function":""},"line_item_increase":{"enabled":false,"function":""}},"template":"<div id=\"rebuy-cart\" class=\"rebuy-cart\" v-cloak=\"\" :class=\"[\n    visible ? 'is-visible' : '',\n    'currency-' + currency(),\n    hasItems() ? 'has-items' : 'no-items'\n  ]\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"rebuy-cart-title\" :aria-hidden=\"!visible ? 'true' : 'false'\">\n  <div class=\"rebuy-cart__flyout\">\n    <div data-rebuy-cart-anchor=\"header\">\n        <div data-rebuy-cart-header-top=\"\">\n            <div data-rebuy-cart-header-top-inner=\"\">\n                \n<component :is=\"getCartTitleHeadingTag()\" id=\"rebuy-cart-title\" data-rebuy-component-id=\"title_bar\" data-rebuy-component=\"title-bar\" :class=\"['rebuy-cart__title', getCartTitleClassName()]\" v-html=\"getCartTitle()\"><\/component>\n\n                <div data-rebuy-cart-header-top-inner-right=\"\">\n                    \n<button v-if=\"shouldRenderCartShareComponent()\" data-rebuy-component=\"cart-share\" data-rebuy-component-id=\"cart_share\" @click=\"handleCartShare()\" class=\"rebuy-button rebuy-button--cart-share\" :title=\"getCartShareTooltipText()\" :aria-label=\"getCartShareTooltipText()\">\n    <svg class=\"rebuy-cart-share-icon\" width=\"16\" height=\"22\" viewBox=\"0 0 16 22\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n        <path d=\"M12 4L10.58 5.42L8.99 3.83V15H7.01V3.83L5.42 5.42L4 4L8 0L12 4ZM16 9V20C16 21.1 15.1 22 14 22H2C0.89 22 0 21.1 0 20V9C0 7.89 0.89 7 2 7H5V9H2V20H14V9H11V7H14C15.1 7 16 7.89 16 9Z\" fill=\"#546B7D\"><\/path>\n    <\/svg>\n<\/button>\n\n<a v-if=\"shouldRenderLoginComponent()\" data-rebuy-component=\"login\" data-rebuy-component-id=\"login\" :href=\"getLoginUrl()\" class=\"rebuy-button\" v-html=\"getLoginLabel()\" role=\"button\" :aria-label=\"getLoginLabel()\"><\/a>\n<a v-if=\"shouldRenderAccountButtonComponent()\" data-rebuy-component=\"account-button\" data-rebuy-component-id=\"account-button\" :href=\"getAccountButtonUrl()\" class=\"rebuy-button rebuy-button__button--account\" v-html=\"getAccountButtonLabel()\" role=\"button\" :aria-label=\"getAccountButtonLabel()\"><\/a>\n\n                <\/div>\n            <\/div>\n            \n                <button id=\"rebuy-cart-close\" class=\"rebuy-cart__flyout-close\" type=\"button\" v-on:click=\"hide()\" aria-label=\"Close Cart\">\n                    <rebuy-icon name=\"x\"><\/rebuy-icon>\n                    <span class=\"sr-only\">Close Cart<\/span>\n                <\/button>\n            \n        <\/div><\/div>\n    <div data-rebuy-cart-anchor=\"goalBox\"><div v-if=\"!!progressBar\" data-rebuy-component=\"progress-bar\" data-rebuy-component-id=\"tiered_progress_bar\">\n\n\n   <!-- Step Icons -->\n   <div class=\"rebuy-cart__progress-step-wrapper\" :class=\"['count-' + progressBar.tiers.length]\">\n       <div v-for=\"tier in progressBar.tiers\" :key=\"tier.id\" class=\"rebuy-cart__progress-step\" :class=\"{ complete: progressTierReached(tier) }\" :style=\"{ width: progressStepMaxWidth(progressBar) }\">\n           <div class=\"rebuy-cart__progress-step-icon\" :style=\"getProgressStepIconSize(tier)\" v-html=\"progressTierIcon(tier)\"><\/div>\n           <span class=\"rebuy-cart__progress-step-label\" v-html=\"getTierLabel(tier)\"><\/span>\n       <\/div>\n   <\/div>\n   <!-- End Step Icons -->\n\n\n   <!-- Progress Bar -->\n   <div class=\"rebuy-cart__progress-bar-wrapper\">\n       <div class=\"rebuy-cart__progress-bar-meter\" :class=\"[hasTierProgress() ? 'has-progress' : 'no-progress']\">\n           <div class=\"rebuy-cart__progress-bar-meter-fill\" :style=\"{ width: tiersPercentageComplete(progressBar) }\" role=\"progressbar\" tabindex=\"0\" aria-valuemin=\"0\" aria-valuemax=\"100\" :aria-valuenow=\"tiersPercentageComplete(progressBar, true)\" aria-labelledby=\"rebuy-cart__progress-bar-meter-label\">\n               <span class=\"sr-only\" v-text=\"'Progress: ' + tiersPercentageComplete(progressBar, true) +'%'\"><\/span>\n           <\/div>\n       <\/div>\n\n\n       <div v-if=\"hasProgressPrompt(progressBar)\" id=\"rebuy-cart__progress-bar-meter-label\" class=\"rebuy-cart__progress-bar-prompt\" v-html=\"getTierFeedbackText(progressBar)\"><\/div>\n   <\/div>\n   <!-- End Progress Bar -->\n\n\n   <!-- Earned Gift Area -->\n   <div v-if=\"shouldRenderGiftArea(progressBar)\" class=\"rebuy-cart__progress-gifts\">\n       <div v-if=\"shouldRenderGiftAreaTitle(progressBar)\" class=\"rebuy-cart__progress-gifts-title\" v-text=\"getGiftAreaTitle(progressBar)\"><\/div>\n       <div class=\"rebuy-cart__progress-gifts-container\">\n           <div v-for=\"product in getEarnedProducts(progressBar)\" v-if=\"shouldRenderEarnedGift(progressBar, product)\" :key=\"product.id + '-' + product.tier\" class=\"rebuy-cart__progress-gift\">\n               <div class=\"rebuy-cart__progress-gift-image\" :style=\"freeProductStyles(product)\"><\/div>\n               <div class=\"rebuy-cart__progress-gift-info\">\n                   <div>\n                       <p class=\"rebuy-cart__progress-gift-title\" v-text=\"product.title\"><\/p>\n                       <span v-if=\"hasGiftSelection(product)\" class=\"rebuy-cart__progress-gift-variant-title\" v-text=\"getFreeVariantTitle(product)\"><\/span>\n                   <\/div>\n                   <div v-if=\"!hasGiftSelection(product)\" class=\"rebuy-cart__progress-gift-selection-container\">\n                       <!-- Single Variant Selection -->\n                       <div v-if=\"freeProductOptions(product).length === 1\" class=\"rebuy-cart__progress-gift-variant-readd\" role=\"button\" @click=\"addSingleVariantFreeProduct(product)\" v-html=\"freeProductPrompt(product)\"><\/div>\n\n\n                       <!-- Multi Variant Selection -->\n                       <div v-else=\"\" class=\"rebuy-cart__progress-gift-variant-select-container\">\n                           <select v-if=\"freeProductOptions(product).length > 1\" class=\"rebuy-cart__progress-gift-variant-select\" @change=\"selectFreeProductVariant($event, product)\">\n                               <option value=\"\" disabled=\"\" selected=\"\">Select Gift<\/option>\n                               <option v-for=\"variant in freeProductOptions(product)\" :key=\"variant.id\" :value=\"variant.id\" v-text=\"variant.title\"><\/option>\n                           <\/select>\n                           <div class=\"rebuy-cart__progress-gift-variant-select-prompt\" v-html=\"freeProductPrompt(product)\"><\/div>\n                       <\/div>\n                   <\/div>\n               <\/div>\n               <button v-if=\"hasGiftSelection(product)\" class=\"rebuy-cart__progress-gift-remove\" @click=\"removeFreeProduct(product)\" :aria-label=\"'Remove ' + product.title +  ' ' + (product.chosen_variant?.title)\">\n                   <rebuy-icon name=\"x\"><\/rebuy-icon>\n               <\/button>\n           <\/div>\n       <\/div>\n   <\/div>\n   <!-- End Earned Gift Area -->\n\n\n<\/div>\n\n\n<\/div>\n    <div data-rebuy-cart-scroll-area=\"\">\n      <div data-rebuy-cart-anchor=\"body\">\n<div data-rebuy-component=\"cart-items\" data-rebuy-component-id=\"cart_items\">\n  <ul v-if=\"hasItems()\" data-smartcart-items=\"\" tabindex=\"0\" role=\"list\">\n    <li class=\"rebuy-cart__flyout-item\" v-for=\"(item, index) in items()\" v-if=\"!isHiddenItem(item)\" :key=\"getLineItemKey(item, index)\" v-bind:class=\"[ 'product-' + item.handle, itemProductTagsClasses(item), itemPropertyClasses(item) ]\" aria-label=\"product\" role=\"listitem\">\n      <!-- Image -->\n      <div class=\"rebuy-cart__flyout-item-media\">\n        <a v-bind:aria-disabled=\"!isItemClickable(item)\" v-bind:aria-label=\"itemLinkLabel(item)\" v-bind:class=\"[{ 'click-disabled': !isItemClickable(item) }]\" v-bind:href=\"isItemClickable(item) ? itemURL(item) : null\">\n          <img v-bind:src=\"sizeImage(item.image, '240x240')\" v-bind:alt=\"itemImageAlt(item)\">\n        <\/a>\n      <\/div>\n\n      <!-- Item Info -->\n      <div v-bind:class=\"['rebuy-cart__flyout-item-info', { 'is-dropdown-mode': hideQuantitySelectors && !hideQuantitySelectors(item) && quantityInputEnabled() && getQuantityInputType() !== 'buttons' }]\">\n        <!-- Product Title -->\n        <a role=\"heading\" aria-level=\"5\" v-bind:aria-disabled=\"!isItemClickable(item)\" v-bind:class=\"[\n            'rebuy-cart__flyout-item-product-title',\n            { 'click-disabled': !isItemClickable(item) }\n          ]\" v-bind:href=\"isItemClickable(item) ? itemURL(item) : null\" v-html=\"itemTitle(item)\" v-bind:tabindex=\"isItemClickable(item) ? 0 : -1\"><\/a>\n\n        <!-- Variant Title -->\n        <div class=\"rebuy-cart__flyout-item-variant-title\" v-html=\"item.variant_title\" v-if=\"item.variant_title\"><\/div>\n\n        <!-- Discount Message -->\n        <div class=\"rebuy-cart__flyout-item-discount-message\" v-if=\"hasLineItemDiscount(item)\" v-html=\"lineItemDiscountMessage(item)\"><\/div>\n\n        <!-- Item Properties -->\n        <div class=\"rebuy-cart__flyout-item-properties\" v-if=\"hasItemProperties(item)\">\n          <div class=\"rebuy-cart__flyout-item-property rebuy-cart__flyout-item-property--delivery-frequency\" v-if=\"itemDeliveryFrequency(item)\" v-html=\"itemDeliveryFrequency(item)\"><\/div>\n          <div class=\"rebuy-cart__flyout-item-property\" v-for=\"property in itemProperties(item)\" v-bind:class=\"[ itemPropertyKeyClass(property), itemPropertyValueClass(property) ]\">\n            <span class=\"rebuy-cart__flyout-item-property-name\" v-html=\"property.key\"><\/span>\n            <span class=\"rebuy-cart__flyout-item-property-separator\">\n              :\n            <\/span>\n            <span class=\"rebuy-cart__flyout-item-property-value\" v-html=\"property.value\"><\/span>\n          <\/div>\n        <\/div>\n\n        <!-- Remove Item -->\n        <button class=\"rebuy-cart__flyout-item-remove\" type=\"button\" v-bind:aria-label=\"'Remove ' + itemTitle(item)\" v-on:click=\"removeItem(item)\">\n          <rebuy-icon v-bind:name=\"(item.status == 'removing') ? 'refresh-cw' : 'trash'\" v-bind:fast-spin=\"item.status == 'removing'\"><\/rebuy-icon>\n        <\/button>\n\n        <!-- Quantity -->\n        <div v-bind:class=\"['rebuy-cart__flyout-item-quantity', { 'is-dropdown-mode': hideQuantitySelectors && !hideQuantitySelectors(item) && quantityInputEnabled() && getQuantityInputType() !== 'buttons' }]\">\n          <!-- Buttons\/Default Mode -->\n          <div class=\"rebuy-cart__flyout-item-quantity-widget\" v-if=\"hideQuantitySelectors && !hideQuantitySelectors(item) && (!quantityInputEnabled() || getQuantityInputType() === 'buttons')\">\n            <button class=\"rebuy-cart__flyout-item-quantity-widget-button\" v-bind:aria-label=\"'Decrease quantity of ' + itemTitle(item)\" v-on:click=\"decreaseItem(item)\" v-bind:disabled=\"!isQuantityEnabled(item) || !canDecreaseQuantity(item)\" type=\"button\">\n              <rebuy-icon v-bind:name=\"(item.status == 'decreasing') ? 'refresh-cw' : 'minus'\" v-bind:fast-spin=\"item.status == 'decreasing'\"><\/rebuy-icon>\n            <\/button>\n\n            <input v-if=\"quantityInputEnabled()\" type=\"number\" class=\"rebuy-cart__flyout-item-quantity-widget-input\" v-bind:value=\"item.quantity\" v-bind:min=\"getEffectiveQuantityLimits(item).min\" v-bind:max=\"getEffectiveQuantityLimits(item).max\" v-bind:step=\"item.quantity_rule?.increment || 1\" v-on:change=\"setItemQuantity(item, parseInt($event.target.value, 10))\" v-bind:aria-label=\"'Quantity of ' + itemTitle(item)\" v-bind:disabled=\"!isQuantityEnabled(item)\">\n            <span v-else=\"\" class=\"rebuy-cart__flyout-item-quantity-widget-label\">\n              <span class=\"sr-only\">Quantity of {{ itemTitle(item) }}<\/span>\n              {{ item.quantity }}\n            <\/span>\n\n            <button class=\"rebuy-cart__flyout-item-quantity-widget-button\" v-bind:aria-label=\"'Increase quantity of ' + itemTitle(item)\" v-on:click=\"increaseItem(item)\" v-bind:disabled=\"!isQuantityEnabled(item) || !canIncreaseQuantity(item)\" type=\"button\">\n              <rebuy-icon v-bind:name=\"(item.status == 'increasing') ? 'refresh-cw' : 'plus'\" v-bind:fast-spin=\"item.status == 'increasing'\"><\/rebuy-icon>\n            <\/button>\n          <\/div>\n\n          <!-- Dropdown Select Mode -->\n          <div v-bind:class=\"['rebuy-cart__flyout-item-quantity-dropdown', { 'is-disabled': !isQuantityEnabled(item) }]\" v-if=\"hideQuantitySelectors && !hideQuantitySelectors(item) && quantityInputEnabled() && getQuantityInputType() !== 'buttons'\">\n            <div class=\"rebuy-cart__flyout-item-quantity-dropdown-content\">\n              <span class=\"rebuy-cart__flyout-item-quantity-dropdown-label\">{{ getQuantityLabel() }}<\/span>\n              <span class=\"rebuy-cart__flyout-item-quantity-dropdown-value\">{{ item.quantity }}<\/span>\n            <\/div>\n            <div class=\"rebuy-cart__flyout-item-quantity-dropdown-separator\"><\/div>\n            <!-- Quantity Error (dropdown mode) -->\n            <span v-if=\"getQuantityError(item)\" class=\"rebuy-cart__flyout-item-quantity-dropdown-error\" role=\"alert\">{{ getQuantityError(item) }}<\/span>\n            <div class=\"rebuy-cart__flyout-item-quantity-dropdown-caret\">\n              <rebuy-icon name=\"chevron-down\"><\/rebuy-icon>\n            <\/div>\n            <select class=\"rebuy-cart__flyout-item-quantity-dropdown-native\" v-bind:id=\"'quantity-select-' + item.key\" v-bind:value=\"item.quantity\" v-on:change=\"setItemQuantity(item, parseInt($event.target.value, 10))\" v-bind:disabled=\"!isQuantityEnabled(item)\" v-bind:aria-label=\"'Quantity of ' + itemTitle(item)\">\n              <option v-for=\"qty in getQuantityOptions(item)\" v-bind:key=\"qty\" v-bind:value=\"qty\" v-bind:selected=\"qty === item.quantity\">{{ qty }}<\/option>\n            <\/select>\n          <\/div>\n\n          <!-- Quantity Error (buttons mode) -->\n          <span v-if=\"getQuantityError(item) && (!quantityInputEnabled() || getQuantityInputType() === 'buttons')\" class=\"rebuy-cart__flyout-item-quantity-error\" role=\"alert\">{{ getQuantityError(item) }}<\/span>\n        <\/div>\n\n        <!-- Pricing -->\n        <div class=\"rebuy-cart__flyout-item-price\">\n          <div v-if=\"itemHasDiscount(item)\">\n            <span class=\"rebuy-money sale\">\n              <span class=\"sr-only\">Sale price<\/span>\n              <span v-html=\"formatMoney(itemPrice(item))\"><\/span>\n            <\/span>\n            <span class=\"rebuy-money compare-at\">\n              <span class=\"sr-only\">Original price<\/span>\n              <span v-html=\"formatMoney(compareAtPrice(item))\"><\/span>\n            <\/span>\n          <\/div>\n          <div v-if=\"!itemHasDiscount(item)\">\n            <span class=\"rebuy-money\">\n              <span class=\"sr-only\">Price<\/span>\n              <span v-html=\"formatMoney(itemPrice(item))\"><\/span>\n            <\/span>\n          <\/div>\n        <\/div>\n\n        <!-- Bundle Details -->\n        <div class=\"rebuy-cart__flyout-item-bundle\" v-if=\"itemIsBundle(item, index) && !hideBundleOptions(item)\">\n\n          <!-- Expand \/ Collapse Bundle Details -->\n          <button v-if=\"itemBundleLength(item, index) > 0\" class=\"rebuy-cart__flyout-item-bundle-toggle-button\" v-on:click=\"toggleActiveBundle(item, index)\" type=\"button\" v-bind:aria-label=\"(isBundleVisible(item, index) ? 'Collapse' : 'Expand') + ' bundle of ' + itemTitle(item)\">\n            {{ isBundleVisible(item, index) ? 'Hide' : 'Show' }}\n            <span v-html=\"itemBundleLength(item, index)\"><\/span>\n            items\n            <span class=\"rebuy-cart__flyout-bundle-chev-icon\">\n              <rebuy-icon v-bind:name=\"isBundleVisible(item, index) ? 'chevron-up' : 'chevron-down'\"><\/rebuy-icon>\n            <\/span>\n          <\/button>\n\n          <ul class=\"rebuy-cart__flyout-item-bundle-children\" v-if=\"itemBundleLength(item, index) > 0 && isBundleVisible(item, index)\" tabindex=\"0\">\n            <li class=\"rebuy-cart__flyout-item-bundle-child\" v-for=\"(component, componentIndex) in getBundleComponents(item, index)\">\n              <div class=\"rebuy-cart__flyout-item-bundle-child-left\">\n                <div class=\"rebuy-cart__flyout-item-bundle-image-container\">\n                  <img v-bind:src=\"getBundleOptionImage(item.product, component, componentIndex, item, index)\" v-bind:alt=\"childBundleTitle(component, componentIndex, item, index)\" class=\"rebuy-cart__flyout-item-bundle-image\">\n                <\/div>\n              <\/div>\n\n              <div class=\"rebuy-cart__flyout-item-bundle-child-right\">\n                <h5 v-html=\"childBundleTitle(component, componentIndex, item, index)\" class=\"rebuy-cart__flyout-item-bundle-title\"><\/h5>\n                <p v-if=\"isStorefrontComponent(component) && !hasDefaultVariantTitle(component.variantTitle)\" v-html=\"component.variantTitle\" class=\"rebuy-cart__flyout-item-bundle-value\"><\/p>\n                <p v-else=\"\" v-html=\"component.value\" class=\"rebuy-cart__flyout-item-bundle-value\"><\/p>\n              <\/div>\n            <\/li>\n          <\/ul>\n        <\/div>\n        <!-- End Bundle Details -->\n\n        <!-- Nested Cart Items -->\n        <div v-if=\"displayNestedItems(item)\" class=\"rebuy-cart__flyout-item-nested-items\">\n          <!-- Toggle Button -->\n          <button v-if=\"nestedCartItemsDropdownEnabled()\" class=\"rebuy-cart__flyout-item-nested-items-toggle-button\" v-on:click=\"toggleNestedItemsDropdown(item)\" type=\"button\" v-bind:aria-label=\"nestedItemsAriaLabel(item)\">\n            <span v-html=\"nestedButtonLabel(item)\"><\/span>\n          <\/button>\n\n          <!-- Nested Items List -->\n          <ul v-bind:class=\"[\n              'rebuy-cart__flyout-item-nested-items-list',\n              nestedItemsListClasses(item)\n            ]\">\n            <li class=\"rebuy-cart__flyout-item\" v-for=\"childItem in item.children\" v-if=\"!isHiddenItem(childItem)\" :key=\"childItem.key\" v-bind:class=\"[ 'product-' + childItem.handle, itemProductTagsClasses(childItem), itemPropertyClasses(childItem) ]\" aria-label=\"product\" role=\"listitem\">\n            <!-- Image -->\n            <div class=\"rebuy-cart__flyout-item-media-nested\">\n              <a v-bind:href=\"itemURL(childItem)\" v-bind:aria-label=\"itemLinkLabel(childItem)\">\n                <img v-bind:src=\"sizeImage(childItem.image, '240x240')\" v-bind:alt=\"itemImageAlt(childItem)\">\n              <\/a>\n            <\/div>\n\n            <!-- Item Info -->\n            <div v-bind:class=\"['rebuy-cart__flyout-item-info', { 'is-dropdown-mode': hideQuantitySelectors && !hideQuantitySelectors(childItem) && quantityInputEnabled() && getQuantityInputType() !== 'buttons' }]\">\n              <!-- Product Title -->\n              <a role=\"heading\" aria-level=\"5\" class=\"rebuy-cart__flyout-item-product-title\" v-bind:href=\"itemURL(childItem)\" v-html=\"childItem.product_title\"><\/a>\n\n              <!-- Variant Title -->\n              <div class=\"rebuy-cart__flyout-item-variant-title\" v-html=\"childItem.variant_title\" v-if=\"childItem.variant_title\"><\/div>\n\n              <!-- Discount Message -->\n              <div class=\"rebuy-cart__flyout-item-discount-message\" v-if=\"hasLineItemDiscount(childItem)\" v-html=\"lineItemDiscountMessage(childItem)\"><\/div>\n\n              <!-- Item Properties -->\n              <div class=\"rebuy-cart__flyout-item-properties\" v-if=\"hasItemProperties(childItem)\">\n                <div class=\"rebuy-cart__flyout-item-property rebuy-cart__flyout-item-property--delivery-frequency\" v-if=\"itemDeliveryFrequency(childItem)\" v-html=\"itemDeliveryFrequency(childItem)\"><\/div>\n                <div class=\"rebuy-cart__flyout-item-property\" v-for=\"property in itemProperties(childItem)\" v-bind:class=\"[ itemPropertyKeyClass(property), itemPropertyValueClass(property) ]\">\n                  <span class=\"rebuy-cart__flyout-item-property-name\" v-html=\"property.key\"><\/span>\n                  <span class=\"rebuy-cart__flyout-item-property-separator\">\n                    :\n                  <\/span>\n                  <span class=\"rebuy-cart__flyout-item-property-value\" v-html=\"property.value\"><\/span>\n                <\/div>\n              <\/div>\n\n              <!-- Remove Item -->\n              <button class=\"rebuy-cart__flyout-item-remove\" type=\"button\" v-bind:aria-label=\"'Remove ' + childItem.product_title\" v-on:click=\"removeItem(childItem)\">\n                <rebuy-icon v-bind:name=\"(childItem.status == 'removing') ? 'refresh-cw' : 'trash'\" v-bind:fast-spin=\"childItem.status == 'removing'\"><\/rebuy-icon>\n              <\/button>\n\n              <!-- Quantity -->\n              <div v-bind:class=\"['rebuy-cart__flyout-item-quantity', { 'is-dropdown-mode': hideQuantitySelectors && !hideQuantitySelectors(childItem) && quantityInputEnabled() && getQuantityInputType() !== 'buttons' }]\">\n                <!-- Buttons\/Default Mode -->\n                <div class=\"rebuy-cart__flyout-item-quantity-widget\" v-if=\"hideQuantitySelectors && !hideQuantitySelectors(childItem) && (!quantityInputEnabled() || getQuantityInputType() === 'buttons')\">\n                  <button class=\"rebuy-cart__flyout-item-quantity-widget-button\" v-bind:aria-label=\"'Decrease quantity of ' + childItem.product_title\" v-on:click=\"decreaseItem(childItem)\" v-bind:disabled=\"!isQuantityEnabled(childItem) || !canDecreaseQuantity(childItem)\" type=\"button\">\n                    <rebuy-icon v-bind:name=\"(childItem.status == 'decreasing') ? 'refresh-cw' : 'minus'\" v-bind:fast-spin=\"childItem.status == 'decreasing'\"><\/rebuy-icon>\n                  <\/button>\n\n                  <input v-if=\"quantityInputEnabled()\" type=\"number\" class=\"rebuy-cart__flyout-item-quantity-widget-input\" v-bind:value=\"childItem.quantity\" v-bind:min=\"getEffectiveQuantityLimits(childItem).min\" v-bind:max=\"getEffectiveQuantityLimits(childItem).max\" v-bind:step=\"childItem.quantity_rule?.increment || 1\" v-on:change=\"setItemQuantity(childItem, parseInt($event.target.value, 10))\" v-bind:aria-label=\"'Quantity of ' + childItem.product_title\" v-bind:disabled=\"!isQuantityEnabled(childItem)\">\n                  <span v-else=\"\" class=\"rebuy-cart__flyout-item-quantity-widget-label\">\n                    <span class=\"sr-only\">Quantity of {{ childItem.product_title }}<\/span>\n                    {{ childItem.quantity }}\n                  <\/span>\n\n                  <button class=\"rebuy-cart__flyout-item-quantity-widget-button\" v-bind:aria-label=\"'Increase quantity of ' + childItem.product_title\" v-on:click=\"increaseItem(childItem)\" v-bind:disabled=\"!isQuantityEnabled(childItem) || !canIncreaseQuantity(childItem)\" type=\"button\">\n                    <rebuy-icon v-bind:name=\"(childItem.status == 'increasing') ? 'refresh-cw' : 'plus'\" v-bind:fast-spin=\"childItem.status == 'increasing'\"><\/rebuy-icon>\n                  <\/button>\n                <\/div>\n\n                <!-- Dropdown Select Mode -->\n                <div v-bind:class=\"['rebuy-cart__flyout-item-quantity-dropdown', { 'is-disabled': !isQuantityEnabled(childItem) }]\" v-if=\"hideQuantitySelectors && !hideQuantitySelectors(childItem) && quantityInputEnabled() && getQuantityInputType() !== 'buttons'\">\n                  <div class=\"rebuy-cart__flyout-item-quantity-dropdown-content\">\n                    <span class=\"rebuy-cart__flyout-item-quantity-dropdown-label\">{{ getQuantityLabel() }}<\/span>\n                    <span class=\"rebuy-cart__flyout-item-quantity-dropdown-value\">{{ childItem.quantity }}<\/span>\n                  <\/div>\n                  <div class=\"rebuy-cart__flyout-item-quantity-dropdown-separator\"><\/div>\n                  <!-- Quantity Error (dropdown mode) -->\n                  <span v-if=\"getQuantityError(childItem)\" class=\"rebuy-cart__flyout-item-quantity-dropdown-error\" role=\"alert\">{{ getQuantityError(childItem) }}<\/span>\n                  <div class=\"rebuy-cart__flyout-item-quantity-dropdown-caret\">\n                    <rebuy-icon name=\"chevron-down\"><\/rebuy-icon>\n                  <\/div>\n                  <select class=\"rebuy-cart__flyout-item-quantity-dropdown-native\" v-bind:id=\"'quantity-select-' + childItem.key\" v-bind:value=\"childItem.quantity\" v-on:change=\"setItemQuantity(childItem, parseInt($event.target.value, 10))\" v-bind:disabled=\"!isQuantityEnabled(childItem)\" v-bind:aria-label=\"'Quantity of ' + childItem.product_title\">\n                    <option v-for=\"qty in getQuantityOptions(childItem)\" v-bind:key=\"qty\" v-bind:value=\"qty\" v-bind:selected=\"qty === childItem.quantity\">{{ qty }}<\/option>\n                  <\/select>\n                <\/div>\n\n                <!-- Quantity Error (buttons mode) -->\n                <span v-if=\"getQuantityError(childItem) && (!quantityInputEnabled() || getQuantityInputType() === 'buttons')\" class=\"rebuy-cart__flyout-item-quantity-error\" role=\"alert\">{{ getQuantityError(childItem) }}<\/span>\n              <\/div>\n\n              <!-- Pricing -->\n              <div class=\"rebuy-cart__flyout-item-price\">\n                <div v-if=\"itemHasDiscount(childItem)\">\n                  <span class=\"rebuy-money sale\">\n                    <span class=\"sr-only\">Sale price<\/span>\n                    <span v-html=\"formatMoney(itemPrice(childItem))\"><\/span>\n                  <\/span>\n                  <span class=\"rebuy-money compare-at\">\n                    <span class=\"sr-only\">Original price<\/span>\n                    <span v-html=\"formatMoney(compareAtPrice(childItem))\"><\/span>\n                  <\/span>\n                <\/div>\n                <div v-if=\"!itemHasDiscount(childItem)\">\n                  <span class=\"rebuy-money\">\n                    <span class=\"sr-only\">Price<\/span>\n                    <span v-html=\"formatMoney(itemPrice(childItem))\"><\/span>\n                  <\/span>\n                <\/div>\n              <\/div>\n            <\/div>\n            <!-- End Info -->\n            <\/li>\n          <\/ul>\n        <\/div>\n        <!-- End Nested Cart Items -->\n\n      <\/div>\n      <!-- End Info -->\n\n      <!-- Buy More Save More -->\n      <div v-if=\"itemHasBMSM(item) && bMSMFinalTierNotReached(item)\" class=\"rebuy-cart__flyout-item-buy-more-save-more\">\n        <div v-if=\"hasBMSMButtons()\" class=\"rebuy-cart__flyout-item-buy-more-save-more-container\">\n          <div v-for=\"tier in getBMSMTiers()\" class=\"rebuy-cart__flyout-item-buy-more-save-more-button-container\" v-if=\"tier.quantity > item.quantity\">\n            <button v-on:click=\"adjustBMSMQuantity(item, tier)\" class=\"rebuy-button rebuy-cart__flyout-item-buy-more-save-more-button\" v-bind:aria-label=\"getBMSMButtonText(tier)\">\n              <span v-html=\"getBMSMButtonText(tier)\"><\/span>\n            <\/button>\n          <\/div>\n        <\/div>\n\n        <span v-if=\"!hasBMSMButtons()\" class=\"rebuy-cart__flyout-buy-more-save-more-dynamic-message-text\" v-html=\"buyMoreSaveMoreDynamicText(item)\"><\/span>\n      <\/div>\n      <!-- End Buy More Save More -->\n\n      <!-- Switch to Subscription -->\n      <div class=\"rebuy-cart__flyout-item-subscription\" v-if=\"hasSwitchToSubscription(item)\">\n        <button class=\"rebuy-button outline\" v-if=\"!item.product.subscription || item.status == 'downgrading' || item.status == 'upgrading'\" v-bind:aria-label=\"'Switch ' + itemTitle(item) + ' to a Subscription'\" v-bind:disabled=\"(item.status == 'downgrading' || item.status == 'upgrading')\" v-on:click=\"updateItemDeliveryFrequency(item, selectedSubscriptionFrequency(item, 0), 'onetime')\" type=\"button\">\n          <span v-html=\"switchToSubscriptionLabel(item)\"><\/span>\n        <\/button>\n\n        <select class=\"rebuy-select muted\" aria-label=\"Subscription delivery frequency\" v-if=\"item.product.subscription && item.status != 'downgrading'\" v-model=\"item.product.subscription_frequency\" v-on:change=\"updateItemDeliveryFrequency(item)\">\n          <optgroup v-if=\"!item.product.is_subscription_only && !subscriptionDowngradeDisabled()\" v-bind:label=\"getSwitchToSubscriptionLabel('onetime_option_group_label')\">\n            <option v-bind:value=\"'onetime'\" v-html=\"getSwitchToSubscriptionLabel('onetime_option_label')\"><\/option>\n          <\/optgroup>\n          <optgroup v-bind:label=\"subscriptionOptionGroupLabel(item)\">\n            <option v-for=\"frequency in subscriptionFrequencies(item)\" v-bind:value=\"frequency\" v-html=\"subscriptionOptionLabel(item, frequency, item.product.subscription_interval)\"><\/option>\n          <\/optgroup>\n        <\/select>\n      <\/div>\n      <!-- End Switch to Subscription -->\n    <\/li>\n  <\/ul>\n\n  <!-- Empty Cart -->\n  <div class=\"rebuy-cart__flyout-empty-cart\" v-html=\"emptyCartMarkup()\" v-if=\"!hasItems()\"><\/div>\n\n<\/div><\/div>\n    <\/div>\n    <div data-rebuy-cart-anchor=\"footer\"><div v-if=\"hasItems()\" data-rebuy-component=\"cart-subtotal\" data-rebuy-component-id=\"cart_subtotal\">\n    <!-- Legacy Subtotal (when discount summary is disabled) -->\n    <div v-if=\"!shouldShowDiscountSummary()\" class=\"rebuy-cart__flyout-subtotal\">\n        <div class=\"rebuy-cart__flyout-subtotal-label\">\n            <span v-html=\"subtotalLabel()\"><\/span>\n        <\/div>\n        <div class=\"rebuy-cart__flyout-subtotal-amount\">\n            <span class=\"sr-only\">Cart subtotal<\/span>\n            <span v-html=\"subtotal()\"><\/span>\n        <\/div>\n    <\/div>\n\n    <!-- Subtotal with Discount Summary -->\n    <div v-else=\"\" class=\"rebuy-cart__subtotal-with-discounts\">\n        <div class=\"rebuy-cart__subtotal-with-discounts-row\">\n            <div class=\"rebuy-cart__subtotal-with-discounts-row-label\">\n                <span v-html=\"subtotalLabel()\"><\/span>\n            <\/div>\n            <div class=\"rebuy-cart__subtotal-with-discounts-row-amount\">\n                <span class=\"sr-only\">Cart subtotal<\/span>\n                <span v-html=\"subtotal()\"><\/span>\n            <\/div>\n        <\/div>\n\n        <div class=\"rebuy-cart__discount-summary\" :class=\"{ 'is-expanded': isDiscountSummaryExpanded() }\">\n            <button class=\"rebuy-cart__discount-summary-header\" @click=\"toggleDiscountSummary()\" :aria-expanded=\"isDiscountSummaryExpanded()\" aria-controls=\"discount-summary-details\">\n                <span v-html=\"getDiscountSummaryCountLabel()\"><\/span>\n                <span class=\"rebuy-cart__discount-summary-icon\" aria-hidden=\"true\">\n                    <rebuy-icon name=\"chevron-down\"><\/rebuy-icon>\n                <\/span>\n            <\/button>\n\n            <div id=\"discount-summary-details\" class=\"rebuy-cart__discount-summary-details\" role=\"region\" :aria-hidden=\"!isDiscountSummaryExpanded()\">\n                <div v-for=\"discount in getDiscountSummaryItems()\" class=\"rebuy-cart__discount-summary-item\">\n                    <span v-html=\"discount.title\"><\/span>\n                    <span v-html=\"discount.amount\"><\/span>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<div v-if=\"isDiscountInputEnabled()\" v-show=\"hasItems()\" data-rebuy-component=\"discount-input\" data-rebuy-component-id=\"discount_code\" class=\"rebuy-cart__discount-container\" :class=\"{ 'use-storefront-calculations': useStorefrontCalculations() }\">\n    <!-- Form with Toggle (when gift card input is allowed) -->\n    <form class=\"rebuy-cart__discount-form\" v-if=\"shouldShowDiscountInput() && shouldAllowGiftCardInput()\" v-on:submit.prevent=\"applyDiscount(null, $event)\">\n        <!-- Input with Toggle -->\n        <div class=\"rebuy-cart__discount-input-with-toggle\">\n            <!-- Toggle Switch on the left -->\n            <div class=\"rebuy-cart__discount-toggle-container\">\n                <button type=\"button\" class=\"rebuy-cart__discount-toggle\" :class=\"{ 'active': !getGiftCardInputEnabled() }\" v-on:click=\"setDiscountMode()\" title=\"Switch to Discount Code Input\">\n                    <rebuy-icon name=\"tag\"><\/rebuy-icon>\n                <\/button>\n                <button type=\"button\" class=\"rebuy-cart__discount-toggle\" :class=\"{ 'active': getGiftCardInputEnabled() }\" v-on:click=\"setGiftCardMode()\" title=\"Switch to Gift Card Input\">\n                    <rebuy-icon name=\"gift\"><\/rebuy-icon>\n                <\/button>\n            <\/div>\n            <!-- Input field on the right -->\n            <div class=\"rebuy-input-wrapper\">\n                <input class=\"rebuy-input\" v-model=\"discountInputValue\" v-bind:placeholder=\"getDiscountCodeLabel()\" v-bind:disabled=\"isDiscountLoading()\" id=\"rebuy-cart__discount-input\" aria-label=\"Input Discount\" autocomplete=\"\">\n            <\/div>\n        <\/div>\n        <button type=\"submit\" class=\"rebuy-button\" v-bind:disabled=\"isDiscountLoading()\">\n            <span v-html=\"getDiscountButtonLabel()\"><\/span>\n        <\/button>\n    <\/form>\n\n    <form class=\"rebuy-cart__discount-form\" v-if=\"shouldShowDiscountInput() && !shouldAllowGiftCardInput()\" v-on:submit.prevent=\"applyDiscount(null, $event)\">\n        <!-- Discount Input -->\n        <div class=\"rebuy-input-wrapper rebuy-input-wrapper--floating-label\" :class=\"{ 'show-label': !!discountInputValue }\">\n            <span class=\"rebuy-input-label\" v-html=\"getDiscountCodeLabel()\"><\/span>\n            <input class=\"rebuy-input\" v-model=\"discountInputValue\" v-bind:placeholder=\"getDiscountCodeLabel()\" v-bind:disabled=\"isDiscountLoading()\" id=\"rebuy-cart__discount-input\" aria-label=\"Input Discount\" autocomplete=\"\">\n        <\/div>\n        <button type=\"submit\" class=\"rebuy-button\" v-bind:disabled=\"isDiscountLoading()\">\n            <span v-html=\"getDiscountButtonLabel()\"><\/span>\n        <\/button>\n    <\/form>\n\n\n    <!-- Discount Error Message -->\n    <div v-if=\"hasDiscountError()\" v-html=\"getDiscountErrorMessage()\" class=\"rebuy-cart__discount-error-message\"><\/div>\n\n    <!-- Discount Code Tags -->\n    <div class=\"rebuy-cart__discount-tags\" v-if=\"shouldShowDiscountTags()\">\n        <div v-for=\"code in getAppliedDiscountCodes()\" :key=\"code\" class=\"rebuy-cart__discount-tag\">\n            <span class=\"rebuy-cart__discount-tag-icon\">\n                <rebuy-icon :name=\"isGiftCard(code) ? 'gift' : 'tag'\"><\/rebuy-icon>\n            <\/span>\n            <span class=\"rebuy-cart__discount-tag-text\" v-html=\"code\"><\/span>\n            <span class=\"rebuy-cart__discount-tag-remove\" v-on:click=\"removeDiscount(code)\">\n                <rebuy-icon name=\"x\"><\/rebuy-icon>\n            <\/span>\n        <\/div>\n    <\/div>\n\n    <!-- Discount Amount -->\n    <div class=\"rebuy-cart__discount-amount\" v-if=\"shouldShowDiscountSubtotal()\">\n        <span v-html=\"discountTotal()\"><\/span>\n    <\/div>\n<\/div>\n\n<div v-show=\"hasItems()\" data-rebuy-component=\"checkout-area\" data-rebuy-component-id=\"checkout\">\n\n\n<div class=\"rebuy-cart__flyout-terms\" v-if=\"hasTermsEnabled()\">\n  <input class=\"rebuy-cart__flyout-terms-checkbox rebuy-checkbox\" id=\"rebuy-terms-checkbox\" name=\"rebuy-terms-checkbox\" type=\"checkbox\" v-model=\"termsAccepted\" v-on:click=\"updateTermsCheck()\">\n  <label class=\"rebuy-cart__flyout-terms-label\" for=\"rebuy-terms-checkbox\" v-html=\"getCheckoutSettings().language.terms_and_conditions_label\"><\/label>\n<\/div>\n\n\n<button v-show=\"hasCheckoutButton()\" class=\"rebuy-button rebuy-cart__checkout-button block\" type=\"button\" v-on:click=\"checkout()\" v-bind:disabled=\"(hasTermsEnabled() && !hasAcceptedTerms()) || hasQuantityErrors()\">\n  <span v-html=\"checkoutLabel()\"><\/span>\n<\/button>\n\n\n<button v-if=\"hasViewCartButton()\" class=\"rebuy-button rebuy-cart__view-cart-button block\" v-bind:class=\"{'outline': hasCheckoutButton()}\" type=\"button\" v-on:click=\"viewCart()\">\n  <span v-html=\"viewCartLabel()\"><\/span>\n<\/button>\n\n\n<button v-if=\"hasContinueShoppingButton()\" class=\"rebuy-button rebuy-cart__continue-shopping-button block outline\" type=\"button\" v-on:click=\"hide()\">\n  <span v-html=\"continueShoppingLabel()\"><\/span>\n<\/button>\n\n\n<button v-if=\"hasShopPayButton()\" class=\"rebuy-button rebuy-cart__shop-pay-button block\" v-on:click=\"shopPayCheckout()\" aria-label=\"Checkout with Shop Pay\" v-html=\"shopPaySvg\">\n<\/button>\n\n<div data-rebuy-cart-additional-checkout-buttons=\"\"><\/div>\n\n<div class=\"rebuy-cart__flyout-installments\" v-html=\"installmentsMessage()\"><\/div>\n\n<div v-if=\"hasPrePurchase()\" :data-rebuy-id=\"prePurchaseWidgetId()\"><\/div>\n\n<\/div>\n\n<div data-rebuy-component=\"cross-sell-widget\" data-rebuy-component-id=\"4b93f05f-53a2-4b78-b498-61f2dea7203c\">\n    <div :data-rebuy-id=\"getWidgetIdByComponentId('4b93f05f-53a2-4b78-b498-61f2dea7203c')\"><\/div>\n<\/div>\n\n<div data-rebuy-custom-code=\"a69e9aff-2cd5-43df-a823-99866c8f30d1\" data-rebuy-component-id=\"a69e9aff-2cd5-43df-a823-99866c8f30d1\"><\/div>\n<\/div>\n  <\/div>\n\n\n  <div class=\"rebuy-cart__background\" v-on:click=\"hide()\"><\/div>\n  <div id=\"rebuy-cart-live-region\" class=\"sr-only\" aria-live=\"polite\"><\/div>\n<\/div>","use_custom_template":false,"created_at":"2025-10-28 15:38:00","updated_at":"2026-04-15 00:49:08","last_edited_by":"38192","locked":false,"ab_test_locked":"0","is_scheduled":"0","is_fallback":"0","cloud_task_id":null,"start_date":null,"end_date":null,"layout":"single","product_form_redirect":"none","apps":[{"enabled":0,"user_inputs":{"add_label":"Add a gift message","edit_label":"Edit gift message"},"partner_app_id":84,"show_in_empty_cart":1}],"components":[{"type":"cross_sell_widget","anchor":"footer","version":"v1.0","settings":{"widget_id":249672},"anchor_order":5,"component_id":"4b93f05f-53a2-4b78-b498-61f2dea7203c","custom_template":null,"visibility_status":"visible","previous_templates":null,"use_custom_template":0},{"type":"custom_code_block","anchor":"footer","version":"v1.0","settings":{"html_code":"<template id=\"giftnote-rebuy\"> <style>\n#button {\n    margin: 0 16px;\n    background-color: var(--color-brand-primary) !important;\n    color: var(--color-white) !important;\n    font-family: var(--font-primary) !important;\n    font-weight: 700 !important;\n    border: 1px solid var(--color-brand-primary) !important;\n    border-radius: var(--border-radius-button) !important;\n    padding: 11px 15px;\n    height: auto;\n    text-align: center;\n    font-size: 16px;\n    font-style: var(--font-button-style);\n    text-transform: var(--font-button-transform, none);\n    letter-spacing: var(--font-button-letter-spacing, normal);\n    text-align: center;\n    text-decoration: none;\n    transition: background .3s ease-in, color .3s ease-in;\n    margin-bottom: 10px;\n}\n#button:hover {\n    background-color: var(--color-brand-hover) !important;\n    border-color: var(--color-brand-hover) !important;\n}\n<\/style> <\/template>"},"anchor_order":6,"component_id":"a69e9aff-2cd5-43df-a823-99866c8f30d1","custom_template":null,"visibility_status":"visible","previous_templates":null,"use_custom_template":0},{"type":"cart_items","anchor":"body","version":"v1.7","settings":{"plural_line_item_label":"items","single_line_item_label":"item","nested_cart_items_enabled":false,"nested_items_hidden_label":"Hide","nested_items_displayed_label":"Show {{nested_item_count}} {{single_or_plural_line_item_label}}. Total cost: {{total_nested_item_cost}}","nested_cart_items_dropdown_enabled":false,"nested_cart_items_dropdown_open_by_default":false},"anchor_order":1,"component_id":"cart_items","custom_template":null,"visibility_status":"always_visible","previous_templates":null,"use_custom_template":0},{"type":"cart_share","anchor":"header","version":"v1.0","settings":{"language":{"hover_text":"Copy shareable cart link","copied_text":"URL was copied to your clipboard!"}},"anchor_order":2,"component_id":"cart_share","custom_template":null,"visibility_status":"visible","previous_templates":null,"use_custom_template":0},{"type":"cart_subtotal","anchor":"footer","version":"v1.1","settings":{"subtotal_plural_text":"Subtotal ({{item_count}} items)","show_discount_summary":true,"subtotal_singular_text":"Subtotal ({{item_count}} item)","discount_summary_count_label":"{{discount_count}} order discount applied","discount_summary_count_label_plural":"{{discount_count}} order discounts applied"},"anchor_order":1,"component_id":"cart_subtotal","custom_template":{"id":"fad32668-b7a1-463e-82d5-02a76ed05548","name":"Unnamed Template","template":"<div\n    v-if=\"hasItems()\"\n    data-rebuy-component=\"cart-subtotal\"\n    data-rebuy-component-id=\"cart_subtotal\"\n>\n    <!-- Legacy Subtotal (when discount summary is disabled) -->\n    <div v-if=\"!shouldShowDiscountSummary()\" class=\"rebuy-cart__flyout-subtotal\">\n        <div class=\"rebuy-cart__flyout-subtotal-label\">\n            <span v-html=\"subtotalLabel()\"><\/span>\n        <\/div>\n        <div class=\"rebuy-cart__flyout-subtotal-amount\">\n            <span class=\"sr-only\">Cart subtotal<\/span>\n            <span v-html=\"subtotal()\"><\/span>\n        <\/div>\n    <\/div>\n\n    <!-- Subtotal with Discount Summary -->\n    <div v-else class=\"rebuy-cart__subtotal-with-discounts\">\n        <div class=\"rebuy-cart__subtotal-with-discounts-row\">\n            <div class=\"rebuy-cart__subtotal-with-discounts-row-label\">\n                <span v-html=\"subtotalLabel()\"><\/span>\n            <\/div>\n            <div class=\"rebuy-cart__subtotal-with-discounts-row-amount\">\n                <span class=\"sr-only\">Cart subtotal<\/span>\n                <span v-html=\"subtotal()\"><\/span>\n            <\/div>\n        <\/div>\n\n        <div\n            class=\"rebuy-cart__discount-summary\"\n            :class=\"{ 'is-expanded': isDiscountSummaryExpanded() }\"\n        >\n            <button\n                class=\"rebuy-cart__discount-summary-header\"\n                @click=\"toggleDiscountSummary()\"\n                :aria-expanded=\"isDiscountSummaryExpanded()\"\n                aria-controls=\"discount-summary-details\"\n            >\n                <span v-html=\"getDiscountSummaryCountLabel()\"><\/span>\n                <span class=\"rebuy-cart__discount-summary-icon\" aria-hidden=\"true\">\n                    <rebuy-icon name=\"chevron-down\"><\/rebuy-icon>\n                <\/span>\n            <\/button>\n\n            <div\n                id=\"discount-summary-details\"\n                class=\"rebuy-cart__discount-summary-details\"\n                role=\"region\"\n                :aria-hidden=\"!isDiscountSummaryExpanded()\"\n            >\n                <div\n                    v-for=\"discount in getDiscountSummaryItems()\"\n                    class=\"rebuy-cart__discount-summary-item\"\n                >\n                    <span v-html=\"discount.title\"><\/span>\n                    <span v-html=\"discount.amount\"><\/span>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n","edited_by":"nantonelli@sharegracefarms.com","timestamp":1776214148446,"component_version":"v1.1"},"visibility_status":"always_visible","previous_templates":[{"id":"fad32668-b7a1-463e-82d5-02a76ed05548","name":"Unnamed Template","template":"<div\n    v-if=\"hasItems()\"\n    data-rebuy-component=\"cart-subtotal\"\n    data-rebuy-component-id=\"cart_subtotal\"\n>\n    <!-- Legacy Subtotal (when discount summary is disabled) -->\n    <div v-if=\"!shouldShowDiscountSummary()\" class=\"rebuy-cart__flyout-subtotal\">\n        <div class=\"rebuy-cart__flyout-subtotal-label\">\n            <span v-html=\"subtotalLabel()\"><\/span>\n        <\/div>\n        <div class=\"rebuy-cart__flyout-subtotal-amount\">\n            <span class=\"sr-only\">Cart subtotal<\/span>\n            <span v-html=\"subtotal()\"><\/span>\n        <\/div>\n    <\/div>\n\n    <!-- Subtotal with Discount Summary -->\n    <div v-else class=\"rebuy-cart__subtotal-with-discounts\">\n        <div class=\"rebuy-cart__subtotal-with-discounts-row\">\n            <div class=\"rebuy-cart__subtotal-with-discounts-row-label\">\n                <span v-html=\"subtotalLabel()\"><\/span>\n            <\/div>\n            <div class=\"rebuy-cart__subtotal-with-discounts-row-amount\">\n                <span class=\"sr-only\">Cart subtotal<\/span>\n                <span v-html=\"subtotal()\"><\/span>\n            <\/div>\n        <\/div>\n\n        <div\n            class=\"rebuy-cart__discount-summary\"\n            :class=\"{ 'is-expanded': isDiscountSummaryExpanded() }\"\n        >\n            <button\n                class=\"rebuy-cart__discount-summary-header\"\n                @click=\"toggleDiscountSummary()\"\n                :aria-expanded=\"isDiscountSummaryExpanded()\"\n                aria-controls=\"discount-summary-details\"\n            >\n                <span v-html=\"getDiscountSummaryCountLabel()\"><\/span>\n                <span class=\"rebuy-cart__discount-summary-icon\" aria-hidden=\"true\">\n                    <rebuy-icon name=\"chevron-down\"><\/rebuy-icon>\n                <\/span>\n            <\/button>\n\n            <div\n                id=\"discount-summary-details\"\n                class=\"rebuy-cart__discount-summary-details\"\n                role=\"region\"\n                :aria-hidden=\"!isDiscountSummaryExpanded()\"\n            >\n                <div\n                    v-for=\"discount in getDiscountSummaryItems()\"\n                    class=\"rebuy-cart__discount-summary-item\"\n                >\n                    <span v-html=\"discount.title\"><\/span>\n                    <span v-html=\"discount.amount\"><\/span>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n","edited_by":"nantonelli@sharegracefarms.com","timestamp":1776214148446,"component_version":"v1.1"}],"use_custom_template":1},{"type":"checkout","anchor":"footer","version":"v1.0","settings":{"terms":{"enabled":false},"shop_pay":{"enabled":false},"language":{"checkout_label":"Checkout →","view_cart_label":"View Cart","checking_out_label":"Checking Out...","view_cart_working_label":"Redirecting to Cart...","continue_shopping_label":"Continue Shopping","terms_and_conditions_label":"I agree to the terms and conditions"},"pre_purchase":{"enabled":false,"widget_id":""},"installments":{"enabled":false,"provider":"Afterpay","terms_url":"https:\/\/www.afterpay.com\/installment-agreement","payment_count":"4"},"checkout_button":{"enabled":true,"routing":"automatic","routing_link":""},"view_cart_button":{"enabled":false},"accelerated_checkout":{"enabled":false},"continue_shopping_button":{"enabled":false}},"anchor_order":4,"component_id":"checkout","custom_template":null,"visibility_status":"always_visible","previous_templates":null,"use_custom_template":0},{"type":"discount_code","anchor":"footer","version":"v1.3","settings":{"language":{"discount_code_label":"Discount Code","gift_card_code_label":"Gift Card Code","discount_button_label":"Apply","gift_card_button_label":"Apply Gift Card","discount_invalid_message":"{{code}} is not valid for this cart.","gift_card_invalid_message":"{{code}} is not a valid gift card code."},"use_message_only":false,"use_storefront_api":true,"allow_gift_card_input":false},"anchor_order":3,"component_id":"discount_code","custom_template":null,"visibility_status":"visible","previous_templates":null,"use_custom_template":0},{"type":"login","anchor":"header","version":"v1.2","settings":{"url":"\/account\/login","language":{"title":"Login"}},"anchor_order":3,"component_id":"login","custom_template":null,"visibility_status":"visible","previous_templates":null,"use_custom_template":0},{"type":"smart_cart_app","anchor":"footer","version":"v1.0","settings":{"app_id":84},"anchor_order":2,"component_id":"smart-cart-app-b111146c-f119-437c-91bb-8d441efe14a3","custom_template":null,"visibility_status":"hidden","previous_templates":null,"use_custom_template":0},{"type":"tiered_progress_bar","anchor":"goalBox","version":"v1.5","settings":{"bars":[{"id":"f868b9d0-553c-489a-8a59-9cff0f896b39","name":"Free Shipping @ $60","tiers":[{"id":"92abbac3-75af-4670-b651-aa1b586c3a64","type":"shipping","minimum":60,"products":[],"all_products":[],"discount_type":"percentage","custom_tier_label":false,"discount_message":"Free Gift","product_tier_image":false,"filter_oos_variants":false,"custom_tier_label_text":"Custom Tier Label","order_discount_message":"Order Discount","presentmentCurrencies":{"enabled":false,"currencies":[]},"product_tier_element_size":"24px","discount_amount_from_total":0,"product_amount_reached_label":true,"discount_amount_reached_label":true,"product_amount_remaining_label":true,"decorative_amount_reached_label":true,"discount_amount_remaining_label":true,"product_amount_reached_label_text":"You have unlocked a free {{product_title}}!","decorative_amount_remaining_label":true,"discount_amount_reached_label_text":"You have unlocked {{discount_amount}} off your entire order!","product_amount_remaining_label_text":"You are {{remaining_amount}} away from a free {{product_title}}!","decorative_amount_reached_label_text":"You have unlocked something great!","discount_amount_remaining_label_text":"You are {{remaining_amount}} away from {{discount_amount}} off your entire order!","decorative_amount_remaining_label_text":"You are {{remaining_amount}} away from something great!"},{"id":"d9e26016-c6fe-4530-9ab3-dfa51ca5a8f5","type":"decorative","minimum":100,"products":[],"all_products":[{"json":{"id":9364916306161,"tags":"gifts <$50,holiday best sellers,host,NO-DONEGOOD,Out of Stock,tea gifts,wares","image":{"id":40375069278449,"alt":null,"src":"https:\/\/cdn.shopify.com\/s\/files\/1\/0506\/1469\/8136\/files\/TEA_GLASSES_DETAIL.jpg?v=1763158850","width":1600,"height":1280,"position":1,"created_at":null,"product_id":9364916306161,"updated_at":null,"variant_ids":[40375069278449]},"title":"Grace Farms Tea Glass Set","handle":"grace-farms-tea-pot-glasses-copy","images":[{"id":40375069278449,"alt":null,"src":"https:\/\/cdn.shopify.com\/s\/files\/1\/0506\/1469\/8136\/files\/TEA_GLASSES_DETAIL.jpg?v=1763158850","width":1600,"height":1280,"position":1,"created_at":null,"product_id":9364916306161,"updated_at":null,"variant_ids":[40375069278449]},{"id":40375069442289,"alt":null,"src":"https:\/\/cdn.shopify.com\/s\/files\/1\/0506\/1469\/8136\/files\/TEA_GLASSES_DETAIL_1.jpg?v=1763158850","width":1747,"height":1398,"position":2,"created_at":null,"product_id":9364916306161,"updated_at":null,"variant_ids":[]},{"id":40375069245681,"alt":null,"src":"https:\/\/cdn.shopify.com\/s\/files\/1\/0506\/1469\/8136\/files\/TEAPOT_GLASSES_THUMBNAIL.jpg?v=1763158850","width":1667,"height":1334,"position":3,"created_at":null,"product_id":9364916306161,"updated_at":null,"variant_ids":[]},{"id":43799229169905,"alt":null,"src":"https:\/\/cdn.shopify.com\/s\/files\/1\/0506\/1469\/8136\/files\/English_Breakfast_Slider_1.jpg?v=1763158850","width":4572,"height":3657,"position":4,"created_at":null,"product_id":9364916306161,"updated_at":null,"variant_ids":[]},{"id":43667614236913,"alt":null,"src":"https:\/\/cdn.shopify.com\/s\/files\/1\/0506\/1469\/8136\/files\/Grace_Farms_Breathe_Lifestyle.jpg?v=1763158850","width":1420,"height":1135,"position":5,"created_at":null,"product_id":9364916306161,"updated_at":null,"variant_ids":[]},{"id":40375069343985,"alt":null,"src":"https:\/\/cdn.shopify.com\/s\/files\/1\/0506\/1469\/8136\/files\/TEAPOT_DETAIL_1.jpg?v=1763158850","width":1566,"height":1253,"position":6,"created_at":null,"product_id":9364916306161,"updated_at":null,"variant_ids":[]},{"id":40375069114609,"alt":null,"src":"https:\/\/cdn.shopify.com\/s\/files\/1\/0506\/1469\/8136\/files\/TEAPOT_DETAIL_2.jpg?v=1763158850","width":1279,"height":1023,"position":7,"created_at":null,"product_id":9364916306161,"updated_at":null,"variant_ids":[]},{"id":40375069180145,"alt":null,"src":"https:\/\/cdn.shopify.com\/s\/files\/1\/0506\/1469\/8136\/files\/TEAPOT_GLASSES_2.jpg?v=1763158850","width":1334,"height":1067,"position":8,"created_at":null,"product_id":9364916306161,"updated_at":null,"variant_ids":[]},{"id":40375069212913,"alt":null,"src":"https:\/\/cdn.shopify.com\/s\/files\/1\/0506\/1469\/8136\/files\/TEAPOT_GLASSES_3.jpg?v=1763158850","width":1867,"height":1494,"position":9,"created_at":null,"product_id":9364916306161,"updated_at":null,"variant_ids":[]},{"id":40375069311217,"alt":null,"src":"https:\/\/cdn.shopify.com\/s\/files\/1\/0506\/1469\/8136\/files\/TEAPOT_DETAIL.jpg?v=1761590031","width":1334,"height":1067,"position":10,"created_at":null,"product_id":9364916306161,"updated_at":null,"variant_ids":[]},{"id":46999813161201,"alt":null,"src":"https:\/\/cdn.shopify.com\/s\/files\/1\/0506\/1469\/8136\/files\/Darjeeling_Sunrise_Slider_1_82c34992-31f5-448f-858c-9fd25911f6f8.jpg?v=1761590031","width":5206,"height":3718,"position":11,"created_at":null,"product_id":9364916306161,"updated_at":null,"variant_ids":[]}],"vendor":"Grace Farms","options":[{"id":null,"name":"Quantity","values":["2 Tea Glasses"],"position":1,"product_id":9364916306161}],"body_html":"Reinvent your daily tea ritual with Grace Farms' tea pot and glasses.  These specially crafted tea wares are designed to help you engage all your senses with each delicious sip of tea.\r\n\r\n The Grace Farms sipping glasses are the perfect pair to the tea pot, ideal for sharing a tea moment with someone special.  Each double walled 3 oz. sipping glass is engraved and elevates the taste of any tea by keeping it hot and without burning your fingers.","variants":[{"id":47125136081137,"sku":null,"grams":0,"price":"$0.00","title":"Default Title","weight":0,"barcode":null,"image_id":null,"option1":null,"option2":null,"option3":null,"taxable":false,"position":1,"created_at":"1970-01-01T00:00:00Z","product_id":9364916306161,"updated_at":"0001-01-01T00:00:00Z","weight_unit":"lb","compare_at_price":"$0","inventory_policy":"deny","requires_shipping":false,"inventory_quantity":0,"fulfillment_service":"manual","inventory_management":null,"old_inventory_quantity":0},{"id":47125136113905,"sku":null,"grams":0,"price":"$0.00","title":"Default Title","weight":0,"barcode":null,"image_id":null,"option1":null,"option2":null,"option3":null,"taxable":false,"position":1,"created_at":"1970-01-01T00:00:00Z","product_id":9364916306161,"updated_at":"0001-01-01T00:00:00Z","weight_unit":"lb","compare_at_price":"$0","inventory_policy":"deny","requires_shipping":false,"inventory_quantity":0,"fulfillment_service":"manual","inventory_management":null,"old_inventory_quantity":0},{"id":47125136146673,"sku":null,"grams":0,"price":"$0.00","title":"Default Title","weight":0,"barcode":null,"image_id":null,"option1":null,"option2":null,"option3":null,"taxable":false,"position":1,"created_at":"1970-01-01T00:00:00Z","product_id":9364916306161,"updated_at":"0001-01-01T00:00:00Z","weight_unit":"lb","compare_at_price":"$0","inventory_policy":"deny","requires_shipping":false,"inventory_quantity":0,"fulfillment_service":"manual","inventory_management":null,"old_inventory_quantity":0},{"id":47125201354993,"sku":"TEACUPS2OZX2","grams":227,"price":"$12.00","title":"2 Tea Glasses","weight":0.5,"barcode":"810064951404","image_id":40375069278449,"option1":"2 Tea Glasses","option2":null,"option3":null,"taxable":true,"position":1,"created_at":"2025-11-14T23:18:00Z","product_id":9364916306161,"updated_at":"2025-12-02T01:38:52Z","weight_unit":"pounds","compare_at_price":"$0","inventory_policy":"continue","requires_shipping":true,"inventory_quantity":696,"fulfillment_service":"manual","inventory_management":"shopify","old_inventory_quantity":0}],"created_at":"2025-11-14T22:00:18Z","updated_at":"2025-12-02T01:38:52Z","product_type":"Tea Wares","published_at":"2025-11-14T23:19:05Z"},"minimum":100,"product_id":9364916306161,"variant_ids":[]}],"discount_type":"fixedAmount","custom_tier_label":true,"discount_message":"Free Gift @ $100.00","product_tier_image":false,"filter_oos_variants":false,"custom_tier_label_text":"Grace Farms Tea Glass Set","order_discount_message":"Free Gift @ $100.00","presentmentCurrencies":{"enabled":false,"currencies":[]},"product_tier_element_size":"24px","discount_amount_from_total":"12","product_amount_reached_label":true,"discount_amount_reached_label":true,"product_amount_remaining_label":true,"decorative_amount_reached_label":true,"discount_amount_remaining_label":true,"product_amount_reached_label_text":"You have unlocked a free {{product_title}}!","decorative_amount_remaining_label":true,"discount_amount_reached_label_text":"You have unlocked a free Grace Farms Tea Glass Set. Cheers!","product_amount_remaining_label_text":"You are {{remaining_amount}} away from a free {{product_title}}!","decorative_amount_reached_label_text":"You have unlocked a free Grace Farms Tea Glass Set. Cheers!","discount_amount_remaining_label_text":"You are {{remaining_amount}} away a free Grace Farms Tea Glass Set!","decorative_amount_remaining_label_text":"You are {{remaining_amount}} away from a free Grace Farms Tea Glass Set!"}],"layout":"above","language":{"gift_area_title":"","free_shipping_reached":"🎉 Congrats! You've unlocked <b>FREE SHIPPING!<\/b>","free_shipping_remaining":"You are {{remaining_amount}} away from <b>FREE SHIPPING<\/b>!"},"country_codes":[],"discounted_by":"functions","use_line_item_mode":false,"excluded_products":[],"geolocation_enabled":false,"all_excluded_products":[],"exclude_discount_in_subtotal":false,"free_shipping_on_all_products":false,"free_shipping_on_subscription":false}]},"anchor_order":1,"component_id":"tiered_progress_bar","custom_template":{"id":"9ec03546-1ef8-45f4-b224-d7e05c22d53d","name":"Unnamed Template","template":"<div v-if=\"!!progressBar\" data-rebuy-component=\"progress-bar\" data-rebuy-component-id=\"tiered_progress_bar\">\n\n\n   <!-- Step Icons -->\n   <div class=\"rebuy-cart__progress-step-wrapper\" :class=\"['count-' + progressBar.tiers.length]\">\n       <div\n           v-for=\"tier in progressBar.tiers\"\n           :key=\"tier.id\"\n           class=\"rebuy-cart__progress-step\"\n           :class=\"{ complete: progressTierReached(tier) }\"\n           :style=\"{ width: progressStepMaxWidth(progressBar) }\"\n       >\n           <div\n               class=\"rebuy-cart__progress-step-icon\"\n               :style=\"getProgressStepIconSize(tier)\"\n               v-html=\"progressTierIcon(tier)\"\n           ><\/div>\n           <span class=\"rebuy-cart__progress-step-label\" v-html=\"getTierLabel(tier)\"><\/span>\n       <\/div>\n   <\/div>\n   <!-- End Step Icons -->\n\n\n   <!-- Progress Bar -->\n   <div class=\"rebuy-cart__progress-bar-wrapper\">\n       <div\n           class=\"rebuy-cart__progress-bar-meter\"\n           :class=\"[hasTierProgress() ? 'has-progress' : 'no-progress']\"\n       >\n           <div\n               class=\"rebuy-cart__progress-bar-meter-fill\"\n               :style=\"{ width: tiersPercentageComplete(progressBar) }\"\n               role=\"progressbar\"\n               tabindex=\"0\"\n               aria-valuemin=\"0\"\n               aria-valuemax=\"100\"\n               :aria-valuenow=\"tiersPercentageComplete(progressBar, true)\"\n               aria-labelledby=\"rebuy-cart__progress-bar-meter-label\"\n           >\n               <span class=\"sr-only\" v-text=\"'Progress: ' + tiersPercentageComplete(progressBar, true) +'%'\"><\/span>\n           <\/div>\n       <\/div>\n\n\n       <div\n           v-if=\"hasProgressPrompt(progressBar)\"\n           id=\"rebuy-cart__progress-bar-meter-label\"\n           class=\"rebuy-cart__progress-bar-prompt\"\n           v-html=\"getTierFeedbackText(progressBar)\"\n       ><\/div>\n   <\/div>\n   <!-- End Progress Bar -->\n\n\n   <!-- Earned Gift Area -->\n   <div v-if=\"shouldRenderGiftArea(progressBar)\" class=\"rebuy-cart__progress-gifts\">\n       <div\n           v-if=\"shouldRenderGiftAreaTitle(progressBar)\"\n           class=\"rebuy-cart__progress-gifts-title\"\n           v-text=\"getGiftAreaTitle(progressBar)\"\n       ><\/div>\n       <div class=\"rebuy-cart__progress-gifts-container\">\n           <div\n               v-for=\"product in getEarnedProducts(progressBar)\"\n               v-if=\"shouldRenderEarnedGift(progressBar, product)\"\n               :key=\"product.id + '-' + product.tier\"\n               class=\"rebuy-cart__progress-gift\"\n           >\n               <div\n                   class=\"rebuy-cart__progress-gift-image\"\n                   :style=\"freeProductStyles(product)\"\n               ><\/div>\n               <div class=\"rebuy-cart__progress-gift-info\">\n                   <div>\n                       <p class=\"rebuy-cart__progress-gift-title\" v-text=\"product.title\"><\/p>\n                       <span\n                           v-if=\"hasGiftSelection(product)\"\n                           class=\"rebuy-cart__progress-gift-variant-title\"\n                           v-text=\"getFreeVariantTitle(product)\"\n                       ><\/span>\n                   <\/div>\n                   <div\n                       v-if=\"!hasGiftSelection(product)\"\n                       class=\"rebuy-cart__progress-gift-selection-container\"\n                   >\n                       <!-- Single Variant Selection -->\n                       <div\n                           v-if=\"freeProductOptions(product).length === 1\"\n                           class=\"rebuy-cart__progress-gift-variant-readd\"\n                           role=\"button\"\n                           @click=\"addSingleVariantFreeProduct(product)\"\n                           v-html=\"freeProductPrompt(product)\"\n                       ><\/div>\n\n\n                       <!-- Multi Variant Selection -->\n                       <div v-else class=\"rebuy-cart__progress-gift-variant-select-container\">\n                           <select\n                               v-if=\"freeProductOptions(product).length > 1\"\n                               class=\"rebuy-cart__progress-gift-variant-select\"\n                               @change=\"selectFreeProductVariant($event, product)\"\n                           >\n                               <option value=\"\" disabled selected>Select Gift<\/option>\n                               <option\n                                   v-for=\"variant in freeProductOptions(product)\"\n                                   :key=\"variant.id\"\n                                   :value=\"variant.id\"\n                                   v-text=\"variant.title\"\n                               ><\/option>\n                           <\/select>\n                           <div\n                               class=\"rebuy-cart__progress-gift-variant-select-prompt\"\n                               v-html=\"freeProductPrompt(product)\"\n                           ><\/div>\n                       <\/div>\n                   <\/div>\n               <\/div>\n               <button\n                   v-if=\"hasGiftSelection(product)\"\n                   class=\"rebuy-cart__progress-gift-remove\"\n                   @click=\"removeFreeProduct(product)\"\n                   :aria-label=\"'Remove ' + product.title +  ' ' + (product.chosen_variant?.title)\"\n               >\n                   <rebuy-icon name=\"x\"><\/rebuy-icon>\n               <\/button>\n           <\/div>\n       <\/div>\n   <\/div>\n   <!-- End Earned Gift Area -->\n\n\n<\/div>\n\n\n","edited_by":"nantonelli@sharegracefarms.com","timestamp":1776214148446,"component_version":"v1.5"},"visibility_status":"visible","previous_templates":[{"id":"9ec03546-1ef8-45f4-b224-d7e05c22d53d","name":"Unnamed Template","template":"<div v-if=\"!!progressBar\" data-rebuy-component=\"progress-bar\" data-rebuy-component-id=\"tiered_progress_bar\">\n\n\n   <!-- Step Icons -->\n   <div class=\"rebuy-cart__progress-step-wrapper\" :class=\"['count-' + progressBar.tiers.length]\">\n       <div\n           v-for=\"tier in progressBar.tiers\"\n           :key=\"tier.id\"\n           class=\"rebuy-cart__progress-step\"\n           :class=\"{ complete: progressTierReached(tier) }\"\n           :style=\"{ width: progressStepMaxWidth(progressBar) }\"\n       >\n           <div\n               class=\"rebuy-cart__progress-step-icon\"\n               :style=\"getProgressStepIconSize(tier)\"\n               v-html=\"progressTierIcon(tier)\"\n           ><\/div>\n           <span class=\"rebuy-cart__progress-step-label\" v-html=\"getTierLabel(tier)\"><\/span>\n       <\/div>\n   <\/div>\n   <!-- End Step Icons -->\n\n\n   <!-- Progress Bar -->\n   <div class=\"rebuy-cart__progress-bar-wrapper\">\n       <div\n           class=\"rebuy-cart__progress-bar-meter\"\n           :class=\"[hasTierProgress() ? 'has-progress' : 'no-progress']\"\n       >\n           <div\n               class=\"rebuy-cart__progress-bar-meter-fill\"\n               :style=\"{ width: tiersPercentageComplete(progressBar) }\"\n               role=\"progressbar\"\n               tabindex=\"0\"\n               aria-valuemin=\"0\"\n               aria-valuemax=\"100\"\n               :aria-valuenow=\"tiersPercentageComplete(progressBar, true)\"\n               aria-labelledby=\"rebuy-cart__progress-bar-meter-label\"\n           >\n               <span class=\"sr-only\" v-text=\"'Progress: ' + tiersPercentageComplete(progressBar, true) +'%'\"><\/span>\n           <\/div>\n       <\/div>\n\n\n       <div\n           v-if=\"hasProgressPrompt(progressBar)\"\n           id=\"rebuy-cart__progress-bar-meter-label\"\n           class=\"rebuy-cart__progress-bar-prompt\"\n           v-html=\"getTierFeedbackText(progressBar)\"\n       ><\/div>\n   <\/div>\n   <!-- End Progress Bar -->\n\n\n   <!-- Earned Gift Area -->\n   <div v-if=\"shouldRenderGiftArea(progressBar)\" class=\"rebuy-cart__progress-gifts\">\n       <div\n           v-if=\"shouldRenderGiftAreaTitle(progressBar)\"\n           class=\"rebuy-cart__progress-gifts-title\"\n           v-text=\"getGiftAreaTitle(progressBar)\"\n       ><\/div>\n       <div class=\"rebuy-cart__progress-gifts-container\">\n           <div\n               v-for=\"product in getEarnedProducts(progressBar)\"\n               v-if=\"shouldRenderEarnedGift(progressBar, product)\"\n               :key=\"product.id + '-' + product.tier\"\n               class=\"rebuy-cart__progress-gift\"\n           >\n               <div\n                   class=\"rebuy-cart__progress-gift-image\"\n                   :style=\"freeProductStyles(product)\"\n               ><\/div>\n               <div class=\"rebuy-cart__progress-gift-info\">\n                   <div>\n                       <p class=\"rebuy-cart__progress-gift-title\" v-text=\"product.title\"><\/p>\n                       <span\n                           v-if=\"hasGiftSelection(product)\"\n                           class=\"rebuy-cart__progress-gift-variant-title\"\n                           v-text=\"getFreeVariantTitle(product)\"\n                       ><\/span>\n                   <\/div>\n                   <div\n                       v-if=\"!hasGiftSelection(product)\"\n                       class=\"rebuy-cart__progress-gift-selection-container\"\n                   >\n                       <!-- Single Variant Selection -->\n                       <div\n                           v-if=\"freeProductOptions(product).length === 1\"\n                           class=\"rebuy-cart__progress-gift-variant-readd\"\n                           role=\"button\"\n                           @click=\"addSingleVariantFreeProduct(product)\"\n                           v-html=\"freeProductPrompt(product)\"\n                       ><\/div>\n\n\n                       <!-- Multi Variant Selection -->\n                       <div v-else class=\"rebuy-cart__progress-gift-variant-select-container\">\n                           <select\n                               v-if=\"freeProductOptions(product).length > 1\"\n                               class=\"rebuy-cart__progress-gift-variant-select\"\n                               @change=\"selectFreeProductVariant($event, product)\"\n                           >\n                               <option value=\"\" disabled selected>Select Gift<\/option>\n                               <option\n                                   v-for=\"variant in freeProductOptions(product)\"\n                                   :key=\"variant.id\"\n                                   :value=\"variant.id\"\n                                   v-text=\"variant.title\"\n                               ><\/option>\n                           <\/select>\n                           <div\n                               class=\"rebuy-cart__progress-gift-variant-select-prompt\"\n                               v-html=\"freeProductPrompt(product)\"\n                           ><\/div>\n                       <\/div>\n                   <\/div>\n               <\/div>\n               <button\n                   v-if=\"hasGiftSelection(product)\"\n                   class=\"rebuy-cart__progress-gift-remove\"\n                   @click=\"removeFreeProduct(product)\"\n                   :aria-label=\"'Remove ' + product.title +  ' ' + (product.chosen_variant?.title)\"\n               >\n                   <rebuy-icon name=\"x\"><\/rebuy-icon>\n               <\/button>\n           <\/div>\n       <\/div>\n   <\/div>\n   <!-- End Earned Gift Area -->\n\n\n<\/div>\n\n\n","edited_by":"nantonelli@sharegracefarms.com","timestamp":1776214148446,"component_version":"v1.5"}],"use_custom_template":1},{"type":"title_bar","anchor":"header","version":"v1.0","settings":{"title":"Your Cart","heading_tag":"h2","screen_reader_only":false},"anchor_order":1,"component_id":"title_bar","custom_template":{"id":"8a31d47f-e3f2-425c-8611-6b8ae3380987","name":"Unnamed Template","template":"<component :is=\"getCartTitleHeadingTag()\"\n    id=\"rebuy-cart-title\"\n    data-rebuy-component-id=\"title_bar\"\n    data-rebuy-component=\"title-bar\"\n    :class=\"['rebuy-cart__title', getCartTitleClassName()]\"\n    v-html=\"getCartTitle()\"\n><\/component>\n","edited_by":"nantonelli@sharegracefarms.com","timestamp":1776214148446,"component_version":"v1.0"},"visibility_status":"visible","previous_templates":[{"id":"8a31d47f-e3f2-425c-8611-6b8ae3380987","name":"Unnamed Template","template":"<component :is=\"getCartTitleHeadingTag()\"\n    id=\"rebuy-cart-title\"\n    data-rebuy-component-id=\"title_bar\"\n    data-rebuy-component=\"title-bar\"\n    :class=\"['rebuy-cart__title', getCartTitleClassName()]\"\n    v-html=\"getCartTitle()\"\n><\/component>\n","edited_by":"nantonelli@sharegracefarms.com","timestamp":1776214148446,"component_version":"v1.0"}],"use_custom_template":0}]},"smart_flows":[]}}